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Û6ÒðßÉï·ß�a»Ž“”(É—ÚoçØæjì´ÛÇñz)’˜P¤ÊÃGl¿Ÿý�€§HI¶Ó}w÷©[Ç$0 ƒÁÌààãÏß?;üíþ4‰¦îî_î?Æ¿’kycSfžöé@¦DfÙøwÊ"KN¬ d‘):|¡mËiºgM™)Ÿ:ìlæ‘, }/bÀ�9v41mvê ™F/ªäxNäX®-—™aqï«0×”g�?r\&K“€�LyE³°×lާ³±îãæùÈk¼PäD.Û}kÉÔnÛÒÚÛmÃèK6ÜÒû@zéîÞã&ÍSû0ð~>Li}8µÎ5gj�™6 ¶¥çZÁ˜=”š»9Ú^ˆ# '9•›Í` õ±ï�]fÍœPúÓRIÙr#xV�‹.fÀ0k6s�¡9¾× Âpý|êB’jÊå6Hk�õ{ì÷¥ŒÙeî„ø XusPMù!à™?�ÃÂ) ð}|c®B„ô¨yÿq“/7`àúïšë +¸(ÒÝ |?ºÔ´*¼ð†Ìü®ô~زZ-{Ô¯É×´`<èí¶ÚRÛíŽócÏÀË©4j0(¼ ³�Ð -ïÔ µ�5ü:MïÛ¶9ˆeO¡¹ôKˆkµ¶†«&›ÓÖR�vW5¶7ë l+øÊÍh!ºÍ�e,L·¶Tc³¥o,)Ñ&ÔÖöÖRÀõ`ïðüÀRPÚÈÆa¯ bò¦À9Kj HÀBß�q¤ôŒ�¶=s”Ë\çÖ¢1ô @t­c/¸ ‚6ˆ£È÷.‡q›g>H* ® ™¤O ƒNˆ‘ëŒ'‘6¬‹\‡ñ]–z?0Ææ0`»WFÐ1ð¿ETð’+ÕW­Àìœ:6@2˜e†ô–/ÒèmàÆ ñØq+%5Gu‡˜¤P èO›�U�»µÝ…¿›;ÖQòµÎâ`æ‚Lq8¹-úN—µ ïnµ�Ñ@ÚhýUýÁöˆªšXß�gÞmëYÖÐÚV°-»Å†Üa<°cß¾ëœÞšM#kd1CýasËÚÜ2 ø­ÈŸ‚ÒÌšÞ½moíXØ]kc§€ÞC� '–}kÚ;�ÖÎ&ð¦c íᨀ|êØ^"°·’žv«³ lioouG ÛùÇ),MÉž& Móü溞±9;ï×Mâ1ëuQ›‰Ç`Vd—éSÏ`SDvG5L[ßlo$pœ€J¸tR¨'\áH�À›£ÀRÞGì<Ò,Ð0¦j´Ë,¥ÇSjÀ]6ŠòÀø^`ïæa)�·cäDzy6q"¦…3kÈzžX³ÎíRË‹®` ó 9Î7kÚ@ÌŒ!¢f¿´�pæZPÌc×:U!3³.è�Å8¹Öý4Ô¾Äa䌊Ôþz¡ s²7rÙ¹FVÍ8ËE—æÀy«++€ÖÌÃSÓµ‹Î@ÃΕ+ä^ëá�ô0 wœº8aÓ�o=.(ûú|†ëµúC×™i3+šôÀÈbQT¡ÒŸ0¤´gÀx˜‚;^OÃg¦‡‘ëŸõ&Žm3¯?³lÛñÆ€eæ‡M©Ö€fWÖ§¹“0 ëëUT÷h¾­˜ÙÐÄɨŞ틜n·ÛOzœl§~a,&ÍA³°�}܃©¼OÆ�Èát¥í1 _jwÐÌì$‰©Í†~@6¯:òg„†·“P“Ñfç=£…?×ä…õÎ&,` laUpƒîR¼‘Ú¦9v¡ÄeüÃÌBCS™r?Ÿ.ç3¤bÎM+‚vÕV–æUV˜ËM+Å´+¦ÁQ[u.·²òB~Z=O]‘Ð 0eÖR�Ï®$¡�Ò ’W$ų–„,³’€|vZ=%®X9ÉrE½”^Y¥È¹��ÕU–æÕ Y¹Ò Y]Õ¹ÜBV®þ6BVGA>{‘�•i¸…�Õ‘�eÖ Y¹ú…BùÑеÂð÷Ï10EóJ#6bÂhµþz- Žœq0åRLA-©%¡eUЫøbîœá× %ïÈ%þjœ?ÁL—™Eó œ6µ5;Wß‘OT’åÙàF¦änbÚò�HÂ�ÆõýRP£‰\ó†nl³°9 Ã&LuQ³« ØŒïé€X_â ^Ÿ€;Õ”ÃÍG¤Ã‰Jº“à/…RÆÌc0÷1ëi€‚û¿''—JœÄÑhÔ¯pJÛ�­Î0f`­ƒG½?0�|0¯À�³‚O¬U³m23-wØÐ77·ØTZ—ÀW$J2ôN§“¦å§ÝàfvJ5¶ìäDøîùŠ 2×�*RÊ!§¹Þ)09¬ì’|ŸŒ]€1ԊΨòZ¬p&®FiZø{l¬'ýEP]­Ó“ºÍÎB ŽÖíI�fw P�Ú �ÚX]{IuƦ¶to6w‚í`OÚi›%0»¸Ð�=鲸ZÕ0I,Âáá‚ ·ƒía™@N^ÀŒè§ff�Ë1±G¸­mÛÚª†ãÁ�€Ù7µY›Uù1ˆ‰'�7oÌiØÜ©kV©Œ5€=E†ƒú"§Nâ5¾5°‡ƒ�EÔÀyXfSÒÀo3Û áÎCóHÏ"høÐ�Á†ÁÊmLCs!¨4*• ¨ ãAcS5º[j»½¥H­¿Rб±¡n�ÔU$œ�”ÚzËìÍ*ÎópAå!n·[ª±ÝJ«o©íÖ¶jtZKk¯�¤ F¶�ÑÞh jFDx`´(åFDðÊ2>ÐHXXsZORskKínÂÿËj.G9¡Îù�¿¨êζ*~³®ßÜFtUcgcYõCßw±Î3+3 UXOV¸Õ…ººØß9Q3T£�=¾£Hí<°C€Ý$ ív¹Tl¦}dïv€þí4 *èn«[KÙl.qþ­0L°£Ú­MhÁfŽz r¨ï.^™V|¾¤&h4ËØÜȉcWínÀÿ En©ràRKÝl¯, v~]¡‰Õ0ÚYwvP;í¬æMPÛ8H—UMúѲ%J€êíRÝY½Û¨@/¹Š±¿7·@0Œe53ålH Ãŵ·Ú$1F;7 Œu¶Ñ^*FIàvq*pµ½“âï‚Æ3@–6jz/­ §–ë‚ÝÐY©Eƒ_»µŠb³`Í, úž'`ø-�aü lR W®¤–ÞílZÒ!�Í­ ]1äo`¾¾±b Úz{È€tôÎö�mÙÐ[› d¥kšgEq`A7ëèÌx :Ò‚ÉJÿëír/&¥mÆfÐ’6F×ðŸ�VEén]iø̲š«ÊÖÖìÇJ¥],®u8xRò�¢¦@|&Üu˜‡�ÎS••º.;M%«Þv¦Ì ÑÔÚЉí× € ¨Ø [‹0ÀëÑ@ë'žöÀ·/éRž¶ÔêKIRbžÈiWz”B&+Õ²1XZÌaàX-ÁÖ9AiÉãÚ5ˆ— ‡«¦|V=­B\Jœ'äliflÍÒXΑw­ � ƒÞeZ/«)]Ž##÷²ŠØ¥UÖL-¸¾¡ï…Q`ሸkÛʨnÛÄžïÕR\aQ.³Ž®Ž]Ä�!•0¥‹K¾ÁØ.eÓz­ºHøoŸ¯xÑÚNOâKCs…�iNØx¤J¶sšF¼°Me �ÄŒ|+ ÄÅÈ.E,æ=TUIp…2‹I<®XL£J)ñqnk„*U‹”ùÕ©#âá5 9ÉF_œ&æ‘5u\hºãA­N”‹õ”’(YL;ã1Ç4ÑeQ„Qk>÷åÒskCib�ouj"Qe>V¦Ê|]„†ó¹ K9.%e�3=^8òƒiF7_U¥HIaC‡4¿.œ�ª(Rn¹�ã(;T+¢+«ÀÌ—zWCG°8Ò ÌŠxRø \©»º"®¾WµO¼ÞʲËëàÎÿ­ª ¢U5”ƒ+b/«åõ�1—‹ÕIDº�X¤…jé½)ÚR©Z¼Éî¦ åE*0ò1¿|ÓØwÐw©deýp—J–k�»`_M—Ü¥†›k˜»Ôv'½ó+^YÝ©Î[註wåM4×�Eó&úìîM[YËݽªeº/·æ2ÿò]tÞ-�¯®ën�|w ¬+ê¶[`¾…N»E-wÓew¯puv›ºn£»nÝU7ÒY·µéª[7euuë*juÓ’Êe»ž+ê]yñs9¬X¶¼I«T°êx¬[м�7©ie]•_õüžäU ¯’±åë¡w“³åø«æÐªeÒ;ÑQ‰±Ò(/pÞ©Úytµu&˜ߡ¾Õ"Ä…Íï#nˆ©NÏÓ:æ�ªÉÐTÔQ\±¼S=ETu­zØda- ’ ü´fYy0£cy­³Š^ZÞ¼B^°Jvp�ó©\¾ó[c<¯ÂYÚqW·c®´Å.;èË!'ŒEqËÝó™‚[0'üÐA '€ë�¿žáîv:yÑZà ƒºÝsFMck§µµÝÞÙl7AÆXæ2“jFÛ¬½±±½‘ì|(ÑÆRó!ôrùhòŠ� ņ=4Œ�Îņ޺!Åí ÅCËÞho±A=�hšô~9S7[:s¢‰ôëé-‹€ é´£wucGÒ¤„D<»‚bÒ‘õ™�+†±„%š’¦í>‡�3‹$ÛŠ,�kž£y¾/ª1e˜’˜,í‚äK' €y)�µÜÃLU½îZr¯¥ÊPŸë[v’¯À”X’"Y Ës¦´ÎçÍfIÚ©Ü“yËd¨ˆ…ÑI¸�Æù¹ùy¾'>c¿„¾÷¹)_÷ ÅܽŒ‚‹K��Ioãˆê|?Yf@c{tꪡ\^+*‚|ü©²RÎûÁh…ŽÛcÇ^ãòZÅDÛÆH±ÎÞãA  =š0¯XøzhEÃÉeˆç´9m'Ä“_¦!«Ž™bq}~ ^GQS}ŠÅÍ£½µãRÁ¦ruÕðMŠëtnçý¨!ïÉŠijÆ^.é‘ä›Î:䯇=x:g®5d˜­Rê:öêÊ­U–[KÊ©Õô›¾r�BªŽê÷¯•†Ò¿�*Žämu¹ã݇ˆNMÙ²íýS¨é�F¸­[Vñþ€€MýSVÎ0å1‹žD0{âˆÉêS £´h.ñ™)Ã$�Kø™òï1Ø‹4û€úGóc´.?q]Y}G·0Ï~†ëŲú÷¥x߇:ðkÄö¹lËêhš5~gMù#*ߟy t3DÏg ÖsA÷PD>Þ’ «ßLùäÄõý¯ñì%­ü�œÈ*^x‘¤d©¦üüýÛg\½�áÈ€”‘)ÓÈT?Zk úÎ?“Õ1 `AÕõ‘Ç®y2àŸ©ÃT*Õ—ÌêÉ›h¿5qÉÛw™N(íïÌ|ÐRÿǤ�ä—|IÚª�j«ò—Ÿ±/ßúﲡ•ë~F™>Sµq¨X7ÐüÉÝÓÓþØãyÇJÐô�®­5ÒÜ,3)‰x²V¯E«‚ë>ï�“~u%^LT’ÍF`D$Ô(Z*«— `�”IѵŠ%��‘Ç0åZ…΢C+¨_z@€²¤‚˸½·ÇqÿX‰ö:ö¦Àÿ‚@€ öaÒl4ŽHŽIggœõÔhgC`nTËÜ{Ó¸¾&!�€Ð�f¾Ø4B7X$M²z*²HÕ]Àœ<ƒ¦� ÌP»„|�ü�€Iö ¸b„=étJ(L“á©0-à^Žâ žgq@Õ×ɈûÂÌ×zYÁéÈl¼VTAn…¢KÞUi³ VÖ‚¢²üÄÌ#9òãá„¶¨€f§Ä”<#ÙâqhyCŠOþÊ.€jà˜|†“+«Qˆ¦à{1â¡ÌÆõ’îÕa:þQñ$3ÑT9© ö…\WƒÈFsj»< œˆ3ÔS �0�g¢Ž¹Vß3¡C´>†’«Dý�dªG$öæ?¼ã[˜!×ÿÔÙ ª²yô9<‚ÇëÍP郒|}ª'aïXá”â–)åªZ¦Ï5©/èX[{Ê$Ç“’w3øº1ˆ’�  2#@ý~bzrFÑÁ¸R4§|o(Ž>g#+vA;çÚ×ÃÈŸ½ž’ýˬ±ÅÍ!•£]ýe/àÚ6ˆ¾¢ô¾Fsõà@ >•#Ê�>DÇ�÷ëB}Ѓ-á´óúè);n`w?ƒ6ùSÞß W�‘??º§LåÖa”* ˜2@‡Ùª¥^ÎÐØ;¥NFb¡À�YÞ*‚S¯ø}(Ñèûf ‡gÌê+dÕ8fÒ°¾stÁ°iùa,(&ã€�ÄIêe¯Q„ ‘ öa�»ªsôny)•pƒ(E'²Ì9æŒS a_XÃ_•SUà%N õìEæ{FOŒÕ.l #f Ó‹]7É8ŠŽ×ÖÒÇ”€ÐÜ ÔbErÐWW8f²Ä7G£¤ÙÈ::Vô‘ƒ·Yî¦é%MxNJ‡ñVœ@+Žö�…2è(OVú'ìè ¼9¨ú2ŸGÜO6õm–ÁPó `âÒßsaÖ&üç¤@ÂÈDYnœÃpê¸YîèÝqãúdë™?��¶·ÐÓ…DUîY# \Vt᳦Æ}SnŽUä€pû¤HÙÑ,¥$ ݨ�©‘‚y9:#Er:.]4ÁFjÎÂqÀÌd_�Ì·V4ç¼ñ’é0¿â®¹««–ꂀљ¼ƒWVýŠ6¸åÀÓlIP�©{ :Ú[zͲåÒKö|ÜÖ…>M å�ÐL=ëÇ;uBT$°*•±@L:Œs`ûSŒ½9Þø‘üf‘©nKý¸îâ¾ëþöØ3×ÒqÏ\šø÷ÇiYÄæ˜;xÿNŸáµw�€ú‚æA˜È#ÀbgVG‡I}<€Ç›ò³‚ î[Ž%ä°_]9ú\RK�Õ}RVÔýf«ï?�gÞ8šôýõu+: �üãcårßÄ56�£ýã>]“q ù1ïë¦�Ö ú³ƒº—qŸŸ¼÷¢÷b]–xµÌ–äõX} ¦(‹�)NôÜ߃Q¨?g2ùyPÁøÏƒ& ª¦ü™»Ð°$çè}„æ9‰g‘]*±3Ä«ÙÆÎè|°Sm¥ÿ\9•GŽÌgºm%!ë)ˆ6QEmJ)Ãaþ‘�÷Ïg ùóZ³Ž¢ L]>#¢“Rp• ”)üGcÌŠ„]ãxÚ”�­“p ÚZ©n2œhð=b;§0ö™ü÷ȯ�Q·H4 Á‹š�ñ=ãÜZ’w; ÀÈ‚>Kã—¡o{÷qÓ�_Ä´û°ÏMPàh%“? 1¤ •Á§´Ð ÉpÀÂÞáô°¶¯ˆ)(LM)ðf„k–Ó ó£l†çÍO-ºBù Ån~”…ܶ q$X‘’È9OÈ«)% ¡| c H ÌŸ!U„hóÔ¥�ÒbEhV\+œò€~´Ðõç+ù—£'Ç(ßO×ÌŸ‰6 –™Z3„É5ѧš-h�RÂèZ 8 ¨0ñt#Px0rÞÁ´Ð²úªuŸ‡ªæ¢YèðÚ™3u ³±hØ‹¯QŒâ4sŸ3q_÷ û�›dÆÚÚ¾hÍÁ‡'ïdÒ@ÖÑßiöÆÉ­¢û¼ÊLç´Wm*îÞe‚}†. x`hõ²áWþdu`ÊS†à"qëý'¨ëÙÇ×eu�L÷è š}¿r&gÑ&E};œ×œú_0r’{(|W>\žA-sû‡‘Ž«KLVb Ñ 1ˆÏBpâ#¹À�L:ì@Q° ÿ†‘@ÚE§˜ú˜La0D_£�ோñ¥è]çǘÜÿz€d^ÈÇd‚�ÌU ¶á( =É`¤bÈñ8 ,GÊ®ÙÕˆ Ã«+úC¶ª‚åHYÇ0¬>uú×õ›¼~VÂ%tÿÏä0£<ÌÚš§‡èÿ6&èØLŸÐ†WÓ7a÷#8(`†j}fÐ^0ù# …ø€´„˜çÖÖ~+QC^5;ŠÖq̳Þ2ƒZ<4¿ÀÄ�ƒ·HL»¡211Š2�(ïå_ø fj ôB¤,{¿V Ñ7QhœÇ0ÎaÀòã´<9syBs!GO§€A#�ĤD˜u3ó$šœe*K ±¸’ZYÈ J j-dЇñˆHI… òAC�¢Rú°ý«^ ‘\L¾Ç+Ë&ìàSÐ�Ì$—ÿ�Ç.ŽaèªO¢r⌫.3d<ž6TÔבù$Jß^¦Y®¢dYðö22Ÿ‹à8êµB´_µ™ù2ãŠ?9¡øäÉÉÑ7P"9‘WR8;â±z°¡d—¡ZÅ «-"º,—b²k¡ObrßÎC£«*Ì¡±,`îí?n)Ê¥CÔËCÄŠú‰#ÆPõµÎK§gÁŒd=žÇÉŒdqדެãĸ xé�ÿ±pÈ=xËÀ§ã„2µ;Àèà¸Ô!Sß2Tå¿“Š;Ÿ‹ÃèXÜÀV4Ð2ÃÅ œÐKxÿœ%i5÷–0;ï0 “¡aä¨ñ4Û´8nÁ?i¾ ü¡?ÔêYç›´Ý´ˆÜ·ÑúºŠa  Å!ÉËèµêì9\žBFJÏ�„3ÞÙÛF¬‚ ¸0n¬YfY òú¬_0Ó9ù¢…4òÕ`>J5LÍÃcn07Ζ9+yyƒJ\QbD%^ÐRS}¹Q¾œúôêê÷ÆÑT=SêHý$0}ZR÷§¥8p”=‹Ì<Vè3* Å®¾ÂùÇ}:wƒ¯ø+&NY)õwáøD��ú Ô+ÈÝ«õÔvNâOBò±þ—Èp­ã°áª9\¤1z¯"Ô½_#ìÛ—'QÿŽ[ÿÓé|QŽ’¿q³âòÁSŒ62ÐùOçÄ1ÕRê¯�Ÿ€S¿6`æ|Á®®°“¨ø7`¯qÂò)ÜÙ~VLK <�o)€)æoœ³D¼œÇÁ¬ÓŒcõ##¶Ã«Ç þôÀ4“ð;ºIb,^]ý5žë1äã¹ú‹"•§häí7,�Ó¢ Pl¼N6’Óë3ôáð’st4ÙÑïìxUMøŒïv`6ð ªNL¯\|ã#S ÖQ/9�=†aÒ &°�÷Øã¯œJ *&z?pÆsC°TF�³¤±ÊQ·®ëg–f€Ñ‹EÒQU‰JDu%  |+ÊïécæC]Ÿ²~×PžGe0€â1Ã�ªÛÕ?¢ç½±¾]à6·¼BrI+sô ö’5Ðv ÉPåÄuèOg· ý ød-R%pH¥ Na¨�¬‘t“f`|šèGHð"ò+Làšÿ„aJ¦[ÉÂZ˜zg!LšœšÑA¤û¡¦)ÞQxLÓ‹N±øðW'š4Æ L† Ò\•žhM)‰G$¢H†:Ø;{|j2ƒžx�Ñ«Íù´à˜Àx€4±# A—˜"&R%S› ¢ÏÊšLY€.E«�%϶*³MµÉö˜,è㾌ñµÞÂ2C,È£ÄA¥È7;àÓ\hâF¹uŒKÉðÇÄçÔš#ëK-X2MÍ‚J@-á%Æ~b+2ŠÑåušÎ!¨FPLacŒèÀlÎÆu±k¡Ÿæz’C•` €§‘ÇŽzÕ’çói&’PàçÈž0j0±€G¤D¾ä«d£‚Fâ’ž×8懽ÆÍ(=ᔆ«ëcpá.dlim‡­ÿóþ?¡GÒ¤þV˜3?Œº"s %„ÏÀ<õ[j©`Rª3¾z¡‚®KœW j$†áZEç©8*BBâ’„ç"/)a÷‹Àã_PÃ? «#d¸—¢Î¾l€Ä6†:n•ÄøgHsêDÀ‡ý]„çÜH&dÆE¶+L…trºÔÂm¡Oß4Њ+lhCÑph™·&í£Ï¹¶–‡ôCÄÑCÂr˜dÜn zw Ò†Ò�‘jÈ÷Ë�ã¨mŠJhq*Û‹,«Ì RÉóùQt²Ç}9>3äª ¨šhO溪“×G=™ÿUÝÂU1R¡!|•døaÈ©Àá$#ÄPylŸèß„à€7މÆ`�2áBãÔ_XàdJ6¯Ò+9F \ëÆá§ÙŒϬ B`õOWWž&ƒ�®ÅÍ€³(…¨jáu–½ð º)}·àýYöêÃ+šèÙTž¸æQ:ü–ÞŽà¾ÍK9)¨C ZõYR8kDªÃC@û…ýk\Ÿ®­íçTö¾²ç5uLÀÁà„ àöKDÉÜ€A¯ÏP?€4Aùñ:aðAICGHø>1‡ÒÉ7Mj !‘D„D_ï/ék½M>H“,Ð#¯Ïµ4†çRôÊnð…;.·»Oµ)¦ö[¶5ÄIÖ{ ³s ³9ÃìÃì"Ãìz†Ù‚avʰ>Gx­"¯ ›yßgq@ã€{!ë!µK™j¯ÄTë~v\µñ±\¹Å+·p•‘÷CN”‹á£#^~C9NÜ'ÛܵÉî|�0J¡%,Ho\bz�g‹0·ú9V”=‘—˜p´�@Û¢lnÊÒ^ìëß¹&ˆ®ûÕ›¬r‘5µ¼‘öR„½�Ö_Ð?€ª/ËÕ´Æ/i8ì+W[,RÿÆçVÐp²`¹4¾§N¬¡EjnAÍS…q^‹ÝйMAiYí'Üœzôæ 9±¡pÝ$X[ûÊt¾b ºw Ѐì1¡_•࢑QD§ðIpæƒ-׉ïÅ÷ð¾Íå÷‹ˆ®®~+,ŒòV€*Îú T¹ )S–OêâÆO>î}ÞEqn�Çåþqĸï‹]e›ú+Ù€xmímC~íA/á¶�èÌÂX pÛìÌ @°O”K‡B:D|±è+á²l~U¸9ަú—ðóî§ŠN}À�úH¸ÅPÕsÖ°Àçp ¨¸}æêÊDZ-,î=ôÀKà ·0—,sH:äÎÆ�QÃRó8T›Ÿ‹q_ÚÎ'ª<-g`+ê›´zaÂ|®0‹�HŽ_´°›DJÀ‚S²pÈgó¤¾hüæõ»Ÿä„X+ÄC©™šÌ³P¿É }…/'«ŸÀX˯#«a<ˆFÃúcéróÜNt()âU‘‰&¼HÆ€(h=ߺ氿 /·¸šßÄ: .˜ª,[TÐqw6 ô“MÊQF” &käÂH|Ùë~MëÆª�ñùå½Û¸À‹ ä¸ 4šùÁp¯"­Ç²u¾àK¶8£bgLEpÍÂ|t °_"N÷ Ó5 > ~ÁÝ™�Ú•ó%ªXÝvBaæâž†Â&ݹ}š§l)ìľ4†‡_žð¶úZü�FüïXÄNq3+ôibÜ3²�ç7ÏøLÍmÐ`ú0u;²kD*U1Ýü´÷q BzÊŠ5^ “�&¥WΉ059„RöWਠ`Ñ¿Ÿ‡ÌÜ4žÄô/¾ r0ðûÀωˆ< o)%7N÷žXSU)òd‰Í; ‰B³T 7ôäõ§Š›ŸŠ1úb@n†Ä_¥ç³uH(슚Bƒ§|Íʨ¸˜<¡ÀØ+pIɧÎ$­â–¼ÄW¬¼tœ€¹ZK¾%ðÉÜJׄVº„DœÎ»½¯níÄ»©ïV;ñ¯ÖGêÑêåçÄ�ÿOü� (ÒžÆ(gÝõÞ«[F^æÕ��Q�†O5µ—å€�[08-ÇNkeÀ‹,`ð3Ë"­¢y•gZ¼,amí7 ‰€ ‹Á3‰Ñ[²»W]uô_6þ‡©¢‚$Ü©´±½ç]›h�E–㢉ûöøØ�À …u�Û<Xë‡ö*%fË‹¨Ñ^$Ó�ÌÄi€ ÜbϬ%Fh˜ñÉ6O)¯Ò)}¡Ö~f(�8™¸é¦ \¹¢%<Ò„‡ ¡rÙ �hq¹"ªFèú3%Å™.&Q]ÈÈÏs…=¸ÀÙü^P2ɶXß¼”»c¹g´7ZªÜ�'x€§¶xº>jxÖ©3¶píUL¸MëêòZÑÙh„¯§d ãNU§~—-˜¦—x×¥f‡jßv¢O_Ë‚½¹}ÍÍ ´×ϧ.d9‘ yž/¯ ³! þ”—éÊ `�%a’Ò‡Ô|`»à“)ÿêö¼bBÚÒ ½ËËð[L’ÛL¾—ìÞÏ.U€ñ¬\Þ¿z°ÙØë=›ÀŒÈ>7Û›ŸõÖgÝèðïfG:°FVà|nnt¶>ëã ‰1ć,ŒÞúÞS?Rš”*‚~×¿Š§–—þ8½`ñJª‚äÞ«‚lxäyE'5FP?¤¥L.sù $šî,96ÈÖÒ8}˜AP$5WO% i0€¡Û®&v�î  ûÀ°¥*)•VîCÔ¸°¤®®–@¢ÏC�Šž»¨£A´PU`+K´MDzZ}øó˜D&ÙÁ)9ëëBs�’9ÇjÚ=y±[g¢ªñ]ßÛêa•ªÞ;KtÙ‰;1�µ L�OŸ>yòô‰ñ©çÏ;ûOö·ö;OŸt;Ï·÷76¶w ì½tJ’þ’|Ç1§nñË�ü[›s+Üp‹uüË} ~tü0Ä ¤øRªøc ¤î/éeVI=» ðûø±Oì#ÉJ?ÁoÁÊßš•~›;Ÿ˜~I5½VR VÝ ¢šSŽ?ü“ôš%K­Ì´ÅE,0Ü¤Ë ò_uÈr ÍÙ Ç1@™¦¯.1ÅJË8ñ'wÏØì¼_Ì/`ÇñeW<\óyWi³‹ßw­ªéVä•HDäý2U‚Ô»RÞÙÚø)ï´W¦ÿd’Lo™ýåÀ”²’ñ–˜•ñ ½æ°Ùnµ[MÃh‚ʇ�dkOÞ=Ñ:íóN[ÿ2ËRš2¥Èūʾo�ÆNû~ µŠ´r½h\âµ�ñp¢}_¶[çðËi(YœÓ0gÓj‡ŽËÈÃÍÙŸw®¾½Õ:‡ß¬ú&Î-¨µHˆã²V0œ8h Àœ(á—b¦†w—†3ßÛ 0�—Üð&öɈá*%�¯]Å4+Ž&tzYsñä�„uØÎ)éÛo•8¼‹çž0×JS¾:3�úBþ¸Ç�ÒŸtÄ¢µXòà¥ÈOØô¸i‘ðRu¥Ðá+¨ûÇܽI NÇäïÀ@ÅsA»ÉˆÁ»éÌŠéðýéé“�RU¦¦eås´‰*4x•øeí<£(‹MÄO.�êÆŽ�TãйOiüKFyèyÄ®6µµMÔöP·f´ËÐT"v“Ž7òé³7UpU?�›±[&  |O¢€•¡?t,W"ò(’ùéË¿'ÏE˜õ¸r4rÎÑ3æ0 T�€W¦qAÓ,yPPT¨�͇9i¥ —zhT6n£Z©Fxî¾×6 Íà:Aé?¬bqŽP´èñúÃX€Bá²$—çŒ&ú`§­v·ÔC¥ï‚z�ʵ®(öÕæ¹Y'76u$’¬v$ú´/™ÄËŠµø•y®|‹l¾™`Cû«JyºŠA8ÿ3¯Šæ-“e4<žÊ’SÛ-ÖÒW&Z‹xAé} ½„¢{Õ<°ª¤¾9[Ô{ÅÖä h[£Ë?* ¿ò£” ðšð‰ ÷¤ß|ðÓÙæÏÕ4”•HõÏzöójR0Wj~ìÈ» ÁDôÔÑ‚®°³Øu…ÏInÐ=æºþpâ[$QЦùîY÷Û›/?ŸÁoûÍ—ýó7_žÄoŸuáý‰\ß:¾jÊ'×ò¾ ÁÂÛ91Œ#y~€q×€´Ú"‰p¦c‰LzSÞiµ€fZ#_VÇ–Õ5à:7ð—«èÄH£°ÝÈ7>‘AKO2è0¨í»J*kd½b*®JÃKyF£ž>,í¿{.åL›úŸz«Î™O]4!—¦çâd€a0Μ TnQûJB ³óh5Í' g³:CkáÄD¼úˆ"€ˆÊ<*P(ÿ�f�&-S.ªÃA´Üa«$…ÎÈËÉul &¦ÃO‚N=v!'7äTÉ µP0)òÇcÐj’ð˜O²4Õqø@šž£¯à'a}+‚ä†t‹kÍB–$‹áúCÖ?üzìŽÀwÓJâ†N˜-ŽÝ0ÞÁÌÆf»ˆ•R]k€Ãþ�·C„ÈñÂ�ªá’çÝ rj:ª]–²õÿg¡šŒÇMÞ ÕÝÝ\Úß…"9)ÇH2‹ñ.^ mu†ž¦6ðÏ¥Y U÷V¹tRñ”—–¦®�á‚ööÝœ ¡Ç—”} jà ž)ŠW’�\e�£;‹gɥ̕2SEk§�ß3UÅ}kÞê­æ¿Š£æu&².³m¬›^ñ‹£‚G‚@iÊÀY·éòTÎ0ž��PáZbsþ¶ãÍè·~œªÎÇ”&FyRqÂ/¨(¼²D&¾ Ñ”$m¤ÇY�ÇJBœÞâ¼àç*Ö@ Jð ¦]Ø™"Ô‘ $L�(¥Uçîâž,�1Šr!6gnî]u†Må>•çÕ­“¬ µž5¨eÛÅѰY”\ƒVeðŸE3p¢ ÓœT7Ï%z<™32½ŽBW9ÛÎ 42i)u^Às‘¤DàÃÇi@JB’qA9CS­DÖ=A¾•Ϧ(Ôòà_ºðüŠœüú¸é:K*ÄPØ =¥Ú“(“zlŽœåÔX?Ž`P G#ÌHÁG…®ÜÍ+3à }Mì´¢øG³g.øÆBWKÓ ­�ÿ@fKšùà@aÄäÚ o7´‚þœbþœbþœb8Øâ³Ò”Råãádï øw©ÅžÈÆR² Q¢­�ë¿ã xç«= âé† í¢HÉ Í k¢pUˆ.¾z»ø}|VjŒ6…ÕÃiEX½žðš Ý㉑À ˆ·@é¤ÇGÎî[R£í–±�:“£ ¾wòõÓç´»ô1vqÆF-ß´8”xŠÕ—ÄÚ˜Æ/ðÈÓx�ïsþÐÂ~©ÿ©è±myw^•£èCá‡!ŠUöB»„µM>J=ZžŠd±F³‚TäXFWÜ "º„¯Bm«Õ‘ Æ™ ŒøTaHIyz eËAqkj³xà:áDB]iE^lh[�-чñ°h4‘öhÑ Ò·[úÁ…&& °‚ãu$Æ®W-NYÝ´£DðáÔ–+Lr+=«}‰+ ÛÍV§é9ž…QÇJiƒÈ¢ùxwnrÂŒˆ{�s7&Ï÷lR­T ��-µT‡`Ƈñð+® ‚ØÃOú4劙B¨ç:m°¸wÈ ‚)6ãâ1»Súª¦sËÊÏõÇZ"ƒœ¦„$Ëaa&>üÓ²Æ %’¬°)¢·¿8 ×¢\í¯ŽÂØÿÊ‘Ÿ èúdþ{O¶ÐÏZûÏÙõ¿ivMºô)0Uú‰†T2Ÿþ÷Ï›í?çÍÅófgGÚnI‡8Ïqu;°`Êõ-YRˆ”G(l ¤'Ì“¾€ IxâV˜�eÏüÀµué&\g¬Â)ÍXðõ‚?¹@…3ŠÝÄ|{³3þpnI±ðØG4ˆÁ,Y·JŸDI¿âÿ4^˜ âIì�£[k´8€ÏÄ/軯é͹E¨œòKuáý=†§ZÉÝË|hâ¢h¿ôC:uÍoWJØ#Å3äÏOØ5‹ 5ëS' ™�,UXE ¤Ò®8øâU‡¥ÖL¥Á´šGþ—·zkT¬'¤°ØõÐà¶àŽhÞÂz/fuƒ±Ž¦dß~5e–¸cîÚâ¢Ù¦4‹ñwòiǸ»äûw mÞ$“ÐnˆÊswˆL´ÛM£Ý„ Nvº�V��pþ‘0p´�ïB ý‹$ö£�“Ž "ä°ªcC,ªéeeþ·F&‹$ˆ�¸Š‹½¬ß’]MX¸*ò{8�HO±ø´ƒÚ¨=P° íQY§XÔóÿ&ñŠöF³µY¯ø[ì1©½‰áŠöF¹oÿ;ÃÐwPÜ4ï.ÒÔUþÛ5{ ÕtפÕ'ñ˜i…šáŸjý?F­/í¸j½þ ŠI‡|‡Å(ö!ÿ×hvcëO;,ëOÍ~#›½E6{§»ýGÙìÃÀ�†PS`üùxª/6iüiÁÿ©ú›õbµÞ–âk=ñ̺¿M±ÿ=3BûÏaYÖŸ3ÂMlýÖNóõÛ—'­-�›;ÛFwcg«µóGu€èá·#¡Ážýç´ð3-¬Òw5Á*É�û§TrQ€geàÿ.Å¿Q³)åBjÿé ,Íúz¿„£rƒHqÛE婞ïß|ܲìÆ. OµùQv3˜xKTÝQœÊ뒲Ы ±]áþ§%sYe¡Ë@sg‡b¯_4ª\Èܨ\ÈLwš€­ƒñµ÷Ü?óÞ°Q”N¸7Xë¼ÍÖ‹ßs£„]Ûi·þÞnµþn,Ùw‘g×Ö¿'»¬©¸ƒyVo¾|:¿«3rêÜØÀ*cg´"§¶ÿM9ªfø¡cÏqë·ø�S¹?eUVqÔ^ûÓÞhUKÕ…˜W1bÁºB;ÞŸͯa/Ò®I�}Ï^MyÝ@×Uë8þÍ‘»ë¸º’ðˆwW&7¦,ßRWÔ••gÖ«Õgæ®t릹ªKW4šs7­¼�±€kyÓç77,¾ ®êÞ7Ñ­«™³…›ÞÊ÷¹ñ‘1«¯/w3›¨5½ m¥ëØæ¯`[Ì»ªœ•{™ïP¥-’üñ|áÄŠ«/Wì÷¼¹Õ¥-¥¹v-haù‰,çÆÆÞwÖK7ÒGT RÑ ýÙÅÒ‹CW×9+ØTK#™`œ‡’\w˜ nOuy|á]êt‰?ÿGu©�ÛîxÀg,€Ùtp!e¿¨ª¥.PðÌB6ò¯'¨²À!^&Л'›.°¼Ð H'ŒÆøÅh‡a0 Qâfb •?¶OÞ'´`N�èrTN‡i>¢Ð«^Á÷÷ŠÔö9<­ªQéŽ^^¶z—û\2Ô…Ÿ†øóšœ:wõ¾­uK—šVUû…'YôI × p –szEJrEÉ%nŠ[±«®p#{�¾Ñ�g#ýY¥ÍÝ ’ØÒÖI<Ã�kP óx– ®Îu[l¼Á%¹!dN÷KÍÒü ð—ôËK⾕Æ.ÝÄüÿ%~;mÄ¢áDî]Êü VrON>§!«òÙ�Ü»”ÁŠ! lÚ }“ Pôäæ#ùZ½”=?B b摌qÛGâ#ZÙ÷µ‰·rD·œ^~Ÿ¹ñØñæáŠúŽr}þ¼×Ð×ùø:G^Èp‡¯äè·Ž@¹ý_ó3€Œ€�þÙgùX^RF÷|-aœ*åß$ Ê_«2ƒax0+8�‰¦KœdÈÍ}ìÞãä«÷îéÐ":Ì"î¼‘Ê ''tëP¯7 ïÉBÍ™3—ÁÒ <Ò¤]€gIŠ%Hë±eÛP'Ý,G˜‡¹Â“Í$¿´pïÞ½, ß“dƉú˜q�G]šY#¿Ûw Y³Ð./ºš†SšNýWœÖÖ*¾óôâµ½¶Vó‘¦ÚŒ†<±ÂIò…Ììc<—ø©—He&´ƒ~²|¢‡ñ äßš5”~óGO´o-mçD;^ÿQ|uŠ>¡™5B6æ7ÿÑØëYW\¯è®¥+~Òòm9åÇ„‘ñ/ß(WWô2x�C45CQñõàÎ7åZ}$ñþáâˆÏÄg鄺�ÿZ ¸ð�Ñòø—úîö�>$áäÌr`ÐÊà¦hÔ,—ßcÜäï„Léx1ÃÕØYàî¡Ö¥.³B&aIÉ’Î&¿®ë ÆSð`AñÉl8ñ}\“(�ZŠ<k0-1�ÝÈ™¹¨GßZçÎ4žJ^<ÀòGXÞ�šqLH,P /e;§YðË‚IÒ(K©ýÄàkÿèO æ*üW}YOTÙÙa­�Îð�üÄ`EKÿ•ßUÚ-cÔtì“�) ªÚÿzFlnm´Z[[V#š¸³ƒßaMÁ0%£èÖÂݲÚûYäL�oLjŒ¿93EÒÒCO³¦ñ̬Q”Ðé à&€½AÍ1õmgäà}&&�ß­bmJFocSšM¥Æ§Ãg½–B¶×ÿŸ†D¤Ãò