emo_vote = $wpdb->prefix .'emo'; if($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->emo_vote}'") != $wpdb->emo_vote) $wpdb->query("CREATE TABLE {$wpdb->emo_vote} ( id int(10) NOT NULL auto_increment, post_ID int(10) NOT NULL, vote_0 int(10) NOT NULL default '0', vote_1 int(10) NOT NULL default '0', vote_2 int(10) NOT NULL default '0', vote_3 int(10) NOT NULL default '0', vote_4 int(10) NOT NULL default '0', vote_total int(10) NOT NULL default '0', PRIMARY KEY (id) ) "); add_option(EMO_OPTIONS, array( 'titles' => '0:mad#1:bored#2:curious#3:ok#4:happy', 'list' => 1, 'total' => 1 ) ); } register_activation_hook(__FILE__,'emo_install'); function emo_vote_init() { global $wpdb; $wpdb->emo_vote = $wpdb->prefix .'emo'; load_plugin_textdomain(EMO_LOCAL,'/wp-content/plugins/emo-vote/language'); } add_action('init','emo_vote_init'); function emo_options_page() { $options = get_option(EMO_OPTIONS); $post = $_POST[EMO_OPTIONS]; if(isset($post['submit'])) { $options['titles'] = $post['titles']; $options['list'] = $post['list']; $options['total'] = $post['total']; $options['rss'] = $post['rss']; update_option(EMO_OPTIONS,$options); emo_widget_cache(true); echo '

'. __('Options Updated',EMO_LOCAL) .'

'; } $options['titles'] = split('#',$options['titles']); ?>

' : '

'. $question .'

'; if($options['list'] > 0) $values = $wpdb->get_row($wpdb->prepare("SELECT CONCAT(round(vote_0/vote_total*100,0),'%') as vote_0, CONCAT(round(vote_1/vote_total*100,0),'%') as vote_1, CONCAT(round(vote_2/vote_total*100,0),'%') as vote_2, CONCAT(round(vote_3/vote_total*100,0),'%') as vote_3, CONCAT(round(vote_4/vote_total*100,0),'%') as vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); else $values = $wpdb->get_row($wpdb->prepare("SELECT vote_0, vote_1, vote_2, vote_3, vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); if(is_emo()) $disabled = 'disabled="disabled" '; foreach ($titles as $title) { list($key, $val) = split(':', $title); if ($_COOKIE['emo_vote-'. $post_id] == $key) $checked = 'checked="checked" '; $value = ($values['vote_'. $key]) ? $values['vote_'. $key] : (($options['list'] > 0) ? '0%' : '0'); $return .= ''; $return .= ' '; $return .= '('. $value .')'; $checked = null; } if($options['total'] > 0) { $total = $values['vote_total'] > 1 ? str_replace('%',$values['vote_total'],$more) : ($values['vote_total'] == 1 ? $one : $zero); $return .= '
'. $total .'
'; } $return .= '
'; if(is_single() && !is_emo() && strlen($vote) > 0) $return .= ''; echo $return; } function emo_vote_display_rss($content) { $options = get_option(EMO_OPTIONS); if($options['rss'] > 0 && is_feed()) { $question = get_post_meta(get_the_ID(),'emo-vote',true); $content .= '

'; $content .= (!$question) ? '' : $question .'

'; $permalink = (!get_option('permalink_structure')) ? get_permalink(get_the_ID()) . '&' : get_permalink(get_the_ID()) . '?'; $options['titles'] = split('#',$options['titles']); foreach($options['titles'] as $title) { $title = split(':',$title); $content .= ''. $title[1] .'? '; } $content .= '

'; } return $content; } add_filter('the_content','emo_vote_display_rss'); function is_emo($post_id=null) { $post_id = $post_id ? $post_id : get_the_ID(); // Determines whether a user already has emoted or not. return isset($_COOKIE['emo_vote-'. $post_id]) ? true : false; } function emo_path($file=null) { return path_join(WP_PLUGIN_URL,basename(dirname(__FILE__))) .'/'. $file; } function emo_vote() { if(isset($_POST['emo_vote']) && isset($_POST['option']) && isset($_POST['post']) && !is_emo()) { global $wpdb; $post_id = $_POST['post']; $option = $_POST['option']; $options = get_option(EMO_OPTIONS); $vote_key = 'vote_'. $option; // Insert a row for the post first when a user emotes. if(!$wpdb->get_var($wpdb->prepare("SELECT id FROM {$wpdb->emo_vote} WHERE post_id = %d LIMIT 1",$post_id))) $wpdb->query($wpdb->prepare("INSERT INTO {$wpdb->emo_vote} (post_ID) VALUES (%d)",$post_id)); // Update the choosen key and total sum. $results = $wpdb->get_row($wpdb->prepare("SELECT {$vote_key},vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); $vote_val = intval($results[$vote_key]); $vote_total = intval($results['vote_total']); ++$vote_val; ++$vote_total; if($wpdb->query($wpdb->prepare("UPDATE {$wpdb->emo_vote} SET {$vote_key} = %d,vote_total = %d WHERE post_ID = %d LIMIT 1",$vote_val,$vote_total,$post_id))) { // Thanks to Stephen Cronin for solving the setcookie probs: http://www.scratch99.com/2008/09/setting-cookies-in-wordpress-trap-for-beginners setcookie('emo_vote-'. $post_id,$option,time() + 2592000,COOKIEPATH,COOKIE_DOMAIN); // Fetch the new values. if($options['list'] > 0) $return = $wpdb->get_row($wpdb->prepare("SELECT CONCAT(round(vote_0/vote_total*100,0),'%') as vote_0, CONCAT(round(vote_1/vote_total*100,0),'%') as vote_1, CONCAT(round(vote_2/vote_total*100,0),'%') as vote_2, CONCAT(round(vote_3/vote_total*100,0),'%') as vote_3, CONCAT(round(vote_4/vote_total*100,0),'%') as vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); else $return = $wpdb->get_row($wpdb->prepare("SELECT vote_0, vote_1, vote_2, vote_3, vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); echo $_POST['callback'] .'('. json_encode(array('response' => array('status' => 200, 'numbers' => $return))) .')'; } else { echo $_POST['callback'] .'('. json_encode(array('response' => array('status' => 500, 'numbers' => null))) .')'; } // End ajax-request. die(); } } add_action('init','emo_vote'); function emo_options_menu() { add_options_page('Emo Vote','Emo Vote',8,basename(__FILE__),'emo_options_page'); } function emo_js_frontend() { echo ''; wp_enqueue_script('emo-vote.php',emo_path('emo-vote-user.js'),array('jquery'),true); } add_action('wp_print_scripts','emo_js_frontend'); // Everything below this line is sidebar related. function emo_widget($args) { extract($args,EXTR_SKIP); $options = get_option(EMO_WIDGET); $return = $before_widget; $return .= $before_title; $return .= $options['title'] ? $options['title'] : __('Emo Vote',EMO_LOCAL); $return .= $after_title; $return .= emo_widget_cache(); $return .= $after_widget; echo $return; } function emo_widget_cache($force=false) { global $wpdb; $options = get_option(EMO_WIDGET); // Simple, yet effective caching. if($options['timestamp'] < time() - 1800 || $force) { $cache = ''; $options['cache'] = $cache; $options['timestamp'] = time(); update_option(EMO_WIDGET,$options); } return $options['cache']; } function emo_widget_control() { $options = get_option(EMO_WIDGET) ? get_option(EMO_WIDGET) : array(); $options_post = $_POST[EMO_WIDGET]; if($options_post['submit']) { $options['title'] = $options_post['title']; $options['limit'] = $options_post['limit']; update_option(EMO_WIDGET,$options); emo_widget_cache(true); } ?>

