session_begin(); $auth->acl($user->data); // Start initial var setup $forum_id = request_var('f', 0); $mark_read = request_var('mark', ''); $start = request_var('start', 0); $default_sort_days = (!empty($user->data['user_topic_show_days'])) ? $user->data['user_topic_show_days'] : 0; $default_sort_key = (!empty($user->data['user_topic_sortby_type'])) ? $user->data['user_topic_sortby_type'] : 't'; $default_sort_dir = (!empty($user->data['user_topic_sortby_dir'])) ? $user->data['user_topic_sortby_dir'] : 'd'; $sort_days = request_var('st', $default_sort_days); $sort_key = request_var('sk', $default_sort_key); $sort_dir = request_var('sd', $default_sort_dir); // Check if the user has actually sent a forum ID with his/her request // If not give them a nice error page. if (!$forum_id) { trigger_error('NO_FORUM'); } $sql_from = FORUMS_TABLE . ' f'; $lastread_select = ''; // Grab appropriate forum data if ($config['load_db_lastread'] && $user->data['is_registered']) { $sql_from .= ' LEFT JOIN ' . FORUMS_TRACK_TABLE . ' ft ON (ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id)'; $lastread_select .= ', ft.mark_time'; } if ($user->data['is_registered']) { $sql_from .= ' LEFT JOIN ' . FORUMS_WATCH_TABLE . ' fw ON (fw.forum_id = f.forum_id AND fw.user_id = ' . $user->data['user_id'] . ')'; $lastread_select .= ', fw.notify_status'; } $sql = "SELECT f.* $lastread_select FROM $sql_from WHERE f.forum_id = $forum_id"; $result = $db->sql_query($sql); $forum_data = $db->sql_fetchrow($result); $db->sql_freeresult($result); if (!$forum_data) { trigger_error('NO_FORUM'); } // Configure style, language, etc. $user->setup('viewforum', $forum_data['forum_style']); // Redirect to login upon emailed notification links if (isset($_GET['e']) && !$user->data['is_registered']) { login_box('', $user->lang['LOGIN_NOTIFY_FORUM']); } // Permissions check if (!$auth->acl_gets('f_list', 'f_read', $forum_id) || ($forum_data['forum_type'] == FORUM_LINK && $forum_data['forum_link'] && !$auth->acl_get('f_read', $forum_id))) { if ($user->data['user_id'] != ANONYMOUS) { trigger_error('SORRY_AUTH_READ'); } login_box('', $user->lang['LOGIN_VIEWFORUM']); } // Forum is passworded ... check whether access has been granted to this // user this session, if not show login box if ($forum_data['forum_password']) { login_forum_box($forum_data); } // Is this forum a link? ... User got here either because the // number of clicks is being tracked or they guessed the id if ($forum_data['forum_type'] == FORUM_LINK && $forum_data['forum_link']) { // Does it have click tracking enabled? if ($forum_data['forum_flags'] & FORUM_FLAG_LINK_TRACK) { $sql = 'UPDATE ' . FORUMS_TABLE . ' SET forum_posts = forum_posts + 1 WHERE forum_id = ' . $forum_id; $db->sql_query($sql); } // We redirect to the url. The third parameter indicates that external redirects are allowed. redirect($forum_data['forum_link'], false, true); return; } // Build navigation links generate_forum_nav($forum_data); // Forum Rules if ($auth->acl_get('f_read', $forum_id)) { generate_forum_rules($forum_data); } // Do we have subforums? $active_forum_ary = $moderators = array(); if ($forum_data['left_id'] != $forum_data['right_id'] - 1) { list($active_forum_ary, $moderators) = display_forums($forum_data, $config['load_moderators'], $config['load_moderators']); } else { $template->assign_var('S_HAS_SUBFORUM', false); if ($config['load_moderators']) { get_moderators($moderators, $forum_id); } } // Dump out the page header and load viewforum template page_header($user->lang['VIEW_FORUM'] . ' - ' . $forum_data['forum_name'], true, $forum_id); $template->set_filenames(array( 'body' => 'viewforum_body.html') ); make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"), $forum_id); $template->assign_vars(array( 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id" . (($start == 0) ? '' : "&start=$start")), )); // Not postable forum or showing active topics? if (!($forum_data['forum_type'] == FORUM_POST || (($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS) && $forum_data['forum_type'] == FORUM_CAT))) { page_footer(); } // Ok, if someone has only list-access, we only display the forum list. // We also make this circumstance available to the template in case we want to display a notice. ;) if (!$auth->acl_get('f_read', $forum_id)) { $template->assign_vars(array( 'S_NO_READ_ACCESS' => true, )); page_footer(); } // Handle marking posts if ($mark_read == 'topics') { $token = request_var('hash', ''); if (check_link_hash($token, 'global')) { // Add 0 to forums array to mark global announcements correctly markread('topics', array($forum_id, 0)); } $redirect_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id); meta_refresh(3, $redirect_url); trigger_error($user->lang['TOPICS_MARKED'] . '

' . sprintf($user->lang['RETURN_FORUM'], '', '')); } // Is a forum specific topic count required? if ($forum_data['forum_topics_per_page']) { $config['topics_per_page'] = $forum_data['forum_topics_per_page']; } // Do the forum Prune thang - cron type job ... if ($forum_data['prune_next'] < time() && $forum_data['enable_prune']) { $template->assign_var('RUN_CRON_TASK', 'cron'); } // Forum rules and subscription info $s_watching_forum = array( 'link' => '', 'title' => '', 'is_watching' => false, ); if (($config['email_enable'] || $config['jab_enable']) && $config['allow_forum_notify'] && $forum_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_subscribe', $forum_id) || $user->data['user_id'] == ANONYMOUS)) { $notify_status = (isset($forum_data['notify_status'])) ? $forum_data['notify_status'] : NULL; watch_topic_forum('forum', $s_watching_forum, $user->data['user_id'], $forum_id, 0, $notify_status, $start, $forum_data['forum_name']); } $s_forum_rules = ''; gen_forum_auth_level('forum', $forum_id, $forum_data['forum_status']); // Topic ordering options $limit_days = array(0 => $user->lang['ALL_TOPICS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']); $sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 'r' => $user->lang['REPLIES'], 's' => $user->lang['SUBJECT'], 'v' => $user->lang['VIEWS']); $sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_last_post_time', 'r' => 't.topic_replies', 's' => 't.topic_title', 'v' => 't.topic_views'); $s_limit_days = $s_sort_key = $s_sort_dir = $u_sort_param = ''; gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param, $default_sort_days, $default_sort_key, $default_sort_dir); // Limit topics to certain time frame, obtain correct topic count // global announcements must not be counted, normal announcements have to // be counted, as forum_topics(_real) includes them if ($sort_days) { $min_post_time = time() - ($sort_days * 86400); $sql = 'SELECT COUNT(topic_id) AS num_topics FROM ' . TOPICS_TABLE . " WHERE forum_id = $forum_id AND ((topic_type <> " . POST_GLOBAL . " AND topic_last_post_time >= $min_post_time) OR topic_type = " . POST_ANNOUNCE . ") " . (($auth->acl_get('m_approve', $forum_id)) ? '' : 'AND topic_approved = 1'); $result = $db->sql_query($sql); $topics_count = (int) $db->sql_fetchfield('num_topics'); $db->sql_freeresult($result); if (isset($_POST['sort'])) { $start = 0; } $sql_limit_time = "AND t.topic_last_post_time >= $min_post_time"; // Make sure we have information about day selection ready $template->assign_var('S_SORT_DAYS', true); } else { $topics_count = ($auth->acl_get('m_approve', $forum_id)) ? $forum_data['forum_topics_real'] : $forum_data['forum_topics']; $sql_limit_time = ''; } // Make sure $start is set to the last page if it exceeds the amount if ($start < 0 || $start > $topics_count) { $start = ($start < 0) ? 0 : floor(($topics_count - 1) / $config['topics_per_page']) * $config['topics_per_page']; } // Basic pagewide vars $post_alt = ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->lang['FORUM_LOCKED'] : $user->lang['POST_NEW_TOPIC']; // Display active topics? $s_display_active = ($forum_data['forum_type'] == FORUM_CAT && ($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS)) ? true : false; $s_search_hidden_fields = array('fid' => array($forum_id)); if ($_SID) { $s_search_hidden_fields['sid'] = $_SID; } if (!empty($_EXTRA_URL)) { foreach ($_EXTRA_URL as $url_param) { $url_param = explode('=', $url_param, 2); $s_search_hidden_fields[$url_param[0]] = $url_param[1]; } } $template->assign_vars(array( 'MODERATORS' => (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '', 'POST_IMG' => ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->img('button_topic_locked', $post_alt) : $user->img('button_topic_new', $post_alt), 'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'), 'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'), 'FOLDER_IMG' => $user->img('topic_read', 'NO_UNREAD_POSTS'), 'FOLDER_UNREAD_IMG' => $user->img('topic_unread', 'UNREAD_POSTS'), 'FOLDER_HOT_IMG' => $user->img('topic_read_hot', 'NO_UNREAD_POSTS_HOT'), 'FOLDER_HOT_UNREAD_IMG' => $user->img('topic_unread_hot', 'UNREAD_POSTS_HOT'), 'FOLDER_LOCKED_IMG' => $user->img('topic_read_locked', 'NO_UNREAD_POSTS_LOCKED'), 'FOLDER_LOCKED_UNREAD_IMG' => $user->img('topic_unread_locked', 'UNREAD_POSTS_LOCKED'), 'FOLDER_STICKY_IMG' => $user->img('sticky_read', 'POST_STICKY'), 'FOLDER_STICKY_UNREAD_IMG' => $user->img('sticky_unread', 'POST_STICKY'), 'FOLDER_ANNOUNCE_IMG' => $user->img('announce_read', 'POST_ANNOUNCEMENT'), 'FOLDER_ANNOUNCE_UNREAD_IMG'=> $user->img('announce_unread', 'POST_ANNOUNCEMENT'), 'FOLDER_MOVED_IMG' => $user->img('topic_moved', 'TOPIC_MOVED'), 'REPORTED_IMG' => $user->img('icon_topic_reported', 'TOPIC_REPORTED'), 'UNAPPROVED_IMG' => $user->img('icon_topic_unapproved', 'TOPIC_UNAPPROVED'), 'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'), 'L_NO_TOPICS' => ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->lang['POST_FORUM_LOCKED'] : $user->lang['NO_TOPICS'], 'S_DISPLAY_POST_INFO' => ($forum_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS)) ? true : false, 'S_IS_POSTABLE' => ($forum_data['forum_type'] == FORUM_POST) ? true : false, 'S_USER_CAN_POST' => ($auth->acl_get('f_post', $forum_id)) ? true : false, 'S_DISPLAY_ACTIVE' => $s_display_active, 'S_SELECT_SORT_DIR' => $s_sort_dir, 'S_SELECT_SORT_KEY' => $s_sort_key, 'S_SELECT_SORT_DAYS' => $s_limit_days, 'S_TOPIC_ICONS' => ($s_display_active && sizeof($active_forum_ary)) ? max($active_forum_ary['enable_icons']) : (($forum_data['enable_icons']) ? true : false), 'S_WATCH_FORUM_LINK' => $s_watching_forum['link'], 'S_WATCH_FORUM_TITLE' => $s_watching_forum['title'], 'S_WATCHING_FORUM' => $s_watching_forum['is_watching'], 'S_FORUM_ACTION' => append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id" . (($start == 0) ? '' : "&start=$start")), 'S_DISPLAY_SEARCHBOX' => ($auth->acl_get('u_search') && $auth->acl_get('f_search', $forum_id) && $config['load_search']) ? true : false, 'S_SEARCHBOX_ACTION' => append_sid("{$phpbb_root_path}search.$phpEx"), 'S_SEARCH_LOCAL_HIDDEN_FIELDS' => build_hidden_fields($s_search_hidden_fields), 'S_SINGLE_MODERATOR' => (!empty($moderators[$forum_id]) && sizeof($moderators[$forum_id]) > 1) ? false : true, 'S_IS_LOCKED' => ($forum_data['forum_status'] == ITEM_LOCKED) ? true : false, 'S_VIEWFORUM' => true, 'U_MCP' => ($auth->acl_get('m_', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "f=$forum_id&i=main&mode=forum_view", true, $user->session_id) : '', 'U_POST_NEW_TOPIC' => ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS) ? append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=post&f=' . $forum_id) : '', 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id" . ((strlen($u_sort_param)) ? "&$u_sort_param" : '') . (($start == 0) ? '' : "&start=$start")), 'U_MARK_TOPICS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'hash=' . generate_link_hash('global') . "&f=$forum_id&mark=topics") : '', )); // Grab icons $icons = $cache->obtain_icons(); // Grab all topic data $rowset = $announcement_list = $topic_list = $global_announce_list = array(); $sql_array = array( 'SELECT' => 't.*', 'FROM' => array( TOPICS_TABLE => 't' ), 'LEFT_JOIN' => array(), ); $sql_approved = ($auth->acl_get('m_approve', $forum_id)) ? '' : 'AND t.topic_approved = 1'; if ($user->data['is_registered']) { if ($config['load_db_track']) { $sql_array['LEFT_JOIN'][] = array('FROM' => array(TOPICS_POSTED_TABLE => 'tp'), 'ON' => 'tp.topic_id = t.topic_id AND tp.user_id = ' . $user->data['user_id']); $sql_array['SELECT'] .= ', tp.topic_posted'; } if ($config['load_db_lastread']) { $sql_array['LEFT_JOIN'][] = array('FROM' => array(TOPICS_TRACK_TABLE => 'tt'), 'ON' => 'tt.topic_id = t.topic_id AND tt.user_id = ' . $user->data['user_id']); $sql_array['SELECT'] .= ', tt.mark_time'; if ($s_display_active && sizeof($active_forum_ary)) { $sql_array['LEFT_JOIN'][] = array('FROM' => array(FORUMS_TRACK_TABLE => 'ft'), 'ON' => 'ft.forum_id = t.forum_id AND ft.user_id = ' . $user->data['user_id']); $sql_array['SELECT'] .= ', ft.mark_time AS forum_mark_time'; } } } if ($forum_data['forum_type'] == FORUM_POST) { // Obtain announcements ... removed sort ordering, sort by time in all cases $sql = $db->sql_build_query('SELECT', array( 'SELECT' => $sql_array['SELECT'], 'FROM' => $sql_array['FROM'], 'LEFT_JOIN' => $sql_array['LEFT_JOIN'], 'WHERE' => 't.forum_id IN (' . $forum_id . ', 0) AND t.topic_type IN (' . POST_ANNOUNCE . ', ' . POST_GLOBAL . ')', 'ORDER_BY' => 't.topic_time DESC', )); $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { if (!$row['topic_approved'] && !$auth->acl_get('m_approve', $row['forum_id'])) { // Do not display announcements that are waiting for approval. continue; } $rowset[$row['topic_id']] = $row; $announcement_list[] = $row['topic_id']; if ($row['topic_type'] == POST_GLOBAL) { $global_announce_list[$row['topic_id']] = true; } else { $topics_count--; } } $db->sql_freeresult($result); } // If the user is trying to reach late pages, start searching from the end $store_reverse = false; $sql_limit = $config['topics_per_page']; if ($start > $topics_count / 2) { $store_reverse = true; if ($start + $config['topics_per_page'] > $topics_count) { $sql_limit = min($config['topics_per_page'], max(1, $topics_count - $start)); } // Select the sort order $sql_sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'ASC' : 'DESC'); $sql_start = max(0, $topics_count - $sql_limit - $start); } else { // Select the sort order $sql_sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC'); $sql_start = $start; } if ($forum_data['forum_type'] == FORUM_POST || !sizeof($active_forum_ary)) { $sql_where = 't.forum_id = ' . $forum_id; } else if (empty($active_forum_ary['exclude_forum_id'])) { $sql_where = $db->sql_in_set('t.forum_id', $active_forum_ary['forum_id']); } else { $get_forum_ids = array_diff($active_forum_ary['forum_id'], $active_forum_ary['exclude_forum_id']); $sql_where = (sizeof($get_forum_ids)) ? $db->sql_in_set('t.forum_id', $get_forum_ids) : 't.forum_id = ' . $forum_id; } // Grab just the sorted topic ids $sql = 'SELECT t.topic_id FROM ' . TOPICS_TABLE . " t WHERE $sql_where AND t.topic_type IN (" . POST_NORMAL . ', ' . POST_STICKY . ") $sql_approved $sql_limit_time ORDER BY t.topic_type " . ((!$store_reverse) ? 'DESC' : 'ASC') . ', ' . $sql_sort_order; $result = $db->sql_query_limit($sql, $sql_limit, $sql_start); while ($row = $db->sql_fetchrow($result)) { $topic_list[] = (int) $row['topic_id']; } $db->sql_freeresult($result); // For storing shadow topics $shadow_topic_list = array(); if (sizeof($topic_list)) { // SQL array for obtaining topics/stickies $sql_array = array( 'SELECT' => $sql_array['SELECT'], 'FROM' => $sql_array['FROM'], 'LEFT_JOIN' => $sql_array['LEFT_JOIN'], 'WHERE' => $db->sql_in_set('t.topic_id', $topic_list), ); // If store_reverse, then first obtain topics, then stickies, else the other way around... // Funnily enough you typically save one query if going from the last page to the middle (store_reverse) because // the number of stickies are not known $sql = $db->sql_build_query('SELECT', $sql_array); $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { if ($row['topic_status'] == ITEM_MOVED) { $shadow_topic_list[$row['topic_moved_id']] = $row['topic_id']; } $rowset[$row['topic_id']] = $row; } $db->sql_freeresult($result); } // If we have some shadow topics, update the rowset to reflect their topic information if (sizeof($shadow_topic_list)) { $sql = 'SELECT * FROM ' . TOPICS_TABLE . ' WHERE ' . $db->sql_in_set('topic_id', array_keys($shadow_topic_list)); $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $orig_topic_id = $shadow_topic_list[$row['topic_id']]; // If the shadow topic is already listed within the rowset (happens for active topics for example), then do not include it... if (isset($rowset[$row['topic_id']])) { // We need to remove any trace regarding this topic. :) unset($rowset[$orig_topic_id]); unset($topic_list[array_search($orig_topic_id, $topic_list)]); $topics_count--; continue; } // Do not include those topics the user has no permission to access if (!$auth->acl_get('f_read', $row['forum_id'])) { // We need to remove any trace regarding this topic. :) unset($rowset[$orig_topic_id]); unset($topic_list[array_search($orig_topic_id, $topic_list)]); $topics_count--; continue; } // We want to retain some values $row = array_merge($row, array( 'topic_moved_id' => $rowset[$orig_topic_id]['topic_moved_id'], 'topic_status' => $rowset[$orig_topic_id]['topic_status'], 'topic_type' => $rowset[$orig_topic_id]['topic_type'], 'topic_title' => $rowset[$orig_topic_id]['topic_title'], )); // Shadow topics are never reported $row['topic_reported'] = 0; $rowset[$orig_topic_id] = $row; } $db->sql_freeresult($result); } unset($shadow_topic_list); // Ok, adjust topics count for active topics list if ($s_display_active) { $topics_count = 1; } // We need to readd the local announcements to the forums total topic count, otherwise the number is different from the one on the forum list $total_topic_count = $topics_count + sizeof($announcement_list) - sizeof($global_announce_list); $template->assign_vars(array( 'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id" . ((strlen($u_sort_param)) ? "&$u_sort_param" : '')), $topics_count, $config['topics_per_page'], $start), 'PAGE_NUMBER' => on_page($topics_count, $config['topics_per_page'], $start), 'TOTAL_TOPICS' => ($s_display_active) ? false : (($total_topic_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_topic_count))) ); $topic_list = ($store_reverse) ? array_merge($announcement_list, array_reverse($topic_list)) : array_merge($announcement_list, $topic_list); $topic_tracking_info = $tracking_topics = array(); // Okay, lets dump out the page ... if (sizeof($topic_list)) { $mark_forum_read = true; $mark_time_forum = 0; // Active topics? if ($s_display_active && sizeof($active_forum_ary)) { // Generate topic forum list... $topic_forum_list = array(); foreach ($rowset as $t_id => $row) { $topic_forum_list[$row['forum_id']]['forum_mark_time'] = ($config['load_db_lastread'] && $user->data['is_registered'] && isset($row['forum_mark_time'])) ? $row['forum_mark_time'] : 0; $topic_forum_list[$row['forum_id']]['topics'][] = $t_id; } if ($config['load_db_lastread'] && $user->data['is_registered']) { foreach ($topic_forum_list as $f_id => $topic_row) { $topic_tracking_info += get_topic_tracking($f_id, $topic_row['topics'], $rowset, array($f_id => $topic_row['forum_mark_time']), false); } } else if ($config['load_anon_lastread'] || $user->data['is_registered']) { foreach ($topic_forum_list as $f_id => $topic_row) { $topic_tracking_info += get_complete_topic_tracking($f_id, $topic_row['topics'], false); } } unset($topic_forum_list); } else { if ($config['load_db_lastread'] && $user->data['is_registered']) { $topic_tracking_info = get_topic_tracking($forum_id, $topic_list, $rowset, array($forum_id => $forum_data['mark_time']), $global_announce_list); $mark_time_forum = (!empty($forum_data['mark_time'])) ? $forum_data['mark_time'] : $user->data['user_lastmark']; } else if ($config['load_anon_lastread'] || $user->data['is_registered']) { $topic_tracking_info = get_complete_topic_tracking($forum_id, $topic_list, $global_announce_list); if (!$user->data['is_registered']) { $user->data['user_lastmark'] = (isset($tracking_topics['l'])) ? (int) (base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate']) : 0; } $mark_time_forum = (isset($tracking_topics['f'][$forum_id])) ? (int) (base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate']) : $user->data['user_lastmark']; } } $s_type_switch = 0; foreach ($topic_list as $topic_id) { $row = &$rowset[$topic_id]; $topic_forum_id = ($row['forum_id']) ? (int) $row['forum_id'] : $forum_id; // This will allow the style designer to output a different header // or even separate the list of announcements from sticky and normal topics $s_type_switch_test = ($row['topic_type'] == POST_ANNOUNCE || $row['topic_type'] == POST_GLOBAL) ? 1 : 0; // Replies $replies = ($auth->acl_get('m_approve', $topic_forum_id)) ? $row['topic_replies_real'] : $row['topic_replies']; if ($row['topic_status'] == ITEM_MOVED) { $topic_id = $row['topic_moved_id']; $unread_topic = false; } else { $unread_topic = (isset($topic_tracking_info[$topic_id]) && $row['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false; } // Get folder img, topic status/type related information $folder_img = $folder_alt = $topic_type = ''; topic_status($row, $replies, $unread_topic, $folder_img, $folder_alt, $topic_type); // Generate all the URIs ... $view_topic_url_params = 'f=' . $topic_forum_id . '&t=' . $topic_id; $view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", $view_topic_url_params); $topic_unapproved = (!$row['topic_approved'] && $auth->acl_get('m_approve', $topic_forum_id)) ? true : false; $posts_unapproved = ($row['topic_approved'] && $row['topic_replies'] < $row['topic_replies_real'] && $auth->acl_get('m_approve', $topic_forum_id)) ? true : false; $u_mcp_queue = ($topic_unapproved || $posts_unapproved) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=' . (($topic_unapproved) ? 'approve_details' : 'unapproved_posts') . "&t=$topic_id", true, $user->session_id) : ''; // Send vars to template $template->assign_block_vars('topicrow', array( 'FORUM_ID' => $topic_forum_id, 'TOPIC_ID' => $topic_id, 'TOPIC_AUTHOR' => get_username_string('username', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'TOPIC_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'TOPIC_AUTHOR_FULL' => get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'FIRST_POST_TIME' => $user->format_date($row['topic_time']), 'LAST_POST_SUBJECT' => censor_text($row['topic_last_post_subject']), 'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']), 'LAST_VIEW_TIME' => $user->format_date($row['topic_last_view_time']), 'LAST_POST_AUTHOR' => get_username_string('username', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_FULL' => get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'PAGINATION' => topic_generate_pagination($replies, $view_topic_url), 'REPLIES' => $replies, 'VIEWS' => $row['topic_views'], 'TOPIC_TITLE' => censor_text($row['topic_title']), 'TOPIC_TYPE' => $topic_type, 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_FOLDER_IMG_ALT' => $user->lang[$folder_alt], 'TOPIC_FOLDER_IMG_WIDTH'=> $user->img($folder_img, '', false, '', 'width'), 'TOPIC_FOLDER_IMG_HEIGHT' => $user->img($folder_img, '', false, '', 'height'), 'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '', 'TOPIC_ICON_IMG_WIDTH' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['width'] : '', 'TOPIC_ICON_IMG_HEIGHT' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['height'] : '', 'ATTACH_ICON_IMG' => ($auth->acl_get('u_download') && $auth->acl_get('f_download', $topic_forum_id) && $row['topic_attachment']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '', 'UNAPPROVED_IMG' => ($topic_unapproved || $posts_unapproved) ? $user->img('icon_topic_unapproved', ($topic_unapproved) ? 'TOPIC_UNAPPROVED' : 'POSTS_UNAPPROVED') : '', 'S_TOPIC_TYPE' => $row['topic_type'], 'S_USER_POSTED' => (isset($row['topic_posted']) && $row['topic_posted']) ? true : false, 'S_UNREAD_TOPIC' => $unread_topic, 'S_TOPIC_REPORTED' => (!empty($row['topic_reported']) && $auth->acl_get('m_report', $topic_forum_id)) ? true : false, 'S_TOPIC_UNAPPROVED' => $topic_unapproved, 'S_POSTS_UNAPPROVED' => $posts_unapproved, 'S_HAS_POLL' => ($row['poll_start']) ? true : false, 'S_POST_ANNOUNCE' => ($row['topic_type'] == POST_ANNOUNCE) ? true : false, 'S_POST_GLOBAL' => ($row['topic_type'] == POST_GLOBAL) ? true : false, 'S_POST_STICKY' => ($row['topic_type'] == POST_STICKY) ? true : false, 'S_TOPIC_LOCKED' => ($row['topic_status'] == ITEM_LOCKED) ? true : false, 'S_TOPIC_MOVED' => ($row['topic_status'] == ITEM_MOVED) ? true : false, 'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", $view_topic_url_params . '&view=unread') . '#unread', 'U_LAST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", $view_topic_url_params . '&p=' . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'], 'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'U_TOPIC_AUTHOR' => get_username_string('profile', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'U_VIEW_TOPIC' => $view_topic_url, 'U_MCP_REPORT' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=reports&f=' . $topic_forum_id . '&t=' . $topic_id, true, $user->session_id), 'U_MCP_QUEUE' => $u_mcp_queue, 'S_TOPIC_TYPE_SWITCH' => ($s_type_switch == $s_type_switch_test) ? -1 : $s_type_switch_test) ); $s_type_switch = ($row['topic_type'] == POST_ANNOUNCE || $row['topic_type'] == POST_GLOBAL) ? 1 : 0; if ($unread_topic) { $mark_forum_read = false; } unset($rowset[$topic_id]); } } // This is rather a fudge but it's the best I can think of without requiring information // on all topics (as we do in 2.0.x). It looks for unread or new topics, if it doesn't find // any it updates the forum last read cookie. This requires that the user visit the forum // after reading a topic if ($forum_data['forum_type'] == FORUM_POST && sizeof($topic_list) && $mark_forum_read) { update_forum_tracking_info($forum_id, $forum_data['forum_last_post_time'], false, $mark_time_forum); } page_footer(); ?>0$]cl.߯S ARVRa% p.?.HM/N4LϷZ2yPD%u6*@7ʁ-1X`obbgPOO(% 2TYImYt,Bj{:XV4_r W0[}RP~_XgN 6>z= p+\4˪`½J14~/abh$n j6>HA[>` TLδҙGa-]zt'c<*av?n/kHٱ]Oc<{Q'd0`S z֖( 4q"oS9 7F/+.A쨵>->6|EX='9)}J!R't wWy~xGgPo!4Xӗ7%},{9`m6R ꆴ$bG*bH4D&;U:i*) ؀MUe3۟Y2Jw(e@Uȧk/)i1٣ w)+כk D"5o ÓۧƙYI"SAn]eZBڪ=k̊L*tEy*7t`0-MPȗO;-haaZ}=]l#qLnid pwD<<V6BnL8?8~anfd-s T_!7 Md}U!Ɨ5Y3WX3-w3.`gm]1*ZSk3Pٙtơ^&J=dBצ k\TgvjQm_Ɂe X^U&w, ߤ7jP=MiۍݟG;ϢHFaw훌2 AˈqtDSv@6hrB6YswqOWy> )T;t2wu<񱵉6ܢO6rʪ jgwrVa]9DqYGP'vNLhȒO5x~IPaa(b('`SN\&/ȓ͡V4j(TF9Y=b3}W{rL_p_Cet; Am[͠^3d7 2ֿwСa E&G0)V>3xC-w'mx4Ŭ/Qm}쥐(_,6&eMH֐Z;"f}(u$϶twMP!zg=>_oE$'2d J Qn XѬ5M+֛蒓870M y[q ))\GH{)O#7݁'?X,,'R^POh-q Qn/>^򷦓ϱ]t0IZvbVDGWQXv_m8Smm^,˔OBF;>("y>Ҝi0%.FS7 ᏪC2J&) =`v+B>&h50 )m*Mȵ=)Wg(>hQwI8h0䂺#q%spb׏sXqRGf,.!Xf}+V ] vЄC OOo҇<l)k]I` f̞氄]'-Zl?4\ O)1ÙcrTŏ IDHN+΁ `}rNZW k+xW<^ y. .{Yb }”L{T>bH'sqմqR63M (4!xn[Į&xrW_h[ȕ4]àyD6Ӱ mfXE&*e;ŜY"w %6Z͵Is|3 Ӟ&OZВj|m$޻ZwiOږ.ѷ;(-Ը<%&{A0-Ly!< I)։GO뫀a87Aξ_နNdӳ-ͻZ-Qז=vJen3+"qV`1z=*b (n%vF\|DL3K&[D!1\Hs~>⻿%Rى /-ȳxߺ?}Э% e?KoCt!F F=Q r /)/74 4*{+"VVMuT1CME%iCigAO&f|)}hMwFA3IR EOQL,yp'wB?Qjh+ho. >I0;n|d*{#KIR1WUxJO8'7/`=_Bh dVȝEȎz@PbZy^(wvDDsFu{[-i!| 8zSlvJxyF oW$ c0 ٘BPb5ayfGya-L^ `[ǜ0}57brd3~4joR6v.&~H*K-h>/pҶ mY;qעcƉOȹ/L C#˟N 3:#rYskb"4# A)Q苨Y.~|sFY(f%24H1ŢFAkmjIhV7s{I(a&8EyMH pkj$5^F}(0KsEun[N XE}^8tj+睊(kAZ*E#WeDtfY:.)MTk)҂jp$3xFW7G1UUIW@'D%xC,(~D_E⁔~ .ѲKr *"bH]x")|{N؂oͺ9K4a1~rdc\0\BXe3" iK3&*53" 늾xa7 H[ܛ3QݽPVWšIvΜ(r.SԸmA۸**S= k 549eMG̗) R|m_xRpY~5`7dΰ SӯgP-yN4(R58UD˵293ubHz@6)RW8E [X|-)Za[g]e-R/s{:5弗9`T$`>\ =k5"k1FJq7ӕxN1}vz#^1[QS<=p ƱZ i[nc KKYo)mvsȐW\',*E:qٜ3nAETxKR %.>zbRUq]DT5Ļ.Fb䋣!rqt(D&qѦZJX ͩ\#& aWS XTlȇo)+4-T|!\>?"~ҿ}58hqfԦ $! 5b>)SvGGɝ<@ƦPuael ?@OskOi`Os5=.NqeWe\$c;txkjoEĝx( 4k  1,^>l$*:ax)&ˢd$L=* 7l:^n6{5-\D9AtuEku<ъ1ܻZe<^9ݝDwaj$*l$Mnd\^"SWf/ 5TvT/#1BDpdO5+'6\~qQj:K]._D*Z^`5ԈEK:uQ*s&`MNc| 3Pܾ szˠNcګ[)RR')iM:'i29uВ8Ze<&W}`Ff۹ϕwQ),DZ1ͪ wcBO1?;V^5[bmĉ8K1ͽbP/4 e}-Wp%Y?J7{һߒXjo+E@X86d˫uO 9zQ+"k٪vp.CwލsRq|Dmӕ=fFhtk_'kN˻:v#k`gFҽ:o٢(*pm`m Mk1qO(ب߶#зTVɈ<ɏa$Ke#tmmbs+F-+Gwgp\-@7OL8іS#94|K"T)9-{5Ndei؇Z[= (1|m秙AO 9cB\Ln@EJM-$cK(:#D(C %}[{:PuqT:VN< S,$_*d4AgRO1?1y,r-KOt\~+ulg<\f<bI/O#}WKpk˭@m#lc.^[ȠPjmJ:DI}$*ӻ™t^ \@ -Fc1X$_;Q(Y-e!N}Q9@Q:eo9Pқklohh2_)$"hiR<ǦAn QA{tc9.n(ȆANGsU7soO" Ը[9`k% WeTGpKRǎ}!w[X$Fa`"t?B_̌rF؊ l ִ#!⟕oC~&DGL tTXz:we;V$ vl<|kOu]:u*ܱO}tx\oʈ>#b㤶zrC!BԨvQc{&_8"b{]ۋmy›%+@(q|[e88:Rr+ue$˽T8ENNQE2b"lFDZb]ʺ~9 C G.\0ncQH8qz0J뿅x^[[gwM>{Sg ,]SGJb@l,y!F`mn1Znkiy-8{ۺ؋4%45gHtIDdp}%\rU86hiNnԍ;"[hRc7oY|3*Olƹa8Pio{Ƒ2޳K[~PUh顴)e˳"72%~Î9%Ix4W7K ?FUq2V S)aY/iiqu֣G GpS]T<#nؓO:~%8ҳix5+tm'/cY6fa?(]s .!IUMlp#gq͎tBY },Br  Dݑ (Cge5w|,}x:+WDzo!P yw)q Æ1yB9;rթ iY韁\(w?Z@D ` :ǣN" /$80j3lj Wʎ۴X!mw_ Bd hVkW %JNPi=^A| M5ڵtLC–Ȱ +/^Zd~׷Zمѧc dB(k}#"6.@O^ݵkDvY$Mj\mHHʫ/qX>WdI1뚗%ɒ¬9W nLM^:j4T\ca VGn&QʥBW5xi/JlRSʉtC9~;VT y*uێ3֐6f$j%*geRtqqVQ4,Vy'|kGXAR[g(۶փյYaEfZLkZ jo<__cr"9&PԦ#d _Qwfi{3*d?a;(]~5gny!$O>µ`6UKcv (Up4xNR)W 1#Cl7m6()+TD=jQ|axvG8GP =BS+u1Ȣ|Osȓeg2rfV?ȚY%n'(bdkrqm j{[ȿ™TQotf\&zp˻`{.t6c}`el凜/\a4Ȟ IjSA}! T(K,u1x*s ڍN 41i͢JaԂNufgC~9b 7/] `"@ׄB>!\ZSڠ+2ovO% ʹKiuh=4PqAgC}[=1`y5ntPX=vu%*5LB9 f58)mmKgDhb-7 eUP[t?8oƼD_ EÜ O L+yh*L$K)Yo^^C*8(ܗ8`fo>\6Q4)*>cIUtSm]"8h~~S*>oX|ޅl󥖒+`[q&$} `@)Nt_zx_JV<+T? _g&Bo}6~:,<>?ќ[J$Plxl,y: x0bԂ]k9("eA3D\512|<#6Xp:.._Ƭ"TciG_x"50SʠHv5K_iCRshVXT0TRdt*8Ol:] O~Qz"vӇy%6޼<x#7gwܼG40f}(&ꌹuA&& •jl|"8"룶зCwe׸_G;E_(̉<^c6%r%\ 7^@MʠN5NӂMc̨}:2Tß58)^ XV:Ҡ%) nOu<=Yk8c ALn98]}]NisWB0T0^4|r2Jg#U$V]⸖ܡݫ! [ [پ)7[BRNiI+H1x `. ՝#Kae\;?:n.p JVlEJ?BsM"66t߼Vξ] A<2,MGSm?~t?i}FU3ߊgQ\7ߟ(kr<NkNfuCo_ l*z~d7?TOf|S ܼVȾM")1"6].tzD)MP7&TJ<5̺O&mW Wx$g,AH rLfkCKֆ!P☝/gN"((/LWzQw7vA>aZ,*KX f{Yj$S8)B+8X<)236](LQ-ye:[e}ƒ,lHd1*囬?u'UvD1EFQe9-S`3K{ +s#3,Mȗ<Bp6g:!|aܩ\1HUZ)-qn[+ɱ4R yӿI >ވ_jŸ 9?2b^Jy!L \ªm҃E]2DCR,p9֏ۮ>W K (  6M<7 |+`NNoGYĝ:Et2Favf % 4HEjGxKTz V][niP+ !+DIE@GkBaRdū$.B8;ϙ-ЇGeih- U3 v[=\޲Zgdum258ɯ1O }^UfrOr>&v aftgQ[R0 A+ [Q6Tc ]=⏍=;=bQf yG2~7[dRd(S dD6]z\x~u0N(r^hÚ ,b%V4MeDc_VOJ_эa=$Eqa5F/."<{Z_}&ʚ:=R AYC% ]PXԘ~F^+7KJ^KOw@'zE~$&<2̎>s#庒RׁGD;:M ;?nMVsdu7=W &ހh46"Bv ߩٽoSҵܚ Qy(\Ԣu95O;ȧQWLw^0`u3tX6wt臺IR,u |}Ppeeh!v`k !9dӰZzoVqÌpi~Pj)c@6ݦ˿Ps90Z"cyhПTY`oЫY5T qCX}~=n3=p^Ш!17˲WSFB, ǩ~UՆXgs`.gA5]0i.QF9-G 2T H;?9HpJr@ϟ*c{, !܉A,5ň1qf}Xk 6x=IGd:]8mS.`?* Y/f]tctŚSzvO+=N|$T10Ƿ)ktSYgxIw~QaP~T>':W5Q2I[=ܶ ùZI(YJ`m{ Յt.ID;XYqкį'w9VK/L:ZjEFk$t ĞspvKw"w9j6˨-. '^e%ԷljɬuK";82!Gd 5;buTpZSԓ3e_fў>Eخmo3V{Z0oDn6@p)g.ƴ1$A B@^J &C8Y&Md?'fOf)ݾ?8#cRHᷴQVDe?'/@F(; g]:T\'\ևyzG0٨ٜkxȜA^JTn|!NcEvD=)xr d ¹}UCcCHsL6T#̛¬[t~ }Zn(6UP⍺)VϱIF>-`-Ѯ lw BT\ϊʯ(:Kz–gsL/_x(*~b`=*CX W LWYG86jZ-lc6=BT[Xn(E?x\8Ɓa@[I~dgGFnWjv02ڂ0)!/ ~LӣpuXw$ ŲxB0yϏ^cءyDib ϲ,o_IūH1m^,<]xY.s}cנWՓF@ҲSF_v}, O`,{x!'@idh`5 19X:O*R5!_w}As:8kfkChX!o;x h"5!G'h Z[畀!.{qSʩ1 ijƪO N/O(.%)@nmPK^x <~%jKHn'Hl^ijL>Ě)y@Y>͟ƚY:/m]5ů+\2qmljr5OO!^ U\S!n<'-gTte?n4Ȝ T,'d023un^=\6L!p/Hi%G s/k~مo~*O#}Fs Nng,77h4)wW;ѩ8R | i^Wuxxۭ"ŅQO}כ#}d9d[^}Ɣ2X'c{4t!v s#+ $ j֯X<(t@dꝈ]тDž8hRoLàkRu_5,q`@|=WQG07*W5>j K͏aE&G:(+R\ %6C+:=}H׮vt]?Pn=XNf{am= %<\< 2Pc[Zq| &XˌlGR&H%u':E_7$sK2yVm,䶥 &_Rҽ:ΕU iu"k)[F?l,5+BVr6"IMʅ9ff(.q9h[sN𮑗 $ZN ]Sq' ?d5X9چ'U"3"`!puyTq̘#G.B6gy)wX82#n,ś{AL +5cVઆ+t1?p  ݨ?Eh;:?6zA~<9^8 #d5&Xe :V03y1j(YX &QBnBxڴ1!S. R2e=i)N S#w-ŏb3$k;zj~/֐\ =pTN꒕CO[@5_m܍f}bS4x>pAX+-Zz]wOTzj~ZdDR>DQUAAzx;U6'~bvނXl_v~]4/dP1łS)3 ,2Pcԏ(ZpxvzX,jIsZfs\J5&dW,~ t'v,G<'lZ,^!Dؽخ"f|@̘,u(Sr"q` joXUo%C]ȴSi>O x<-:%:4brs˺?ҋe[s$|.G /54w]-)ZАt~dT)*HZ_EDoc58U1XR|^V3>60hoO! R' >>@<+U[kWCm`hA>c4VϮa=9Q\&pEhKW=\/\xXGXNsYv2,kU~llZзmȢ.Cg`mWD|Kb^0L6r\sEWÒ |Z7%rt&@@ XE>:k$@J%|ߒIϵ5[vg"[vaW'`DF/;xJzڠZcYyf[{; Mvn60@oFOyn!ẶAK"ԛoW3ԉӗ|;> Ob{ 93qliӺh3\9XW3G0嗖ACOPt$F۩S?5" B>yV& J(f>/w@#!Zr^- =% Kf5UR׸6fF >g0T/KԷ:IE&]|ulxwVShxDW܌=n bi'm^lƱHlxLyrHp1ԐRvoRa6FhJ-?SKYXݱ}Š0\~QS\XH@&BɳƁJH$.;zV˿-#v ^=z?Dvs'2.fmSeuK cp P.kSlZc }D3/}g.rmxeɳy>" D~Q MJP/E.OfvI{p56FM+8c\] Ilʨߏw%D>U.-nIp΋Wُrf۪>.V5HHwƙy=w> qш|$NVZK,Ӓ2`;m< D2{^ds7 :tjRd/T+Z ‘brÓx=ae~%ҙ}(e+őD pb{ @OKֹz銂; \^P ]E"llω HX?w{~, ~]nN,+OPKQҦ FQ042'h/o_KXd2lj\PVlgO;XBbq0Dɥ6$)fj~0f TH\p7l5Q)'`pLci22 3{ qzMXѣ:&iX?H4h{L@i2SFYGƬ`/)̋5E jd/;Me@ʎ-UpNyF!Rȓ)_O[Ϲ4x&A}hdC6b#0Hj( 5*Gs2{ko4D "GYHſLj捕Ut8>JN9ؽM e4yve B0QtlAs8uiA*꒛FzH XLy?JPeTXp-!} qwaFΡs8+ΓAA -aw$If^H Ωg"kWI"ǂh{ⷻr)|s(?yǁ6Hj'DI@>XRdz.lV!J#%iuѶL,~+GXQwm!?8=)|Zlš%?4((&?ɗVxj|̵z!EVdӃp~u+D,$+!Bv#ʍyunHȒ'й$ q9X, 5B8aGafʕKe4ԕ dzqiNJEJkF^@o]6O}Afq7%Z+IpxRjcD| J!hIG.\6jƀ+s8oQD,GZ'_J-$h sr Jm/NyZ,ڙ4?o냔.!ËV/]0ߡVޡ72Fd5[F,_-mxfaOV?n':ev*#"-~ƒxVs=*Ю} e X/QJyMAp\W=O?FKݎ}=B)&7$~@fVP&;{ʠ~!uN:etfa}nQ{htҸ~m.xmnq(oe,R[mHݼfZ~9o:+ z&tC` 6uul܋XI5Ќ},iMBn/خz>sVS_K4}Mt$~} `.?ire $)J*-ꯐSj?b:U5=EͦC/w\P'É`"~3t(_@E܃ǤZtevzn9ޅ/{wb&.5 fBiQʞB~ʏ NuWjQr8JK"butD y5#h\ zpx86bO; &I"j_}×oK=nM8(Z% #; Q-e*>ȉ b'+$Xʐf0k,{ :#6@wtOZEN0U9Čd [n%(2^c^ wH"/ŤlJAFV w0Zۏ.LXA! ًH}//B_w Dv3ѝ>{YO(dzx]G\D56ygCzk\fjS~нK+Q篅kZUKS <GݝixAGȽ! Ҩf[aT8ѾZUne;݇NqF#*[G^@~P{bt+CzS]neYg"W(G-l*XbNb:G2j w?s:.뿁8a-PR슷/$rb; HӺОo%3:"_k ,MI=YP&lT[ᕊa;IgX22m'͐9Gep2d޳M_wQ̂jDWӀU }6Hedc6vvQ}IH}nfTb%@R*Hǣ4 s 6\iƮQ`caJgޭN\Z`Ku4#jQ >eOI [#(/,%DӤH)Fy c4jQq .R0Ng2*SӉgP-I DoPrpMQܿN J19ƛs 5wف@4oA͵߃ozXevztI=>ND`9 e%f4B#FzH֜|k[hDjs"!t-8$ mxaѪ{܎!"v,n[]&jU%JyP|=/Q!l7ֶ0x=LU#KcXΚ^Fǧ ۘՃ _} 4qO.%sdE2N\-[p*2Gq/{n=-UA󫗙eB?\u=@+LK*Z2FԄ4lӚ)=vęd5#{uB|0 7o dGC##d9DEظxnt61~S{ (ͦٔ\3G6E}fUQ-u'_]@Pn_i'!I7#6hM8r21`KRef|&dX 6@;/AZ⁁YDf^( ĻHiՖ_S%/l3*G82Ipb(CD[0V e3B;L-@ci}ɫ݈z '< G?9c7SK[l̓!vDL_9;~cD^kiS +JV=/¯;Н8ʭy/o|y+9nAyj2Ln"77o&'u,]*@ЧۨJk"ѰA^؛O '2q2glΆea`Ea״#ԫwƼ$xzRƃ)_z;fEޭ"x/H}c s+GPx% :QQ5m֐AJ%c8L3˜Q&3Z?o`˦gUmb P[+_Kw{406&*:z3oZ۽oBhy&僺G?/1:'䥓YyVkl-_EQ%vC/Tp/T'\!/ѧOl@y7ac?5 -ŖX04dLoO#s?>.ʒ4PbCNmhPL[, LfWAəkaC՛h4Iā8'LpDpK:+{\#g ԒOgD.ǜ5Ui8"#OoMi00%.װ.+`_Ή< eE*i$QQDJ|<R*aD.lJCjۄ=a@@OVn;cT޼^ܐ*vRٴ= W** $f~ s7ej[oyDNf 8%KD<"Jn0< q^|auu=T\=Zό33O%"3nU"SJλ_1Gru.sxϝ56_.| *. s*732%'Cȗ[%rJT(PuEx"uǷ%a,؛M mz׿g%wK۷;FLOR~j8"t?'lEo8l+`=u`_)u=Y屢G5i*­ɲ&uAVH[4{C&*5{;"IOG}EIQsAim"QE|B$-jCI4uΞb+H`Mt?QSm -+e8z8Wo\ M.XfW7r_iba 1uix Fr N7? 8hkvйP@-{2"#:Sf0e څTvTKͷXX-c2|>Yo;40ii% 'OGGkZڔcq[UY mP1`Lvc-Č+z(hOd#,eATx(T2t(X(a^4kH?VY@x>m-.V|2q>۴HjO)eDCDJS|ԓ͖g{W^뀚`YumgF(̦уS s9E!: fNj7e|&u&x~QL E 4+9lL@X!rI-#h)6H WghbV Sk li12QAX>Jt`ӱ\N"͔z}kQl#j I'JvgZSo {~T-U4Z֐6 tӱh'̜ğ\ K !=M؆ww* ByMb ]=ЯmM|E/WZ%mPD-Q$q7 !̌# DQb\OK)D5ڌHbMY˝aܮq ELLe5xJ~E;x`] k*~/ cQQ 6dNvRxIAD;|Ҷ` !`6zXEuQD'АܩJQv~B[ J`oA#*IJWSHd~iK8e8y[R>%!iZC;/JbGu] ~fo~.-AJQ4ۯb?<,HT7hgqes`Tc#G<+SE%nw dgmlPBiCoCZAW/< G~pg 6@w|MhVk\qCS0蠧輇7j+V*Ɯ5<[l2nM 3N[m8W)Q}𫐰tiaf7pPr[񠶓i#пSm[%Ғ}AP_+Jy/A,muIf 3s{^5-7} Xڪ L 3F6.TRR\~9KF9Q]9 ٟF0hR[6J-m.\QL^a VQtPT~~AQ&DآC$%`d_v&O=|Um]580RrF60cҙ$kXҎIg3O$yI*O3 0ԥEJ?e<( ;n2՛iaj$ΊuO!*N~qߥрu)>YbMoj3ǫñ@1'.P(xFYE\l; ǖ!^3P+E <<}g[,w~h$5%b#7غ j:!LZ=Q~k"\lh~$feG)|6Gr^<0VajE/^STubz&bH2</OicX5F7O*#\țyA`06܎f7>4y3׫dp3n)Z<_r;ʕgWW'gFx9lx'8p'6=GIǏFپe&EH rƣplv:}mnZKs6y5O,[yiBJplȗύǐNoT,EZ)<1, A5'žarW,,o OU씹C OjHL+ WC;#1.?\=a D->SEAfJk30.LwQܟ2w{|96}QБ+K֊[]@/6ʹ'f*& J2ÒhȎ;^h} :A[z,ON:fAtՏ\7$\uVzDxsgΪWϮfoOĞ;6cyBBOsxֺ)ORPp1 _ _ TdsqY;%iYJi"وN>T-c3gRHB}] kT3"qJhQ:;[24e0<*5`:*,h2HZBj _iEx$7;"=x-HǮ_aӶ>X.볅,))^SAg1X2#[С`Gs V."ƘSzZuo-{ N辊yCfِ7R:a?BG<%ux=T{9dBL{֎\h6%1)i*FoYytzq%d A`U#=R0ۓ" %틨N99#SbOܑDmAUq @O/ј,rیm;6R,&j|-D;W̱Apl BfP`4؊޶))-f? ^뙳R6yaF*r̽IϬKrыNg͉c:`v3 d{"wc>S<+j<HkܪG~y>@V7$C(6 ^O=_Jrzxԋ3ր;`6ڄYzo?L&({2l*@+m@!3 @:4PqVC:ki@PIgyrmkΘԝcYѪ=xx&'L'{wc?)'xk0#Ƀ%MJw=YTyb%*lǾI%nu9~-)KƘ' KSzBg\3z^䑴hrZȔ:x $lS+(>=Z^ݠ9\FP.2c.!6NP5ck)&9HBlZbm{Blq~ "zܵє Q!r2H;m&'flj׸tjDz^Y=h{TO"ƭ)X j8{iqGDNhät>*mȎuAh]OT#RVmlJQeo[  !^F mV' p&*.:k=%4iQ]~*=lt`X:Yw'I>-/j<i#t(|X.n$ Wr$AT;/1be2f$s*43/3?[$fz5.4ZaCD):>|ךG+V,bf:L4٩ 2OkZ1ChرvAa,O)HDk:"zuB~NJ8N`BWD"V=5w5{@þ&C+ 9H+ظi\%fFף07\+s-iŽElJ0X{)( >}ͣbֽ k<Yׁ?ƛLWK`KO`ka؝2ltˣ>R|( {`s5HצMbZ]y.NBCKՂJ AC9G8Beh)vj}zQoH`AqSe.<T3Ef\w[FJGs`-2WE% imSa}֛ѯ] .?N|+?c>_݉a3?MZ3V~ 'ssg]> ZAiH~S#4s3ItqܫGyJei#SH yL>q TMPM8{?*#1S7@{ƌUF}NQxg6w&ٖ5ovc.M+q FN}=m*ON;@~.;D >MmhL;1g6_ ?"xLفˈfûrBDWAy.yq=SD~Қ͔U ~($?3 l~i;-rlVbZi6{dAI>#LȐ Tuxh6M:mlLllKSŨ 32#F= E?i+DN]%ު BkĬllxR~C PˉwҾJ=]%6m}HlmV{Vv4dNxϭ(I8|&Iy>;փ ^ Q.-Wu=!2*фyA.RY\ᵤ9}(lr6mõ&2'SZe5p /fVA0I13 qh*}ux@c=d BE-hX܉j Ts>ElT;HaI_F~ec%2Hj8ܠ qԈSpY֏T+O< -1~F"gܳ& ;EXB;'k: L 1aKMD |+pAgĉ,?\mgᦫ8dc:+Pԓdp4Im>%Ag[ 7Z; eW#UvȻfj#=6$Hõ_t%920 z6qCqFIGK!Q8ooRf FLLcz@%.]a'{ uY\ {wؐ}1ʑ1AFQզּ Oz]4 gH/3Y5j<1-QJoR)lnzt51'1r I8klp%0C8&X65-|&Z9DΓ2OdRLe6wXҚ׬s׋ >v1UY)(bHJUBø QaOag0VQ&gN5؈NN$"#/?Js{C^[Mb\Ͷ9"-J"J>yP3u j YSx">btP-ZL^c13S0) OwNgIp (R'SxqUvf(|<{xE \ CkA|4i: ۹]T*ane61#EaS~9< /E$cN`@Z%gC1"*㧊۬O{2Ae}74H`jT$Φ=Ɓ_R @;ó^g+H}̔#v߫"G&"`8ԫ QYP\~n<*1xZ%ihīYdD)P(t Kʿ& %^J7;hY7ͱAB<ЖfF THK3"l>ꓧ'TDqN; ڴK~ %Ť:O܀N6гԚNs${GgPFl72lenصK9( o] Vtj8zorl``],K-oo@Gk/4G^Ea׳8 j]ZTܛ@0.P TFޙTYb%XH+ט ƕk{NJw%B),GUwa;g*5Gvn!]Zё((X,E-7Nro>14\/;Ye?,<Y ֌G⨆_@Ht F-Ka]W12A;+ FL989Z^ :`y.Onb{JsG$ žBLŹR%5IcpW̜, '۸;yC@d%18_%*2![Zo# B`!=J+KML9Dzm`3"-}kSSe#߆Wί*ʩBAR,#' ~Vcא,MVH vJC ]MAPr#ޗA<2p9G/B]C3zpC:κDtNbzY?a<`AvV!@bX5Y)?E@Pn>~,w \j 0YeGj Ea"H&jb5~v$FޡlI2Cضv=N\=PvYקju~bq3ɧ[^ c;)Y`?= ^鄰>lO,v\^;jgƬ v!<v1U`1|n=9!H6G: $7Rg0emWJI' BW` P /3:Y)K]BuɁW:7vT# bCKD3NH%'m,E @kY@jh T'dAc+*^*ZhA#u6*.ADr+S$_J4hHp$0!J9}F7xUY?AwEnl(κ7/`&8g",,/3ML_o*4mXNP*oLt4'iWʆIqlyBSSVUF)|my;a_ P7\/ W`iOՓw*ӫDsCD؝n$GQ+){}Ps{t1wjK▅OiD*Uu>&#}i*fKy8^W;bl14} O>Jrzn` y8݈PZa-|&'JH8d+F(dD@Fwo?/[Kvl[:|x=E7(a^&+꓃;ECRԃO92ZBP)g$iOe"wgH$Ti.mۀGp!- ,KD1i8'3+fzgHJ%ʀf #woya#h$zؙ+3jߊĠ)6Iʝd=7r=zGe@+=BߦWw> @Ybydj *|!?iu N[rмWb^^ Q%9]x_&35݉{9cdlѫ@t"fa_`CAkoMsVCXBz(*|N!0(W;R\CdDofA,d|'݅EA+ uZQqK;x-ֶ 0 G YnyaЁf0:\rkVJ+:s}оj-yJH]+;h{* ^ $ù}4$%(4 w |vC]tYfpx|`F!_"{AfåO۬ n*Wdweyt b)>_} "a91=dO[:iC iK.rz9QGMP 3 [ ˊ|ʭpqIom2Ld[A*L2K-iZog\_@mU eLpJRV$4bmС)>uېq~Ӎ*;)}ɠMvpjI$*Ǩסkd6-e(̷#pB_ Wb-j.C)7B ,^ iEڙ^(?qG䈦c|m8XYxqHN01Da N:b"$$TAXH%1:3қ2pr'O:=_)ֶ #ƯR﷊%9 {%xޓ?n^sĈp;"2B|^;֟B$>Ì<|$J`j&hEm *S5qHnTaNR1́){,̘z2{ X/M5_Ȓ9%Bq!9;/ˆVMK1C^_UOD p y2{t c,Yc.VFTgfSA\m|u/R~%""41mUKm1ַ{MK'!$:t~6=" ~쪷%ά,u70y*1&N>!eMٮD,@7}FڡXZCg5qDHZxa_չ"XmV_+3,2L(Q H2\q8+Ȗdŝ/3&]M:a]jrn+2cR <"WJhK |bEm_ |vP%>g5g|ʡg ΄q7ZguBCG#U/lUPWj?@>T;:8` +yRI5,ryQ>1)2yunm+)j͟WQ6| $XOTTQF @gm](K #^B 2촴m. Pv dЖS`3i7m.wt oHgeLxdP\bM& X |[]+߄iY76O}ӲKS($g:FAʱ>O GPE%NeTZ3d%sm0WpMJg"e;/Fs"U-"Z+zGg= f̖ýlB)H. KJM#ESNl4J M4-{ b톌u7ŬX/ibIFZyڔamŔF{~|Ң?p[䇱k#~^ȧjt?f\%3!JG Z1\6'WllR$˛β D)@_ J‹x `FYu/>[jl!4^4yS^PZN"|A65JG$4vץ5ww yL i! f,Y xh +(J& ]<)GB'?%Q3bB4s+p~Ֆ||9_r_+ɟ;U99[#Eg<: u5Bͤ`^|X.,#ZI4>@$2~u%heN~sF!;a¬U; DGA9?^/ݴ:V0WBn!|O2$w&}b㤕 ;5F=[i%젲>C3ll5B>t O0vt!& !ZT0u Pƭ=c"B8-'YT&yh4:<#Xʶe=WZ)4dM+EG-ht[ʶ~&<[v6?97>NC5|bonӴMmxpoV/g4v6 [#w+G鷣z_Ɂ `C9Sf eC4S$ GqZƂ!u_~­ܤFlJS+ך9߳>HrbqL#0Mt FVLh֫0}3V Ǜmty4S#V{O2IZq2vEa*pT5Q^FAfԲUv'D`d B8ER3/U;xyFy :mkn8y9#pg^7[<#XP-JZG[e8OT<\` 0Ñ"]El ӗE4T-+K$OQUmɛc90]-,I@¥gxN)pCȈU7ЉR@:}ී)=p-?QD"rc8p L^N< fN[*"m0 T]x `H_0Y"KU99}Jcv؈_yE*0@3$%yܪ E=1̔-3HKB{xw:f|xM+?3r} ?&L5hr]&VנXPAQR鏹=KÓpITzৎ'6,'օiWެ;IwG0%.$VG^׋_\c!ﻰ8yC7H0j7 D  7Bq{Ւ /}ͳb[쥬Z>| I46?Š2ZVKg "G44sYNîtQjP܇S]zt Y*Z(p,sᷲXDt`;wz!IHrr ~``I*13N>s,Bޔk^ IH-r8觷&QFC ̟ zy0|!JQ|@難F=GojNL-t,s'U!!6;fGYKn9@\ >eBB;skG;, 6ggq򮢝];%6ކv{;te"¬-c&?TF܀s%>%*V Fw-ޤNKQ#+Ӓlؾ!p+ } )1il3Wxu<#/a 5O`|< |2'Qa &@eΑV"9Uhu/~Ӽl5el<."Uzy qzYe-߸vFjX #=u@U$4 ME|k}FR@IdZF:k.vG1dw5:8B9pC܀ege?u`rХȾGڶ_IYҦ&{ڃikJ [)n FE~v%3& 9GmiHWߏTF명ω>CEuG:~SQˀЫK /kv\H!mb|mvM#![oS[GO :&Ď;tҍ+B5ivOQ:{"]OpeJjㅄh(Q-8ࠉJ-'UWqi%="-p\Q3s4h ,U]F̎eOۃףFy7A.00mQR1GXh<1b]^fSSr;v@ިOۥqnNi'n ,I1B&/:UTeFFCx|\iH {5v Uo[>X|3óIǸXLx7A44xrx)b"TXݱ5m/kX.r08]y6wE%-\NGpv55Ǣ-ߗWxolA"G|Ctm]2i^+|5ƬkU`dJ_yܬE8QQOG vUYzh<=OUHdh{pvC8@w:M/)5;VD<K&6õpAGVIa[LYPR硒 *̪ ]gg, 'WqY#gJHէˋ._77Z"ЀfaW<>Ɂ'ˢa5vBruj-O be Xbw?-I}¿} n6e|#G~Gmqc"$b a1$$ēM=0@Z^n/H\C˱tq@֍=8ZܯkM+˶$ȩ/Avlͥⱜ.D-`(#dizN'@y,OVa{ؐ e$[8 UM%S_QvE9QM(ЇfWYDaSdŽMQ6`ƒ'ȁEdPr\'ޮ mc6P]_,YI%Bgx*%@yn:*- Kqo@Jm *!ԡƗ,̩m\q0I.@1_mӶQ>žKBW44oD0@/@wbNsh_BԨrvg+go\g}%fw( TbGJڴ,<8KZ>A81P+ICCf%ڴίrC$'vMJZzŖ4VVC;}.Xm֑PH#{ |(<=s..:7Z!ab_ nl/&uBJO`;mAUY<,N;RnZrqXz}Db9JtS%I61> rE-HDٖ?d,es\gjߴ(W$+򕠴JR=-& :Njl1NWߌXgjhLG 6"v $w;#:XC}fw7T`8$}ۦi l?N; 7)|?_+UD4%h.{OGOH/O228}.]|eY%;OMcsgRzzD $[1kTܦ % yqCynٚ` z=tRH|K;]b娄04H63+EIZzra&5''QnYrgc/;s'몉%TvYԹ!rmca(ArNgZF?T@XXIc$yA+=gNrs f[Zko}V X3v Mj34T?NLD: "6{`7b=vcdWԙeo#IClC/Zl >Sy{T-C7yjbB+~S})H hh'wF~%֬s𥅁ü= Ѐ \RC@X+Ģ_:$y ORbRĵ NٻxLB@Y&G:'s,5+SF\ܼ` nߒE!e*Yտ$~4Scq5TrhAZ`Jq{7]U 6)}ZkW;۠2&B.fZ0%81]>aKRiTx >pDsD 7Ϻ2S5~.P !>\C{܃5{jd- Wt@9)/ҍp |ZLz>gTM@wh9W"BK}6WOU~Ղug<_ VKʉ>RW{:·P|{%K$ڋڹƘ\l2h%# #w8 rO5CwY82ߺrua%P_N_3f^JOPΫG61[!TdO 9FG!\.4>w_(2ⵜkTK2ɵz3Dnm!-W(DZ+29?/Pf@PXaOw< c3tsw5+9-h !Q?5;L*G~3Nsc7cuw_ D=k'j~%@̐EouK 'zrۨpUfh* V 1X_|W?nltT,RI -uc:;F"KPͻG:z`.HLcO~qc5r.+Iv~{:˟xBa,bxHȱ:vv֋;٥כ#y + qґj{q 5an$4}Z(}t⥌~DHDI_b9맷zd |"Ш%P;); XtssdUX~[r:nwFHAskɐp*No8RL#p,1٪8D}^1M}9<8cF"|]H 9cv"qHI%xjGAҟ POm6p=u7Lذ~m/(TZ֕M>{ݸ(g0'vğ FƵ1=\ELSSN1'?Viֆ$Ne* T1O5]k6cp|+U3kt0o*N.s`Oל8.ϙ prTnT՝(zQE[;ٗ&t'8W#8)^ujan|y\F^ng~"KyZS$=$J K4ZcY;|tkb{XYESEϋ^\G)Et Of ]DތTVk.lf |W5I,ACiZ*sQ6E[2h;{S%üyl xMg_i<օؾPifqn˅Dž>irCJv"Tɋi8Com(2șC-tyS&|bƤ RiX(2GQrZorM& 箖YmI=Au ՞Ig!ƭ\qJ`9 Yușp u*(zv2RZujjd!80C†m^RP$T6$0RJ;% 8Ypu|NT|jUѠ 5( ,@䴹>X'Y#B &]H׭ORI v$;јM0uyW|׭m瑓EpkCyvO '\\n\TFisP_E-',9Q" vteOy:zQ ;8(uL)WIov([f.J(CChB9^kͭj;oy! Ump J7[]u~!"H< Pꭰ F/~Cp%z-(!Th{w(숖_ϐX_Qhu{i;J0D/Ϳ9.}jwl:Vyl!8szՏ<>,r#QJKtGTzVG' )svQi}*ITHmLt=|w ؐy&T|OLz>b0jsw^0 x~=30dz8 zE$y~gk ʷmKmJ-댍vĥ& C`kQ,d`1+UՃs %s\3p;+advx'Ta#tA?wAϝغ)6=4$mO0k=~q?NQ0k&? L\f(2 :ʯ &uMpJ([eH#hJM% CܾI(wnYN2Zs ;4\onVI&++l-ÞOq3j*Y#(&H_EyP3+:yS޽ĉ)›H@}.vH _h=~݅47OYkx2X Dzx!WA /^ NǓqM(:a6mb.8rUl㼟v>]a?i]in^Z+#|nʕR;Z@T^${i:Bw\vv+8. 4n JcMWt|u2ӼaviQhΛ'[3D/+h֐}Rw>;a_[:ey}T0K"\1t-M30r tХzk`Glp{#gzE"vwCHz 6od؆z  &h.[c"-pDxt `E6*;ux۬:MVI!,\B'VoŢjn7Th%q脏L;hc7P;sɑ,DMA5 COq.2=-7\2_ػ?!p{΂q%̵;qt$B$f6tqKy7E&cOh[}榢)^g.gá*}x^VMSrY:c"nPHq ֡YU<%@ ~ =^j(7rTO_9&y45;MՕcXpcyĊ5g5/iW!X 7N%0VdJk9BLc\~9FɊ\Ƒ'm.O,{ 7X0(qGQ)pԮq$  @_tve6I}HH%q;Q^BKN ;~h:=َ\/$v^I 0n'T.2M58ę_K]Tc"MVH ~2x %ڮ@\d铹~%ef8 |O!ZZBG)mZ>b!2659Q]+a7fx&5sԣf+ހ49,j\s0x&=?׆,i:{`x;\gUƱqhYy>B 7m^| xjv;ui쇟EVpz|b"zez^(,rƾ`vwW=!Jr>3[@ـUa"ɪ 42؇@ l[L-9$?J?mJ7ޭ?:W,*t<޽{kr_ 8ߒn&/_BR0IeV$ &eE3[>!j;1M@K52Q|^B0,SU*y2?, ! 1mK)8"o`8޴7jI5f3;=_c:tYA  Thk]N3T%ui3HӞ5Kt>Sik& xY:\ܾ ^Bq8x OxLgOT$E$ BPMM,G8Φۍ41is+T'3,Ŗ4w (Jzs|zF*NR q?OۀhV'8Rs8Y O&n.tlA(;S xWN(c=-״{aSuE뱱@u|v1£uU|J{Ups/aYȩ0#rG zz{5+tǷ hdj#O{ܿ]1*ل(`+4C'p‰W3D >hqA3ډ8X8h`/Ivc4&8!%|n جЋeN^pZ:2#niVgW(Zg+YJjU,Y'DGθRcJ/j.F,Q·*sxM,gyDŽ(cY;͚>h2wzꆫǸ3չ2Ŕ/=ϾC#o苹b[)M5or1W 4>--8IupqHpjh+Mx#/%xryfyi BǤ=e^2"9zW {%̍I-ī}CA8~e- !::'{m{4m95[5ă31kug#=- YNy]K[VWSٕ(K]8CJ*V<KtHeh̭K818Yɬ-$CfV}pg<'vS&cʬa#ߏ⠓0d|HvQ{Ƀ&ϧ0Wvk_ì T ; tl"ccξ1Vm$>P<~ϒ clVM>$RjF/2߼7Ip' 7Eti<{8\2KB rFPUۜ sb[ySkmHCp$aާ7Uq0n@yܕ|nrAfNcKZN[嘦JDu:y 76`?xg>7!AxɭSJ*j̜Q Ƈ(H=n(º# VXb ’6cxP?7nʓӛ9a*ak3ZgAe"Wǖ,ךNQ|E96DTP>]ߩM+JZ)Jp G$FHWIZTK-pgߴ+/ 0c}VVe>}~NCH&n Bd Qxkv!=lU؄!k^G(~ ]Z# [#ZJҏNp|9C %FRKZ`ab:6=py,XLivz72?r88NtӐV xuYqx;&^\EA80FyqE ߖfPR9WsNO&&8Oz㙅 9)G 1Yq Kp#SC>ɰ8Y泤#vNv:"@ @%ji[$榦+k~Z|7bcsY3dbV(=M%`[ǔ79) j#uohEuiyIU@.j yw`*V_!cj0c思G<v7#NGV#9 u_Ě\^y(㐅EJ> y|ZJs+ 't-τ  jp=0E%J+qn Ac=va2XPGfkZPHX-J"͌Q])n2ߌ&&d;.ufJ哐M E(>DkA<4i9Wqm9fvyB_{[( mZ= 6P6JhΠZfKxVT5C3IhSQfZ¸;B[YJhrx_zQo=0d+<Ã(D<ߍw"`XOD{ 2Z܈,`$ܓG P@j§hoXe5d-W}JE>l{ m-#0՗ T>n%&/+YGv݀ٗF2m:y -0 iX#%ET59YIP+V|0 m?H dwf+3 {!Bw](3l<\-40R:KƯ-!~^Jx ON‚m<+s1Ԥ<@mGk-]lg{oVKDȤCo0?ܼ4{p$ g] +aH=G<2K8hZ=Գc=/k\$~.ы,F?c4 M9s61W|Y=7ZILD`aY3/:Xf>]ҥ&T RF멽S?u=4R[:ae8WXOeH\yB=p$`y+?G)BR˿<[6| 쩞7 =%PS`a{D+Z2CMdMF?rav&?WULn&ֶARl[AGŀ\|2ﬡZ?lQi|^@?n5 ЃkMW,P; y?QXeE*OM⑯݊v|0SQ ݞn$(M~kJ.%^:r-ؿ|zWەR&mtd5oc&{FH'B]+fK]r*~1[IOƩ\ϺAT,v@{}h8G^}QAFYVӦ*6FiV*%I?̍+Ją1= " ;= t& n8T XhT=ۍ'w0CԖe0{.j*ͧyH&*ow3J뽀cAXeGddxX_}ʭ(7F:7@ B-y` azp$E3 |&geT7opӋ?s/Hh=9Z"Jw_V߽( q45MYug>gοUd]pu7!=}u LiwHLل6\W+?\gEȯPu8MWihs0ŢQld.@4-Fs'J}*V<8 _{+JDHEҒG5Гp"!TD4ŶY}_˨؊z1&?`&K:[%B/5OXXhZgb 4F /[Kv@nL%vwPP׺np m2`̭GO:i oo򲒦 z&sC 3@ޒB3<kWO9al!0WŪl%kQ\8ڦ0?kt9h2}ޔ|M_U;(_꽵Bf{Xt?"4Y5 @ʌ`aKuqhFL% GыogG"Z*cQ81t`6O~kl {r`w ;S l;IV>h$ Ğ MA2T/ԷQ#oduq&i`0ޑݭG:l,F7y[<$70"b58i4zZZvdi!q\eVì:oCF[k[k]uU̲{ĜΨ/OTh\Gߤ!P3:V*]jF͹l{U(n5`갳@6dY@CuF?L66&߄h__ǵFI߀2ڟ<-76RkDUFpWu($_Zsw[0_0IGg{^o^BCxB*<˶޻ujKP;90d!c,u( &$E=fJxFһK#0`րyCd?vFZ:>Q*~鑼;[e ҃gg9kj\K % Y%?{fܭI2H˗B4 =P=uWpƕζ @}. Ml̲v䈙:FLd\5O f~A-.B CÂ)mg^亝rB3A|^]`_뼇t&mq8&ayklW6XgĘxKz/g:h zK5h;tnD"#%wѻce6@0@ѕK㳩 pv`sDf$)ZeC,Kw]> %-sY\}B!E(31ܬ2.x3j79f83TN'3Od3<* Lыɼ|JF+B*W6=:mu 9'g~!&bhNT^~xS0yL^u]%b@ւzfF$ve6c{RBbϊb02aM"PYON@@F,%1$Um3yx~HȧK[!,|S@౺c+rj_c@'6|Um7s_fV~EY+u('d2$79D5jHcyG2z.ͤ-),M[A^5pDtTu;]n|!QpH>yj'uWp9., 2y?8R?t5TsRSS8dߦ{e<K`&LԸP(%٧-UShKYkz7J_ږ?}=/X0O&\{I/~4>Ā!$.5/ϒIDGG=!/j@rl ;9XQV\@1>ZvJpTL% inl]5/ p_K*$G캃/_YS=)qIma$J17]|˹\^’Bv 35G*L 2<}m5#Ojt"U$[Z h:ѯZǸ@Ŝ` 34f41_ԂWRf 1^I`_b()tIhc>q/"Kѐ0/ٳ&n|y-QKsVs t|pJ> ǔ'|R tL(A08=XPU@Ej苈îkyd|`0Nt@t%1B$h|l˾A)nːsu3wH^8H]uW+ x^ҿͷ: ?D:/垵Ȫ?Gq ~MA2<7]:kX=`S]9p]!ݖ iGCQ퀺QAH˫n:fӲ'VDVXōl6#Ь 9fniH81xV g$1q hɓQd(]%:m*L3@[ m;X,tcQx i[r XB9 Sf!._p!*k|C3{ek@]/h@k%IGytugl0N8 wpc/IǸTg>|q'(ޑ 1p Z cP;ӹSd#=  n돟\{HC~|x|bR,n|j,8cItUSȵƂB+B ?/lYIģdK&ΔT 4dj>nUZ<-P}=;#)"11" >)/:VGKG̿N\ګ)S6k *=Lm-&(VSݻff#)47Mθ_]'.:Iw1-\䔍f7$<nb$p`1PÄS,+mh z77#VɢgY65rBp7:+NÛ)O: 29UȒh@PD[\Q@xm5έ.?(38ݦnsQ?=gR"'%9k\:TS: TtЊ@iΧ}5&Pi4_oV@%XpKPsQ#Y׫VGk% R޺1~D"dz1-g0s /v28Fa+`YvXRNWCQgml~)򠹕H&O)0K>sK5_( WN8_=@ӄ"0ʟt߃:KqqTOu/IZ`qx!Nqo[p#jupń 3qC0:yڎD ;CrJuW{ƿT>l=: ܜKQsX.y ǾO'質fjdt0AXt 6ft !+NȨOUD[ol#ߙ촷Jڱ fc@DZ4:Jߤ=c8{S>'f+;B{Øbԯ;unk-C\>]sTHм*mאQfS<:.:,K7~y] EKa㦓 UҴ댷")δG^)ՎƚU9r+w~B}BueP+lw$〧21_soQ)7 u|hlӋw̡/ղeޥdciVD,T3R)[ϫM,i {BY gN²wTѐgcZ\ o,%5s$Kj`XG VAAܨP:Ĩsd:}5-XfMnNw@KM!$j١'Wdxgl#hbz޳M1+Csb-vԪ]&H<06sTv kx 9m"(\%z,DOnnFS<]#`4$?jT=a{AI u,HwIj@R-<{BJnړPjZ^<;nRPH#ǀm2.ҕېgUvl9Es.u\ @ak[!,t"BՅPneQK<<$X_Ʋm '!nݨZki1,\H#G +щI9P[xni/0'_cR , G1>0|/p'*F{02f?9G$> f$s5:.ֈ CKfᅨ0L|@f-GR F+*gK/:x£ЍA[(fFhY愨 ҧYG7y |V]dO'~cz  RسD+%q)0j2z,p33,Hk J?-O[@FC2W.7E;ÎMbx:s+ŢeF{\?;ʜ\czW*!qא d x nNR }G6P+_ 9Gw5)Q%Eu[`ցQ4IuRr}3,;ֹ@]rQDUL[iɝGKs"5J?8މJ*j GPw*go,|trOXn"^Yc*2\?VX(Q ?ۄ_<`rv*w<5E6V, Qq/lNEZ/\=MYt6(A~@,!f 1꿘%,\B\B4=K0 &qM+Gi 6 liy\:_64z\Ns_yU5EҪiVnA|<>Z HD\o+{ ^%b]ֹԽXpe:fq:b V;G+t8i9 |k@izkåwel3@SYma~R 6^F8pOI!6:)#AȌ/}$0dRoTl[W vSː0UGǒI{Ё-z%)"ZTΰ'CJ Z^ٖwa;ꐀn" AzQַ-wI޺;`WT2O n6 75Ex0Wv _2zs#}bmxgr}cָwH3kT[O,_si6FkWO#틱 ?vT䒶釣Ġ,hQޮЛVlCގvD&/Vfdzwpqe]]~2εJS|Ip] C<سN|7*sl@*/Zq H*Վiś-c~%[rTbTA4VRTBD .h^2kYJ_MFLxՁܺHɜ,㐻Z=yU8Mc0^՜慈-GLe,8i6^'ҁ/ zf ;AĨCUphy'iÖ{45Ԇ3)¡ ;xF|AN_C7ҷU3Áe ;׫6Ҷs9YlR5TV'b nh 6Ь$$m 7v9yΘHwlM!?ТHE284vP?Y/ (ҋ=z'Փ)4vL]W\zguU1go%L6ϖ5Sp䌔=Olt2`J+j|~pkmFoC(&CNdf*[G ;e߈|=" aqank]+ 7>jhV{ڹ6ʡm1 5ۇ;)n\LC5iPv A! $94X:Ў-<kMVK"מzψrWD2QH.|7f׉XeK f|:Zٳ3=lN.p:b,P1%8.)-c.}E"m7`@=PRY/K8>t9ՇjL>nSKMoهkko;6@THFe,vʤgmZ瘵Y(zbyVnGt6)W#Tc;TcՃI@]Z,A\b|;u$*x[o h䙞V_0Kl<V{Qp&ZB[*=c?oMƼ z_ ;͖ $}qxs-(0ygOM65zbR{r0;# 2O$9Ǽ4uWcwk6˱嗨VBajS"`DO%:t|I5x2FWyՕg7wSS;_\͖ Ym!=VⳠ A z zu0Kn39Րj2 kvYŁRCnߝػ%pPx:vu6 с{ރe7N|߂{fM\Io@9ZS'Zh"uQt(NC+MW%mW! :⡮Ѻc>co0X*Hj?%ْ #"RACee븴xS&ð>5j*tG̎Ăzf`v_ ʼna'4>bȭw@0q S=Hܶg(os21uB9?^\]&U}ňДSHD>>qcm%MLl  Lu -?ъX@#weo']Q)i]Zsp:i W t7oo&uh3fNtdaUKD0BX6bs ~{2t^$t@2Ax?!++uKOþV޲ CW9XyDr򨞨t&S~qm`op7cL ȼܔ?$֙(շjN̩60kZp]R OC]狉KmOޮ(fMBra䚌i06[N\3A>Lij3 Z3A0~-"Q6dNkPL/Vȶ$0Ds;ڴ y ̑y~/ʅO[Ų.cʶosҦ8OQ:U*<7i_/)C ?uƗ %;Ra$T 8Y2N^TݨtoJW5KkE) a"3?^O&lԾ# tƠFVI^擰7I3b9a08[d& tMQ ߖٺQ->E4J#W2+oN IaaM_*B(zBv[iz؀R |B|UkqOi[ycMM0"ǣ rXY{'?ZQ4U=Zn_RU,I+sJ ;w mv៊+?*5978nS=i~%б!QpSՉӇF 5"I"b链b4mI~dde`WmK-&X~>eL\kB,jz7pIm  #ξ4%] މ,zM$T; IzNӪγ1Qk0=9+hJølҍ9">+m")D{N#&Jx^˿6R@=9ru Eg5AWYFT9-6qq s4mo`i2ԯ2.o].=_%dWsQ%/ IQMRBP%6m% R_WA-ӫ1㐧 Gml 54{|~X/Wƚr\oxSgZU?Q0!i Y 1xP,yD5RBb]+^}4CƆZ{'9P_E\`JXq aapݧ*yw bQ &k ;"~rts=KfkA"Ͽ8dT1Ժ:m)H4*7@LĩҐ}i[d5GsVSʇg91˵y1?+# ֏G2#.[?,k8w9Q;[UZ6a6h9AIL‹|a Jq=Ue0LKyhB+lYg]<?UcLr#_QqpoAKn:3\4h2@8=3\v e8͡KB3oNƂm,)#Kl{XL"+#}~|B̮'G]u3#1R<a饴]GျVU94yH>^ 'K?Cy ]? &8 )Os-88 Ҫe5Ow7oA"䥆t9:<<zh堑5ۢnL+1 Cΰ5J_(dbt>j$$v *ش|;bS*$S}b4^˹,6CR@%+&ً\p5|L^ݳvzt \NVǝcX,ii!y۔ G<d!eQJlQL#ހ`)MɅ%d*q-"!@lvoz\;cw+әxvs뉪8d~xy9MpD`Ts(@8FSW\P٠驓?v'Mǔg 4DBè»};Uٱa 1 -JFB4QNwt{[noY9ehyVrڇOuUYV\,Q&pjF:(x/{v/퍔uqIUw'PJ&jdO!7\CYa@mDp{\ɀ?Vx49.qoR j"p'I%^ +F@NfU_s";NLg利:4.G"OԐ}.@|B_ WFX"3QCcAKD :8 0_N :d{6z9u Q@Io Rq9ŵX );U4 D+ QG6:"P+sSVH֙Am4ʿK%\ qnx)$_bY<\H(iH{ KOX^@w hf[ٜSOlM4rtW.P4:Z񂁼+g-$8ݳBUҠXGHh8YVˢx ԯiF+{=a |.ok핁l ħ$A5x-Cl[FEi[K Q7(<_AWp/G--h_(솁(kD$mTO |8tԏFS(9AÄa|BhY~!f(4g|ӫC?7~n!YOȉDŽMAOJ=G=*Y_xUD8ǢgS]9^s-۵ir?/0ꤾn 1 >fVV I6#;PJd:C3@ {F8Ü':}*Q[ ;rY*"QcOBymoˮ(tnқgdm;.S:Iv?ItO$B}&w9]"R:$./ҋtkK?K\qp(Yazv7]Qq :}eDq@|O+gԈZD>9:u7a'#9j?!g.Yyy WDΩUQcq*D"zXo4MPuԅk0mh$b߄ޕ|' 4WOLJf_DP$I>1VZn4.ibvAj}*0߁_nIjF\A?yM4˃/\MӡB\#/rnҮ:nH6Öwo .F0L|M46XдixvPZ}obƒeNfIO/XfR'Vp]/X2wXoGD4jk vg=N&eO%c-ot% g4]Y@9yGmD靛 \p.*'ё -lw F$ɗ9@%Qƈ:9spX8VL_'3Y]~ B^4d8Q㳇<,B%J6H^9ѫjU[~;@I?q#w_`Ld2>-DD,0_*LsùAGgcR V8$86^a\~]Zf R+7mHb2܇Ӷ1,J}h0Ne~X,(qܪkz3oR.}p4Hc#N hNahf>ӎb3֔BWv9 I205tc&^Dx{ ͐z۪rֹfSS@s P򩃭|Uiy!~r ,7+=@)은汱~g[,pn<狊p!)}2Ae>Ӏc}m㗢O(z !OWIrIUP%9ɔnuh%@FkCش^]7]܌{.ug`:A)9f0K7!e^=v(d15,]UzKYE/uΦ},/7q €XS Uwx_B~߄MuBP!v^<@"|G?s 7ɲ9D#z؁jLqz42$ƕ5ZS\AkS Rl/G3&Ѷc@nUpu+=ܛ !jP45{`_gjVKYNgQRyj{` e2aݑ5mѺ`G$6o'PFol؇ݚ/Zk9hM'3 υGzӕ)- 8hv!÷h)QvfJQzO D!&U _{ְ^힫m{#.eh2g8DF"/w z_Z}}F 9H`[Y Wp_ -\*]j'"s!mҾH f&nAݱpH@97HTo{|FO&1sNeư:ϳI۽9(avM I,& RAy#A#rLJl̮\+9!—r%3Y1WJ޸DSϱ;&p4Cj? ;$Z?Vy ZQ8蘶ZU-sLࢥ[UN <~[Rf[ 6ab &wRJ?$E'f#(P$L1,}-: k}E-&x,UX4}d!-*2$ liu|vg%@UtxXу 5Lzq);b]~F՛01 ?IT,YñcP oN=:hyi̚hk7lݖn_q_Ru|rIo{Ua;!4sf3_tղV@AAM;Htz&Y-K'ÙVʯ1yg(U)z^nl+,T#CV/y֗8bK47JGgnW^pBS'MevkϕÙy[~80 &VC=?wI[k۟*îRgbjse'U\/pe0[ֱu TThHH_D+7W5/Ȁ޽Qop؋186xM$/Oi g.V'zGzD&qKQH7˾;vp4o*gE)3'ia|;,qQ_1#aWZE|adZ1os'(sY: YjkЩ x{2lT;k$CR%vm6'N\{l[ %pN-E/3dȶWD! B(E׎=ay?ٷ)ްMHWnVSy>AQvl/Hsd=qYDjq1n+5zB: L^q1)%D9,kk QIxJy:x.Kx+r%PI7 E2Z3т8hG_Lyiӟ&|1|`ĎU!3[t^+r Kb_|75Hn Q[%{شiH魂YWK(B!Klw%lԂ`N2VCG*U3,\eƋ@ cӯ@o{#6 ȼyOsH`=P8豾{I0T\>qT~­Bn_i&!xun'^Ơ htARTYVM8e@;56Mx͏Mh~y^@9 /_b6Z:0; {+Ÿ3 /2TUeq)sSؤ%^o6]r^JЧJY]A]~g:**S5 P %D p1p, ƍZ[y~=F #SSSk 7" 7~XPOCd»ڎ&Xj^nJrkX*@O#ۆ$܉`%rg6N$iLQw^)Ɖx/[n /=hqtc޲y8jou"{[92Uo`Jj Vի#Q8/NZ HPDQ䪢+o`&OO,쿍@Q!YAbbL$)Py⯣: cM}z}}T,xWG5_ oSi%-OfaKM$6\#qHZMxs k˸ڌ|0 )?My\p<|KLx9oA,>48scIh] Nx?vՔ}Q4pJHݥg^I3msE0q*̺֭Dy37cLOՄs#߼X3{{TU_ CU3t嶑b Yц}*ż+ʓyuYvYkvO7gdN V3wυ0HINPP'+; 7÷ %dx<O;1"@>Q욞(V-RJ W11jܺ!NS3q:Q%w4OȹxKS<˻Bt+p5U'GȬܻozݐX:bdapoᦒ ;ԖK13hY[ ّ%4D;L,O$y9hMt IQ4(3> f[{IagCg^$+TRl2+ucz Iz̐zZ ɷs)mZsљdA8 &a@.'u{Isژ0Tٝq71l`PRtnnM!Eem6*8Ը\KCLF8d)RD>BA%Y,,e:4! u;\y ,%kl Y*Pe%gAKVz=ÅZ"'3b?ߴbP916WCviA4 >^3;lե&\+s2Jv0c'>pHǛמ H}7 ,/=8JMjM {`[4BS05UTF[P?0(Fߘ2UA3Yk~3b㚨RVlMmHc6O \rGԮITl#NM~H;&\bi|҈@"WB$,9&=a”OVrI;4YC̅~y0r;iw_J#}|A;Hna)jӫ3^.2ze~u>xrlINm8@W~iﮈP)*0^ O<}N[y> ]Ec oKE _‰˶|TyB{ksǴ\p5fMg'xvOjMGVk+ZvCZL*uXC#3?,=yn0@JaveO7 qr8y{ŠÜE音c>w[RHeݲ+aND/b놲Gh -gsI_cPMbc WN=o^J$#X=PIL6NǦ+ ey[q gD(H"}Z8[߲oy(p!Omj^egv0q .>T-ד!ɇv/PAۜ ̻MݧqTROԝwYWY*eU.hPM #/[8:&P,KLRu읦ʆPHlP;miZI#~m["qH>Z*"MG ucPdmό.cΌ~̖vbK%S㟇kBypp)b5mnޤ糟4b\ a E*S 6(dA~-BIW;v>$kqpPhe:mpE;t*8tCt¶11wQJZ7$``ǡD07 k+Dr.˖&n85mש2CO(C`9!ddD)amWH;G3gR?aN9ߴ~>rX$ ) X"T ŵ}XOD~|:Jg@[' e@y_H=ofTA{O/RЫP|E[;7x_H5La9.(io2,' Ycx߸pY E Qӈ.`#i~P0Z}'cN_-gO-`Q@6~F H#h*ew~kP˪Za[az[D{E|L-SD]^Hՙ)8M߷A&sP6@45a,䷯wxB1YMZ0-~~FжYRXa;)?q5u͖7Sq-TKO"YUy->ʲ;hΟ CjMy"ՂDDHr|>{_$$ʼՌ07..ּqAw4% Z| CvraϒΣJD?g[Li:&AJ;7pv90tFGOφʴ-!\=U|ƬcdϨi嗚LT/h}`0\)aFN#Q pK$ėvFaU&8V$KAb,.еVlJ"X mE+۸ZEdy`ۆ0J1ܕNV*w[@dabLMc*͕օ}ʊJCÍ^ h_~&/6-[$CA_~w>0UrfeE#=͡a._L (qK@jn gN.IHۜD3R]rvP!J.t^BS?VoJz>ɑxZݳ&I]&8gz?grnk{HaOՎ07lɸOFQ xsjnbPA{QpыO]& B2&fݑ}= `˕Ws6a]ZݨQBƙʑ4(]- q;AzEs`fopUHV~i sM}ЯEwjYIV2 e1A`5V;udݘ|.jTunFW `;U;y@ҝT3oێ_C%Hx[@֗rxi4"ZM)JT t85B'T Y՝_dd e#=(HCCм:ЊPe.8zhx*|.t'-#雗'JREnH15WbXey`ٺ)6d R%@F^-gL`ȇ KϢ pR¥.3#\Ȝpghyꍿq a+PWh=\46,&ZS=R Y cI$p'R<.ZkM{Ќy[{eDlZpgj %/.I+yeW6GG AqQ-0wO. ++^.ͨf.ߓ1 z8i`\jg=%@m~$?@ur`p~oB#!>h}4-,6,[su3O*<Ḉ;d>!I#@jdaCK_H4w]v9iWo>f]cK_J5 $d?lbe} f`'!_zفDNem/HBΑ_ an ]TJbRl B?Ħ`<\PHll6Q`6+GuI?*tu #X-= QJxۓi k䡤}+@xBICEv,0Zllzu9lz5\_WN=ۓ/s«c ECǣݑIqy&\w&EP4Y|T}u ?j}NPwPpAL=M%z䌿yBYeFp՟竢c`hc~f<-n .eʀH0y5m{[$7]vCWvX,5{'0JiN [m;d²2sgpHjtdvsHkrSRP#W~N2wV <'IJX'@T~O f|׼o5wV68d)CbDMH];2{8}@rI{<$PZsKUKlԼgXX^?jo`ʤ9V fk !AׅA!oZ #Ж!?a[ЀKYH I\]e&evڅ´zT}NAnN`תUbX]Ў4`#"裸i"%l~K 6UH]w?Ch# Th xy NBB6oJ "˯IaPb儀]+3FK?tZX .-E_UT+1\'d|f&Ka5m{w?hgPw{" Pػr9Gc6:⵻tVzbFwbYc[x]֭)4]9Hz!T$ D8i5,) mK&eKA`9[ޏ'd7h28+ %fHٙ#wRA']\7ҍU2`uAgtMx+T"-AA_'\?GO&8P9@.,7v<`cy/b<*3Z3k)8"yGhxc,Oy:b[ݮFG_L#dTGlor!?ǜ\ܵWIq߀j?Wɱ f<(`6Vn)H~Xw80f ~#/xT(;a(elXңZAբ0EMD?(-+h9oUod{qxxŤ9L7#գeF0 A͜F4gNU 3!Z϶h4a0yLUxD9'-D/ot?ZX4GXcpgR|:&CcKέ Oɠ-x qt] w / zqZT"@TnVd*OejG (>qzYm?;AHQs`7r4Ʋ]ReǙfab &Ac( f͗6=Vy&wSjj06AiU8 ^,)F =q]Шq&(9rSXP ?^Z߬y˙=d+`ݛ"M:,[ASD(e󮃜hM:<6)Bo.ut'vטw@ap"@ECklгRe!1u|ChYTW[ShKuc. X2W 90(Uz->-7k*l]ƽ F#!l_0״6i):xWeG>`߀uVڤ*awKd_ Zf8#$XMoBo93#0P CUuOy3H"'^;'j"ZmSFk[A u9/-AbЊxXg^w؏-_ Q߂ hS)Kƙ {nxqnLlw6N7bJl( ;rk7G)K>HAZONcH2|Ҙe#-5JigYsn8A SzQ@IWO!d^tMvqրj< 'gJ> Y^%hs豐7ڐDAo!|E6+,P'oڏx&Y-@baj{ )H^I;#*uW3UqtU\ܬw?ߙV,JIϗi"B@5saCȿYziz#ʓCs!jv7 Uc4o"LX+ȝ3ly.Ilנzm KؙJf%XK'ɤTpw}Gp$0q&|*5d40UH8}1HN ( [>7g܅tLL/ 4%QqKKF@haMCjTZmqD8{?/)Wږ=r_cخB @mTi:Z{&'H]X >0dۭb"7 GDDì;)[ld}-gYו/ h첬 v/_VIszT\$ tMS4v}0 T5"eG$NN:ړ W;*"h 6^2`A]9ҵgqVD-<>Pq.g_(9.CkD/9H7Cٝ\EukMj^daC#K'kG#è\5: hxˡ^%GBEB޿N7,#_oݷkyHB f-yK^f];7dkWj:`MƠZ(6s>aW}"<=c$s߃sˆZl+@fEAOSr?$LNxo9Y.p0E2Ϟ 66фRN 4Xڽ+ ̐V,aɋ:M+. ?2ݡfGaGt(k5-dPUU[1&,KM|e%7Q6 룉RSY(=EF%V+1dQ> S89N9*Y,-'lܕ傷^*KQJ`_U0ln(geֽ/gh&΅5|'wK{|)0_~dnnir-pPU'O`16G.gwWоTUn1;Z⿟Vёp·%~wW!v"X[XDV cþq2vqIgiSء| Q ṭKqM()4~hn|*ݩ Vn}˧')4=}Uq nǫud32"y-@jM$!/.AM1W,0큾 o 4HFEM6-9m-cϘJ`0bc\b.GpEAڙ6"i>hAǯZ|珗/g^%KA L^[5IR^bsջO SXK~'lZ yV1ǥϬ;T({PKd|ZXM[FIìbХ4Ң 0}'lڗ]õi铕v槞[*Lxn6Z6:`6E2IJ~7jwmPXvfdMow;K7~v N޶6~E/Z1YSt)&b[䮢(q!Pf_R{;BB ӏ+a$dʜ-ujXsEq]w G\D ^rjISB|faj 'QRG(lӿ]eiT(̯B \VT*JoE)۴I(C4^;ʅ9]VUt =yO(vk'ubgxfI7 r=ӿGJo}}'d!%% o+68Iq,glhIPlh˓uދ rNbs^{]±/Hq9vzSߓcūyh]XVV [H\TSuv+!dJM~b%Gsjm ),≨t>hִ!T,슋"6ixи/Se٘adOd L(]c@Z* 3PEw*=b['жSAi4+3\eiaK,(kA~HZb:ӹ+A j "0~y3ly9K /9`_?5%ʒ_)>G_D0)\nAɐs Cd;0[РcӓPQN"SVb?;Vk3%v=j]%H֘4,c#%4N0ʞ̹\W0X뵼j.~{e4׉g\0uŷƏuɽNu,yo0s X@O}sku1LK<:_f}[~3 gȣ7LAtuU@(,я1.f\Bp3O$M0roM=4҈>jK6קD쾂.*_]&~u AψΚx$F,Ԩ,5JX3ˏ+ʥ92px++9 e5?jhW0L%\nV@raڽ; C=(ݼ#Fk1u1ŕpT7wvϗNLm44}Q85#{h.pUj~97jT)E| 9Qko跓h $~ʒ~1yu ]kPnRqd0Yo)4h޻jWLe98;|/(#Ȯ~4p&@& mYdJYo$~aZGVAz]5tS8\N?K5'Fk=g 4~߰3O9ix|[Or7ob>("SVTI0R2IR p$VkeY`8, m4ES E${{V*pՓ/9W6q祸FYr,7fE"1qZ1[O2J'ym&3ST`[Ȯi aƧY#+h~f_8CW{݈m3m!qR/(vsB-&݀ g;9wcz (s(rXq) d뎓 7j4Ezyy@!I@!X5*6*AL΂Hݑ!g%G  H %q?*,E L˵cmoj%D>kO{Цx"ZEfWBc@T!{T >1r ؍ݫ ޻̂+#胆P2D}K&ڽ&tI`}k~y2ݤՑQr>'lzcxg5 ^oeH `bBfEo.~Sl~t|^.VW HNn֩G;ӤCg[Y\6'# &Ϊ A Mfs_`!)Ln(0`biCۄC۫}/46YbbV,-h: dh[;;r}A>4%Si}W״+qx᪙-_\t^fx]i | ڽej}%są2YÁNFC24U(ަP=T1?zS.MIЊ'FXJo~Iy c}]#c>޷>KߚD7+Ю2غ?@-XȲ?v8͊qYtk>4a3zDyNd@5#eI9s }aYs%,zHs3bYv+Y̖A*0&nHn@lXeeZR]ԙ]$URQ/貼q#<S sa!'f<=e5Jr)= 0q Wk6M.>AZsH_ =+8's{>};V^TZ˿lbB`la)}18%(%%9ϞΓc{-} J)X U;4MmqBr&$L{8,O UM$O|Tp ]&I ~к2-Nf%Z>Jk!t̃,JͰbkmKJ43z`Z4rNZDK4VSXF:3)ގ{Q~@Ҵ2aN0PxZq !ߠ B)#ϹCeRIr/Ag[PeB;4ۮJ%\p3,ȶf@;O)]@RZDU%ڞnaa2@r͌Ocn *~Cu)Onʬݗ3sV2 ;(ȡTNꐮqavѼS >xξ b5C|6`33=N*=68liŘʍH$O70|"P12PkơCuݏk˹QcW7MKo`m! dX/W>{&gFv3=vc̋J$14%r=Ĭ ShpBJAh5#[^lSh}P~ t zESs ֐yX5лXa[ᨑm09?)%NGUpC2xڈuYD .ܢ&@,ɡE֝*3G}1* $8p* US2gek{XY:e;y;z) u*o5EQ'4|Eg>vվBUA@A&]<:'G'7sO `0bB8 ppL$o=,Wkь1X-~ f媄)# s=bэ6@x4._m^PLW[>ɝxE<u72ҚLG4BJ16bWz L_jKP\n/etAN Zet+BW M|wU`3Gh𺍠jF񭦬 ,< zFwޞRgáO2ܱ2zߡW 19B$qWQ @qA#VUfVYΩ;OgyX#ue{ T. @ՍD-8Ə>KR_3e/`OϾT`X ?ϏKĚ}/ҮGR7 p+j|25alAT`Ov9DNhmخOa$/L@ ]l7#:*\e2gFӐ0i ŝ9m Ÿąǹ]~*fǠ[weXd!Y_s>zY_hH~[oR2 T,m)2z3<$qjPKхB_tJ71g36*U*[6.AՌ3z!`aw}w'GO)Y8!벚KDPuQ]1Bm=;)T's7M/[tм|Ga4Uo{Aƹ†DplҶrq`&l?u31MtuRNFMEH86WGošպ{+Zn$<}7pG8d"EoOZW`tƈP*N#,A(#6*h*x<</)>Ȫcđ"K:6g%u2&qtM*/=VHvypvډL_&03ghUgp!I&]Btc.ΎKCPa d8BTNV.ه(bIRH(>`@H'ghMw65*x9#pz봰|6Mi{]=c2R\WV;;8VY+{W9_,e"ؐvM΢sJ0~.:{a ΔUv~]|LB&~sB4#~YR'ʽ0(jbC;c9̟8 `(BZy|^(#s,ln1- CCR/ֲF2v3k+XEE gig7^M g߯f(b@PdD. h3`3rZN'ιV}#+Z?NmIv4*Γe`OqM7͘Q@ W e8iEvIZx4 4^|) pʌoȰr.fd{xE%Q̓ fi$s kIkG $2Ym+ow,k@^w^Mn>b7`s%LP4&p2p`h0VoefSPUUϟ5M s/T&1p,-^;/*)rjp fb~evBo-e1?Tex@,yCu{` rE ) 7rCL3>0xR`~D9 _&h+KqH+%!8;Tt>J <**[!:f׆$F#HtB_F1 ˚͑R:c Nϛ84qz IK+:p C¶j@] - [p)v'OhMM ߫tT-Pʴ,7(9-|ӂ BМ&5ԵVMd~Кk88v{ZUdΊ C-0:m+)7H$aUM8HB05@q٥`r͏N7EܥVd($áhI:ҟ 1zSʹA,z"n(5Amrwh/0=֚QͩIz Ckx yyΑk*J(J|x2G]V=ӈ| Hd^N2xVȄ0oMPYƲd@ՒU[zRwJUP̜~A4{/`ueX<-ꊑ,7M*Ji$wôd!"=$π}SO}oc\>RXLp2[ʫ+>W061L,0;dV9߃{屸 IWlLjWXt6;LLIqS8X\>(.)kZR-WПNwb<@ٚwZ L E%%ߜh_~uKHY 6ƒI$F<,'pC!ÿ,st19N)7[ŖptW\R'ӿӗy^4F7_dZ'%f{8P`{IYb8 dwe-bz?@3/˝j~&A̠)v]-5Lu02Ӆ>w`qM (0뤳9u`+<eV@!hs.j;$+ӎmS#⇡wF跑-qɏB `۶bHjV Ʃ>a|RX < yy { }娒~ LѼ܍ ߳wrF} zzoQ,цztNi0'TC>qkn%\ ԐC%E^x 7m" "^dI?q.[[ ExVK$߅fimْ<9VRnku20mSwEAoU ;&зYf3#i^5J(f|zp>*AYpN?3}]H$|H^`O;MFӬpd˚uh{)\f |tD݌q-; Щ3~܈1̥8%)t#Ρ,Q٩B"{f6df ݑw.Z^*x:LEn0т?F+!" JWΏatXK(pD TK=X64*Lf1QͺB83x;g\%4&}xͿPS[m[7͏9n@! P};CH6dͲ̭ Tչ2_#ESqiUmFjďA8Wϸ$ݧNd:Y_6֓A3Cy}t%1f+ػpPjF({ĻJw"3{ذHv@,r)dgN( O .]̬mѶџxHRj:7>TApf9k:㸆yLZ{(vp[(qE>{ Ed5ؑu15g$C=Pѩ3J_r>X@9ey3VRx?[I#4X>ARaJ?M}.?pakynѪ,͢돊KbĐ9f2p51 iع\^ 5rvF gy 1@: wDfW %Z doSgK\Y݅XHb,p i/ҸrtWMiF =q8f $LrhOYq6?w*efK[_-fۗ41 Pje/)Z+?Z9?S"~B9 ^W*wU܄+M3@;m}`FGx\5`dm\#g{%]ψyYV뺵"w(>* Ѵߟ1[bj$76a. /fv+Vn8BT@7rL%q`svutѲ($<] z۟g7ڍ瘊u(IŋaS=ߗX *ݒNIJM];ˎ<J,IOc(<)+4{z ~WƲ ^gq>0 $'0`8%4(+.;Mwkl%~eC#5e38m.qss~)҄~#0|CݳZ҂<:]2)|P1돓K?3ܚtU3k+BDk1GxKkX!:w*ﺔty2g%v6M.̎ tCNd^63L&V՟KHRH~R1û'".#N|T$]?|/ܼHkH# 㧸NM[pe_GU9٤ 9d:YߍT[G Ľ= K :vZNtֺ2`-@qtȍ wP9C'PD E?j2iWr?N3A君HZVÁ`,mE跡SeA9눷>D Vz/rh $< ZmF U琅s׸Qh"pW@f$%QyY+{.ȡTkHuQ랫 Ĝ$mZf;' P=c>k'03=<#ʆKBBTQR~)BF0G Wc6T/i`rZYٱ㑮$"3f` Bmy(;Ja7q Qw.)Im4²^H =ZI$o/qǵlPGyđLQD Qu2qw}%cWсVGU2AfrOb q[uqN:)Cx)3f0`SA8 09{\l5ftpj \.̠׏Xz"+Oul+aK+Qd()`|2獮cv&PZB'4+*cP Z_S(K4μիO J\$nFxqmݠߞseT+OyUr,C b!>s TlD/501? KdwiT˺ +4KYiU&.[Wq%4?^dLRSr?-%Mَ3,<@D{2h 1 ʵuN"o &`Ϥ)좮}OiO4׿krCIgPyYX;MtK0.w &'[h. 0by~ .& +xpfc :@gE_sq5o2a~.ewf!4H OPVu ,)ʒ9.UBg%-Yg}dM/1 Ղyf4O,DJ% UA=h#]8]<$ N1cYN]aR #e"~۽!ue19^|)1J?WrhRO 2;iy|40#5ƸBMGs bnQI/! RF?bW4iSEWNCeu+0SXB aܫ/4 pNR9`̦MNOtTܗDOWS9%z#*v۸4 4$4Zxt y*Sd?IּBb0n0ePUj 4z'^A~vXֱK~MxDrHuCOe 0vi`*6ʾÎS0{aþ;WOt5p'28[ħł9CBDt-lnL wla#W;npȁ(]ZDN3Ĭ)Ww+?i3òߨdoQ la6u׏˽{hr$oSg7=@c'UXn ?Y/ل-o\}"z޵*ٔ%鎃<?IqG6o#ZiʰS$F9~ԇ&T}`5iV%+aTFxyZᮿp wX(?:TwZ.) ؗ@Jqo۶2dBoݸ?bD׉n;(s=ݻ@NYBX"#P6gVt.z!1UiZ ;%j߮w1evspÎ4!t;xrJ>plkSzFH1yO#v2`גagG7D/!VJ-B_Rn{. >kL2^ӛ\A:e o d|D/RROo;Wz֎;6Bb~x~ ZE24O$a2%ӂȯ;y5z]6zx3nKҽ-_jGd.k?Fnۘtq! %Wbę2֝P(S/wNb5ܷ@>'­u'7fDKHY챬\'=' v?$M|_#T]e.އC4G! .N69 2mzrb!N6~Mԩ#{ho4VCUC\Jwzx&"|@m7`&Aі49 WˡCu37.?A,[Ocw?sE3$5VlOn;JcZe s ͡TAdp 8Гgdz,ϨFmaf_=-k=cx_FToQ'? NRanݿvnY)DzvL:. CƠ>\eiP#35FQ1( %^:EJ4J4ij>( %af< 0DʵF"y[ qRX6/(\ < fuуVHn@S@gW4Xn6[Џ.9/8a65;0N-V8y+n3kCv5Rv՟L(ߜu!TD⽄m:DQ`2䩱:rXcN)Y~ 㡇!\zP:Yxtqe9 ?C$A7t`k~֘rfW1؝Vn mXΖ Eyۍ:lr̳xd~I0*! Ξp,y0հH,v2 5l2jHWMo earkw|L& 's1t 9`NN麦U; FxC\?3ܗ ؐTLѣ+$jlI;p ~KQZGl?T@f9 Y2lu{ -$U(-, UͿ~~L^'xy }u(R$TώЄcΏQZX'e%Мd@r]8Uɕ aJn<%'˞Q##"0V?1E<.H4[kӌh7%I43[؛W7X Y>ͬ NeΌ!?+FchĀVLiow)]m{&Kch@aa> ;ncOI{l%8&@/*Y Np[<]_J)}S_Kib])1["OxckUUrQ+ q20l$k{-*Y؛ M'K =Zʁ!Lb'_}V AF?1#r^_3 zh_SrcbĝKjI7ZQZi K2.H V 9Ќi  &/'/pVHul jM>I`8rtiZf3M$KtaJ|rhNt'mH4Ѫ.QO\t_1"< MnGr=K}f­Z-K zwXns  }W,VQ|saMlC/hkF1F<^zhQʷ $, ϋOmv[Q#a.3oj G>SX",VEI2 `q{Å@-qT~⛒)LB.SNq!JP0&8ԕ!3=eU9-̰s6ލO,̎8Mz m#qxY!0*˼M.ITy)$-9;< |o A.k(NlzXtwuSe>YCl3!Saoc- K- bʑx%i;2@8>6Aw!c!ymL+æ']݉#X ҿR#QQMFKQWL IֈmxTJ^rdS֞ߥh{C| TKOP#|N ? ,%edK+&s|g[Z*'2YBZѓue(êBYtsi:r65,ѬՊɴ.\_IPqO_s#lϯ9wPv~Xoeg^y֪.cvz*8Ag Qlk`] y2?aЏ $.r?[sX[:ı>.A=VhtH.r^4=7ʱN"~n+fHdOg=dҏآ:3~أlӋA@vS =yU!+>Jb~r/^X'~,Ę* HdnϻlHmҎ -X+OzF *ZUXg뜼w4O wpR֒xyC:߈}}[ݦPlT]v)[r$jȸщxl!ѹtLȲ 0:CuͱZ:՘'ziʢ }]杀)iv!Eֿ= %ǜ5TX0lsp!'YA,Oʐ4x NN}nzm饑a_#M 3M+L=qu)K -B&%V1xuxӸM9WXQ(]TͧK54Ҁ(&.+G.Ǎ;DY:ƃeڨc|le~B֩҉+@:e!9`^['AQuqa!O2Er _Uid4^?Qlew Eu^ ?7(.`atlLU A:^KrjTʽ}xsԕɲ3osXMP"wnvbR`r#Uӥ#t{l왟([t|Xo~KK3tAqz8KChS0F iN2x~.ug M$v$9 Lm35GsYr Qe$ړ {RhP.F( l}'j K p23PW3Yp]ƄGUJ9 -:k^a HA.\|' ;ejm7$ݩJzXnaU$?-™in?{_){,-# PN-^6+2̚?ҟ괉wh7"=UOvBޕݼ9'F؁=MYDӲ΃ Q'4]k&v~ ;]|,x;YQ *>ܧ@-ϰbĉ* 1y+FS,݉t.^DP%cD~u8B+#BLb%ܐSOϺÄZ: ~d~a{ÇE/?JC1-CmL^bn /|vOhI-*j#sn1>vg`C\;X7Pr]|vnD c3@2'ф }`TjtPuV1$vp3mOH=J?.bû\#k#mĆ)7r1>׬u|?u EaTIlLRO^%av{)K<CS><>L @ +N"m(CC#e2ŧBGe癠\ 8I#j 3X5?wJ|ȅg];A:GAcA|m|$i@W3 ڠ-Ec )h,ZBLA x#َn58x (|a(Aʋ* T97Mme)3j;rJZ T@# w:0Vp6\2kcOe҆~m=ݐ 1r]er@QA`DLRb-_]b5dg.~ȑ{fk8R-%|:A٭Vf)Wh iQ';t2jCdAnE$,)bEB F轵ܒ߭/p`,',gSOfqE}[meuw*|d硃ul9i9LuTxd TeT fF"2KkiT?($棔4ݬ i}#Z*_e bcҲϹbLy'p9ޫ˳-Quj2}iR'%IfSo+2SZ>ÿ%4["pZF7Ռ2 Ԗ~"ciwj~sV,Xat@|NYюD㠆PyCf>VzPx/ Zэ2[rwd__J3۸_T>$Y`]׆=52U:"Gȯ/K"V g9a7I >p4/9:兤įl!+ p"/Vnk/WIZ{b8mbjErJHe21YBȿrﻨHl $VKhbW1e ez3}3ZPJ:MPTK~ ⹗`!CY[(Ԉƻos3N̋!4G$@a_+_eG!3DŽVRIeן V^ W % ?e|uUk㌀Gs]̢poD|{0K/ٗx &7Zs-ʌ7MrC8.D>KׅJ 5tQH3>&~#Aq>5bwO&5,; d XdK,OWlg3g'+?g1r4}1)qp*}[uԸRdA88ƃ~:3nT:*~Q$8)V,W0ݎ0?-F_BYk9F*gzx r|ܜҷV$&+vs;h^;6ةޟ359n<9{8ˮGLXu7=`r牔V :ccu BB쒶g}2OO H4}o ʋwL҃ V*>6C= ڙȚGRu5&Fg[ۓ%yn !JH}ަ!Joi^T) .k%umn~jZb_\@ч@wy ={Q:l;j)}Hx2KT5D0h>z8HąjlD3aeƕS psۘUQN[bq3xወhC:*bbwE]P鱍ؗӹj7scF޼Y6S8 Gʚy'o v&-9맬Xljd=U/l/>j?ȪB0Ru㦝vڪ yfv3@,vد)wuWT-8X?)4ӚBDP8sGOr}!f=L\^v;}`8pӑ-XJ!kLCҖG ˩ #Ҡ.2Ƕڟޓ-SrR1nNI/ЁeCqD@]" WԀ) "\RrrX[l=- .[ȴ0ZJ!+*Ӿ)"v.S\{ط:;$8FYŠy n`qqVd>ǥ\ۺ$n`ᮛF90> x ̗>\ԏǣk 6v/8*=nδEb2*lSoEnl97nT~Q ] => oTpvJ'X1VNɋ[dR{jP1 /,-[.oZ 8;o"/tx$)C1tvݫE8 lT罕ϟWxi&<%xi/]r+vMQ9. 1|g[eb@@8>€cNOtQjqNp:D58ѿ! ! S ~keևvvl6Z6V0X ӸY8oRR1_T!P[E {jד^(u6 !B _Hl҃E/5ctC`ƅvYZ|OzD%/Q2Q+N9cƸ|1U00k.>4bYHWbu$8Uӆ Dd-pog(;ڇ (A۰Y_M@ z?tl64PR i/^ 7Qm.^+П\Nb#;()|dè%㿥VMDa8)4 W:ЎBعv"ᡭZ+ߤ18"1!a$jc%L7ya+G +5 矃[:Ffj;hojM-kP SM<9d>ȷE/؆H9FJ}Hs$tb'/ԡđhNKO/;m8Mpf_1W꾛+Ic 2h\93˒N׫972;g$AngГ|?`Am+1V]ڧ엳ny:72k,{㿻SÖyh2_9(CCpgvq>]2㵤LN$eQd]#p\#4'L(M^,4Ԙ`_̊.*s<ܥ vį7:caԀYg`n7ͻl֢:lH<+򭯑XZ/AܥǗnjАn$u"-!]D@ 'S CYF?[~|37Q ;i\ybhd5ެ!$0g|G}cW5lV?wN.a5Do]ʙT)7 BQ!tPZCOqI 5gj.t0s %;$W`",[ jQ jz\VwA7*($dU':zOfuWn2~BCHncO} Â;xrVw@i@F\E |Uĵ$|T_P56~/C75QX3 "u]#ч.{]r=tЪ㚟`ś.A</rs\-ԍf і`M(ݯnON%)PLz& !硳kdD&_ۘ˃ [jHJttec鴯umɴy4ZW6P%5The@`u5O)lcig"GZQW')p4rezS5g'ԋ=BCnwJ.@&ɴGە])冢VC@fzŀԨGuP4W$;P}acCA42_(3æmlitiՓ\$$:y9uUg(qFԄ8L~"m?s2~ɝ5%@:)VwYGߐ5zud=D$FS2S%V /RJ|!9l7+9_qr9x|d,pU`RQ@wc C[=٧NP=ѵPlO21:'`XE璫fN{p35c,TnD[CM4jmC=)!HO-P34O@߳zt YڗY"YSطp48@ҩ*,tR,,?CRm†pVR鬹{z6u5?ndįٸpXN18Ibs˦#SGC)M4"@b-9קv|[ꧭ+~'N-X oGܖҰ{S5z .\ǯ`^\PYc3B*\I1,Ypp;>;ܒQylkcaaw<2TʲFh$Ve ]ynOkYc礪m iH=r-!HY a~WGL41Dą+9/Ik@/8-f%+{|'DꐶO}EǺƌن[}OGd?EnMFl\df@OW:!CxJ+ڕ5b|uduժy(;Q#+O8˵Wṛe1Uk';gU[`鐫 #-KM"41,2_D8VNCA&73 Dy]_B:Lƺy ߞ8_jm.[{kqV d-}Jyj\Y.d yb Pi);Lxo{7A'2ewwQqɮ}3ʤw`PVW;__{I.O~ Je3R`g~3Ev*X4b]n? 3eTXǟ81XYQEw hW\q[Z2sC!cu g9.Ln#t&p֩?(S^15P{kJ,|(QRRGmGC>2. ^_;-»t;D;Y~\,>;[#w+BHāe'|\RQ%(Rxz [VHe, UҐy՛2ťa00RZUrE0!F3assn³jO:ݙnZڼ}kN̊%f@s_$!cʟUR\F a r+uxe X!(!*^ƛET./E( u>77Y'&^B+xmjXRԦy+k:J] I0ɔo ̷̦8Tʡ#50W\.[saeJGdA1QNW145xl|%$* )q Fg⬮75(yHx\x^zad^!?9Myo1%JXq)CGcTw}ZYh`AXZAE_TMuj hn^Vˏn.ԁU}xspʺ_b̩[D0oP 7]*مl+^w>ZAJ#;\)^ϯU* MKcaA?u ?X ih<B@N([D<JGqL$)V}@`9ي\_翘w,:#؟. xg9y~mG,Nh1Q y ב7IY/ i1}\ puy K=ABը{7p/.Al Iww?4d*"t)݆#YKWqJ>'L 7FCXOd9H%UW% 'K[} $/Р L/⫿->ؤtdLAgW[^܎ #W:qD:2/Ϲ%T/r>j aqjtby.A4ow+d]v֋=ϥY?>#0' 4.>:p=%Nw5[:G-,|AщN'^6EPO‚'C˔EY nQeAB;LSd@}K"^NTa\ b ;&ظd0ƧG꣋sev9_3n_WH;Wk+ӓr3/_'E}?a[liDolr;ox:LU[yF203:ߕ /d ݆۷|jQP77!{GI gyoiKfg4G6rOlyFB7 # h=g`e⁑d6dC2K=o ּ%u3"pqYC&y_#|=j3!EY .,xW7PD}rO=sԺ5"oF WxMպN(o=$YC{f"¶ JW)㘝.eP%+Uܐ[Jf6,TZH(V!N^+`p"80 PwqqY\~}^i{N%\$*@?"yNWe,DbmĩnݣK ;kr6 ar ™ڶ˒^LMWȀ,9OЫWB.A:83Vjepu.]^6֐_h3,?]w982