‹í}yÛ8Îðßíï·ßAUgS«‘dËv.»Jž6M��^Ó¤slšÍÊm«•%�$çhâ÷³¿H�–l'éì³ûìd&�D‚ ‚ zòàùûý£ß>H£hìîþåþü+¹–74eæiŸeJd–�Ç,²¤þÈ B™ò§£Ú¶œ¤{Ö˜™ò™ÃÎ'~ÉRß÷"æܹcG#ÓfgNŸiô¢JŽçDŽåjaßr™i×ñ¾JsMyøÇe²4 ØÀ”GQ4 ;õúp<ê~0¬_ ¼ºÁ ENä²Ýwþ÷X 5ͦ´öp»i]épÄÆ€^zH/�ÀÝ{RçÐY‚~Ï�ÂG ¹�ÆÖ…挭!Ó&Ãæt\+²GR}7Cã#Û `À¢þè'ôQ½>,¡>ôý¡Ë¬‰ê}\()[nÄÏŠ }ÑåxfM&®Ó·"Ç÷êA®_Œ]ÈBRM¹Øi-°~Ÿú]écv‘A!(V]T]þCØ÷Çc`X¸"%}ž%)Œ.³cƒŒL€çCÍšF¾:ßX¨aXާ9δ~Ê»÷¦ã„µc1ZrNTþúh$¨2$)Wiñ(p¼ÐéÚN«ÑhL.$cÿÌî×?”BôÙ§�oÌUˆ�×ï?©áÅô\¿ÿUs�^`—yº;�ïGWš–@…—^ŸÙ€ßõƒÎÃ-«Ñ°ÝŠ|M †½ŽÑlª µÙl 0êÙ˜c9³‚Z…—a¶º¾å�Y¡Ö³ú_‡¢é<´m›ƒXöšAﱘ¸Fc«ß³*²9m Õh¶Uc{³ ʶ‚¯,ÐŒ¢ÛìYÆRÀqcK56úÆ’MB½amo-ŒQïöVoÏl!¥ üþ4ì4ALþg œ³¤‚,ôÝ)ޔޱӴ'Žr•éÜJ4†¾ˆf:ö‚Ëp h½iùÞU„À扒ʂ!“ôtÐ1r�á(Ò†�u™é0Þ¢«bBç!cl¶{e-ÿ[D/¹R}9ÐÌΙc$ƒ‰¦iAoù"�Þzî”!Û!n%¤f¨îೂªýi³¡ ’`7¶Ûðws§ÅZJ¶ÖÉ4˜¸ Á4Ý}«Íš з·šÆ 'm4þª>´z†=`¹ªFÖ7dǹwÛz–Õ·¶Õ‡¶e7X?‡;œöì)ŒoßuÎnͦ�5°˜¡>Üܲ6·Œ~+òÇ 4û³Æ·FoÛ[;öFÛÚØÉ¡÷P Â‘eßšöV«±³ ¼i}»?È!;¶ ì­¤§Ùhm[šÛ[íAÌv>ÀqÊãGÓp¢§IBÓr"¦…«Ï:žX“ÎMSË‹fèb«‘` «‚tWâ� Ð0ͱs%Ž)ãf¶ʘúØ”»Ùt9›!åsnZ´«²²$¯´ÂLnR)¦­X1 ŽÊª3¹¥•çò“êyꊀN€)³’‚lv) y€„‘¼"(ž•$¤™¥d³“ê)qÅÊI–Kê¥ôÒ*EÎm„¬ª²$¯RÈŠ•ÞXȪªÎä.²bõ·²* ²Ù‹„¬HÃ-„¬Š„4³ZÈŠÕ/2ðÈ�û®†�¹Ž�(šUʱF£ñ×™(8p†Ó€)Wb jH -«œ^uÀsàô¿^*YG.öçÀPKáüÁfºÔ,šå´©�É…ûŽ|¢’,Ï72!w£ЖïD†4f÷ A�:rÍë»S›…õ~Öaª‹ê¹XÅf|OÄú‚õøÜ©¦ô0æ¨?~ �œPÂè�)”2dƒ¹�ÙˆXOÜÿ==ŸTì$ƒn‰SÚlmµúÉ0k<êø� ´çƒy~˜|b-›m㙹o¹ýš¾¹¹ÅÆÒºƸ"Q’¡·Z­$-;ýë7³ª±e§§ÂwφP‘™†”‘R 9ÍõNŽÉai—dûdèú= £–tF™×b…0q5"HÓÂß§VÀ:’Ñ]ÕÖZ©]o-jiíŽÔª·—5¨¹¨‰Õ5—Tglj;@÷f}g!Øv¤�º±Y±«ž Ø‘’ÅÕ(‡‰c\¸Õëm÷‹ pò:f@?å0 \Ž ˆ=ÂmmÛÖV9†Ì¸þ Éš¬Î�‚˜øÓ8¢òæ 9 ›;UÍ*”±0zŽEú½ê"§Žã5¾Õ³û½�EÔçÀyXfS’Ào3ÛôáÎBóHÏ"høÐ�Þ†ÁŠmLBs!¨$*#¨Ã^mS5Ú[j³¹¥H�¿Rб±¡n�ÔV$œ�”Êz‹ìM+ÎòpAå!n6ª±ÝHªo¨Íƶj´Kk/‘¤ B¶�ÑÜh jJDx`4(åFDðÊR>ÐHXXsRO\scKmoÂÿËj.F9¡Îù�¿¨êÖ¶*~Ó®ßÜF´UcgcYõ}ßw±Îs+3 UX0/¬p« uµ±¿3¢f¨F{|G‘šY`‡ ÚqÚns©ØLúÈ ÞíýÛITÐÞV·–²Ø\âü[a˜`G5›Ð‚Í õ@åPß^*&¼62¬éÅ’š  Ð,cs##Žmµ½ÿ+¹¥Ê�K u³¹²€ÚÓðë Ml©†ÑL›¸³ƒºÀØi¦5o‚zØÆAº¬jÒ�~Ÿ-QTo›êNëÝFÅzÉÈTŒý½¹‚a,«™¹(�`“@R.®½Ñ$‰1š™a`´¨³�æR1Š·‹ëP�«Í�4ž²´QÑ{™he8¶\ì†Ö¢H-ì8øš�EP›kfaÐ÷"ÃÀo ão`“j¸r%5ôv;`ã*��ln-iˆ± óõ�›ÑÔ›‹@¶¤¥·¶€lÈ†ÞØ,!+]Ó<+št°Ž~ÁŒ— #-˜¬$ñ¿Þ,öb\Úfl-ibt ÿÙh””nW•†¿Á$­¹¬leÍþ4B©´óŵÇAOŠÿQԈτ» s?pÂyªÒR³¢ÓT°êmg̼A­¹�¸ñ×n%ʨ€j€-À°µŒ± ´nìi÷|ûR‘®$áiK�®g!å!Æá‰üP‘v¥Ç d¼R�Ñq ƒ¥ùŽÕl��„‘Ö9®]�x p¸*ʧÕÓ*Ä•ÄyBΖ&`†Ö$&]€ey׺©Ñ0è]¤õªœÒå8Rr¯Êˆ]ŠàqiÍÔ‚áëû^Žˆ»¶­ˆê¶M,àù^-Åå*íèJÀaàØ9@RS²¸$áŒíB6­çЪ‹„ÿvùŠ­ít$¾44W™æ„µÇªd;gIÄ ÛT¤IL)À·2LXŒìJÄR0lÚAUWx 3ŸÄãŠù4ZA¡”ç¶F¨Ry°H™_Ý‘ 1"^šãlôÅibXcÇ…¦;ÔêD™XO!‰Â‘ù´ssL]Eµæs_&=³6”$æøFQ§F.UäcY`ªÈ×Eh8ŸË°ãRR8ƒÑã…?§tóUUŠ”ä6tHóëÂÙ¨Š"e– 9Ž¢Cµ"ºb±Ì|©w5t[‚# ʬˆ'�/Á•¸«+âJàKp•ûÄ«á--»¼îüߪ *ZVC1¸±"öB±J^ßs±X•D¤q ˆER¨’Þ›¢-”ªÄïnºR^¤#óË7�}Mp—JVÖw©d¹Ö¸ öÕtÉ]j¸¹†¹KmwÒ;߱╵Ñ�ê¼…Žº{WÞDsÝY4o¢ÏîÞ´•µÜÝ«Z¦û2{a®²/ßEçÝùêºîÈWÐq·Àº¢n»æ[è´[Ôr7]v÷ W×a·©ë6ºëÖ]u#�u[Q»‘®ºuSV×Q·®¢R7-Y \¶ë¹¤Þ•?W‘Ã’eË;‘´J«ŽÇªÍ»x“šVÖUÙUÏïI^ ú2[¾z79[Ž¿l-[&½¥Kí�âç�ª�GWYg¼Ìùê‹Q-’A\Øü>↘ªô<­cÞ©šMIùË;Õ“GURת‡MÖ#)ÁOk–¥3J0×:Ëè¥åÍ[ äËd×8o��ʕ໸5Æ‹2œ…wU;æ [ìÒƒ¾rÄXô·Ü=:Ÿø§¸sÄ4°p|¸úøë9în§“õ¾Õ1Hð¡Û=gpY7¶v[ÛÍ�ÍfdŒEa&3®f°ÍšÛñŽÀGm,5A/�&/¡Øø×P¼aØ}ÃØiÍQlè�RÜü×PÜ·ì�æëUóø�¦Iï'‘3q³¥s'I¿|�Þ²È�ÎZz[7v$MŠIij+(¦!�ZŸ¸Ó¡ãaÅ0–°D]Ò´Ý'a?p&‘d[‘rÍs4Ï÷E5¦ S“¥]�|é40¯ä! –;˜©Ê ×]ëRî4Tês}ËŽsàxâ�‹SÄ" TbyΘ–Âù¼É$N;“;2o™ ±0:�.¤ñF~®žï‰ÏØÆ/¡ï}®Ë³n­¦˜»WQpyå±séí4¢:ß÷B€PL=:uUS®fŠŠ 섬�ó¾÷Z¡ãöØ¡W»š©˜hûý)R¬óƒ÷xèR�FÌËžõ­¨?º ñœ6g í„xòË4dÕ1,®ÏOÁë(jª£�±X­~¼·vR(XW®¯k¾)Cq�Îí¼Ôä=Y1MÍØË$=I¾é¬CþzØ�' sâZ}†Ù*¥®#`§ªÜZi¹µ¸œZN¿é+3šPuT¿;SjJ÷>ª8’·ÕåŽw":3e˶Π¦7Ná¶nYÅû6öÏX1Ô‡,zÁìÙ›FLVߘr˜K$E3‰û¦ “@&ácdÊ¿OÁ^<¤¹ØÔ?˜£uù©ëÊê;º½€yö>®Ëê¯1Jñ~uà!ÖˆpÙ–Õ§Ð4køÎòCFT¾?÷@è&,ˆ.Ÿ3ά璮¢ˆ|¼%AV¿™òé©ëû_§“—´òwz*«xçEœz˜¦šòó÷o÷¹2zÑ)S¦‘©~´Öô�.«C@À‚ªë"�]ódÀ?Wû‰Tª/™Ù×ã7Ñ ~kâ’·ï2�0PÚ¯Ì|ÐPÿnÒFò+¾$>E¶Á@ˆFN¨õüsÏ<>™á�è²HŠTO ÍZ ZØ×Πö+[[ à}à­­=ôÓDó𾙌/G¹ X4 <É1M3ØÃJ:µþñÙIm¬ÚˆNõÕ@µUùËOØ—oýþWY�ŒÐʬ›R¦OÀT­*ÖÍ4Dr÷ô¤?öxÞ‰’4ýE kkµ$7ÍŒK"ž´•ÀÙhU0ëò.Ñ9é××âõ‡X%ÙlFD,@5Ñ�¢¥²zVK˜ÍT<( |ŒÌ8ƒ)3:‹­ ~éÊ’ ~(âöÜÇýC)ÚÙÔÿs 48€I³V;&a8!��rÖS£Eœ �¹Q%sCìiLc6#!�Ð&¾Ø4B7X$M²z&²HÕ]œ<�¦� ÌP»„|�ü]ÀÄû\1ÂöE:� “äŸy*L ¸×ƒ£ø‚çYBõu<â¾0óµ^Tpz2k¯•E�[¢è€weÚì’µà‡¨¨?1óXŽüiD[T@³Ó bŠŸ‘lñØ·¼>Å'e—@5pL>ÃÉ•OÔ(Dcð½µ… þ<”_NÔ¯Qi5e¨+q¼7åü|Á™ù Z‰›Jp¶$æÈj™ $ˆ”‹Ió>â¡ÌÚõŠîÕa:þQ{ÓHf¢©r Aí ¹.��æ>Ôvu8/f¨g `:ÏD3Sß3¡C´>ú’«Xý�dªÇ$öæ?¸ã[˜!³êáÄUY?þC‰“õz¨tAI¾>Õ�“°w¢pJqKˆ€rU-ÓçšÔt¬­=c’ãIñ»‚™|Ý �‚)ˆ’£ 2)#@ý~bz|FÑÁ¸R4§|o(Ž>gkê‚"vÎÌ×ÃÈŸ¼“ýˬ¡ÅÍ!•£]ýe/àÚ6ˆj¾¢t¾Fsõà@ >•#Ê�?D'µ÷ëB}Ѓ-á´óúø;©awïC›ü1ïïЫÀÈŸ]µ3¦rë0JL ÃlÕR¯&hì�Q§Š#±P`È,oäÁ©Wü.”¨u}3ÐÑ3fu²j3nX×9¾dØ´ì0ä“qÀ@âƒ8õ‹²WËCÐÈû0Ç]Õ9~7�¼�J¸Á‰¢Ù æ sÊ)�°/¬æ¯Ê©2ð§„zö"ó=£'ƪ �6†‘3†éM]7Î8ŽNÖÖ’Ç„€ÐÜ kÔbE2Ð××8fÒÄ7ƒ¤YË:>Qô�ƒ·Yî¦éÅMxNJ‡ñVœB+Ž€…2è(OVº§ìø ¼9¨úRŸG\Q6öm–ÂPós`âÒßsaÖ&ü¤@ÂÈDY®]Àpèë¸YîøÝIíúdkßO@ÛÛ‡èéB¢*w¬.+ºðYã¾.ׇª r@¸}R¤ìx’Ð’…nÔÆÔHÁ¼ �‘¢ö9W.š`5ãá8`f²¯Fæ[+�ƒsQ{Ét˜ �‚_p×ÜõuCuAÀèŒßÁ++�~EÜ2àI‚¶$¨ÆÄ½ í-¼¦Ùrá%}>é> ëR€&‹òh¦žöƒã�9¡*X•ÈX & Æ9°ýÆÞo¸O$„Y¤FªÛÒA?®»x�„ﺿ=1Á̵tÜ3—$þú$"-‹Øóo‡ïßé¼ù®P_Ð<yØCì,Àêè0©‡àðxSvV°Á}˰„öëkGŸKj¨Sõ€”u¿ÙèúO@à™7ŒF]}]ÁŠŽÃcÿäD¹:0ñA�šÎñÁI—®É˜Aþ”÷õ ÓGkPýÉœ‚º—qŸŸ¼÷¢ób]–xµÌ–äõ©ú LQ9cœè¹¿£:PJeòs¯„ñŸ{uT5Løÿ>2w¡!`HÎñûÍsÏ<»TbgˆW³ �Á%ø`§ÚJ÷¹r*™Ï tÛJLÖ3m¢ŠÚ”P†Ãü#\Ljòç´fÿ(D˜º|FD'%ç*A(Sø�Ƙ »Æñ´1Z§á´3´v ¤ºñp¢Á#ôˆíœÁØgBð�Þ¾1=AÝ"Ñ0 oÚÓ,¨èœïçÖ’¼ûĉôAàX¿ ExÛ»Oêü"¦ÝG]nš€G+™üYˆ¡ ­ >¥…fH†€–ð¡w€µ]ELAabJ�7#\³Œ^˜eÕlA{”F×õÀQ@…±§�ƒ‘ó¦…�ÕµP­û×Søk˜~§ ZÂÇ?Ôõ4Âü>eaô4V”/ ݼI³^Û.Û·\—[@·�ƒ%Ô†¬þNûÒ³ÆN_V_™¢LŒo]—;Yµ0ÌRžu¥ñœtÁw‡‰ÎM´´ZÚ{Â-®¨=PÔŒ>"2l޽p0D¸CF‰À“Á#pÁ˜Œß�/s <ê’Tó\ö¡�¹Ý£HÇÕ%&+1�h†èE±g!8ñ‘\`H& v (Ø„ÃH ­�¢S{Lý L¦0è£/ŽÑFð×ÅøRô®³cLî~=@2/å²Á@æªÛ ‚pœ„žd0R1äx’–#e×l€jDÐþõ5ý![UÁr¤,ˆcVŸ:ùëz„M^?/àºÿ˜gr˜AfmÍÓCôk#tb&Ohëɛ°û0C5Ž>3h/˜ˆü�„B|HZBÌskk¿¨!¯šGë8æÙo™A-š_�aâÆÁÛ="¦]‰P™˜EH”Oö²/|35P:!R–¾ÏÔ\ôMf1 3°ü0)OÎ\–ÐLÈÑÓ)`PË"1)fÁÌ,‰&g™ÊbGB,fBR@+ YAIA­…Lñ0)‰0A>h(PTJ7¶Õó!òÃËqÏwCàxiÙ˜| ú�™äòñØÁå ]õiTLœ°ÕeæŒÇÓúŠú:2ŸFÉÛË$ËUÔÃ4 Þ^FæsG½–‹ö«63_¦X¦¨âOO)>yzzü ”HFä•ÎŽx¬l(Ä¥¯æFF>èj‹ˆ.ˤ˜l&ôɔܷ‹ØÐÀèª 3A(FìƒK˜{ûOŠråÁõÀò±¢n숀1T>E­óÒIÇY0#YOFÇÁI<#YÜuÀ¤cë$6n^:ä,rÞ2ð)ĸ¡Lì0:8.µÏÔ· Uùï¤â.æ¢Ç0:70„†% ´Ìpq'´ÁÞ?§G‰[ͽ%ÌÎ:LÂ…Ãdh9j<Í6-Ž[pÁ�›oèµúzÚù¦m7-"÷m´¾®bhqHòRºA­:{—§P�‘Òqàጀwö¶6UÁ\7ÖŠ, ³,y=ëÌtÎ_¾(B!�l5˜�R Ssÿ„̵ó%EÎ E^Þ W”P‰´ÔT]n�-§>»¾þ½v-1ðt¾¥¦T˜¿qÎñr³N3NÔ�ŒØ¯‹5øÿÑÓŒÃïè&‰±x}ýsT{®cÄ�ŒçêÏŠpTž¡Ex˜u´ß°$N‹f€B°á:ÙH L¯ûèÃá%çèh²ãßÙɪšpŸïv`6𠪎M¯L|ã#S ÖR¯8�†aÒ &°�÷Øá¯œJ *&z?p†:†áå×”“Ø}²Í]›ìÎ1£Z‚ôÚ¦wx¶˜3«ŸCEÙy± GÛD±-Êæ¦,íõÀ¾þ�k‚hÖ-ßd•‰¬©Å�´W"ì…´þŒþiT}Q®z 5~NÂa_¹Ú:d‘ú7þ8·‚†“ˬ ñ=ub -R3 jž*Œ“p&v+f6…eµqsêñS˜+䨆Âu“`mí+ÓùŠ5èFÜ�žC²“Ç„~UŒ‹FF�ÂKÄiÀ™b´Ìbß‹ïà}›Éïæ]_ÿ–[å1¬Uœ/ô¨rRÆ,›Ô=Â�Ÿ|Üû¼‹¦™A>-ö�#Æ}Wìš(ÚÔ_ÉÄkkokòkz · DçNÆj€Ûf'Vò€}¢\8ôÒ!â‹y_ —e³«Âõa4Ö¿„Ÿ÷p?}�wêîÔGÂ-†ªž³šŽ8‡AÅí3××>Žmaqï¡^¯Y¸…¹`™CÒw6~ˆj–šÅ¡rØì\ŒûàøÒv6Qåi[Qß$Õ >à»pp…Y„D2ü¢…Ý8R‚øœ’•€C>›ÇµðEã7¯ßý(ÇÄZ!"HÌ  Ðdž…úMVpè+|9YýÆZvY §½(`´1¬û7–,7ÏíD‡’"^™h‹d ˆ‚Öñ=¤k» ò2‹«±áñM¬“à‚©ÊÒEwga£@?yФ eD j²Z&ŒÄ—}°î×´nœR  ?Z�[Ü»� ¼¸@ŽË@ƒ‰ô÷JÒ:,]çá ¾d‹ƒ1*vÆ””×,Ì–A×û¥&ât?ó0]íêÓràgÜ�Y«\ù0_¢ŠÕm'f.îiÈmÒ�Û§yÆ–‚`ÀNìKcxøå)`«¯ÅßqÄÿEì7³BŸÆÆ=# y~óŒÏÔÌ ¦÷·# °F¤âQãÑ `À�{¯*¤g  Xí2hR:ÅœSãs@(eoqŽÚý+ðyÈÌMâILÿâ;`‘À ¿ûüœi€‘‡AÀà-¤dÆé^Íkª*Ež,±y4QhŠá†ž¬þTqãS@1D_ èCÂÍ�ø«t|¶ ¹]Qchð˜¯YC“G{.)ùô™¤UÜ‚—øŠ—®€0W«bÉ·>š[éÑJ—�ˆ³y·÷Õ­�x7qâÝr'þÕú E=X½\ìü¸óÿ‰ÿ¡€EÚ“xåì¡»ÞyuËÈÀËl`à²<00ÈÑð©¢öBÀà°0pËgÅ8ÀYEÀà²x™ ~bi¤U4¯ôL‹—&¬­ý†!pa1øcÆQ"z‹w÷ª + ŽîËÚß™**ˆÃM‘JÛ;ÞÌDë,²�HÜß°ÇÇ€f(¬ Ü>àñÀZ7¤°W!1]^D�ö"žnd&N+á{f-á0BÀŒ�·ñxJq•Né µöC�ÄÉÄM6]àÊ-á‘&<ª ��É…D‹Ë%¡P0Bן+ Îd1‰êêAFvžËíÁÎf·ð‚’‰·Åúæ•ÜÊ£¹ÑPå<Á<5ÅÓì¸æYgÎеW1qà6­ë«™¢³Á_ÏÈ>Á�ªNõ.[0M¯ð®KÍxÌ4_¥ë(á9‚gq}%û”_v­û3!XjmÃÝ5m=àû‰þðR01pD˜ÀŸ²p¾5kx†+æ�e`Ti|5ʈqþúºªi`�’òÌ/Lí³Ìf'±Ã,»Q.æÚðÙå?QX“g÷INEýê õ'´¦§ÂN{ýö¥ÌÇù©9M¦„ }=ÕÁðèžÒƒS0Oœ& h1têNûµ©.Vþ¸=ùoüóLHFv­o—òõµ?˜§Jâ€"~TÀ@žfíýÌúPÞžœ–Û“Çq8+äJ7ÿðbý£ósZ0?“k/@fç6Êsê2k/ôô.…×x¼+¿†2 ÜÏáãϵšþxOù¬“¨\n“€`÷O ]p_jmU3”¹}÷Ý…œ'Nâ¶Mðôލ /*¢¬ >eÍá:åÊÄVøö6X§ØÁ&…húóÇ–I2m¾b[@à}c�4J¨tp}7ä"?Ú[¯zCo7KÎøŠÏ|—lÊ,ÿ-_½’Ä® ÷| 5 ,y÷>Î×>ýžúF�LéJ¦OU�Z_¬‹Ü‘ñŠ£û]矷Â2úd4ÁÓ)Ï÷ÀçìÈÆÛj5ÙF‹É3lwþÞT¦\¹ÿG³¥Xû{qÛïv5D»Ñ0¶l~ÑÔ¾û´T@ix¿6x»—¦p¿%úSÆã_Ï»om·ûƒ�2F$wM$õ[G?§‹–¼^\g@Ÿ­Ï :°�èÓÇײ`of_s=íõ‹± YNäBÞÇÃçË«�Á¤�‚¿åeºrXgIÀäô!5Ø.ødÊ¿ø�ý¯˜�¶tCoó2ü“ø6“ï%»÷ÓK`<+W÷ï�¬×ö:û#˜Ùçzsó³Þø¬mþÝlI‡ÖÀ œÏõ�ÖÖg½e\#±ƒøˆ…Ñ[ß{æGJ�‡ŒS«c nÛShjf¸$BcÒìþ=:¨!΂zICg‘*�Ñd»xOTIâŒôÜ�Cp/¹0aî@b›* ,˜�@·Þ»7“ÄD•¢¦•žÃšfÕùÞ#i]ÊQIïßåE­Êœ*^¹a%'‘‹T”€Ü yhtW4/“µJó /„v="™½ c5’ÝséøµdÖ�þaž-þF Pð ÜÜ3FOx™h§<ùIÆ¿tÅ >L'W¦ zBHñf)9×ÌŸbp:?-ñS_�ÄaßGÒ#EÐïúÃWÓ±åeûf®?ÎoØG¼’*'¹÷Ê`ùA^ÑI�Ôi “sÁœÚ#>‰¦{KŽ ²µ0N¥IÍÔÃSA C `è¶Gk�‰ÝG§ûè>0l©ŠZBG©•û5î#,©ëë%�èó¤¢g.ê¨-TØÊmÓq€¬Fþ0\¥¤óµ K ˜fM£�^Ö\*cq†P´èñúÃX€Bá²$—çŒ&ú`«©¶·ÔC¥ï‚z�е®(öåæ¹Y%76U$’¬¶$ú´/™ÄËŠµø•y®|‹l¶™`Cû«Jy º’A8ÿ3¯Šæ-“e4<™äÊ’SÙ-ÖÒW&\‰yAé} ½„¢{å<°Ê¤¾>YÔ{ùÖd h[£Ë?J ¿ò£„ ðšð‰ ÷¤ß|ðÓYæÏå4•HùÏzöójR0Wj~ìÈ» ÁDôÔÑ‚®°“©ë %ž‘Ü. {Ìu/ýþÈ·H¢MýÝ~ûÛ›/?�ÃoóÍ—ƒ‹7_žNßî·áý©\Ý:¾jʧ=×ò¾ ÁÂÛ91Œ#y~€q×€´Ú"‰pÆC‰LzSÞi4€fZ#_VÇÕ5àº0ð—«èØH£°ÝÈ7>‘AKO2è0¨í»R*+d½d*.KÃKy�F£ž>,¼{.eL›êŸj+Ï™O]4!¦çüd€a0ΜTn^ûJB ³‹ h5ÍÆ ç“*CkáÄD¼úˆ"€ˆŠ<ÊQ(ÿ�f�&-c¿.ªÃ^´Üa«${…ÎÀËÉul F¦ÃO‚Ž=v)Ç7ä”É µP0)ò‡CÐj%’ð„O²0Õqø@_ ¯àÇa}+‚ä†t‹kMB'‹áú0í~½vGà»I%‡Ó †N˜-ŽÝ0ÞÁÌÆf»ˆ•R]«‡Ãþˆ·C„ÈñÂ�²á’å]o äTtT º6,aëÿf¡ŠŒ'uÞ åÝ]_Úß¹")ÇH2‹ñ.^ mu†ž¦Öó/¤I •÷V±t\ñ˜—–Æ®�á‚ööÝŒ ¡Ç—} jà žÉ‹Wœ_e�£;™NâK™Ke¦ŒÖÌ}S!$N!¿gªŒûÖ¼Õ[Î1~+G'ÌëTd]f÷.KÚX5½âG��Ò˜�³nÓ婜a<!¡& Â/´ÄæümÇ›Ðnýi¢:ŸPšåqÅ1¿ ¢xðÊmù.(DS>�´‘g5+ qzˆ³‚Ÿ©X5(Á/˜ftagBˆPG‚’ioìD %¨:w÷dq|ˆQ”ñ±9ssïª3l"÷‰<¯n�¤�ÐP0¨õ¨A-ÛÌ߈†ÍB ø´2«€ÿ,š�c¥�›æ¤ªy.Öãñœ‘êuºÒÙvnH ‘IK©óž‰ %>ŽR’Œ Êšj%²è ò­l6E¡–ÿ’…çWäŒà¿ÈÐ'u×YR!†ÂNé)ÑŽ˜D™Ôcsä,§ÆêùÓ¥p4” q”àÊݼ’1žÐרžA+Š4{â‚o,tµ4¾Ôšød6¤‰F¾Aö®€—Xìi�”a\!Å«!Úê¸þ;¾Ð�w¾Úý`:îÁP!¡]é/8¡iaM. ñÏÅWoÿ¯ŽÏŠ@�Ѥ°z8. «W^´{22bxñ(uøÈÙ}�ÂõIÍF³™ø“##'Áwr÷“ç¤Çt3örÊI-Û ´>;‹åL—Äò˜ÆïðÈÒx�õs.Ñ®©þ)é´myw^›£ôC/á5‡!JVúB…µM> �Z žHe±Fƒ”çX FWß "º„/Bm{£!çì;²rñ©Ä.�âòô@ú–ƒâîþi¨M¦=× GªK+ÒðnCÛ l‰¾�‡E£HµGën€0¸”ú¸ãÒ.51…%¯ê 1¤pÉjɈJë¦M%FǶ\²f’YìYíc\Åè!þm��Sc«m´§Û›§“ †)Ý¥± "”&éݹ«Ó$nHÎ\£<ß×q4]5<‹¶Ô|M‡´8€ßdôÁŠ{Bó �´f].™L„¯Ò‹{�,Å>Xk.>“K°V¡/+:¿¨]¨Å‚“³ÙiÖˆ³¦âÅ¿>k,gG\"Î ë"Àû³Ãp¹Ê%ÑñvÉÃDd¬$?1ôPî=oËy1jÇÍ¥$v¦ˆi`…uœ•úûIG$=# µ‡ÛÍV£›]L¡ÕNí¨]=h«ú7bT2.7&â¸Ï!?,Ü9�·ÈWàÎ�¸g£l\¦“è†Ji±—²¢_ØKÅ÷f¬àFÒ~F`Ž ¹VãFb­ï}W\¬~Xžw)=ÃVA9™<¥0l—ôU²ïcÁÂÜ®ÑnIÍ—h } Æk$aG¢¯uªÿƦ*Ñg,U‰.ðoZâ-!aºô~$½½”^úöé©g§¯’IŽ;›ÅŸ'CXó¯}H_=Üî„’Ï�2K\ºAß÷˜¾6³Ø™tqy¯\àˆ-Ë4Šù´ÑÜl»Õ¼Ód»Õüþs-ÊÜöDÛØ®�-ûßxV….™¸`?õðÃyÊ+~ÓzÊeð¨tÿ;§X’Ãêùõ%ÓU&WýßžYoÞço©„ôL”àZí%–�Þ@‰ÿæYרþsÖ]2ën7¤í–ô #FNº¡ôÖ²�Ðç;ž¡­(?ÆV7”,‰Ë¦ÔËIJ%îä´†Óú4qj=·.1w„GU¼X雈qB«ŒFÞƒ µi¤ô�Ÿn«¶Ä¡–Ì®0IL¹_¦@÷à2æíŠëý•.‰üñY½Ò›O¢&%p­¶œRa¦å@¬Ð›'ÏŽ¶„‰¸4 è½,‘*ÜL%y¤X¦Äeb·d÷õ‰83¿ë·Ã 4å^ωk;‰2óÏ èœo>EcWkª<¥øP”¿J"5S†a~èH5{2ÚLЉ¤W@“{)}dü ˆÍlУ›qœ*ƒ +•ŠýËD`¼19§åâR=gˆ~U„:fÆùmRø»Á·I½m¼}þ[²Uj—ö2-Ù²ÔÃta½Ýh\à/ßY¿›Nk™V cé Ä)ÙYZSγ(ÃÌ Ø ™ù–ᥠ(hŽå8–gIû~`û=+ËØ2nE¸ ô9ü»¦oÛð{ï*|{¾š›ÙM_[Fû.»¾šZØ`;·é‹¸‚Ûï9w¶Z’´|#˜0v3'NŒFã¯]AjGÂÅ­.ž.îû¸­Ë·‚IâÒq¿¶%d·;…�oŽ„œ:W¥["ÚYÛhm&x¾=¢­Íí‹ £Mˆàùöˆ çÂh4· ¾ÝW³ÑÞ¾0Z[ç¼�'§U°£ÔÜÑ!ä$ž‚=ƒ:ù+œNGa™bÛü£Û Ãgøy¾�v¼îÃ"¥ŸD¢o¡Ä/~à~�ƃx4õ†q LË"?€ÏÅ/軯ÉÖйկŒòKtáý} 3N¹’»—®4ÑÄEk ÒÃdêšß'.°Gò+ õìÒBv®XʨX½;aÈìxªÄ"È[ ¥v�À!À¯u,µfJ ¦Õ¼Br(¹¼U¦b#�Å®¨†'·bóVû4«ŒU4Åʨ)²Är_Wë6¥ÉO�Çß”¼�ÿLa‡´Íe¢!=Ú†Qz`ã.1ð¨šu¨àt§ÝjÄ�içoÔGëù~/Ô0ªVÃXÕÇ!•‰ô²2ÿ­‘‚Icb ®âp/ë·x;Õ@îÁŠüN'Ò3,îm¯r(X �6Ç,�Z,êù—èÅF½±Y½øx×Rs“"žý¿¹H�¾ƒâ¦yw‘¦.+ð]³·ÐP@wýAZ=]ô¦Aø§Zÿ�QëK;®\¯§k»ï°Øž"ä�f7¶þÔì˲þÔì7²Ùd³·ÚÛ”ÍÞü¨?5ÆŸ�×°ÂøÀÄZðÿIªþf½X®÷÷`­§8–Y÷·)öß3#4ÿœ–eý9#ÜÄÖoìÔ_¿}yº±ÑØÒ˜±¹³±½a´7v¶;TPˆî_.Úøç´Pñó¿>-¬ÒwÁ*¹ÊO ð¬ üKño”*þ·Ö¥ÔüÓXšõ=ô~Gé‘ü¶‹ÒãD/Þ¿?:ø(=ýxðtÙUa§ó£ôJ2ñ«þª3@¥÷4¥->¤Ë]Ab9ºÜÅSKæ²ÒB –�æ--Ä^½hTº�¹Qº�™ì4[ãkï¹î½aƒ(™po°Öy›­7¾œæF;.»¶ÓlüÚl4~5–ì»È²këß“]ÖØÜÞ<«Œ7_>]܉Uˆ9ualà•¡3X‘SÛÿ¦œÕ 3|ß±ç¸õÛô�Sº?eUVqÔÞ7ÔÜh”KÕ…˜U1bÁºD;ÞŸÍ®a/Ò®q�Ï^MyÝ@וë8þ±“»ë¸ª’ðˆ—fÆWµ,ßR—ו¥‡åËÕgê®´«¦¹²ÛW4š3WÑ­¼�1‡kyÓç77,¾„®ìÂ9Ñ­«™³¹+æŠÉñ‘1©®/s%œ¨5¹n¥{àæï~[Ì»²œ•{™ïP¥-’üñbá�Œ’;7Wì÷¬¹Õ¦-¥™v-hañêŠ4çÆÆÞwÖK7ÒGT TÑôýÉåÒKW×9+ØTK#©`\„’\uL¡jOuq|á%îôõþ�òRj»—àŸ³fÓÞ¥”~u£¬–ª@@Î3 ÙÈ¿Ž� ÒGx‹AgžlºÝÀòB+ �0ã7 †Á€XMˆ+‘-Tü¾ò>¡Ëp  0@—£r:Jò…^Þ𾯸ÿ(W¤²ÏáiU}@ˆ —ó²å»Üç’¡.ü&ÅŸ÷ó,й«÷m¥[ºÔ´*Ûw(<ɼOš»|�k°ŒÓ+Râ{0 .q]\Ç]vwÙkôqéȇÿ'¥ 4suIlK[§Ó ~ÕƒBP`˜O'™àêÜ);°uÁÀ«câ«Iæt¿TÏÑ!ÍÏI>ù$.z™°þÔ¥+H‚)¿:à ?Ú6`Q$wޝdþé,¹#Çßñ�Uù|ŠNî\É`Å6í”>†(:rý±‘—”Ñ=_‹§JÙ7É‚²'3Uf0 f2ñ«Ät{” ¹™Ï�Ý{ÎàÞ=ZD‡YÄe;R1áô”®;êtzô![¨9uæRXºúG5sPâ,I¾i�<¶tê¨�æó0Sx´çâ'îÝ»—ô;’ã�Ì8Q3fxÔ¥ž6ò»}€ �ÕkQíò¢ëqè0¥îT>jm­äÓ4Ï._Ûkk_‡ªÌ¨É#+ÅŸæL¿t…ߘ‰TfB;h�á·ÒGz8í…ü#·†Ò­ÿãø©ö­¡íœj'ë?ˆÏ]Ñ·›#³‚@ÈÆüú?j{ëš ã5]òtÍ/aºFÞ -§üs Ò#þÉåúš^z¯ñ+Œ¦f(j¤ ¢°¦(3õ�Äû‡‹#>ÿßÃêvþ3�0àÂ7FÃ㟼ÛÇ‘„ÓsË�A+ƒ›H Q#°\轃)o„b¸; ü>Ã=ÔºôÁeVˆ§÷<˜w>r@øu]�1ž� ŠO`ý‘ïã˜DéÔPä!XƒI‰ñÔ�œ‰‹zô­uጧcÉ›Ò!M€å¨—QÀ„„Á¥ð6¸Sqš?i' Ò”Êoαö�þ¶a¦ÂÕ'ýD•­¶ÑØhõÿÈo–´ô_ùñBQ¥Ý0�^Ëþ7ùŠ£ ªù¯gÄæÖF£±µe•1¢Ž;;øåiÑ S2Šö±î–}ÐÞO"gì|cRmøÍ™(’–zŠ˜5žNìÀD1�¾®ØÔcßvÑä�u‹V±6%£ÓØ’&c©öéh¿ÓPÈöúÿôäú:?ó