bd]A>`ϫ@j悥`i5SeN(B8"OG/(A@&8!Z uA{ȿ^3>K(З cam/ ȊHpU?gl '}b˝EAKD&6Yu]sFJ}zCʇ(R n@LĀ,)6UP) /lecUM~這r9=P;ΖYSfק83xQ녆I j~zh=.TD0yTbevנUA(Z]4\Btvշ?.g,8܃HiJ53ܦuPb,h|c^/sqnG> ɤ?4]_ _67VZEbE H'Fgא)Dڅak&jfaϬS %`vI:3l/ڕzHL*(bˍ$=5!bjxS(C1O`=fS PP#o2rsPzRCM^f.!ܝ3D5P۔i4 qǭ+ki=8%㙘!FdyUtGԄy0nGQFoyѥkd^Q$>i|+6@*eL#OZlȻ4js|(|}N[HA#v-+1I{oxC'Ԑ1Vذ"Ҁ`? |Tei 2_4/QTm;W^%AbvûeX/};0Vʾ^^Amn٭E.^ @2!,0R'szI+ 46a+?o/!(Fz0!>9~jMATjTe#xBXvH)Ƃ XlgWht 3vvw 3T4a5de wF4A4iaʣ>`R/zN#NP̰ipz)Oǿexxu5a{;+ `-VZz%r 1U<%]~ 7:ETC, ~+Zք񰼲"4@@ %m#ˍ½T>ŤB8*49MPpk S^>5ؒB|׎TZJLwz6pZRf;o! wLy}%22!U]kdfEƭLtwXmfgCt˖>6r[HPC`Cl&f `ha֭jR)2ܤ'_,|j=No$rsSG<]ǬǏ-v%Ґ+~%L_Kn&A 뇪BsxEZ~{uH41+[kBnԛfy)%3F{E<$) \HNР]oD7dW U */w m!GbN<paX#A{xo3vC);SVbVDȮ͡;ޕ@ !Qi v:a=նF]=È,* 11/;ģ PB/X'$;jeu"K6Y"ů7@t˛D >noI+<+u춴IshovkUy\Ӿcۗ*0&Oce$_65 X.\/ZNQDY#c $8w!8j;sهa29'TqS{~F&*KH8FT vI_IK.]ĝܕ?)Ծ.*p w[t 01[<|`1׭`,_Z[D[(e0q$E#qpgN1#ZJeN+@,``ʠ NVb,Bᛕ-H )_ß@]g`R4P=IXp6@)m'r"Ќx"IO%b#hNu3E6S^g^"" :Κ;aѧ=ػ wZLz(~a H n3%Յ>J+3Gw#,ry۪4;^4[\̞JNk”&&ͯ' e_rws)mk*svdA71ntlkǬ;6V+q_@w&oG2osiٝ MUTs)v :X )!RTSȧq4X,u OG+x}em ׂout2@+탤o`mJ/pF!tVAglmMz,2}WM7w,cK\hn"nY;%7XDijvdpkIV1a'Q# R Օcc+<mz8F/>D>jKi gݺžZ!(M3hҙжNH!"##/`)Lh)Uyk3yiuw_"an+ щ =::ke-l鴚v\%Vjd28'8jŦבtS;9 wK0Jm͉&?Lb No)q:W!6؟~  M^wł/9'7;jK{0`5Zϖv:JZD{`KpAM"{B AoEkk[KG`zɕ2"LϏo?QoI}T%9f>&Et~0,G 2 xNSH m|I:="NS+#o1=+]#–UO<7[r.$"x"|)Sm%Aθ7nаZLx $NMSz$of B3Ǫoˮ`VMsWLZxd[J?="t4im]3?{|v!;I #擮 e}^Lh"]YAr _dkE"Wł* P@ n=Ep'xowW.OmJ#%,!dmT؝c97tP< b~֤Ӽ91c Je?)kHed "rQrjîq 2ԃH||֠G!s#DGJ2°Vz{ E+ݐ/mS宥xsR]W>નf`)J0q2覈1v6-3sz(TU/넩fURQFN˸L/k;G7׍hJ+˚?`Q>1%)TjTNN1*ylw|j,B;u):IvB*:9CGՊ|TL?A[t)c< Wɜnsb?:ޤ]4"尭oOR&#Fb&:GX;[5 rҏ$0;1l!>eQrKdFsdUZ 7i4#8A+~X2ˇ Uטb9#G}rѧbsTWչ)7 ݪV_JLid);M~yo?- 4`i6'Z{IMp~`΂C\/C\˪haݐE҈ghan^"1+z- ]L%)&틎 x.aݦpwRUp h_(E0Ei:#H0K!nb4y7eɲVgjK?)ggL^{~ (5K$N=ATo-b0PbU'}!*Ah/ٴ!ŋ` | \j-K=|s}4rU6NW;ڕP9"xQ4ZIԴR,7L.vzeG 47p}D6 ̻뎌T-zH..׀lCJQ* ޙdڱ7^?k8zoI7T:kXC}s0쁁/](HLc Oo6Jܤ0XNJ`7x)s]` #6N'ibZΆ{ShUn^Õ~D*^pIP5CO:tsͲ[~E5 1+_{BA|nB\ PϘ8;~7.I63o,v\xv.ɾתZ*-&4N#6]?u !ʽƙe;PNۍXKX3K2ԑn2Z"y ikM0KD*;}z Lk%p6QbDi3b]Ї!YNb 㩺A@fJjXKjv k)fTE؄n2IئSR9`sKfA,t1 |= Plq覐3.5e:N}<ƛ4׵@0Cc3tcH˩5Uk ƒD5;'GWW&++2Z|H9{zy*~rG"nY֨(hT  |hE_.B=@9u+ARjwc'Jʆͥ.m~/4rZ0 "8|Ϝ/vr@VDl`=%#1dLOrA eDC@`Ki0 -ڋ%U@ǤC3Fbh)\ȞUx)Z咹+feN~oQhb +s2͹uإYtIUgLy+T*Tjb3S6naD$80wG'G3 \+8txÔk;|Wk{5MݦH UJhO4kbϋdbwMF?'@gf#ciujw Oy0j;݂ 8`pJ3jm1BӬ-ft- 4S8P D68Xf75~H,4zkIܹ[DG{F i;@+ 6K~Y`}H "R޳YS4ygbmyܟIǬJn2=av1pN)<y~0D 1wMDDzļ9ƟζzCM^ j]lf0%ɭT&T8w ,CI 7-t/ۍ&لbwgIE_̤țxҕs:qܦduS)W ڔX=P,pwf^Ka*4ߑCerpۑ[}InPҐ K܄Gr|SmUwcuڒS&Oc@W۵jBNMKXٶO)F@P^:V-e%D4pgqpPB F?iʊ0 #$^TeVP*vνW΃)HcG|ܲ5t ȵ]-5ozW@MEC` ]x֤nH\u&pSDL8Sk+&]4ʑa0?o6Qf?Jz Щ#0Qݔ L{[IݙVU&] x['J.EL[JYxOZsO4vuH<;-xGU1뻋~rbt+=SHut'B\HL.lnw\:J& ].tx)6g,3B)2A*֎d2QtIBI+A9QY] -tF(S"l`sq ͗692Xto࠴i!y[gJUfd% `PKئm}%5}6|Uw'|1 fAsN'|SHLoUS6HiW5ӣS5Q1XBA0CBQj7Eױ{nOWH|AL STNǻhHɶ'4aq}"Բq='r$l-S.y*wޔ9r)NTTҫ ׶X+ڽCh-}c0x ;`%zxir)D'N0h-jZuϙ 1y$o2@T*wO~t@ghoݦkKCdK1 Z5.+ zJ_ms:^xU]#)m{*8kpu3y&&ŭS]t1vۛsb6[ngǝ{3P%Gd5蝟!*iG>.l~X&p0JB"|TcsTK [ٓ=a"tWbB Z3پbI{2A 9x.ZIV;$a,8iEi \ IK͡-vke i*yWn1.pM5p]AҮ&ܟg@b2rBekDŽl 1JC"c9m>nLmDZ87ܨ𕿀)`Dȣބ@+gY X7i:2]Hp/O$ٔsQIYϛ]b 7p>DL1Fb(6|UKP\ qZ_:?`)xb3e@H2E `F9Ƴ8Mù4(W@R2I:ʏA48f_rh B/\ M|Z .Z$zˉ͸FNzUnHk~S]l"yM@d[HGRAm2? d(8F4hI v·9m-NBGC]zt\+<" yz B6&Lִhˮh}o|CZ_GTeSrA8b_"FqUfJ꯹fo]-D֍F[;*Iܞe3P"q~luMH~|6ʪh3xu ZKzрQsKMRP[oێ3j#=d8x2 :6ɩHlP.i(̰5èG)`@kn< ^beaY^=fsF X;]JқKD͈DhvA=Ɯ`"(O ab8Mt?!窎|-z!1tƕL O28Dl[!B m_'6q(?b؅t4?uje|eIos6ri&G9oK3qJUhG}LwҥƕQ'GvgK01A'ňp(ý"knj,cR%s@4qsICx~u݈x,ɹ|IYV$ƌ7ҖÅw3OcIs`-L?_FueژQ"ɹbp\WN/lpp MậnK1w{si3t=+"۽B0ඡb޲2\x:#gz$,Ԋm@)4(Y6Qw@Qp/-MI :üA^a\lZt~WHTD(yIzTj |)Ϥ܄:>x‚o9ZYڧ3_W~/TȗC,?h)GADŽNwJD`> aRw 82N[!Ou+(kތ~I@҇X'O'K,J{gG2[;ǫ?C?I#AuOv AtrB:;p"z\|$1a~qodjа0c89eَ)<ƵM]."$N)$_AQp:ly e$OiJ)LF8T#X2Rbf (>mI0'X+pf|xYTiRh4 /?ji #EAoj1s{޸!% I#6=V욊eF$1^X5 sB3]{[~(ac D[~/r&mF5w>~,un=>-)I h-syЍJWѢ,Yx^md3G|yA5p;|Pڔ팈9E,IQЗǤmt)ɧ_[zNakC!ֺ͟}D *Lñ$T >[pvx|ǻ㤿\}'Zَyۧj5+VaLO8!3Oj&;Z n]Q$TZKW^>opᘆ/=KUî /#ydJynZcDќٯL`[2^m`f$MCU08-ǏDp*_[e0. gO #UeB { 蔲~_R"v"V xv8Mz`E+S&.-[B͔[C: S|JrM; eؙӴ߈2H_IEՂbLn;0M,а?\~ YWò?cKkZr0Gx]X,!*QZ"l'me"S̰ Lx \oa[hYv!!ϐk e1v'vpoـ]Yyk8V5X,Qk?s: }"Kp)9,i E"2[NpM h`aX :%rZh,,LawP!qB蛓g'ƃa"5ylK%0^+w6{t q?bFl-zM@<f4- "V8O:qhh~pneGTv* h趬"4?;۞R#FL 4vnjē-ڡlx( m|!óס6 rW ?Tj)&^W3awOzG8:={YNYcbE6]5EE2zNPe?ǎ9*y{\(T0?$)PYQrk~p(Nj65' l^Ȣ϶[Yi}xJte .+Z?Yij"D,.V'j*|-nZfw]o͈mjɔZR@15ێ̩q#j@1 KF`ُ)n\s.*{g|8V5UF~kݱ-%,H[цLfWRqj~1?5@|םX*+`Ή+R|<1JܫL1\l],*8XƸO~bAO[F'ȈI+WBs@G8N6KC NvJAhYudylWo@KU6 ӣWU-0ѫ,=,NکcZMug`I`k C7n]-oM@]O"x;kCcu!{i|BGU Jؾp}hΠIn-=Ŭ+?<.xoDz8Q^%>&ZoKu#᪓Yyw%Aۆ˦WQ]$ MىY/ n^E_EŦ wcV63XU D9xݫ{LnȔD0[U"N./L& ;\*Cq.z`8zr~ U~i?%;O iNێ֌x~achûo{/}jxSֵ%$5YTlG^1|sٓ3JqgFWueHLa=UM=u0giNM̴Ke2&6+L R\'[ZbCMsU·FqF9~q$-h5}u}K89Oho`PwYVEgS?w[BOm!Q>Wb`WAײs$`+}mW|o/RNqow-9fqeX. _@sVunO10 U≍NXyޫRe=o&|^f&y*XXzV}ecK`裒~&gSsdY5զioσLr"tjGGe2؀GVwpJ+%u9qu{ u = $ AѪ]I;|>RG_^-zqKj K5zCN;/2.‹.UZcM \2"WV%c[E\1FĤ.l" H_#x4jԟș yDU77Q!E׃DzOs.HU#ƍۨ=74f.w2iz(yu% +qpG;R' Wf碯 bS !nKQFmJ0O:zB?~{ME UniarЋWZEqL: US@l|%`4, S]Xq ~>r,`gdYiY/ F'Q1 tazr1J#f1 7nxelRWwRF%qwl- Xĭ9yK{vҌ.inѩ~tX{NZDPK o?< ۆ -^W5K~ܩ|1'Ĵ" (W/qrG9s7uħ fm; J @tQPX`LT;S囥7@"cgfżcS0CѕO!>vW~WrKIߪh? |R걸#.{nf&x G|hVC\svڏh]j.rmgC|`/,Q!uEfS*PҐ'{a'Nu_o/]WHZ4SоZj"%TKҴFHR̉sGf`ޭR7T/sQ("p7 R!?a<+1xx$}ت$&?сlҝA^(>ݸ Iv0\ +I3J<焑JGp=r!x2<)OX4wVOn B- ~uG;3ӏsp/cQviw+щ}4S/9ݢZZMoB &R=dNNHu6T=Ew)8ld#ؠ2^v8[nJ[ܤ=鵿qAK&1DXE cW={o $qm;Ynd4i& F4{@bo6x;<c$U*Q1j(["6jw4)T=<:,%td̨sޏ }AV^SbATBalm-Z*UpʥϪBX~Qý/roGo@o47b5TWbEL6.\^!A%WA1s^D߼CցS1OB,,˔$}2^,ljԂH:SBbC BP.B\(%qvo+nSMUZUg UE8Ҭ3R!(}Gx9z\Oo_V)C Ybi62-^ FmY-&i6oQM+&xyQBnXe^_R)<ӹ07F9]pR&PY̨+PpGgb;='c PL;: H,JO!O6wP<Š`4W"՗7~uԤ \蓵k-iQfTF#"Xq&/L8;5=Q0Qޣca xbZWm/s^~}[;TƷtt;g6pjjPָsR\:}̨ll=%N|ݫ3\UP!cE7LȎ@g],Z (e/ Q0! `@.)ޏl}n| ?xiOq];۹tYBfx|&u 7m>j@ED y Q@E+9a6Pc䤞G8m])|мV*8+@ Falc%9"+4Q%@uwɠ ڕi>Ci`YfP jjі&qWD#F3 '$ *xr *z89A]#8 Xf T7Mp>2;>0)N\4ȅ8<-q.eEsJoWawF݋{ZϷ!/ jB{c0ހ&qfkδ:/5s8CSS7t$,J@5(1JI/|_,i ,`r75CB?aȀs4Y|#0n_)wpmu5.iXaXO;{R$S,QhzpXwH{H^6ӓ 2v:υGrSw /HP$ 2T㣘a;+iuIag oƉ8+H>},| ~62mBph݁/V٦)e4{RY6LSf=T3E2mY=Zj)U+9xG~w2oQwkΌ.g=Q>˓8f3ikAUG4ر(ؽ/(wEʇӜH: ݶAWkՏKH` _j{{ٞRy8%"ݭ3X0nŊlfn/2Ԟdԛ<1?g?`Hz890-K@,Bs!9fEdҹƋ~Iq3xYTw>y}mǮǕ`WYL? U@>(Eh* j1^|?+#˘ď [g6cE‰;%::)>W=#6/Z9 (l+(\*6zS]wXr-bs t̸( kP~ my@ .KZX;Rzn@޽^ r?Eiq6}k*F1g#/ dh5POR<,|*^oPRB`Vaĕ&UPY?utfzM"Cج?p` xjy~Tau`ϼgp&{hN0+,ĚP{BdVG6wN:bUƆ~!P>(d:CQߟ-rg Edzt1d,%.;搜wܳ1m=6zfQ8P;|ef||R813Ю%]<5{|%˲!e1z ==;>2|n!.Cfx-k /iaRՈooi:oA04i6Yl=SIH27犙rgU!̈g4(-tޜtAS|ά,?78yFnaα_KX2m, @SlV.%jI[+G[`Zk P"&{e ŒA$vК-_WF 5wT%fZ&J}hR@Zn&Xـ!TNQG>';H@+;Ri(IDzwסDZbc# E &^XMTUR Cyt'SXK}k@i;Q"(tocN-0AYБ[zX9OΈh־@s).fڌKkIT  뿉Z 4( fk,1:]T#sʻtŨØt=l)%Uz