[evolvis-commits] r14987: First version of hudson plugin (new tab in project) ↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Mon Feb 28 23:33:41 CET 2011
Author: mirabilos
Date: 2011-02-28 23:33:41 +0100 (Mon, 28 Feb 2011)
New Revision: 14987
Added:
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/common/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/common/hudson-init.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/hudson-init.sql
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/install.sql
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/uninstall.sql
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonBuild.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJob.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileException.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileNotFoundException.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLMalformedException.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobWidget.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonOverviewWidget.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonTestResult.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonWidget.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/PluginHudsonJobDao.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonActions.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPlugin.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginDescriptor.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginInfo.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonViews.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobBuildHistory.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastArtifacts.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastBuilds.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestResults.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestTrend.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_MyMonitoredJobs.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_ProjectJobsOverview.class.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab.back
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/fr_FR/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/fr_FR/hudson.tab
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/AllTests.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonBuildTest.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonJobTest.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonTestResultTest.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/jobbuild.xml
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/testReport.xml
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/hudson_tab.js
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/index.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/test_result_pie_chart.php
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/css/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/css/style.css
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/cross.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/edit.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_00_to_19.gif
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_20_to_39.gif
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_40_to_59.gif
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_60_to_79.gif
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_80_plus.gif
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/link_error.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/rss_feed.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/server_lightning.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_blue.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_grey.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_red.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_unknown.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_yellow.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_builds_history.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_jobs_overview.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_artifacts.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_builds.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_my_jobs.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_results.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_trend.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_builds_history.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_jobs_overview.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_artifacts.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_builds.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_my_jobs.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_results.png
trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_trend.png
Log:
First version of hudson plugin (new tab in project)
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/common/hudson-init.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/common/hudson-init.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/common/hudson-init.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ *
+ * This file is part of GForge.
+ *
+ * GForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Portions Copyright 2010 (c) Mélanie Le Bail
+ */
+
+global $gfplugins;
+require_once $gfplugins.'hudson/include/hudsonPlugin.class.php' ;
+define('SEARCH__TYPE_IS_LIST', 'hudson');
+$hudsonPluginObject = new hudsonPlugin() ;
+
+register_plugin ($hudsonPluginObject) ;
+
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/hudson-init.sql
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/hudson-init.sql (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/hudson-init.sql 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,32 @@
+CREATE SEQUENCE plugin_hudson_job_pk_seq
+ START WITH 1
+ INCREMENT BY 1
+ MAXVALUE 2147483647
+ NO MINVALUE
+ CACHE 1;
+CREATE TABLE plugin_hudson_job (
+ job_id INTEGER DEFAULT nextval('plugin_hudson_job_pk_seq'::text) NOT NULL,
+ group_id INTEGER NOT NULL ,
+ job_url character varying(255) NOT NULL ,
+ name character varying(128) NOT NULL ,
+ use_svn_trigger INTEGER NOT NULL default 0 ,
+ use_cvs_trigger INTEGER NOT NULL default 0 ,
+ token character varying(128) NOT NULL,
+ PRIMARY KEY(job_id)
+);
+
+CREATE SEQUENCE plugin_hudson_widget_pk_seq
+ START WITH 1
+ INCREMENT BY 1
+ MAXVALUE 2147483647
+ NO MINVALUE
+ CACHE 1;
+CREATE TABLE plugin_hudson_widget (
+ id INTEGER DEFAULT nextval('plugin_hudson_widget_pk_seq'::text) NOT NULL,
+ widget_name character varying(64) NOT NULL ,
+ owner_id INTEGER NOT NULL ,
+ owner_type character varying(1) NOT NULL ,
+ job_id INTEGER NOT NULL,
+ PRIMARY KEY(id)
+);
+
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/install.sql
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/install.sql (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/install.sql 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,66 @@
+DROP TABLE IF EXISTS plugin_hudson_job;
+CREATE TABLE plugin_hudson_job (
+ job_id int(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT ,
+ group_id int(11) NOT NULL ,
+ job_url varchar(255) NOT NULL ,
+ name varchar(128) NOT NULL ,
+ use_svn_trigger tinyint(4) NOT NULL default 0 ,
+ use_cvs_trigger tinyint(4) NOT NULL default 0 ,
+ token varchar(128) NOT NULL
+);
+
+DROP TABLE IF EXISTS plugin_hudson_widget;
+CREATE TABLE plugin_hudson_widget (
+ id int(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT ,
+ widget_name varchar(64) NOT NULL ,
+ owner_id int(11) UNSIGNED NOT NULL ,
+ owner_type varchar(1) NOT NULL ,
+ job_id int(11) NOT NULL
+);
+
+-- Enable service for project 1 and 100
+INSERT INTO service(group_id, label, description, short_name, link, is_active, is_used, scope, rank) VALUES ( 100 , 'plugin_hudson:service_lbl_key' , 'plugin_hudson:service_desc_key' , 'hudson', '/plugins/hudson/?group_id=$group_id', 1 , 1 , 'system', 220 );
+INSERT INTO service(group_id, label, description, short_name, link, is_active, is_used, scope, rank) VALUES ( 1 , 'plugin_hudson:service_lbl_key' , 'plugin_hudson:service_desc_key' , 'hudson', '/plugins/hudson/?group_id=1', 1 , 0 , 'system', 220 );
+
+-- Create service for all other projects (but disabled)
+INSERT INTO service(group_id, label, description, short_name, link, is_active, is_used, scope, rank)
+SELECT DISTINCT group_id , 'plugin_hudson:service_lbl_key' , 'plugin_hudson:service_desc_key' , 'hudson', CONCAT('/plugins/hudson/?group_id=', group_id), 1 , 0 , 'system', 220
+FROM service
+WHERE group_id NOT IN (SELECT group_id
+ FROM service
+ WHERE short_name
+ LIKE 'hudson');
+
+-- Create references and add them into every project
+INSERT INTO reference SET
+ keyword='job',
+ description='plugin_hudson:reference_job_desc_key',
+ link='/plugins/hudson/?group_id=$group_id&action=view_job&job=$1',
+ scope='S',
+ service_short_name='hudson',
+ nature='hudson_job';
+INSERT INTO reference_group (reference_id, group_id, is_active)
+SELECT last_insert_id, group_id, 1
+FROM (SELECT LAST_INSERT_ID() as last_insert_id) AS R, groups;
+
+INSERT INTO reference SET
+ keyword='build',
+ description='plugin_hudson:reference_build_desc_key',
+ link='/plugins/hudson/?group_id=$group_id&action=view_build&job=$1&build=$2',
+ scope='S',
+ service_short_name='hudson',
+ nature='hudson_build';
+INSERT INTO reference_group (reference_id, group_id, is_active)
+SELECT last_insert_id, group_id, 1
+FROM (SELECT LAST_INSERT_ID() as last_insert_id) AS R, groups;
+
+INSERT INTO reference SET
+ keyword='build',
+ description='plugin_hudson:reference_build_desc_key',
+ link='/plugins/hudson/?group_id=$group_id&action=view_build&build=$1',
+ scope='S',
+ service_short_name='hudson',
+ nature='hudson_build';
+INSERT INTO reference_group (reference_id, group_id, is_active)
+SELECT last_insert_id, group_id, 1
+FROM (SELECT LAST_INSERT_ID() as last_insert_id) AS R, groups;
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/uninstall.sql
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/uninstall.sql (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/db/uninstall.sql 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,10 @@
+DELETE FROM service WHERE short_name='hudson';
+
+DROP TABLE plugin_hudson_job;
+DROP TABLE plugin_hudson_widget;
+
+DELETE FROM reference_group
+WHERE reference_id IN (SELECT id FROM reference WHERE service_short_name='hudson');
+
+DELETE FROM reference WHERE service_short_name='hudson';
+DELETE FROM service WHERE short_name='hudson';
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonBuild.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonBuild.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonBuild.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('hudson.class.php');
+require_once('HudsonJobURLMalformedException.class.php');
+require_once('HudsonJobURLFileException.class.php');
+require_once('HudsonJobURLFileNotFoundException.class.php');
+
+class HudsonBuild {
+
+ protected $hudson_build_url;
+ protected $dom_build;
+
+ private $context;
+
+ /**
+ * Construct an Hudson build from a build URL
+ */
+ function HudsonBuild($hudson_build_url) {
+ $parsed_url = parse_url($hudson_build_url);
+
+ if ( ! $parsed_url || ! array_key_exists('scheme', $parsed_url) ) {
+ throw new HudsonJobURLMalformedException(vsprintf(_("Wrong Job URL: %s"), array($hudson_build_url)));
+ }
+
+ $this->hudson_build_url = $hudson_build_url . "/api/xml";
+
+ $this->_setStreamContext();
+
+ $this->buildBuildObject();
+
+ }
+
+ public function buildBuildObject() {
+ $this->dom_build = $this->_getXMLObject($this->hudson_build_url);
+ }
+
+ protected function _getXMLObject($hudson_build_url) {
+ $xmlstr = @file_get_contents($hudson_build_url, false, $this->context);
+ if ($xmlstr !== false) {
+ $xmlobj = simplexml_load_string($xmlstr);
+ if ($xmlobj !== false) {
+ return $xmlobj;
+ } else {
+ throw new HudsonJobURLFileException(vsprintf(_("Unable to read file at URL: %s"), array($hudson_build_url)));
+ }
+ } else {
+ throw new HudsonJobURLFileNotFoundException(vsprintf(_("File not found at URL: %s"), array($hudson_build_url)));
+ }
+ }
+
+ private function _setStreamContext() {
+ if (array_key_exists('sys_proxy', $GLOBALS) && $GLOBALS['sys_proxy']) {
+ $context_opt = array(
+ 'http' => array(
+ 'method' => 'GET',
+ 'proxy' => $GLOBALS['sys_proxy'],
+ 'request_fulluri' => True,
+ 'timeout' => 5.0,
+ ),
+ );
+ $this->context = stream_context_create($context_opt);
+ } else {
+ $this->context = null;
+ }
+ }
+
+ function getDom() {
+ return $this->dom_build;
+ }
+
+ function getBuildStyle() {
+ return $this->dom_build->getName();
+ }
+ function isBuilding() {
+ return ($this->dom_build->building == "true");
+ }
+ function getUrl() {
+ return $this->dom_build->url;
+ }
+ function getResult() {
+ return $this->dom_build->result;
+ }
+ function getNumber() {
+ return $this->dom_build->number;
+ }
+ function getDuration() {
+ return $this->dom_build->duration;
+ }
+ function getTimestamp() {
+ return $this->dom_build->timestamp;
+ }
+ function getBuildTime() {
+ return format_date(_("Y-m-d H:i"), substr($this->getTimestamp(), 0, -3));
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJob.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJob.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJob.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,304 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('hudson.class.php');
+require_once('HudsonJobURLMalformedException.class.php');
+require_once('HudsonJobURLFileException.class.php');
+require_once('HudsonJobURLFileNotFoundException.class.php');
+
+class HudsonJob {
+
+ protected $hudson_job_url;
+ protected $hudson_dobuild_url;
+ protected $dom_job;
+ private $icons_path;
+
+ private $context;
+
+ /**
+ * Construct an Hudson job from a job URL
+ */
+ function HudsonJob($hudson_job_url) {
+ $parsed_url = parse_url($hudson_job_url);
+
+ if ( ! $parsed_url || ! array_key_exists('scheme', $parsed_url) ) {
+ throw new HudsonJobURLMalformedException(vsprintf(_("Wrong Job URL: %s"), array($hudson_job_url)));
+ }
+
+ $this->hudson_job_url = $hudson_job_url . "/api/xml";
+ $this->hudson_dobuild_url = $hudson_job_url . "/build";
+
+ $controler = $this->getHudsonControler();
+ $this->icons_path = $controler->getIconsPath();
+
+ $this->_setStreamContext();
+
+ $this->buildJobObject();
+
+ }
+ function getHudsonControler() {
+ return new hudson();
+ }
+
+ public function buildJobObject() {
+ $this->dom_job = $this->_getXMLObject($this->hudson_job_url);
+ }
+
+ protected function _getXMLObject($hudson_job_url) {
+ $xmlstr = @file_get_contents($hudson_job_url, false, $this->context);
+ if ($xmlstr !== false) {
+ $xmlobj = simplexml_load_string($xmlstr);
+ if ($xmlobj !== false) {
+ return $xmlobj;
+ } else {
+ throw new HudsonJobURLFileException(vsprintf(_("Unable to read file at URL: %s"), array($hudson_job_url)));
+ }
+ } else {
+ throw new HudsonJobURLFileNotFoundException(vsprintf(_("File not found at URL: %s"), array($hudson_job_url)));
+ }
+ }
+
+ private function _setStreamContext() {
+ if (array_key_exists('sys_proxy', $GLOBALS) && $GLOBALS['sys_proxy']) {
+ $context_opt = array(
+ 'http' => array(
+ 'method' => 'GET',
+ 'proxy' => $GLOBALS['sys_proxy'],
+ 'request_fulluri' => True,
+ 'timeout' => 5.0,
+ ),
+ );
+ $this->context = stream_context_create($context_opt);
+ } else {
+ $this->context = null;
+ }
+ }
+
+ function getProjectStyle() {
+ return $this->dom_job->getName();
+ }
+ function getName() {
+ return $this->dom_job->name;
+ }
+ function getUrl() {
+ return $this->dom_job->url;
+ }
+ function getColor() {
+ return $this->dom_job->color;
+ }
+ function getColorNoAnime() {
+ $color = $this->getColor();
+ if (strpos($color, "_anime")) {
+ $color = substr($color, 0, strpos($color, "_anime"));
+ }
+ return $color;
+ }
+ function getStatus() {
+ switch ($this->getColor()) {
+ case "blue":
+ // The last build was successful.
+ return _("Success");
+ break;
+ case "blue_anime":
+ // The last build was successful. A new build is in progress.
+ return _("In progress");
+ break;
+ case "yellow":
+ // The last build was successful but unstable. This is primarily used to represent test failures.
+ return _("Unstable");
+ break;
+ case "yellow_anime":
+ // The last build was successful but unstable. This is primarily used to represent test failures. A new build is in progress.
+ return _("In progress");
+ break;
+ case "red":
+ // The last build fatally failed.
+ return _("Failure");
+ break;
+ case "red_anime":
+ // The last build fatally failed. A new build is in progress.
+ return _("In progress");
+ break;
+ case "grey":
+ // The project has never been built before, or the project is disabled.
+ return _("Pending");
+ break;
+ case "grey_anime":
+ // The project has never been built before, or the project is disabled. The first build of this project is in progress.
+ return _("In progress");
+ break;
+ default:
+ // Can we have anime icons here?
+ return _("Unknown status");
+ break;
+ }
+ }
+
+ function getIconsPath() {
+ return $this->icons_path;
+ }
+ function getStatusIcon() {
+ switch ($this->getColor()) {
+ case "blue":
+ // The last build was successful.
+ return $this->getIconsPath()."status_blue.png";
+ break;
+ case "blue_anime":
+ // The last build was successful. A new build is in progress.
+ return $this->getIconsPath()."status_blue.png";
+ break;
+ case "yellow":
+ // The last build was successful but unstable. This is primarily used to represent test failures.
+ return $this->getIconsPath()."status_yellow.png";
+ break;
+ case "yellow_anime":
+ // The last build was successful but unstable. A new build is in progress.
+ return $this->getIconsPath()."status_yellow.png";
+ break;
+ case "red":
+ // The last build fatally failed.
+ return $this->getIconsPath()."status_red.png";
+ break;
+ case "red_anime":
+ // The last build fatally failed. A new build is in progress.
+ return $this->getIconsPath()."status_red.png";
+ break;
+ case "grey":
+ // The project has never been built before, or the project is disabled.
+ return $this->getIconsPath()."status_grey.png";
+ break;
+ case "grey_anime":
+ // The first build of the project is in progress.
+ return $this->getIconsPath()."status_grey.png";
+ break;
+ default:
+ // Can we have anime icons here?
+ return $this->getIconsPath()."status_unknown.png";
+ break;
+ }
+ }
+
+ function isBuildable() {
+ return ($this->dom_job->buildable == "true");
+ }
+
+ function hasBuilds() {
+ return ((int)$this->getLastBuildNumber() !== 0);
+ }
+
+ function getLastBuildNumber() {
+ return $this->dom_job->lastBuild->number;
+ }
+ function getLastBuildUrl() {
+ return $this->dom_job->lastBuild->url;
+ }
+
+ function getLastSuccessfulBuildNumber() {
+ return $this->dom_job->lastSuccessfulBuild->number;
+ }
+ function getLastSuccessfulBuildUrl() {
+ return $this->dom_job->lastSuccessfulBuild->url;
+ }
+
+ function getLastFailedBuildNumber() {
+ return $this->dom_job->lastFailedBuild->number;
+ }
+ function getLastFailedBuildUrl() {
+ return $this->dom_job->lastFailedBuild->url;
+ }
+
+ function getNextBuildNumber() {
+ return $this->dom_job->nextBuildNumber;
+ }
+
+ function getHealthScores() {
+ $scores = array();
+ foreach ($this->dom_job->healthReport as $health_report) {
+ $scores[] = $health_report->score;
+ }
+ return $scores;
+ }
+ function getHealthDescriptions() {
+ $descs = array();
+ foreach ($this->dom_job->healthReport as $health_report) {
+ $scores[] = $health_report->description;
+ }
+ return $descs;
+ }
+ function getHealthAverageScore() {
+ $arr = $this->getHealthScores();
+ $sum = 0;
+ foreach ($arr as $score) {
+ $sum += (int)$score;
+ }
+ $num = sizeof($arr);
+ if ($num != 0) {
+ return floor($sum/$num);
+ } else {
+ return null;
+ }
+ }
+
+ function getWeatherReportIcon() {
+ $score = $this->getHealthAverageScore();
+ if ($score >= 80) {
+ return $this->getIconsPath()."health_80_plus.gif";
+ } elseif ($score >= 60) {
+ return $this->getIconsPath()."health_60_to_79.gif";
+ } elseif ($score >= 40) {
+ return $this->getIconsPath()."health_40_to_59.gif";
+ } elseif ($score >= 20) {
+ return $this->getIconsPath()."health_20_to_39.gif";
+ } else {
+ return $this->getIconsPath()."health_00_to_19.gif";
+ }
+ }
+
+ /**
+ * Launch a Build for this job on the Continuous Integration server.
+ *
+ * @exception if unable to open build URL or if response is an error
+ *
+ * @param string $token if CI server has activated security (login/password), then a token is mandatory to build jobs. This token is defined in the job configuration.
+ * @return response of build call.
+ */
+ function launchBuild($token = null) {
+ $url = $this->hudson_dobuild_url;
+ if ($token != null) {
+ $url .= '?token='.$token;
+ }
+ $params = array('http' => array(
+ 'method' => 'POST',
+ 'content' => ''
+ ));
+ $ctx = stream_context_create($params);
+ $fp = fopen($url, 'rb', false, $ctx);
+ if (!$fp) {
+ throw new Exception("Problem with $url");
+ }
+ $response = stream_get_contents($fp);
+ if ($response === false) {
+ throw new Exception("Problem reading data from $url");
+ }
+ return $response;
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileException.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileException.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileException.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+class HudsonJobURLFileException extends Exception {
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileNotFoundException.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileNotFoundException.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLFileNotFoundException.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+class HudsonJobURLFileNotFoundException extends HudsonJobURLFileException {
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLMalformedException.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLMalformedException.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobURLMalformedException.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+class HudsonJobURLMalformedException extends Exception {
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobWidget.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobWidget.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonJobWidget.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,95 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('HudsonWidget.class.php');
+require_once('common/widget/Widget.class.php');
+require_once('PluginHudsonJobDao.class.php');
+
+abstract class HudsonJobWidget extends HudsonWidget {
+
+ var $widget_id;
+ var $group_id;
+
+ var $job;
+ var $job_url;
+ var $job_id;
+
+ function isUnique() {
+ return false;
+ }
+
+ function create(&$request) {
+ $content_id = false;
+ $vId = new Valid_Uint('job_id');
+ $vId->setErrorMessage("Can't add empty job id");
+ $vId->required();
+ if ($request->valid($vId)) {
+ $job_id = $request->get('job_id');
+ $sql = 'INSERT INTO plugin_hudson_widget (widget_name, owner_id, owner_type, job_id) VALUES ("' . $this->id . '", '. $this->owner_id .", '". $this->owner_type ."', " . db_escape_int($job_id) ." )";
+ $res = db_query($sql);
+ $content_id = db_insertid($res);
+ }
+ return $content_id;
+ }
+
+ function destroy($id) {
+ $sql = 'DELETE FROM plugin_hudson_widget WHERE id = '. $id .' AND owner_id = '. $this->owner_id ." AND owner_type = '". $this->owner_type ."'";
+ db_query($sql);
+ }
+
+ function getInstallPreferences() {
+ $prefs = '';
+ $prefs .= '<strong>'._("Monitored job:").'</strong><br />';
+
+ $jobs = $this->getAvailableJobs();
+
+ foreach ($jobs as $job_id => $job) {
+ $prefs .= '<input type="radio" name="job_id" value="'.$job_id.'"> '.$job->getName().'<br />';
+ }
+ return $prefs;
+ }
+ function hasPreferences() {
+ return true;
+ }
+ function getPreferences() {
+ $prefs = '';
+ $prefs .= '<strong>'._("Monitored job:").'</strong><br />';
+
+ $jobs = $this->getAvailableJobs();
+
+ foreach ($jobs as $job_id => $job) {
+ $selected = ($job_id == $this->job_id)?'checked="checked"':'';
+ $prefs .= '<input type="radio" name="' . $this->id . '" value="'.$job_id.'" ' . $selected . '> '.$job->getName().'<br />';
+ }
+ return $prefs;
+ }
+
+ function updatePreferences(&$request) {
+ $request->valid(new Valid_String('cancel'));
+ if (!$request->exist('cancel')) {
+ $job_id = $request->get($this->id);
+ $sql = "UPDATE plugin_hudson_widget SET job_id=". $job_id ." WHERE owner_id = ". $this->owner_id ." AND owner_type = '". $this->owner_type ."' AND id = ". (int)$request->get('content_id');
+ $res = db_query($sql);
+ }
+ return true;
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonOverviewWidget.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonOverviewWidget.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonOverviewWidget.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('HudsonWidget.class.php');
+
+abstract class HudsonOverviewWidget extends HudsonWidget {
+
+ function isUnique() {
+ return true;
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonTestResult.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonTestResult.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonTestResult.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,108 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('hudson.class.php');
+require_once('HudsonJobURLMalformedException.class.php');
+require_once('HudsonJobURLFileException.class.php');
+require_once('HudsonJobURLFileNotFoundException.class.php');
+
+class HudsonTestResult {
+
+ protected $hudson_test_result_url;
+ protected $dom_job;
+
+ private $context;
+
+ /**
+ * Construct an Hudson job from a job URL
+ */
+ function HudsonTestResult($hudson_job_url) {
+ $parsed_url = parse_url($hudson_job_url);
+
+ if ( ! $parsed_url || ! array_key_exists('scheme', $parsed_url) ) {
+ throw new HudsonJobURLMalformedException(vsprintf(_("Wrong Job URL: %s"), array($hudson_job_url)));
+ }
+
+ $this->hudson_test_result_url = $hudson_job_url . "/lastBuild/testReport/api/xml/";
+
+ $controler = $this->getHudsonControler();
+
+ $this->_setStreamContext();
+
+ $this->buildJobObject();
+
+ }
+ function getHudsonControler() {
+ return new hudson();
+ }
+
+ public function buildJobObject() {
+ $this->dom_job = $this->_getXMLObject($this->hudson_test_result_url);
+ }
+
+ protected function _getXMLObject($hudson_test_result_url) {
+ $xmlstr = @file_get_contents($hudson_test_result_url, false, $this->context);
+ if ($xmlstr !== false) {
+ $xmlobj = simplexml_load_string($xmlstr);
+ if ($xmlobj !== false) {
+ return $xmlobj;
+ } else {
+ throw new HudsonJobURLFileException(vsprintf(_("Unable to read file at URL: %s"), array($hudson_test_result_url)));
+ }
+ } else {
+ throw new HudsonJobURLFileNotFoundException(vsprintf(_("File not found at URL: %s"), array($hudson_test_result_url)));
+ }
+ }
+
+ private function _setStreamContext() {
+ if (array_key_exists('sys_proxy', $GLOBALS) && $GLOBALS['sys_proxy']) {
+ $context_opt = array(
+ 'http' => array(
+ 'method' => 'GET',
+ 'proxy' => $GLOBALS['sys_proxy'],
+ 'request_fulluri' => True,
+ 'timeout' => 5.0,
+ ),
+ );
+ $this->context = stream_context_create($context_opt);
+ } else {
+ $this->context = null;
+ }
+ }
+
+ function getFailCount() {
+ return $this->dom_job->failCount;
+ }
+ function getPassCount() {
+ return $this->dom_job->passCount;
+ }
+ function getSkipCount() {
+ return $this->dom_job->skipCount;
+ }
+ function getTotalCount() {
+ return $this->getFailCount() + $this->getPassCount() + $this->getSkipCount();
+ }
+
+ function getTestResultPieChart() {
+ return '<img class="test_result_pie_chart" src="/plugins/hudson/test_result_pie_chart.php?p='.$this->getPassCount().'&f='.$this->getFailCount().'&s='.$this->getSkipCount().'" alt="Test result: '.$this->getPassCount().'/'.$this->getTotalCount().'" title="Test result: '.$this->getPassCount().'/'.$this->getTotalCount().'" />';
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonWidget.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonWidget.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/HudsonWidget.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,80 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('common/widget/Widget.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('common/widget/WidgetLayoutManager.class.php');
+
+abstract class HudsonWidget extends Widget {
+
+ function getCategory() {
+ return 'ci';
+ }
+
+ protected function getAvailableJobs() {
+ $jobs = array();
+ if ($this->owner_type == WidgetLayoutManager::OWNER_TYPE_USER) {
+ $jobs = $this->getJobsByUser($user = UserManager::instance()->getCurrentUser()->getId());
+ } else {
+ $jobs = $this->getJobsByGroup($this->group_id);
+ }
+ return $jobs;
+ }
+
+ protected function getJobsByGroup($group_id) {
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByGroupID($group_id);
+ $jobs = array();
+ while ($dar->valid()) {
+ $row = $dar->current();
+ try {
+ $job = new Hudsonjob($row['job_url']);
+ $jobs[$row['job_id']] = $job;
+ } catch (exception $e) {
+ // Do not add unvalid jobs
+ }
+ $dar->next();
+ }
+ return $jobs;
+ }
+
+ protected function getJobsByUser($user_id) {
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByUserID($user_id);
+ $jobs = array();
+ while ($dar->valid()) {
+ $row = $dar->current();
+ try {
+ $job = new Hudsonjob($row['job_url']);
+ $jobs[$row['job_id']] = $job;
+ } catch (exception $e) {
+ // Do not add unvalid jobs
+ }
+ $dar->next();
+ }
+ return $jobs;
+ }
+
+ function isAjax() {
+ return true;
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/PluginHudsonJobDao.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/PluginHudsonJobDao.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/PluginHudsonJobDao.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,138 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('common/dao/include/DataAccessObject.class.php');
+
+/**
+ * Data Access Object for PluginHudsonJob
+ */
+class PluginHudsonJobDao extends DataAccessObject {
+ /**
+ * Constructs the PluginHudsonJobDao
+ * @param $da instance of the DataAccess class
+ */
+ function PluginHudsonJobDao( & $da ) {
+ DataAccessObject::DataAccessObject($da);
+ }
+
+ /**
+ * Gets all jobs in the db
+ * @return DataAccessResult
+ */
+ function & searchAll() {
+ $sql = "SELECT * FROM plugin_hudson_job";
+ return $this->retrieve($sql);
+ }
+
+ /**
+ * Searches PluginHudsonJob by Codendi group ID
+ * @return DataAccessResult
+ */
+ function & searchByGroupID($group_id) {
+ $sql = "SELECT *
+ FROM plugin_hudson_job
+ WHERE group_id = $1";
+ $group_id = $this->da->quoteSmart($group_id);
+ return $this->retrieve($sql,array($group_id));
+ }
+
+ /**
+ * Searches PluginHudsonJob by job ID
+ * @return DataAccessResult
+ */
+ function & searchByJobID($job_id) {
+ $sql = "SELECT *
+ FROM plugin_hudson_job
+ WHERE job_id = $1";
+ $job_id = $this->da->quoteSmart($job_id);
+ return $this->retrieve($sql,array($job_id));
+ }
+
+ /**
+ * Searches PluginHudsonJob by job name
+ * @return DataAccessResult
+ */
+ function & searchByJobName($job_name) {
+ $sql = "SELECT *
+ FROM plugin_hudson_job
+ WHERE name = $1";
+ $job_name = $this->da->quoteSmart($job_name);
+ return $this->retrieve($sql,array($job_name));
+ }
+
+ /**
+ * Searches PluginHudsonJob by user ID
+ * means "all the jobs of all projects the user is member of"
+ * @return DataAccessResult
+ */
+ function & searchByUserID($user_id) {
+ $sql = "SELECT j.*
+ FROM plugin_hudson_job j, user u, user_group ug
+ WHERE ug.group_id = j.group_id AND
+ u.user_id = ug.user_id AND
+ u.user_id = $1";
+ $user_id = $this->da->quoteSmart($user_id);
+ return $this->retrieve($sql,array($user_id));
+ }
+
+ /**
+ * create a row in the table plugin_hudson_job
+ * @return true if there is no error
+ */
+ function createHudsonJob($group_id, $hudson_job_url, $job_name, $use_svn_trigger = false, $use_cvs_trigger = false, $token = null) {
+ $sql = "INSERT INTO plugin_hudson_job (group_id, job_url, name, use_svn_trigger, use_cvs_trigger, token) VALUES ($1, $2, $3, $4, $5, $6)";
+ $group_id = $this->da->quoteSmart($group_id);
+ $hudson_job_url = $this->da->quoteSmart($hudson_job_url);
+ $job_name = $this->da->quoteSmart($job_name);
+ $use_svn_trigger = ($use_svn_trigger?1:0);
+ $use_cvs_trigger = ($use_cvs_trigger?1:0);
+ $token = (($token !== null)?$this->da->quoteSmart($token):$this->da->quoteSmart(''));
+ $ok = $this->update($sql,array($group_id, $hudson_job_url, $job_name , $use_svn_trigger, $use_cvs_trigger,$token));
+ return $ok;
+ }
+
+ function updateHudsonJob($job_id, $hudson_job_url, $job_name, $use_svn_trigger = false, $use_cvs_trigger = false, $token = null) {
+ $sql = "UPDATE plugin_hudson_job SET job_url = $1, name = $2, use_svn_trigger = $3, use_cvs_trigger = $4, token = $5 WHERE job_id = $6";
+ $hudson_job_url = $this->da->quoteSmart($hudson_job_url);
+ $job_name = $this->da->quoteSmart($job_name);
+ $use_svn_trigger = ($use_svn_trigger?1:0);
+ $use_cvs_trigger = ($use_cvs_trigger?1:0);
+ $token = (($token !== null)?$this->da->quoteSmart($token):$this->da->quoteSmart(''));
+ $job_id=$this->da->quoteSmart($job_id);
+ $ok = $this->update($sql,array($hudson_job_url, $job_name , $use_svn_trigger, $use_cvs_trigger,$token, $job_id));
+ return $ok;
+ }
+
+ function deleteHudsonJob($job_id) {
+ $sql = "DELETE FROM plugin_hudson_job WHERE job_id = $1";
+ $job_id=$this->da->quoteSmart($job_id);
+ $updated = $this->update($sql,array($job_id));
+ return $updated;
+ }
+
+ function deleteHudsonJobsByGroupID($group_id) {
+ $sql = "DELETE FROM plugin_hudson_job WHERE group_id = $1";
+ $group_id = $this->da->quoteSmart($group_id);
+ $updated = $this->update($sql,array($group_id));
+ return $updated;
+ }
+
+}
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,142 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once('common/mvc/Controler.class.php');
+require_once('hudsonViews.class.php');
+require_once('hudsonActions.class.php');
+/**
+ * hudson */
+class hudson extends Controler {
+
+ private $themePath;
+
+ function hudson() {
+ $p = PluginManager::instance()->getPluginByName('hudson');
+ $this->themePath = $p->getThemePath();
+ }
+
+ function getThemePath() {
+ return $this->themePath;
+ }
+ function getIconsPath() {
+ return $this->themePath . "/images/ic/";
+ }
+
+ function request() {
+global $feedback;
+ $request =& HTTPRequest::instance();
+ $vgi = new Valid_GroupId();
+ $vgi->required();
+ if ($request->valid($vgi)) {
+ $group_id = $request->get('group_id');
+ $pm = ProjectManager::instance();
+ $project = $pm->getProject($group_id);
+ if ($project->usesService('hudson')) {
+ $user = UserManager::instance()->getCurrentUser();
+ if ($user->isMember($group_id)) {
+ switch($request->get('action')) {
+ case 'add_job':
+ if ($user->isMember($group_id, 'A')) {
+ if ( $request->exist('hudson_job_url') && trim($request->get('hudson_job_url') != '') ) {
+ $this->action = 'addJob';
+ } else {
+ $feedback .= _("Missing Hudson job url (eg: http://myCIserver:8080/hudson/job/MyJob)");
+ }
+ $this->view = 'projectOverview';
+ } else {
+ $feedback .= _("Permission Denied");
+ $this->view = 'projectOverview';
+ }
+ break;
+ case 'edit_job':
+ if ($user->isMember($group_id,'A')) {
+ if ($request->exist('job_id')) {
+ $this->view = 'editJob';
+ } else {
+ $feedback .= _("Missing Hudson job ID");
+ }
+ } else {
+ $feedback .= _("Permission Denied");
+ $this->view = 'projectOverview';
+ }
+ break;
+ case 'update_job':
+ if ($user->isMember($group_id,'A')) {
+ if ($request->exist('job_id')) {
+ if ($request->exist('new_hudson_job_url') && $request->get('new_hudson_job_url') != '') {
+ $this->action = 'updateJob';
+ } else {
+ $feedback .= _("Missing Hudson job url (eg: http://myCIserver:8080/hudson/job/MyJob)");
+ }
+ } else {
+ $feedback .= _("Missing Hudson job ID");
+ }
+ $this->view = 'projectOverview';
+ } else {
+ $feedback .= _("Permission Denied");
+ $this->view = 'projectOverview';
+ }
+ break;
+ case 'delete_job':
+ if ($user->isMember($group_id,'A')) {
+ if ($request->exist('job_id')) {
+ $this->action = 'deleteJob';
+ } else {
+ $feedback .= _("Missing Hudson job ID");
+ }
+ $this->view = 'projectOverview';
+ } else {
+ $feedback .= _("Permission Denied");
+ $this->view = 'projectOverview';
+ }
+ break;
+ case "view_job":
+ $this->view = 'job_details';
+ break;
+ case "view_build":
+ $this->view = 'build_number';
+ break;
+ case "view_last_build":
+ $this->view = 'last_build';
+ break;
+ case "view_last_test_result":
+ $this->view = 'last_test_result';
+ break;
+ case "view_test_trend":
+ $this->view = 'test_trend';
+ break;
+ default:
+ $this->view = 'projectOverview';
+ break;
+ }
+ } else {
+ $feedback .= _("Permission Denied");
+ }
+
+ } else {
+ $feedback .= _("Hudson service is not enabled");
+ }
+ } else {
+ $feedback .= _("Missing group_id parameter.");
+ }
+ }
+}
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonActions.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonActions.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonActions.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,102 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('common/mvc/Actions.class.php');
+require_once('common/include/HTTPRequest.class.php');
+
+require_once('HudsonJob.class.php');
+require_once('PluginHudsonJobDao.class.php');
+
+/**
+ * hudsonActions
+ */
+class hudsonActions extends Actions {
+ function hudsonActions(&$controler, $view=null) {
+ $this->Actions($controler);
+ }
+
+ // {{{ Actions
+ function addJob() {
+ global $feedback;
+echo "coucou";
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_url = $request->get('hudson_job_url');
+ try {
+ $job = new HudsonJob($job_url);
+ $use_svn_trigger = ($request->get('hudson_use_svn_trigger') === 'on');
+ $use_cvs_trigger = ($request->get('hudson_use_cvs_trigger') === 'on');
+ if ($use_svn_trigger || $use_cvs_trigger) {
+ $token = $request->get('hudson_trigger_token');
+ } else {
+ $token = null;
+ }
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ if ( ! $job_dao->createHudsonJob($group_id, $job_url, $job->getName(), $use_svn_trigger, $use_cvs_trigger, $token)) {
+ $feedback .= _("Unable to add Hudson job.");
+ } else {
+ $feedback .= _("Hudson job added.");
+ }
+ } catch (Exception $e) {
+ $feedback .= $e->getMessage();
+ }
+echo $feedback;
+ }
+ function updateJob() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_id = $request->get('job_id');
+ $new_job_url = $request->get('new_hudson_job_url');
+ $new_job_name = $request->get('new_hudson_job_name');
+ if (strpos($new_job_name, " ") !== false) {
+ $new_job_name = str_replace(" ", "_", $new_job_name);
+ $feedback .= _('Spaces are not allowed in job name. They were replaced by "_".');
+ }
+ $new_use_svn_trigger = ($request->get('new_hudson_use_svn_trigger') === 'on');
+ $new_use_cvs_trigger = ($request->get('new_hudson_use_cvs_trigger') === 'on');
+ if ($new_use_svn_trigger || $new_use_cvs_trigger) {
+ $new_token = $request->get('new_hudson_trigger_token');
+ } else {
+ $new_token = null;
+ }
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ if ( ! $job_dao->updateHudsonJob($job_id, $new_job_url, $new_job_name, $new_use_svn_trigger, $new_use_cvs_trigger, $new_token)) {
+ $feedback .= _("Unable to update Hudson job");
+ } else {
+ $feedback .= _("Hudson job updated.");
+ }
+ }
+ function deleteJob() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_id = $request->get('job_id');
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ if ( ! $job_dao->deleteHudsonJob($job_id)) {
+ $feedback .= _("Unable to delete Hudson job");
+ } else {
+ $feedback .= _("Hudson job deleted.");
+ }
+ }
+ // }}}
+
+}
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPlugin.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPlugin.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPlugin.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,359 @@
+<?php
+/**
+ * @copyright Copyright (c) Xerox Corporation, Codendi 2007-2008.
+ *
+ * This file is licensed under the GNU General Public License version 2. See the file COPYING.
+ *
+ * @author Marc Nazarian <marc.nazarian at xrce.xerox.com>
+ *
+ * HudsonPlugin
+ */
+
+require_once('PluginHudsonJobDao.class.php');
+
+class hudsonPlugin extends Plugin {
+
+ function hudsonPlugin($id=0) {
+ $this->Plugin($id);
+ $this->name = "hudson" ;
+ $this->text = _('Continuous Integration') ; // To show in the tabs, use...
+ $this->_addHook("user_personal_links");//to make a link to the user�s personal part of the plugin
+ $this->_addHook("usermenu") ;
+ $this->_addHook("groupmenu"); // To put into the project tabs
+ $this->_addHook("groupisactivecheckbox") ; // The "use ..." checkbox in editgroupinfo
+ $this->_addHook("groupisactivecheckboxpost") ; //
+ $this->_addHook("userisactivecheckbox") ; // The "use ..." checkbox in user account
+ $this->_addHook("userisactivecheckboxpost") ; //
+ $this->_addHook("project_admin_plugins"); // to show up in the admin page fro group
+ $this->_addHook('javascript_file', 'jsFile', false);
+ $this->_addHook('javascript', false);
+ $this->_addHook('cssfile', 'cssFile', false);
+
+ $this->_addHook('project_is_deleted', 'projectIsDeleted', false);
+
+ $this->_addHook('widget_instance', 'myPageBox', false);
+ $this->_addHook('widgets', 'widgets', false);
+
+ $this->_addHook('get_available_reference_natures', 'getAvailableReferenceNatures', false);
+ $this->_addHook('ajax_reference_tooltip', 'ajax_reference_tooltip', false);
+ }
+ function CallHook ($hookname, $params) {
+ global $use_hudsonplugin,$G_SESSION,$HTML,$gfcommon,$gfwww,$gfplugins;
+ if ($hookname == "usermenu") {
+ $text = $this->text; // this is what shows in the tab
+ if ($G_SESSION->usesPlugin("hudson")) {
+ $param = '?type=user&id=' . $G_SESSION->getId() . "&pluginname=" . $this->name; // we indicate the part we�re calling is the user one
+ echo ' | ' . $HTML->PrintSubMenu (array ($text),
+ array ('/plugins/hudson/index.php' . $param ));
+ }
+ } elseif ($hookname == "groupmenu") {
+ $group_id=$params['group'];
+ $project = &group_get_object($group_id);
+ if (!$project || !is_object($project)) {
+ return;
+ }
+ if ($project->isError()) {
+ return;
+ }
+ if (!$project->isProject()) {
+ return;
+ }
+ if ( $project->usesPlugin ( $this->name ) ) {
+ $params['TITLES'][]=$this->text;
+ $params['DIRS'][]='/plugins/hudson/index.php?group_id=' . $group_id . "&pluginname=" . $this->name; // we indicate the part we�re calling is the project one
+ }
+ (($params['toptab'] == $this->name) ? $params['selected']=(count($params['TITLES'])-1) : '' );
+
+ } elseif ($hookname =='cssfile') {
+ echo '<link rel="stylesheet" type="text/css" href="/plugins/hudson/themes/default/css/style.css" />';
+ } elseif ($hookname == "groupisactivecheckbox") {
+ //Check if the group is active
+ // this code creates the checkbox in the project edit public info page to activate/deactivate the plugin
+ $group_id=$params['group'];
+ $group = &group_get_object($group_id);
+ echo "<tr>";
+ echo "<td>";
+ echo ' <input type="CHECKBOX" name="use_hudsonplugin" value="1" ';
+ // CHECKED OR UNCHECKED?
+ if ( $group->usesPlugin ( $this->name ) ) {
+ echo "CHECKED";
+ }
+ echo "><br/>";
+ echo "</td>";
+ echo "<td>";
+ echo "<strong>Use ".$this->text." Plugin</strong>";
+ echo "</td>";
+ echo "</tr>";
+
+ } elseif ($hookname == "groupisactivecheckboxpost") {
+ // this code actually activates/deactivates the plugin after the form was submitted in the project edit public info page
+ $group_id=$params['group'];
+ $group = &group_get_object($group_id);
+ $use_hudsonplugin = getStringFromRequest('use_hudsonplugin');
+ if ( $use_hudsonplugin == 1 ) {
+ $group->setPluginUse ( $this->name );
+ } else {
+ $group->setPluginUse ( $this->name, false );
+ }
+ } elseif ($hookname == "userisactivecheckbox") {
+ //check if user is active
+ // this code creates the checkbox in the user account manteinance page to activate/deactivate the plugin
+ $user = $params['user'];
+ echo "<tr>";
+ echo "<td>";
+ echo ' <input type="CHECKBOX" name="use_hudsonplugin" value="1" ';
+ // CHECKED OR UNCHECKED?
+ if ( $user->usesPlugin ( $this->name ) ) {
+ echo "CHECKED";
+ }
+ echo "> Use ".$this->text." Plugin";
+ echo "</td>";
+ echo "</tr>";
+ } elseif ($hookname == "userisactivecheckboxpost") {
+ // this code actually activates/deactivates the plugin after the form was submitted in the user account manteinance page
+ $user = $params['user'];
+ $use_hudsonplugin = getStringFromRequest('use_hudsonplugin');
+ if ( $use_hudsonplugin == 1 ) {
+ $user->setPluginUse ( $this->name );
+ } else {
+ $user->setPluginUse ( $this->name, false );
+ }
+ echo "<tr>";
+ echo "<td>";
+ echo ' <input type="CHECKBOX" name="use_hudsonplugin" value="1" ';
+ // CHECKED OR UNCHECKED?
+ if ( $user->usesPlugin ( $this->name ) ) {
+ echo "CHECKED";
+ }
+ echo "> Use ".$this->text." Plugin";
+ echo "</td>";
+ } elseif ($hookname == "cssfile") {
+ $this->cssFile($params);
+ } elseif ($hookname == "javascript_file") {
+ $this->jsFile($params);
+ } elseif ($hookname == "project_is_deleted") {
+ $this->projectIsDeleted($params);
+ } elseif ($hookname == "widget_instance") {
+ $this->myPageBox($params);
+ } elseif ($hookname == "widgets") {
+ $this->widgets($params);
+ } elseif ($hookname == "get_available_reference_natures") {
+ $this->getAvailableReferenceNatures($params);
+ } elseif ($hookname == "ajax_reference_tooltip") {
+ $this->ajax_reference_tooltip($params);
+
+ }
+ }
+ function &getPluginInfo() {
+ if (!is_a($this->pluginInfo, 'hudsonPluginInfo')) {
+ require_once('hudsonPluginInfo.class.php');
+ $this->pluginInfo =& new hudsonPluginInfo($this);
+ }
+ return $this->pluginInfo;
+ }
+
+ function cssFile($params) {
+ // Only show the stylesheet if we're actually in the hudson pages.
+ // This stops styles inadvertently clashing with the main site.
+ if (strpos($_SERVER['REQUEST_URI'], $this->getPluginPath()) === 0 ||
+ strpos($_SERVER['REQUEST_URI'], '/my/') === 0 ||
+ strpos($_SERVER['REQUEST_URI'], '/projects/') === 0 ||
+ strpos($_SERVER['REQUEST_URI'], '/widgets/') === 0
+ ) {
+ echo '<link rel="stylesheet" type="text/css" href="'.$this->getThemePath().'/css/style.css" />';
+ }
+ }
+
+ function jsFile($params) {
+ // Only include the js files if we're actually in the IM pages.
+ // This stops styles inadvertently clashing with the main site.
+ //if (strpos($_SERVER['REQUEST_URI'], $this->getPluginPath()) === 0) {
+ echo '<script type="text/javascript" src="/scripts/prototype/prototype.js"></script>'."\n";
+ echo '<script type="text/javascript" src="/scripts/scriptaculous/scriptaculous.js"></script>'."\n";
+ echo '<script type="text/javascript" src="/scripts/codendi/Tooltip.js"></script>'."\n";
+ echo '<script type="text/javascript" src="/scripts/codendi/cross_references.js"></script>'."\n";
+ echo '<script type="text/javascript" src="hudson_tab.js"></script>'."\n";
+ //}
+ }
+
+ /**
+ * When a project is deleted,
+ * we delete all the hudson jobs of this project
+ *
+ * @param mixed $params ($param['group_id'] the ID of the deleted project)
+ */
+ function projectIsDeleted($params) {
+ $group_id = $params['group_id'];
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->deleteHudsonJobsByGroupID($group_id);
+ }
+
+ function myPageBox($params) {
+ require_once('common/widget/WidgetLayoutManager.class.php');
+
+ $user = UserManager::instance()->getCurrentUser();
+
+ // MY
+ if ($params['widget'] == 'plugin_hudson_my_jobs') {
+ require_once('hudson_Widget_MyMonitoredJobs.class.php');
+ $params['instance'] = new hudson_Widget_MyMonitoredJobs($this);
+ }
+ if ($params['widget'] == 'plugin_hudson_my_joblastbuilds') {
+ require_once('hudson_Widget_JobLastBuilds.class.php');
+ $params['instance'] = new hudson_Widget_JobLastBuilds(WidgetLayoutManager::OWNER_TYPE_USER, $user->getId());
+ }
+ if ($params['widget'] == 'plugin_hudson_my_jobtestresults') {
+ require_once('hudson_Widget_JobTestResults.class.php');
+ $params['instance'] = new hudson_Widget_JobTestResults(WidgetLayoutManager::OWNER_TYPE_USER, $user->getId());
+ }
+ if ($params['widget'] == 'plugin_hudson_my_jobtesttrend') {
+ require_once('hudson_Widget_JobTestTrend.class.php');
+ $params['instance'] = new hudson_Widget_JobTestTrend(WidgetLayoutManager::OWNER_TYPE_USER, $user->getId());
+ }
+ if ($params['widget'] == 'plugin_hudson_my_jobbuildhistory') {
+ require_once('hudson_Widget_JobBuildHistory.class.php');
+ $params['instance'] = new hudson_Widget_JobBuildHistory(WidgetLayoutManager::OWNER_TYPE_USER, $user->getId());
+ }
+ if ($params['widget'] == 'plugin_hudson_my_joblastartifacts') {
+ require_once('hudson_Widget_JobLastArtifacts.class.php');
+ $params['instance'] = new hudson_Widget_JobLastArtifacts(WidgetLayoutManager::OWNER_TYPE_USER, $user->getId());
+ }
+
+ // PROJECT
+ if ($params['widget'] == 'plugin_hudson_project_jobsoverview') {
+ require_once('hudson_Widget_ProjectJobsOverview.class.php');
+ $params['instance'] = new hudson_Widget_ProjectJobsOverview($this);
+ }
+ if ($params['widget'] == 'plugin_hudson_project_joblastbuilds') {
+ require_once('hudson_Widget_JobLastBuilds.class.php');
+ $params['instance'] = new hudson_Widget_JobLastBuilds(WidgetLayoutManager::OWNER_TYPE_GROUP, $GLOBALS['group_id']);
+ }
+ if ($params['widget'] == 'plugin_hudson_project_jobtestresults') {
+ require_once('hudson_Widget_JobTestResults.class.php');
+ $params['instance'] = new hudson_Widget_JobTestResults(WidgetLayoutManager::OWNER_TYPE_GROUP, $GLOBALS['group_id']);
+ }
+ if ($params['widget'] == 'plugin_hudson_project_jobtesttrend') {
+ require_once('hudson_Widget_JobTestTrend.class.php');
+ $params['instance'] = new hudson_Widget_JobTestTrend(WidgetLayoutManager::OWNER_TYPE_GROUP, $GLOBALS['group_id']);
+ }
+ if ($params['widget'] == 'plugin_hudson_project_jobbuildhistory') {
+ require_once('hudson_Widget_JobBuildHistory.class.php');
+ $params['instance'] = new hudson_Widget_JobBuildHistory(WidgetLayoutManager::OWNER_TYPE_GROUP, $GLOBALS['group_id']);
+ }
+ if ($params['widget'] == 'plugin_hudson_project_joblastartifacts') {
+ require_once('hudson_Widget_JobLastArtifacts.class.php');
+ $params['instance'] = new hudson_Widget_JobLastArtifacts(WidgetLayoutManager::OWNER_TYPE_GROUP, $GLOBALS['group_id']);
+ }
+ }
+ function widgets($params) {
+ require_once('common/widget/WidgetLayoutManager.class.php');
+ if ($params['owner_type'] == WidgetLayoutManager::OWNER_TYPE_USER) {
+ $params['codendi_widgets'][] = 'plugin_hudson_my_jobs';
+ $params['codendi_widgets'][] = 'plugin_hudson_my_joblastbuilds';
+ $params['codendi_widgets'][] = 'plugin_hudson_my_jobtestresults';
+ $params['codendi_widgets'][] = 'plugin_hudson_my_jobtesttrend';
+ $params['codendi_widgets'][] = 'plugin_hudson_my_jobbuildhistory';
+ $params['codendi_widgets'][] = 'plugin_hudson_my_joblastartifacts';
+ }
+ if ($params['owner_type'] == WidgetLayoutManager::OWNER_TYPE_GROUP) {
+ $params['codendi_widgets'][] = 'plugin_hudson_project_jobsoverview';
+ $params['codendi_widgets'][] = 'plugin_hudson_project_joblastbuilds';
+ $params['codendi_widgets'][] = 'plugin_hudson_project_jobtestresults';
+ $params['codendi_widgets'][] = 'plugin_hudson_project_jobtesttrend';
+ $params['codendi_widgets'][] = 'plugin_hudson_project_jobbuildhistory';
+ $params['codendi_widgets'][] = 'plugin_hudson_project_joblastartifacts';
+ }
+ }
+
+ function getAvailableReferenceNatures($params) {
+ $hudson_plugin_reference_natures = array(
+ 'hudson_build' => array('keyword' => 'build', 'label' => _("Hudson Build")),
+ 'hudson_job' => array('keyword' => 'job', 'label' => _("Hudson Job")));
+ $params['natures'] = array_merge($params['natures'], $hudson_plugin_reference_natures);
+ }
+
+ function ajax_reference_tooltip($params) {
+ require_once('HudsonJob.class.php');
+ require_once('HudsonBuild.class.php');
+ require_once('hudson_Widget_JobLastBuilds.class.php');
+
+ $ref = $params['reference'];
+ switch ($ref->getNature()) {
+ case 'hudson_build':
+ $val = $params['val'];
+ $group_id = $params['group_id'];
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ if (strpos($val, "/") !== false) {
+ $arr = explode("/", $val);
+ $job_name = $arr[0];
+ $build_id = $arr[1];
+ $dar = $job_dao->searchByJobName($job_name, $group_id);
+ } else {
+ $build_id = $val;
+ $dar = $job_dao->searchByGroupID($group_id);
+ if ($dar->rowCount() != 1) {
+ $dar = null;
+ }
+ }
+ if ($dar && $dar->valid()) {
+ $row = $dar->current();
+ $build = new HudsonBuild($row['job_url'].'/'.$build_id.'/');
+ echo '<strong>' . _("Build performed on:") . '</strong> ' . $build->getBuildTime() . '<br />';
+ echo '<strong>' . _("Status:") . '</strong> ' . $build->getResult();
+ } else {
+ echo '<span class="error">'._("Error: Hudson object not found.").'</span>';
+ }
+ break;
+ case 'hudson_job':
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $job_name = $params['val'];
+ $group_id = $params['group_id'];
+ $dar = $job_dao->searchByJobName($job_name, $group_id);
+ if ($dar->valid()) {
+ $row = $dar->current();
+ try {
+ $job = new HudsonJob($row['job_url']);
+ $job_id = $row['job_id'];
+ $html = '';
+ $html .= '<table>';
+ $html .= ' <tr>';
+ $html .= ' <td colspan="2">';
+ $html .= ' '.$job->getName().': <img src="'.$job->getStatusIcon().'" />';
+ $html .= ' </td>';
+ $html .= ' </tr>';
+ $html .= ' <tr>';
+ $html .= ' <td>';
+ $html .= ' <ul>';
+ if ($job->hasBuilds()) {
+ $html .= ' <li>'._("Last Build:").' <a href="/plugins/hudson/?action=view_build&group_id='.$group_id.'&job_id='.$job_id.'&build_id='.$job->getLastBuildNumber().'"># '.$job->getLastBuildNumber().'</a></li>';
+ $html .= ' <li>'._("Last Success:").' <a href="/plugins/hudson/?action=view_build&group_id='.$group_id.'&job_id='.$job_id.'&build_id='.$job->getLastSuccessfulBuildNumber().'"># '.$job->getLastSuccessfulBuildNumber().'</a></li>';
+ $html .= ' <li>'._("Last Failure:").' <a href="/plugins/hudson/?action=view_build&group_id='.$group_id.'&job_id='.$job_id.'&build_id='.$job->getLastFailedBuildNumber().'"># '.$job->getLastFailedBuildNumber().'</a></li>';
+ } else {
+ $html .= ' <li>'. _("No build found for this job.") . '</li>';
+ }
+ $html .= ' </ul>';
+ $html .= ' </td>';
+ $html .= ' <td class="widget_lastbuilds_weather">';
+ $html .= _("Weather Report:").'<img src="'.$job->getWeatherReportIcon().'" align="middle" />';
+ $html .= ' </td>';
+ $html .= ' </tr>';
+ $html .= '</table>';
+ echo $html;
+ } catch (Exception $e) {
+ }
+ } else {
+ echo '<span class="error">'._("Error: Hudson object not found.").'</span>';
+ }
+ break;
+ }
+ }
+
+ function process() {
+ require_once('hudson.class.php');
+ $controler =& new hudson();
+ $controler->process();
+ }
+
+}
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginDescriptor.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginDescriptor.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginDescriptor.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('common/plugin/PluginDescriptor.class.php');
+
+class hudsonPluginDescriptor extends PluginDescriptor {
+
+ function hudsonPluginDescriptor() {
+ $this->PluginDescriptor(_("Continuous Integration"), '1.0', _("Continuous Integration with Hudson"));
+ }
+}
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginInfo.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginInfo.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonPluginInfo.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once('common/plugin/PluginInfo.class.php');
+require_once('hudsonPluginDescriptor.class.php');
+
+class hudsonPluginInfo extends PluginInfo {
+
+ function hudsonPluginInfo(&$plugin) {
+ $this->PluginInfo($plugin);
+ $this->setPluginDescriptor(new hudsonPluginDescriptor());
+ }
+
+}
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonViews.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonViews.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudsonViews.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,428 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once('common/mvc/Views.class.php');
+/*require_once('common/include/HTTPRequest.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/project/ProjectManager.class.php');*/
+require_once('common/reference/CrossReferenceFactory.class.php');
+
+require_once('HudsonJob.class.php');
+
+class hudsonViews extends Views {
+
+ function hudsonViews(&$controler, $view=null) {
+ $this->View($controler, $view);
+ }
+
+ function header() {
+ $request =& HTTPRequest::instance();
+ $GLOBALS['HTML']->header(array('title'=>$this->_getTitle(),'group' => $request->get('group_id'), 'toptab' => 'hudson'));
+ echo $this->_getHelp();
+ echo '<h2>'.$this->_getTitle().'</h2>';
+ }
+ function _getTitle() {
+ return _("Continuous Integration");
+ }
+ function _getHelp($section = '', $questionmark = false) {
+ if (trim($section) !== '' && $section{0} !== '#') {
+ $section = '#'.$section;
+ }
+ if ($questionmark) {
+ $help_label = '[?]';
+ } else {
+ $help_label = _("Help");
+ }
+// return '<b><a href="javascript:help_window(\''.get_server_url().'/documentation/user_guide/html/'.UserManager::instance()->getCurrentUser()->getLocale().'/ContinuousIntegrationWithHudson.html'.$section.'\');">'.$help_label.'</a></b>';
+ return '<b><a href="javascript:help_window(\''.get_server_url().'/documentation/user_guide/html/en_US/ContinuousIntegrationWithHudson.html'.$section.'\');">'.$help_label.'</a></b>';
+ }
+ function footer() {
+ $GLOBALS['HTML']->footer(array());
+ }
+
+ // {{{ Views
+ function projectOverview() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $user = UserManager::instance()->getCurrentUser();
+
+ $this->_display_jobs_table($group_id);
+ if ($user->isMember($request->get('group_id'), 'A')) {
+ $this->_display_add_job_form($group_id);
+ }
+ $this->_display_iframe();
+ $this->_hide_iframe();
+ }
+
+ function job_details() {
+$myfile=fopen('/tmp/jobdetails','a');
+fwrite($myfile,"\n J'ai fait job detail");
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ if ($request->exist('job_id')) {
+ $job_id = $request->get('job_id');
+ $dar = $job_dao->searchByJobID($job_id);
+ } elseif ($request->exist('job')) {
+ // used for references (job #MyJob or job #myproject:MyJob)
+ $job_name = $request->get('job');
+ $dar = $job_dao->searchByJobName($job_name, $group_id);
+ }
+ if ($dar->valid()) {
+ $row = $dar->current();
+fwrite($myfile,"appel de Cross REf Factory avec :".$row['name']);
+ $crossref_fact= new CrossReferenceFactory($row['name'], 'hudson_job', $group_id);
+ $crossref_fact->fetchDatas();
+ if ($crossref_fact->getNbReferences() > 0) {
+ echo '<b> '._('References').'</b>';
+ $crossref_fact->DisplayCrossRefs();
+ }
+ $this->_display_iframe($row['job_url']);
+fwrite($myfile,"display iframe de ".$row['job_url']);
+ } else {
+ echo '<span class="error">'._("Error: Hudson object not found.").'</span>';
+ }
+ }
+
+ function last_build() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_id = $request->get('job_id');
+
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByJobID($job_id);
+ if ($dar->valid()) {
+ $row = $dar->current();
+ $this->_display_iframe($row['job_url'].'/lastBuild/');
+ } else {
+ echo '<span class="error">'._("Error: Hudson object not found.").'</span>';
+ }
+ }
+
+ function build_number() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ if ($request->exist('build')) {
+ $build_id = $request->get('build');
+ } else {
+ $build_id = $request->get('build_id');
+ }
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ if ($request->exist('job_id')) {
+ $job_id = $request->get('job_id');
+ $dar = $job_dao->searchByJobID($job_id);
+ } elseif ($request->exist('job')) {
+ // used for references (build #MyJob/175 or job #myproject:MyJob/175 where 175 is the build number required)
+ $job_name = $request->get('job');
+ $dar = $job_dao->searchByJobName($job_name, $group_id);
+ } else {
+ // used for references (build #175 where 175 is the build number required)
+ // If no job or project is specified, we check if there is only one job associated to the current project and we assume it is this job.
+ $dar = $job_dao->searchByGroupID($group_id);
+ if ($dar->rowCount() != 1) {
+ $dar = null;
+ }
+ }
+
+ if ($dar && $dar->valid()) {
+ $row = $dar->current();
+ $crossref_fact= new CrossReferenceFactory($row['name'].'/'.$build_id, 'hudson_build', $group_id);
+ $crossref_fact->fetchDatas();
+ if ($crossref_fact->getNbReferences() > 0) {
+ echo '<b> '._('References').'</b>';
+ $crossref_fact->DisplayCrossRefs();
+ }
+ $this->_display_iframe($row['job_url'].'/'.$build_id.'/');
+ } else {
+ echo '<span class="error">'._("Error: Hudson object not found.").'</span>';
+ }
+ }
+
+ function last_test_result() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_id = $request->get('job_id');
+ $user = UserManager::instance()->getCurrentUser();
+
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByJobID($job_id);
+ if ($dar->valid()) {
+ $row = $dar->current();
+ $this->_display_iframe($row['job_url'].'/lastBuild/testReport/');
+ } else {
+ echo '<span class="error">'._("Error: Hudson object not found.").'</span>';
+ }
+ }
+
+ function test_trend() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_id = $request->get('job_id');
+ $user = UserManager::instance()->getCurrentUser();
+
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByJobID($job_id);
+ if ($dar->valid()) {
+ $row = $dar->current();
+ $this->_display_iframe($row['job_url'].'/test/?width=800&height=600&failureOnly=false');
+ } else {
+ echo '<span class="error">'._("Error: Hudson object not found.").'</span>';
+ }
+ }
+
+ function editJob() {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $job_id = $request->get('job_id');
+ $user = UserManager::instance()->getCurrentUser();
+ if ($user->isMember($group_id, 'A')) {
+
+ $project_manager = ProjectManager::instance();
+ $project = $project_manager->getProject($group_id);
+
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByJobID($job_id);
+ if ($dar->valid()) {
+ $row = $dar->current();
+
+ echo '<a href="/plugins/hudson/?group_id='.$group_id.'">'._("Back to jobs list").'</a>';
+
+ echo '<h3>'._("Edit job").'</h3>';
+ echo ' <form method="post">';
+ echo ' <p>';
+ echo ' <label for="new_hudson_job_url">'._("Job URL:").'</label>';
+ echo ' <input id="new_hudson_job_url" name="new_hudson_job_url" type="text" value="'.$row['job_url'].'" size="64" />';
+ echo ' </p>';
+ echo ' <p>';
+ echo ' <span class="legend">'._("eg: http://myCIserver/hudson/job/myJob").'</span>';
+ echo ' </p>';
+ echo ' <p>';
+ echo ' <label for="new_hudson_job_name">'._("Job name:").'</label>';
+ echo ' <input id="new_hudson_job_name" name="new_hudson_job_name" type="text" value="'.$row['name'].'" size="32" />';
+ echo ' </p>';
+ echo ' <p>';
+ echo ' <span class="legend">'.vsprintf(_("Name (with no space) used to make a reference to this job. Eg: job #%s"), array($row['name'])).'</span>';
+ echo ' </p>';
+ if ($project->usesService('scmsvn') || $project->usesService('svn')) {
+ echo ' <p>';
+ echo ' <label for="new_hudson_use_svn_trigger">'._("Trigger a build after SVN commits:").'</label>';
+ if ($row['use_svn_trigger'] == 1) {
+ $checked = ' checked="checked" ';
+ } else {
+ $checked = '';
+ }
+ echo ' <input id="new_hudson_use_svn_trigger" name="new_hudson_use_svn_trigger" type="checkbox" '.$checked.' />';
+ echo ' </p>';
+ }
+ if ($project->usesService('scmcvs') || $project->usesService('cvs')) {
+ echo ' <p>';
+ echo ' <label for="new_hudson_use_cvs_trigger">'._("Trigger a build after CVS commits:").'</label>';
+ if ($row['use_cvs_trigger'] == 1) {
+ $checked = ' checked="checked" ';
+ } else {
+ $checked = '';
+ }
+ echo ' <input id="new_hudson_use_cvs_trigger" name="new_hudson_use_cvs_trigger" type="checkbox" '.$checked.' />';
+ echo ' </p>';
+ }
+ if ($project->usesService('scmsvn') || $project->usesService('svn') || $project->usesService('scmcvs') || $project->usesService('cvs')) {
+ echo ' <p>';
+ echo ' <label for="new_hudson_trigger_token">'._("with (optional) token:").'</label>';
+ echo ' <input id="new_hudson_trigger_token" name="new_hudson_trigger_token" type="text" value="'.$row['token'].'" size="32" />';
+ echo ' </p>';
+ }
+ echo ' <p>';
+ echo ' <input type="hidden" name="group_id" value="'.$group_id.'" />';
+ echo ' <input type="hidden" name="job_id" value="'.$job_id.'" />';
+ echo ' <input type="hidden" name="action" value="update_job" />';
+ echo ' <input type="submit" value="'._("Update job").'" />';
+ echo ' </p>';
+ echo ' </form>';
+
+ } else {
+
+ }
+ } else {
+
+ }
+ }
+ // }}}
+
+ function _display_jobs_table($group_id) {
+ $request =& HTTPRequest::instance();
+ $group_id = $request->get('group_id');
+ $user = UserManager::instance()->getCurrentUser();
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByGroupID($group_id);
+
+ if ($dar && $dar->valid()) {
+
+ $project_manager = ProjectManager::instance();
+ $project = $project_manager->getProject($group_id);
+
+ echo '<table id="jobs_table">';
+ echo ' <tr class="boxtable">';
+ echo ' <th class="boxtitle"> </th>';
+ echo ' <th class="boxtitle">'._("Job").'</th>';
+ echo ' <th class="boxtitle">'._("Last Success").'</th>';
+ echo ' <th class="boxtitle">'._("Last Failure").'</th>';
+ echo ' <th class="boxtitle">'._("RSS").'</th>';
+ if ($project->usesService('scmsvn') || $project->usesService('svn')) {
+ echo ' <th class="boxtitle">'._("SVN trigger").'</th>';
+ }
+ if ($project->usesService('scmcvs') || $project->usesService('cvs')) {
+ echo ' <th class="boxtitle">'._("CVS trigger").'</th>';
+ }
+ if ($user->isMember($request->get('group_id'), 'A')) {
+ echo ' <th class="boxtitle">'._("Actions").'</th>';
+ }
+ echo ' </tr>';
+
+ $cpt = 1;
+ while ($dar->valid()) {
+ $row = $dar->current();
+ if ($cpt % 2 == 0) {
+ $class="boxitemalt bgcolor-white";
+ } else {
+ $class="boxitem bgcolor-grey";
+ }
+ echo ' <tr class="'. $class .'">';
+
+ try {
+ $job = new HudsonJob($row['job_url']);
+
+ echo ' <td><img src="'.$job->getStatusIcon().'" alt="'.$job->getStatus().'" title="'.$job->getStatus().'" /></td>';
+ // function toggle_iframe is in script plugins/hudson/www/hudson_tab.js
+ echo ' <td class="boxitem"><a href="'.$job->getUrl().'" onclick="toggle_iframe(this); return false;" title="'.vsprintf(_("Show job %s"), array($row['name'])).'">'.$row['name'].'</a></td>';
+ if ($job->getLastSuccessfulBuildNumber() != '') {
+ echo ' <td><a href="'.$job->getLastSuccessfulBuildUrl().'" onclick="toggle_iframe(this); return false;" title="'.sprintf(_("Show build #$1 of job $2"), array($job->getLastSuccessfulBuildNumber(), $row['name'])).'">'._("build").' #'.$job->getLastSuccessfulBuildNumber().'</a></td>';
+ } else {
+ echo ' <td> </td>';
+ }
+ if ($job->getLastFailedBuildNumber() != '') {
+ echo ' <td><a href="'.$job->getLastFailedBuildUrl().'" onclick="toggle_iframe(this); return false;" title="'.sprintf(_("Show build #$1 of job $2"), array($job->getLastFailedBuildNumber(), $row['name'])).'">'._("build").' #'.$job->getLastFailedBuildNumber().'</a></td>';
+ } else {
+ echo ' <td> </td>';
+ }
+ echo ' <td align="center"><a href="'.$job->getUrl().'/rssAll" onclick="toggle_iframe(this); return false;"><img src="'.$this->getControler()->getIconsPath().'rss_feed.png" alt="'.vsprintf(_("RSS feed of all builds for %s job"), array($row['name'])).'" title="'.vsprintf(_("RSS feed of all builds for %s job"), array($row['name'])).'"></a></td>';
+
+ if ($project->usesService('scmsvn') || $project->usesService('svn')) {
+ if ($row['use_svn_trigger'] == 1) {
+ echo ' <td align="center"><img src="'.$this->getControler()->getIconsPath().'server_lightning.png" alt="'._("SVN commit will trigger a build").'" title="'._("SVN commit will trigger a build").'"></td>';
+ } else {
+ echo ' <td> </td>';
+ }
+ }
+ if ($project->usesService('scmcvs') || $project->usesService('cvs')) {
+ if ($row['use_cvs_trigger'] == 1) {
+ echo ' <td align="center"><img src="'.$this->getControler()->getIconsPath().'server_lightning.png" alt="'._("CVS commit will trigger a build").'" title="'._("CVS commit will trigger a build").'"></td>';
+ } else {
+ echo ' <td> </td>';
+ }
+ }
+
+ } catch (Exception $e) {
+ echo ' <td><img src="'.$this->getControler()->getIconsPath().'link_error.png" alt="'.$e->getMessage().'" title="'.$e->getMessage().'" /></td>';
+ $nb_columns = 4;
+ if ($project->usesService('scmsvn') || $project->usesService('svn')) { $nb_columns++; }
+ if ($project->usesService('scmcvs') || $project->usesService('cvs')) { $nb_columns++; }
+ echo ' <td colspan="'.$nb_columns.'"><span class="error">'.$e->getMessage().'</span></td>';
+ }
+
+ if ($user->isMember($request->get('group_id'), 'A')) {
+ echo ' <td>';
+ // edit job
+ echo ' <span class="job_action">';
+ echo ' <a href="?action=edit_job&group_id='.$group_id.'&job_id='.$row['job_id'].'"><img src="'.$this->getControler()->getIconsPath().'edit.png" alt="'._("Edit this job").' title="'._("Edit this job").'">';
+ echo '</a>';
+ echo ' </span>';
+ // delete job
+ echo ' <span class="job_action">';
+ echo ' <a href="?action=delete_job&group_id='.$group_id.'&job_id='.$row['job_id'].'" onclick="return confirm(';
+ echo "'" . sprintf(_("Are you sure you want to delete Job $1 from project $2?"), array($row['name'], $project->getUnixName())) . "'";
+ echo ');"><img src="'.$this->getControler()->getIconsPath().'cross.png" alt="'._("Delete this job").' title="'._("Delete this job").'">';
+ echo '</a>';
+ echo ' </span>';
+ echo ' </td>';
+ }
+
+ echo ' </tr>';
+
+ $dar->next();
+ $cpt++;
+ }
+ echo '</table>';
+ } else {
+ echo '<p>'._("No Hudson jobs associated with this project. To add a job, select the link just below.").'</p>';
+ }
+ }
+
+ function _display_add_job_form($group_id) {
+ $project_manager = ProjectManager::instance();
+ $project = $project_manager->getProject($group_id);
+
+ // function toggle_addurlform is in script plugins/hudson/www/hudson_tab.js
+ echo '<a href="#" onclick="toggle_addurlform(); return false;">' . getIcon("ic/add.png") . ' '._("Add job").'</a>';
+ echo ' '.$this->_getHelp('HudsonService', true);
+ echo '<div id="hudson_add_job">';
+ echo ' <form>';
+ echo ' <label for="hudson_job_url">'._("Job URL:").'</label>';
+ echo ' <input id="hudson_job_url" name="hudson_job_url" type="text" size="64" />';
+ echo ' <input type="hidden" name="group_id" value="'.$group_id.'" />';
+ echo ' <input type="hidden" name="action" value="add_job" />';
+ echo ' <br />';
+ echo ' <span class="legend">'._("eg: http://myCIserver/hudson/job/myJob").'</span>';
+ echo ' <br />';
+ //echo ' <p>';
+ if ($project->usesService('scmsvn') || $project->usesService('svn')) {
+ echo _("Trigger a build after commits:");
+ if ($project->usesService('scmsvn') || $project->usesService('svn')) {
+ echo ' <label for="hudson_use_svn_trigger">'._("SVN").'</label>';
+ echo ' <input id="hudson_use_svn_trigger" name="hudson_use_svn_trigger" type="checkbox" />';
+ }
+ if ($project->usesService('scmsvn') || $project->usesService('svn')) {
+ echo ' <label for="hudson_use_cvs_trigger">'._("CVS").'</label>';
+ echo ' <input id="hudson_use_cvs_trigger" name="hudson_use_cvs_trigger" type="checkbox" />';
+ }
+ //echo ' </p>';
+ //echo ' <p>';
+ echo ' <label for="hudson_trigger_token">'._("with (optional) token:").'</label>';
+ echo ' <input id="hudson_trigger_token" name="hudson_trigger_token" type="text" size="32" />';
+ //echo ' </p>';
+ echo ' <br />';
+ }
+ echo ' <input type="submit" value="Add job" />';
+ echo ' </form>';
+ echo '</div>';
+ echo "<script>Element.toggle('hudson_add_job', 'slide');</script>";
+ }
+
+ function _display_iframe($url = '') {
+ echo '<div id="hudson_iframe_div">';
+ htmlIframe($url, array('id' => 'hudson_iframe', 'class' => 'iframe_service'));
+ echo '</div>';
+ }
+ function _hide_iframe() {
+ echo "<script>Element.toggle('hudson_iframe_div', 'slide');</script>";
+ }
+ }
+
+
+ ?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobBuildHistory.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobBuildHistory.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobBuildHistory.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,107 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('HudsonJobWidget.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/include/HTTPRequest.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('HudsonJob.class.php');
+
+class hudson_Widget_JobBuildHistory extends HudsonJobWidget {
+
+ function hudson_Widget_JobBuildHistory($owner_type, $owner_id) {
+ $request =& HTTPRequest::instance();
+ if ($owner_type == WidgetLayoutManager::OWNER_TYPE_USER) {
+ $this->widget_id = 'plugin_hudson_my_jobbuildhistory';
+ $this->group_id = $owner_id;
+ } else {
+ $this->widget_id = 'plugin_hudson_project_jobbuildhistory';
+ $this->group_id = $request->get('group_id');
+ }
+ $this->Widget($this->widget_id);
+
+ $this->setOwner($owner_id, $owner_type);
+ }
+
+ function getTitle() {
+ $title = '';
+ if ($this->job) {
+ $title .= vsprintf(_("%s Builds History"), array($this->job->getName()));
+ } else {
+ $title .= _("$1 Builds History");
+ }
+ return $title;
+ }
+
+ function getDescription() {
+ return _("Show the build history of the selected job, under the form of RSS feed. For each build of the list, you can see the build number, the status and the date the build has been scheduled.");
+ }
+
+ function loadContent($id) {
+ $sql = "SELECT * FROM plugin_hudson_widget WHERE widget_name='" . $this->widget_id . "' AND owner_id = ". $this->owner_id ." AND owner_type = '". $this->owner_type ."' AND id = ". $id;
+ $res = db_query($sql);
+ if ($res && db_numrows($res)) {
+ $data = db_fetch_array($res);
+ $this->job_id = $data['job_id'];
+ $this->content_id = $id;
+
+ $jobs = $this->getAvailableJobs();
+
+ if (array_key_exists($this->job_id, $jobs)) {
+ $used_job = $jobs[$this->job_id];
+ $this->job_url = $used_job->getUrl();
+ $this->job = $used_job;
+ } else {
+ $this->job = null;
+ }
+
+ }
+ }
+
+ function getContent() {
+ $html = '';
+ if ($this->job != null) {
+
+ $job = $this->job;
+
+ $buildHistoryRSSWidget = new Widget_ProjectRss();
+ $buildHistoryRSSWidget->rss_url = $job->getUrl().'/rssAll';
+ $html .= $buildHistoryRSSWidget->getContent();
+
+ } else {
+ $html .= _("Job not found.");
+ }
+ return $html;
+ }
+
+ function hasRss() {
+ return true;
+ }
+ function getRssUrl() {
+ if ($this->job) {
+ return $this->job->getUrl().'/rssAll';
+ } else {
+ return null;
+ }
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastArtifacts.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastArtifacts.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastArtifacts.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('HudsonJobWidget.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/include/HTTPRequest.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('HudsonBuild.class.php');
+
+class hudson_Widget_JobLastArtifacts extends HudsonJobWidget {
+
+ var $build;
+ var $last_build_url;
+
+ function hudson_Widget_JobLastArtifacts($owner_type, $owner_id) {
+ $request =& HTTPRequest::instance();
+ if ($owner_type == WidgetLayoutManager::OWNER_TYPE_USER) {
+ $this->widget_id = 'plugin_hudson_my_joblastartifacts';
+ $this->group_id = $owner_id;
+ } else {
+ $this->widget_id = 'plugin_hudson_project_joblastartifacts';
+ $this->group_id = $request->get('group_id');
+ }
+ $this->Widget($this->widget_id);
+
+ $this->setOwner($owner_id, $owner_type);
+ }
+
+ function getTitle() {
+ $title = '';
+ if ($this->job) {
+ $title .= vsprintf(_("%s Last Artifacts"), array($this->job->getName()));
+ } else {
+ $title .= _("$1 Last Artifacts");
+ }
+ return $title;
+ }
+
+ function getDescription() {
+ return _("Show the last successfully published artifacts of one job. To display something, your job needs to publish artifacts.");
+ }
+
+ function loadContent($id) {
+ $sql = "SELECT * FROM plugin_hudson_widget WHERE widget_name='" . $this->widget_id . "' AND owner_id = ". $this->owner_id ." AND owner_type = '". $this->owner_type ."' AND id = ". $id;
+ $res = db_query($sql);
+ if ($res && db_numrows($res)) {
+ $data = db_fetch_array($res);
+ $this->job_id = $data['job_id'];
+ $this->content_id = $id;
+
+ $jobs = $this->getAvailableJobs();
+
+ if (array_key_exists($this->job_id, $jobs)) {
+ $used_job = $jobs[$this->job_id];
+ $this->job_url = $used_job->getUrl();
+ $this->job = $used_job;
+
+ $this->last_build_url = $this->job_url.'/lastBuild/';
+
+ try {
+ $this->build = new HudsonBuild($this->last_build_url);
+ } catch (Exception $e) {
+ $this->build = null;
+ }
+ } else {
+ $this->job = null;
+ $this->build = null;
+ }
+
+ }
+ }
+
+ function getContent() {
+ $html = '';
+ if ($this->job != null && $this->build != null) {
+
+ $build = $this->build;
+
+ $html .= '<ul>';
+ $dom = $build->getDom();
+ foreach ($dom->artifact as $artifact) {
+ $html .= ' <li><a href="'.$build->getUrl().'/artifact/'.$artifact->relativePath.'">'.$artifact->displayPath.'</a></li>';
+ }
+ $html .= '</ul>';
+ } else {
+ if ($this->job != null) {
+ $html .= _("No build found for this job.");
+ } else {
+ $html .= _("Job not found.");
+ }
+ }
+ return $html;
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastBuilds.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastBuilds.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobLastBuilds.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('HudsonJobWidget.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/include/HTTPRequest.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('HudsonJob.class.php');
+
+class hudson_Widget_JobLastBuilds extends HudsonJobWidget {
+
+ function hudson_Widget_JobLastBuilds($owner_type, $owner_id) {
+ $request =& HTTPRequest::instance();
+ if ($owner_type == WidgetLayoutManager::OWNER_TYPE_USER) {
+ $this->widget_id = 'plugin_hudson_my_joblastbuilds';
+ $this->group_id = $owner_id;
+ } else {
+ $this->widget_id = 'plugin_hudson_project_joblastbuilds';
+ $this->group_id = $request->get('group_id');
+ }
+ $this->Widget($this->widget_id);
+
+ $this->setOwner($owner_id, $owner_type);
+ }
+
+ function getTitle() {
+ $title = '';
+ if ($this->job) {
+ $title .= vsprintf(_("%s Last Builds"), array($this->job->getName()));
+ } else {
+ $title .= _("$1 Last Builds");
+ }
+ return $title;
+ }
+
+ function getDescription() {
+ return _("Show the last builds for this job (last one, last successfull, last failed) and the weather report. The trend is represented by a weather report (sun, thunder, etc.) meaning that the trend is good or not.");
+ }
+
+ function loadContent($id) {
+ $sql = "SELECT * FROM plugin_hudson_widget WHERE widget_name='" . $this->widget_id . "' AND owner_id = ". $this->owner_id ." AND owner_type = '". $this->owner_type ."' AND id = ". $id;
+ $res = db_query($sql);
+ if ($res && db_numrows($res)) {
+ $data = db_fetch_array($res);
+ $this->job_id = $data['job_id'];
+ $this->content_id = $id;
+
+ $jobs = $this->getAvailableJobs();
+
+ if (array_key_exists($this->job_id, $jobs)) {
+ $used_job = $jobs[$this->job_id];
+ $this->job_url = $used_job->getUrl();
+ $this->job = $used_job;
+ } else {
+ $this->job = null;
+ }
+
+ }
+ }
+
+ function getContent() {
+ $html = '';
+ if ($this->job != null) {
+ $job = $this->job;
+
+ $html .= '<table width="100%">';
+ $html .= ' <tr>';
+ $html .= ' <td>';
+ $html .= ' <ul>';
+ if ($job->hasBuilds()) {
+ $html .= ' <li>'._("Last Build:").' <a href="/plugins/hudson/?action=view_build&group_id='.$this->group_id.'&job_id='.$this->job_id.'&build_id='.$job->getLastBuildNumber().'"># '.$job->getLastBuildNumber().'</a></li>';
+ $html .= ' <li>'._("Last Success:").' <a href="/plugins/hudson/?action=view_build&group_id='.$this->group_id.'&job_id='.$this->job_id.'&build_id='.$job->getLastSuccessfulBuildNumber().'"># '.$job->getLastSuccessfulBuildNumber().'</a></li>';
+ $html .= ' <li>'._("Last Failure:").' <a href="/plugins/hudson/?action=view_build&group_id='.$this->group_id.'&job_id='.$this->job_id.'&build_id='.$job->getLastFailedBuildNumber().'"># '.$job->getLastFailedBuildNumber().'</a></li>';
+ } else {
+ $html .= ' <li>'. _("No build found for this job.") . '</li>';
+ }
+ $html .= ' </ul>';
+ $html .= ' </td>';
+ $html .= ' <td class="widget_lastbuilds_weather">';
+ $html .= _("Weather Report:").'<img src="'.$job->getWeatherReportIcon().'" class="widget_lastbuilds_weather_img" />';
+ $html .= ' </td>';
+ $html .= ' </tr>';
+ $html .= '</table>';
+ } else {
+ $html .= _("Job not found.");
+ }
+
+ return $html;
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestResults.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestResults.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestResults.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,115 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('HudsonJobWidget.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/include/HTTPRequest.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('HudsonJob.class.php');
+require_once('HudsonTestResult.class.php');
+
+class hudson_Widget_JobTestResults extends HudsonJobWidget {
+
+ var $test_result;
+
+ function hudson_Widget_JobTestResults($owner_type, $owner_id) {
+ $request =& HTTPRequest::instance();
+ if ($owner_type == WidgetLayoutManager::OWNER_TYPE_USER) {
+ $this->widget_id = 'plugin_hudson_my_jobtestresults';
+ $this->group_id = $owner_id;
+ } else {
+ $this->widget_id = 'plugin_hudson_project_jobtestresults';
+ $this->group_id = $request->get('group_id');
+ }
+ $this->Widget($this->widget_id);
+
+ $this->setOwner($owner_id, $owner_type);
+ }
+
+ function getTitle() {
+ $title = '';
+ if ($this->job && $this->test_result) {
+ $title .= TODOBETTERvsprintf(_("$1 Test Results ($2 / $3)"), array($this->job->getName(), $this->test_result->getPassCount(), $this->test_result->getTotalCount()));
+ } elseif ($this->job && ! $this->test_result) {
+ $title .= vsprintf(_("%s Test Results"), array($this->job->getName()));
+ } else {
+ $title .= _("Test Results");
+ }
+ return $title;
+ }
+
+ function getDescription() {
+ return _("Show the test results of the latest build for the selected job.To display something, your job needs to execute tests and publish them. The result is shown on a pie chart.");
+ }
+
+ function loadContent($id) {
+ $sql = "SELECT * FROM plugin_hudson_widget WHERE widget_name='" . $this->widget_id . "' AND owner_id = ". $this->owner_id ." AND owner_type = '". $this->owner_type ."' AND id = ". $id;
+ $res = db_query($sql);
+ if ($res && db_numrows($res)) {
+ $data = db_fetch_array($res);
+ $this->job_id = $data['job_id'];
+ $this->content_id = $id;
+
+ $jobs = $this->getAvailableJobs();
+
+ if (array_key_exists($this->job_id, $jobs)) {
+ $used_job = $jobs[$this->job_id];
+ $this->job_url = $used_job->getUrl();
+ $this->job = $used_job;
+
+ try {
+ $this->test_result = new HudsonTestResult($this->job_url);
+ } catch (Exception $e) {
+ $this->test_result = null;
+ }
+
+ } else {
+ $this->job = null;
+ $this->test_result = null;
+ }
+
+ }
+ }
+
+ function getContent() {
+ $html = '';
+ if ($this->job != null && $this->test_result != null) {
+
+ $job = $this->job;
+ $test_result = $this->test_result;
+
+ $html .= '<div style="padding: 20px;">';
+ $html .= ' <a href="/plugins/hudson/?action=view_last_test_result&group_id='.$this->group_id.'&job_id='.$this->job_id.'">'.$test_result->getTestResultPieChart().'</a>';
+ $html .= '</div>';
+
+ } else {
+ if ($this->job != null) {
+ $html .= _("No test found for this job.");
+ } else {
+ $html .= _("Job not found.");
+ }
+ }
+
+ return $html;
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestTrend.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestTrend.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_JobTestTrend.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,113 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('HudsonJobWidget.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/include/HTTPRequest.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('HudsonJob.class.php');
+
+require_once('HudsonTestResult.class.php');
+
+class hudson_Widget_JobTestTrend extends HudsonJobWidget {
+
+ function hudson_Widget_JobTestTrend($owner_type, $owner_id) {
+ $request =& HTTPRequest::instance();
+ if ($owner_type == WidgetLayoutManager::OWNER_TYPE_USER) {
+ $this->widget_id = 'plugin_hudson_my_jobtesttrend';
+ $this->group_id = $owner_id;
+ } else {
+ $this->widget_id = 'plugin_hudson_project_jobtesttrend';
+ $this->group_id = $request->get('group_id');
+ }
+ $this->Widget($this->widget_id);
+
+ $this->setOwner($owner_id, $owner_type);
+ }
+
+ function getTitle() {
+ $title = '';
+ if ($this->job) {
+ $title .= vsprintf(_("%s Test Result Trend"), array($this->job->getName()));
+ } else {
+ $title .= _("$1 Test Result Trend");
+ }
+ return $title;
+ }
+
+ function getDescription() {
+ return _("Show the test result trend for the selected job. To display something, your job needs to have tests. The graph will show the number of tests (failed and successfull) along time. The number of tests is increasing while the number of build and commits are increasing too.");
+ }
+
+ function loadContent($id) {
+ $sql = "SELECT * FROM plugin_hudson_widget WHERE widget_name='" . $this->widget_id . "' AND owner_id = ". $this->owner_id ." AND owner_type = '". $this->owner_type ."' AND id = ". $id;
+ $res = db_query($sql);
+ if ($res && db_numrows($res)) {
+ $data = db_fetch_array($res);
+ $this->job_id = $data['job_id'];
+ $this->content_id = $id;
+
+ $jobs = $this->getAvailableJobs();
+
+ if (array_key_exists($this->job_id, $jobs)) {
+ $used_job = $jobs[$this->job_id];
+ $this->job_url = $used_job->getUrl();
+ $this->job = $used_job;
+
+ try {
+ $this->test_result = new HudsonTestResult($this->job_url);
+ } catch (Exception $e) {
+ $this->test_result = null;
+ }
+
+ } else {
+ $this->job = null;
+ $this->test_result = null;
+ }
+
+ }
+ }
+
+ function getContent() {
+ $html = '';
+ if ($this->job != null && $this->test_result != null) {
+
+ $job = $this->job;
+
+ $html .= '<div style="padding: 20px;">';
+ $html .= '<a href="/plugins/hudson/?action=view_test_trend&group_id='.$this->group_id.'&job_id='.$this->job_id.'">';
+ $html .= '<img src="'.$job->getUrl().'/test/trend?width=320&height=240" alt="'.vsprintf(_("%s Test Result Trend"), array($this->job->getName())).'" title="'.vsprintf(_("%s Test Result Trend"), array($this->job->getName())).'" />';
+ $html .= '</a>';
+ $html .= '</div>';
+
+ } else {
+ if ($this->job != null) {
+ $html .= _("No test found for this job.");
+ } else {
+ $html .= _("Job not found.");
+ }
+ }
+
+ return $html;
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_MyMonitoredJobs.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_MyMonitoredJobs.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_MyMonitoredJobs.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,217 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('HudsonOverviewWidget.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/include/HTTPRequest.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('HudsonJob.class.php');
+
+class hudson_Widget_MyMonitoredJobs extends HudsonOverviewWidget {
+
+ var $plugin;
+
+ var $_not_monitored_jobs;
+ var $_use_global_status;
+ var $_all_status;
+ var $_global_status;
+ var $_global_status_icon;
+
+ function hudson_Widget_MyMonitoredJobs($plugin) {
+ $this->Widget('plugin_hudson_my_jobs');
+ $this->plugin = $plugin;
+
+ $this->_not_monitored_jobs = user_get_preference('plugin_hudson_my_not_monitored_jobs');
+ if ($this->_not_monitored_jobs === false) {
+ $this->_not_monitored_jobs = array();
+ } else {
+ $this->_not_monitored_jobs = explode(",", $this->_not_monitored_jobs);
+ }
+
+ $this->_use_global_status = user_get_preference('plugin_hudson_use_global_status');
+ if ($this->_use_global_status === false) {
+ $this->_use_global_status = "false";
+ user_set_preference('plugin_hudson_use_global_status', $this->_use_global_status);
+ }
+
+ if ($this->_use_global_status == "true") {
+ $this->_all_status = array(
+ 'grey' => 0,
+ 'blue' => 0,
+ 'yellow' => 0,
+ 'red' => 0,
+ );
+ $this->computeGlobalStatus();
+ }
+
+ }
+
+ function computeGlobalStatus() {
+ $monitored_jobs = $this->_getMonitoredJobsByUser();
+ foreach ($monitored_jobs as $monitored_job) {
+ try {
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByJobID($monitored_job);
+ if ($dar->valid()) {
+ $row = $dar->current();
+ $job_url = $row['job_url'];
+ $job = new HudsonJob($job_url);
+ $this->_all_status[(string)$job->getColorNoAnime()] = $this->_all_status[(string)$job->getColorNoAnime()] + 1;
+ }
+ } catch (Exception $e) {
+ // Do not display wrong jobs
+ }
+ }
+ if ($this->_all_status['grey'] > 0 || $this->_all_status['red'] > 0) {
+ $this->_global_status = _("One or more failure or pending job");
+ $this->_global_status_icon = $this->plugin->getThemePath() . "/images/ic/" . "status_red.png";
+ } elseif ($this->_all_status['yellow'] > 0) {
+ $this->_global_status = _("One or more unstable job");
+ $this->_global_status_icon = $this->plugin->getThemePath() . "/images/ic/" . "status_yellow.png";
+ } else {
+ $this->_global_status = _("Success");
+ $this->_global_status_icon = $this->plugin->getThemePath() . "/images/ic/" . "status_blue.png";
+ }
+ }
+
+ function getTitle() {
+ $title = '';
+ if ($this->_use_global_status == "true") {
+ $title = '<img src="'.$this->_global_status_icon.'" title="'.$this->_global_status.'" alt="'.$this->_global_status.'" /> ';
+ }
+ $title .= _("My Hudson Jobs");
+ return $title;
+ }
+
+ function getDescription() {
+ return _("Show an overview of all the jobs of all the projects you're member of. You can of course select the jobs you wish to display by selecting the preferences link of the widget.");
+ }
+
+ function updatePreferences(&$request) {
+ $request->valid(new Valid_String('cancel'));
+ if (!$request->exist('cancel')) {
+ $monitored_jobs = $request->get('myhudsonjobs');
+
+ $user = UserManager::instance()->getCurrentUser();
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByUserID($user->getId());
+ $not_monitored_jobs = array();
+ while ($dar->valid()) {
+ $row = $dar->current();
+ if ( ! in_array($row['job_id'], $monitored_jobs)) {
+ $not_monitored_jobs[] = $row['job_id'];
+ }
+ $dar->next();
+ }
+
+ $this->_not_monitored_jobs = $not_monitored_jobs;
+
+ user_set_preference('plugin_hudson_my_not_monitored_jobs', implode(",", $this->_not_monitored_jobs));
+
+ $use_global_status = $request->get('use_global_status');
+ $this->_use_global_status = ($use_global_status !== false)?"true":"false";
+ user_set_preference('plugin_hudson_use_global_status', $this->_use_global_status);
+ }
+ return true;
+ }
+ function hasPreferences() {
+ return true;
+ }
+ function getPreferences() {
+ $prefs = '';
+ // Monitored jobs
+ $prefs .= '<strong>'._("Monitored jobs:").'</strong><br />';
+ $user = UserManager::instance()->getCurrentUser();
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByUserID($user->getId());
+ while ($dar->valid()) {
+ $row = $dar->current();
+ try {
+ $job = new Hudsonjob($row['job_url']);
+ $prefs .= '<input type="checkbox" name="myhudsonjobs[]" value="'.$row['job_id'].'" '.(in_array($row['job_id'], $this->_not_monitored_jobs)?'':'checked="checked"').'> '.$job->getName().'<br />';
+ } catch (Exception $e) {
+ // Do not display wrong jobs
+ }
+ $dar->next();
+ }
+
+ // Use global status
+ $prefs .= '<strong>'._("Use global status:").'</strong>';
+ $prefs .= '<input type="checkbox" name="use_global_status" value="use_global" '.(($this->_use_global_status == "true")?'checked="checked"':'').'><br />';
+ return $prefs;
+ }
+
+ function getContent() {
+ $monitored_jobs = $this->_getMonitoredJobsByUser();
+ if (sizeof($monitored_jobs) > 0) {
+ $html = '';
+ $html .= '<table style="width:100%">';
+ $cpt = 1;
+
+ foreach ($monitored_jobs as $monitored_job) {
+ try {
+
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByJobID($monitored_job);
+ if ($dar->valid()) {
+ $row = $dar->current();
+ $job_url = $row['job_url'];
+ $job_id = $row['job_id'];
+ $group_id = $row['group_id'];
+ $job = new HudsonJob($job_url);
+
+ $html .= '<tr class="'. util_get_alt_row_color($cpt) .'">';
+ $html .= ' <td>';
+ $html .= ' <img src="'.$job->getStatusIcon().'" title="'.$job->getStatus().'" >';
+ $html .= ' </td>';
+ $html .= ' <td style="width:99%">';
+ $html .= ' <a href="/plugins/hudson/?action=view_job&group_id='.$group_id.'&job_id='.$job_id.'">'.$job->getName().'</a><br />';
+ $html .= ' </td>';
+ $html .= '</tr>';
+
+ $cpt++;
+ }
+ } catch (Exception $e) {
+ // Do not display wrong jobs
+ }
+ }
+ $html .= '</table>';
+ return $html;
+ }
+ }
+
+ function _getMonitoredJobsByUser() {
+ $user = UserManager::instance()->getCurrentUser();
+ $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
+ $dar = $job_dao->searchByUserID($user->getId());
+ $monitored_jobs = array();
+ while ($dar->valid()) {
+ $row = $dar->current();
+ if ( ! in_array($row['job_id'], $this->_not_monitored_jobs)) {
+ $monitored_jobs[] = $row['job_id'];
+ }
+ $dar->next();
+ }
+ return $monitored_jobs;
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_ProjectJobsOverview.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_ProjectJobsOverview.class.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/include/hudson_Widget_ProjectJobsOverview.class.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,119 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+require_once('HudsonOverviewWidget.class.php');
+require_once('common/user/UserManager.class.php');
+require_once('common/include/HTTPRequest.class.php');
+require_once('PluginHudsonJobDao.class.php');
+require_once('HudsonJob.class.php');
+
+class hudson_Widget_ProjectJobsOverview extends HudsonOverviewWidget {
+
+ var $plugin;
+ var $group_id;
+
+ var $_not_monitored_jobs;
+ var $_use_global_status = true;
+ var $_all_status;
+ var $_global_status;
+ var $_global_status_icon;
+
+ function hudson_Widget_ProjectJobsOverview($plugin) {
+ $this->Widget('plugin_hudson_project_jobsoverview');
+ $this->plugin = $plugin;
+
+ $request =& HTTPRequest::instance();
+ $this->group_id = $request->get('group_id');
+
+ if ($this->_use_global_status == "true") {
+ $this->_all_status = array(
+ 'grey' => 0,
+ 'blue' => 0,
+ 'yellow' => 0,
+ 'red' => 0,
+ );
+ $this->computeGlobalStatus();
+ }
+
+ }
+
+ function computeGlobalStatus() {
+ $jobs = $this->getJobsByGroup($this->group_id);
+ foreach ($jobs as $job) {
+ $this->_all_status[(string)$job->getColorNoAnime()] = $this->_all_status[(string)$job->getColorNoAnime()] + 1;
+ }
+ if ($this->_all_status['grey'] > 0 || $this->_all_status['red'] > 0) {
+ $this->_global_status = _("One or more failure or pending job");
+ $this->_global_status_icon = $this->plugin->getThemePath() . "/images/ic/" . "status_red.png";
+ } elseif ($this->_all_status['yellow'] > 0) {
+ $this->_global_status = _("One or more unstable job");
+ $this->_global_status_icon = $this->plugin->getThemePath() . "/images/ic/" . "status_yellow.png";
+ } else {
+ $this->_global_status = _("Success");
+ $this->_global_status_icon = $this->plugin->getThemePath() . "/images/ic/" . "status_blue.png";
+ }
+ }
+
+ function getTitle() {
+ $title = '';
+ if ($this->_use_global_status == "true") {
+ $title = '<img src="'.$this->_global_status_icon.'" title="'.$this->_global_status.'" alt="'.$this->_global_status.'" /> ';
+ }
+ $title .= _("Hudson Jobs");
+ return $title;
+ }
+
+ function getDescription() {
+ return _("Shows an overview of all the jobs associated with this project. You can always choose the ones you want to display in the widget (preferences link).");
+ }
+
+ function getContent() {
+ $jobs = $this->getJobsByGroup($this->group_id);
+ if (sizeof($jobs) > 0) {
+ $html = '';
+ $html .= '<table style="width:100%">';
+ $cpt = 1;
+
+ foreach ($jobs as $job_id => $job) {
+ try {
+
+ $html .= '<tr class="'. util_get_alt_row_color($cpt) .'">';
+ $html .= ' <td>';
+ $html .= ' <img src="'.$job->getStatusIcon().'" title="'.$job->getStatus().'" >';
+ $html .= ' </td>';
+ $html .= ' <td style="width:99%">';
+ $html .= ' <a href="/plugins/hudson/?action=view_job&group_id='.$this->group_id.'&job_id='.$job_id.'">'.$job->getName().'</a><br />';
+ $html .= ' </td>';
+ $html .= '</tr>';
+
+ $cpt++;
+
+ } catch (Exception $e) {
+ // Do not display wrong jobs
+ }
+ }
+ $html .= '</table>';
+ return $html;
+ }
+ }
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,114 @@
+plugin_hudson descriptor_description Continuous Integration with Hudson
+plugin_hudson descriptor_name Continuous Integration
+
+plugin_hudson title Continuous Integration
+
+plugin_hudson service_lbl_key Continuous Integration
+plugin_hudson service_desc_key Continuous Integration with Hudson
+
+plugin_hudson reference_job_desc_key Hudson Job
+plugin_hudson reference_build_desc_key Hudson Build
+plugin_hudson reference_job_nature_key Hudson Job
+plugin_hudson reference_build_nature_key Hudson Build
+
+plugin_hudson no_jobs_linked No Hudson jobs associated with this project. To add a job, select the link just below.
+plugin_hudson header_table_job Job
+plugin_hudson header_table_lastsuccess Last Success
+plugin_hudson header_table_lastfailure Last Failure
+plugin_hudson header_table_rss RSS
+plugin_hudson header_table_svn_trigger SVN trigger
+plugin_hudson header_table_cvs_trigger CVS trigger
+plugin_hudson header_table_actions Actions
+plugin_hudson build build
+plugin_hudson last_build Last Build:
+plugin_hudson last_build_success Last Success:
+plugin_hudson last_build_failure Last Failure:
+plugin_hudson show_job Show job $1
+plugin_hudson show_build Show build #$1 of job $2
+plugin_hudson weather_report Weather Report:
+plugin_hudson rss_feed RSS feed of all builds for $1 job
+
+plugin_hudson service_not_used Hudson service is not enabled
+plugin_hudson group_id_missing Missing group_id parameter.
+plugin_hudson addjob_title Add job
+plugin_hudson form_job_url Job URL:
+plugin_hudson form_job_name Job name:
+plugin_hudson form_job_use_trigger Trigger a build after commits:
+plugin_hudson form_job_use_svn_trigger Trigger a build after SVN commits:
+plugin_hudson form_job_use_cvs_trigger Trigger a build after CVS commits:
+plugin_hudson form_job_scm_svn SVN
+plugin_hudson form_job_scm_cvs CVS
+plugin_hudson alt_svn_trigger SVN commit will trigger a build
+plugin_hudson alt_cvs_trigger CVS commit will trigger a build
+plugin_hudson form_job_with_token with (optional) token:
+plugin_hudson wrong_job_url Wrong Job URL: $1
+plugin_hudson job_url_file_not_found File not found at URL: $1
+plugin_hudson job_url_file_error Unable to read file at URL: $1
+plugin_hudson form_joburl_example eg: http://myCIserver/hudson/job/myJob
+plugin_hudson form_jobname_help Name (with no space) used to make a reference to this job. Eg: job #$1
+plugin_hudson form_addjob_button Add job
+plugin_hudson editjob_title Edit job
+plugin_hudson form_editjob_button Update job
+plugin_hudson job_url_missing Missing Hudson job url (eg: http://myCIserver:8080/hudson/job/MyJob)
+plugin_hudson job_id_missing Missing Hudson job ID
+plugin_hudson add_job_error Unable to add Hudson job.
+plugin_hudson job_added Hudson job added.
+plugin_hudson edit_job Edit this job
+plugin_hudson edit_job_error Unable to update Hudson job
+plugin_hudson edit_jobname_spacesreplaced Spaces are not allowed in job name. They were replaced by "_".
+plugin_hudson job_updated Hudson job updated.
+plugin_hudson delete_job Delete this job from this project
+plugin_hudson delete_job_error Unable to delete Hudson job
+plugin_hudson job_deleted Hudson job deleted.
+plugin_hudson delete_job_confirmation Are you sure you want to delete Job $1 from project $2?
+plugin_hudson back_to_jobs Back to jobs list
+
+plugin_hudson build_time Build performed on:
+
+plugin_hudson status Status:
+plugin_hudson status_blue Success
+plugin_hudson status_blue_anime In progress
+plugin_hudson status_yellow Unstable
+plugin_hudson status_yellow_anime In progress
+plugin_hudson status_red Failure
+plugin_hudson status_red_anime In progress
+plugin_hudson status_grey Pending
+plugin_hudson status_grey_anime In progress
+plugin_hudson status_unknown Unknown status
+
+plugin_hudson global_status_blue Success
+plugin_hudson global_status_yellow One or more unstable job
+plugin_hudson global_status_red One or more failure or pending job
+
+plugin_hudson my_jobs My Hudson Jobs
+plugin_hudson monitored_jobs Monitored jobs:
+plugin_hudson monitored_job Monitored job:
+plugin_hudson use_global_status Use global status:
+plugin_hudson project_jobs Hudson Jobs
+plugin_hudson project_job_details $1 Hudson Job
+plugin_hudson project_job_lastbuilds $1 Last Builds
+plugin_hudson project_job_testresults_widget_title $1 Test Results ($2 / $3)
+plugin_hudson project_job_testresults_projectname $1 Test Results
+plugin_hudson project_job_testresults Test Results
+plugin_hudson project_job_lastartifacts $1 Last Artifacts
+plugin_hudson pass_legend Pass ($1)
+plugin_hudson fail_legend Fail ($1)
+plugin_hudson skip_legend Skip ($1)
+plugin_hudson project_job_testtrend $1 Test Result Trend
+plugin_hudson project_job_buildhistory $1 Builds History
+
+plugin_hudson widget_job_not_found Job not found.
+plugin_hudson widget_tests_not_found No test found for this job.
+plugin_hudson widget_build_not_found No build found for this job.
+
+plugin_hudson widget_description_buildshistory Show the build history of the selected job, under the form of RSS feed. For each build of the list, you can see the build number, the status and the date the build has been scheduled.
+plugin_hudson widget_description_lastartifacts Show the last successfully published artifacts of one job. To display something, your job needs to publish artifacts.
+plugin_hudson widget_description_lastbuilds Show the last builds for this job (last one, last successfull, last failed) and the weather report. The trend is represented by a weather report (sun, thunder, etc.) meaning that the trend is good or not.
+plugin_hudson widget_description_testresults Show the test results of the latest build for the selected job.To display something, your job needs to execute tests and publish them. The result is shown on a pie chart.
+plugin_hudson widget_description_testtrend Show the test result trend for the selected job. To display something, your job needs to have tests. The graph will show the number of tests (failed and successfull) along time. The number of tests is increasing while the number of build and commits are increasing too.
+plugin_hudson widget_description_myjobs Show an overview of all the jobs of all the projects you're member of. You can of course select the jobs you wish to display by selecting the preferences link of the widget.
+plugin_hudson widget_description_jobsoverview Shows an overview of all the jobs associated with this project. You can always choose the ones you want to display in the widget (preferences link).
+
+widget_categ_label ci Continuous Integration
+
+plugin_hudson error_object_not_found Error: Hudson object not found.
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab.back
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab.back (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/en_US/hudson.tab.back 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,114 @@
+plugin_hudson descriptor_description Continuous Integration with Hudson
+plugin_hudson descriptor_name Continuous Integration
+
+plugin_hudson title Continuous Integration
+
+plugin_hudson service_lbl_key Continuous Integration
+plugin_hudson service_desc_key Continuous Integration with Hudson
+
+plugin_hudson reference_job_desc_key Hudson Job
+plugin_hudson reference_build_desc_key Hudson Build
+plugin_hudson reference_job_nature_key Hudson Job
+plugin_hudson reference_build_nature_key Hudson Build
+
+plugin_hudson no_jobs_linked No Hudson jobs associated with this project. To add a job, select the link just below.
+plugin_hudson header_table_job Job
+plugin_hudson header_table_lastsuccess Last Success
+plugin_hudson header_table_lastfailure Last Failure
+plugin_hudson header_table_rss RSS
+plugin_hudson header_table_svn_trigger SVN trigger
+plugin_hudson header_table_cvs_trigger CVS trigger
+plugin_hudson header_table_actions Actions
+plugin_hudson build build
+plugin_hudson last_build Last Build:
+plugin_hudson last_build_success Last Success:
+plugin_hudson last_build_failure Last Failure:
+plugin_hudson show_job Show job $1
+plugin_hudson show_build Show build #$1 of job $2
+plugin_hudson weather_report Weather Report:
+plugin_hudson rss_feed RSS feed of all builds for $1 job
+
+plugin_hudson service_not_used Hudson service is not enabled
+plugin_hudson group_id_missing Missing group_id parameter.
+plugin_hudson addjob_title Add job
+plugin_hudson form_job_url Job URL:
+plugin_hudson form_job_name Job name:
+plugin_hudson form_job_use_trigger Trigger a build after commits:
+plugin_hudson form_job_use_svn_trigger Trigger a build after SVN commits:
+plugin_hudson form_job_use_cvs_trigger Trigger a build after CVS commits:
+plugin_hudson form_job_scm_svn SVN
+plugin_hudson form_job_scm_cvs CVS
+plugin_hudson alt_svn_trigger SVN commit will trigger a build
+plugin_hudson alt_cvs_trigger CVS commit will trigger a build
+plugin_hudson form_job_with_token with (optional) token:
+plugin_hudson wrong_job_url Wrong Job URL: $1
+plugin_hudson job_url_file_not_found File not found at URL: $1
+plugin_hudson job_url_file_error Unable to read file at URL: $1
+plugin_hudson form_joburl_example eg: http://myCIserver/hudson/job/myJob
+plugin_hudson form_jobname_help Name (with no space) used to make a reference to this job. Eg: job #$1
+plugin_hudson form_addjob_button Add job
+plugin_hudson editjob_title Edit job
+plugin_hudson form_editjob_button Update job
+plugin_hudson job_url_missing Missing Hudson job url (eg: http://myCIserver:8080/hudson/job/MyJob)
+plugin_hudson job_id_missing Missing Hudson job ID
+plugin_hudson add_job_error Unable to add Hudson job.
+plugin_hudson job_added Hudson job added.
+plugin_hudson edit_job Edit this job
+plugin_hudson edit_job_error Unable to update Hudson job
+plugin_hudson edit_jobname_spacesreplaced Spaces are not allowed in job name. They were replaced by "_".
+plugin_hudson job_updated Hudson job updated.
+plugin_hudson delete_job Delete this job from this project
+plugin_hudson delete_job_error Unable to delete Hudson job
+plugin_hudson job_deleted Hudson job deleted.
+plugin_hudson delete_job_confirmation Are you sure you want to delete Job $1 from project $2?
+plugin_hudson back_to_jobs Back to jobs list
+
+plugin_hudson build_time Build performed on:
+
+plugin_hudson status Status:
+plugin_hudson status_blue Success
+plugin_hudson status_blue_anime In progress
+plugin_hudson status_yellow Unstable
+plugin_hudson status_yellow_anime In progress
+plugin_hudson status_red Failure
+plugin_hudson status_red_anime In progress
+plugin_hudson status_grey Pending
+plugin_hudson status_grey_anime In progress
+plugin_hudson status_unknown Unknown status
+
+plugin_hudson global_status_blue Success
+plugin_hudson global_status_yellow One or more unstable job
+plugin_hudson global_status_red One or more failure or pending job
+
+plugin_hudson my_jobs My Hudson Jobs
+plugin_hudson monitored_jobs Monitored jobs:
+plugin_hudson monitored_job Monitored job:
+plugin_hudson use_global_status Use global status:
+plugin_hudson project_jobs Hudson Jobs
+plugin_hudson project_job_details $1 Hudson Job
+plugin_hudson project_job_lastbuilds $1 Last Builds
+plugin_hudson project_job_testresults_widget_title $1 Test Results ($2 / $3)
+plugin_hudson project_job_testresults_projectname $1 Test Results
+plugin_hudson project_job_testresults Test Results
+plugin_hudson project_job_lastartifacts $1 Last Artifacts
+plugin_hudson pass_legend Pass ($1)
+plugin_hudson fail_legend Fail ($1)
+plugin_hudson skip_legend Skip ($1)
+plugin_hudson project_job_testtrend $1 Test Result Trend
+plugin_hudson project_job_buildhistory $1 Builds History
+
+plugin_hudson widget_job_not_found Job not found.
+plugin_hudson widget_tests_not_found No test found for this job.
+plugin_hudson widget_build_not_found No build found for this job.
+
+plugin_hudson widget_description_buildshistory Show the build history of the selected job, under the form of RSS feed. For each build of the list, you can see the build number, the status and the date the build has been scheduled.
+plugin_hudson widget_description_lastartifacts Show the last successfully published artifacts of one job. To display something, your job needs to publish artifacts.
+plugin_hudson widget_description_lastbuilds Show the last builds for this job (last one, last successfull, last failed) and the weather report. The trend is represented by a weather report (sun, thunder, etc.) meaning that the trend is good or not.
+plugin_hudson widget_description_testresults Show the test results of the latest build for the selected job.To display something, your job needs to execute tests and publish them. The result is shown on a pie chart.
+plugin_hudson widget_description_testtrend Show the test result trend for the selected job. To display something, your job needs to have tests. The graph will show the number of tests (failed and successfull) along time. The number of tests is increasing while the number of build and commits are increasing too.
+plugin_hudson widget_description_myjobs Show an overview of all the jobs of all the projects you're member of. You can of course select the jobs you wish to display by selecting the preferences link of the widget.
+plugin_hudson widget_description_jobsoverview Shows an overview of all the jobs associated with this project. You can always choose the ones you want to display in the widget (preferences link).
+
+widget_categ_label ci Continuous Integration
+
+plugin_hudson error_object_not_found Error: Hudson object not found.
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/fr_FR/hudson.tab
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/fr_FR/hudson.tab (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/site-content/fr_FR/hudson.tab 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,114 @@
+plugin_hudson descriptor_description Intégration continue avec Hudson
+plugin_hudson descriptor_name Intégration Continue
+
+plugin_hudson title Intégration Continue
+
+plugin_hudson service_lbl_key Intégration Continue
+plugin_hudson service_desc_key Intégration Continue avec Hudson
+
+plugin_hudson reference_job_desc_key Job Hudson
+plugin_hudson reference_build_desc_key Build Hudson
+plugin_hudson reference_job_nature_key Job Hudson
+plugin_hudson reference_build_nature_key Build Hudson
+
+plugin_hudson no_jobs_linked Aucun job Hudson associé à ce projet. Pour ajouter un job, cliquez sur le lien ci-dessous.
+plugin_hudson header_table_job Job
+plugin_hudson header_table_lastsuccess Dernier succès
+plugin_hudson header_table_lastfailure Dernier échec
+plugin_hudson header_table_rss RSS
+plugin_hudson header_table_svn_trigger Evénement SVN
+plugin_hudson header_table_cvs_trigger Evénement CVS
+plugin_hudson header_table_actions Actions
+plugin_hudson build build
+plugin_hudson last_build Dernier Build :
+plugin_hudson last_build_success Dernier succès :
+plugin_hudson last_build_failure Dernier échec :
+plugin_hudson show_job Voir le job $1
+plugin_hudson show_build Voir le build #$1 du job $2
+plugin_hudson weather_report Tendance :
+plugin_hudson rss_feed Flux RSS de tous les builds du job $1
+
+plugin_hudson service_not_used Le service Hudson n'est pas actif
+plugin_hudson group_id_missing Paramètre group_id manquant.
+plugin_hudson addjob_title Ajouter un job
+plugin_hudson form_job_url URL du job :
+plugin_hudson form_job_name Nom du job :
+plugin_hudson form_job_use_trigger Déclencher un build après un commit :
+plugin_hudson form_job_use_svn_trigger Déclencher un build après un commit SVN :
+plugin_hudson form_job_use_cvs_trigger Déclencher un build après un commit CVS :
+plugin_hudson form_job_scm_svn SVN
+plugin_hudson form_job_scm_cvs CVS
+plugin_hudson alt_svn_trigger Un commit SVN déclenchera un build
+plugin_hudson alt_cvs_trigger Un commit CVS déclenchera un build
+plugin_hudson form_job_with_token avec le token (optionnel) :
+plugin_hudson wrong_job_url URL du job incorrecte : $1
+plugin_hudson job_url_file_not_found Fichier non trouvé à l'Url : $1
+plugin_hudson job_url_file_error Impossible de lire le fichier à l'Url : $1
+plugin_hudson form_joburl_example ex : http://monICserveur/hudson/job/monJob
+plugin_hudson form_jobname_help Nom (sans espace) utilisé pour référencer ce job. Ex : job #$1
+plugin_hudson form_addjob_button Ajouter
+plugin_hudson editjob_title Modifier le job
+plugin_hudson form_editjob_button Modifier
+plugin_hudson job_url_missing Url du job Hudson manquante (ex: http://monserveurIC:8080/hudson/job/MonJob)
+plugin_hudson job_id_missing Identifiant du job Hudson manquant.
+plugin_hudson add_job_error Impossible d'ajouter le job Hudson
+plugin_hudson job_added Le job Hudson a été ajouté.
+plugin_hudson edit_job Editer ce job
+plugin_hudson edit_job_error Impossible de modifier le job Hudson
+plugin_hudson edit_jobname_spacesreplaced Les espaces sont interdits dans le nom du job. Ils ont été remplacés par un "_".
+plugin_hudson job_updated Le job Hudson a été modifié.
+plugin_hudson delete_job Supprimer ce job de ce projet
+plugin_hudson delete_job_error Impossible de supprimer le job Hudson
+plugin_hudson job_deleted Le job Hudson a été supprimé.
+plugin_hudson delete_job_confirmation Etes-vous sûr de vouloir supprimer le job $1 du projet $2 ?
+plugin_hudson back_to_jobs Revenir à la liste des jobs
+
+plugin_hudson build_time Build exécuté le :
+
+plugin_hudson status Statut :
+plugin_hudson status_blue Succès
+plugin_hudson status_blue_anime En cours
+plugin_hudson status_yellow Instable
+plugin_hudson status_yellow_anime En cours
+plugin_hudson status_red En échec
+plugin_hudson status_red_anime En cours
+plugin_hudson status_grey En attente
+plugin_hudson status_grey_anime En cours
+plugin_hudson status_unknown Status inconnu
+
+plugin_hudson global_status_blue Succès
+plugin_hudson global_status_yellow Un job ou plus instable
+plugin_hudson global_status_red Un job ou plus en échec ou en attente
+
+plugin_hudson my_jobs Mes jobs Hudson
+plugin_hudson monitored_jobs Jobs suivis :
+plugin_hudson monitored_job Job suivi :
+plugin_hudson use_global_status Utiliser le status global :
+plugin_hudson project_jobs jobs Hudson
+plugin_hudson project_job_details Job Hudson : $1
+plugin_hudson project_job_lastbuilds Derniers builds $1
+plugin_hudson project_job_testresults_widget_title Résultats des tests $1 ($2 / $3)
+plugin_hudson project_job_testresults_projectname Resultats des tests $1
+plugin_hudson project_job_testresults Resultats des tests
+plugin_hudson project_job_lastartifacts Dernier artéfacts $1
+plugin_hudson pass_legend Passe ($1)
+plugin_hudson fail_legend Echoue ($1)
+plugin_hudson skip_legend Ignore ($1)
+plugin_hudson project_job_testtrend Tendance des résultats des tests $1
+plugin_hudson project_job_buildhistory Historique des builds $1
+
+plugin_hudson widget_job_not_found Job non trouvé.
+plugin_hudson widget_tests_not_found Tests non trouvés pour ce job.
+plugin_hudson widget_build_not_found Build non trouvé pour ce job.
+
+plugin_hudson widget_description_buildshistory Affiche l'historique des builds du job sélectionné, sous la forme d'un flux RSS. Pour chaque build de la liste, vous avez son numéro, son état et sa date.
+plugin_hudson widget_description_lastartifacts Affiche les derniers artéfacts publiés du job sélectionné. Il faut que votre job dispose d'artéfacts et qu'il les publie pour que ce widget affiche quelque chose.
+plugin_hudson widget_description_lastbuilds Affiche les derniers builds du job sélectionné (le dernier, le dernier succès, le dernier échec) ainsi que la tendance du job. Cette tendance est représentée par une image empruntée à la météo (soleil, orage, etc) pour signifier que la tendance est au beau fixe ou pas.
+plugin_hudson widget_description_testresults Affiche les résultats des tests du dernier build du job sélectionné. Pour fonctionner, votre job doit disposer de tests qui soient publiés afin que ce widget affiche quelque chose. Les résultats sont présentés sous forme de camembert.
+plugin_hudson widget_description_testtrend Affiche la tendance des tests pour le job sélectionné. Il faut que votre job dispose de tests pour que ce widget affiche quelque chose. Ce graphique représente le nombre de tests (en échec et en succès) dans le temps. Cela permet par exemple de vérifier que le nombre de tests est en constante augmentation avec le nombre de builds/commits.
+plugin_hudson widget_description_myjobs Affiche un aperçu des jobs de tous les projets dont vous êtes membre. Vous pouvez bien entendu choisir les jobs que vous souhaitez voir affichés en cliquant sur le lien "préférences" du widget.
+plugin_hudson widget_description_jobsoverview Affiche un aperçu de tous les jobs associés à ce projet. Si vous avez plusieurs jobs associés à votre projet, vous pouvez choisir ceux que vous souhaitez voir dans le widget (lien préférences).
+
+widget_categ_label ci Intégration Continue
+
+plugin_hudson error_object_not_found Erreur : Objet Hudson non trouvé.
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/AllTests.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/AllTests.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/AllTests.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,26 @@
+<?php
+//We want to be able to run one test AND many tests
+if (! defined('CODENDI_RUNNER')) {
+ define('CODENDI_RUNNER', __FILE__);
+ require_once('../../../codendi_tools/tests/CodendiReporter.class.php');
+}
+
+require_once('../../../codendi_tools/tests/simpletest/unit_tester.php');
+require_once('../../../codendi_tools/tests/simpletest/mock_objects.php');
+
+//We define a group of test
+class HudsonGroupTest extends GroupTest {
+ function HudsonGroupTest($name = 'All Hudson Plugin tests') {
+ $this->GroupTest($name);
+
+ $this->addTestFile(dirname(__FILE__).'/HudsonJobTest.php');
+ $this->addTestFile(dirname(__FILE__).'/HudsonTestResultTest.php');
+ $this->addTestFile(dirname(__FILE__).'/HudsonBuildTest.php');
+
+ }
+}
+if (CODENDI_RUNNER === __FILE__) {
+ $test =& new HudsonGroupTest();
+ $test->run(new CodendiReporter());
+ }
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonBuildTest.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonBuildTest.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonBuildTest.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,99 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once(dirname(__FILE__).'/../include/HudsonBuild.class.php');
+Mock::generatePartial(
+ 'HudsonBuild',
+ 'HudsonBuildTestVersion',
+ array('_getXMLObject')
+);
+
+require_once('common/language/BaseLanguage.class.php');
+Mock::generate('BaseLanguage');
+
+class HudsonBuildTest extends UnitTestCase {
+ /**
+ * Constructor of the test. Can be ommitted.
+ * Usefull to set the name of the test
+ */
+ function HudsonBuildTest($name = 'HudsonBuild test') {
+ $this->UnitTestCase($name);
+ }
+
+ function setUp() {
+ $GLOBALS['Language'] = new MockBaseLanguage($this);
+ }
+
+ function testMalformedURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $b = new HudsonBuild("toto");
+ }
+ function testMissingSchemeURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $b = new HudsonBuild("code4:8080/hudson/jobs/Codendi");
+ }
+ function testMissingHostURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $b = new HudsonBuild("http://");
+ }
+
+ function testWrongXMLFile() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<foo>
+ <bar>1</bar>
+ <bar>2</bar>
+</foo>
+XML;
+ $xmldom = new SimpleXMLElement($xmlstr);
+
+ $b = new HudsonBuildTestVersion($this);
+ $b->setReturnValue('_getXMLObject', $xmldom);
+ $b->buildBuildObject();
+
+ $this->expectError();
+ }
+
+ function testSimpleJobBuild() {
+
+ $build_file = dirname(__FILE__).'/resources/jobbuild.xml';
+ $xmldom = simplexml_load_file($build_file);
+
+ $b = new HudsonBuildTestVersion($this);
+ $b->setReturnValue('_getXMLObject', $xmldom);
+
+ $b->HudsonBuild("http://myCIserver/jobs/myCIjob/lastBuild/");
+
+ $this->assertEqual($b->getBuildStyle(), "freeStyleBuild");
+ $this->assertFalse($b->isBuilding());
+ $this->assertEqual($b->getUrl(), "http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/87/");
+ $this->assertEqual($b->getResult(), "UNSTABLE");
+ $this->assertEqual($b->getNumber(), 87);
+ $this->assertEqual($b->getDuration(), 359231);
+ $this->assertEqual($b->getTimestamp(), 1230051671000);
+
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonJobTest.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonJobTest.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonJobTest.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,387 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once(dirname(__FILE__).'/../include/HudsonJob.class.php');
+Mock::generatePartial(
+ 'HudsonJob',
+ 'HudsonJobTestVersion',
+ array('_getXMLObject', 'getIconsPath', 'getHudsonControler')
+);
+Mock::generatePartial(
+ 'HudsonJob',
+ 'HudsonJobTestColorVersion',
+ array('getColor')
+);
+
+require_once(dirname(__FILE__).'/../include/hudson.class.php');
+Mock::generate('hudson');
+
+require_once('common/language/BaseLanguage.class.php');
+Mock::generate('BaseLanguage');
+
+class HudsonJobTest extends UnitTestCase {
+ /**
+ * Constructor of the test. Can be ommitted.
+ * Usefull to set the name of the test
+ */
+ function HudsonJobTest($name = 'HudsonJob test') {
+ $this->UnitTestCase($name);
+ }
+
+ function setUp() {
+ $GLOBALS['Language'] = new MockBaseLanguage($this);
+ }
+
+ function testMalformedURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $j = new HudsonJob("toto");
+ }
+ function testMissingSchemeURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $j = new HudsonJob("code4:8080/hudson/jobs/Codendi");
+ }
+ function testMissingHostURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $j = new HudsonJob("http://");
+ }
+
+ function testWrongXMLFile() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<foo>
+ <bar>1</bar>
+ <bar>2</bar>
+</foo>
+XML;
+ $xmldom = new SimpleXMLElement($xmlstr);
+
+ $j = new HudsonJobTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $j->setReturnValue('getIconsPath', '');
+ $j->buildJobObject();
+
+ $this->expectError();
+ }
+
+ function testSimpleJob() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<freeStyleProject>
+ <action></action>
+ <action></action>
+ <action></action>
+ <description></description>
+ <displayName>Codendi</displayName>
+ <name>Codendi</name>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/</url>
+ <buildable>true</buildable>
+ <color>yellow</color>
+ <firstBuild>
+ <number>1</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/1/</url>
+ </firstBuild>
+ <healthReport>
+ <description>Build stability: 1 des 5 derniers builds ont échoué.</description>
+ <score>79</score>
+ </healthReport>
+ <healthReport>
+ <description>Résultats des tests: 5 tests failing out of a total of 403 tests.</description>
+ <score>98</score>
+ </healthReport>
+ <inQueue>false</inQueue>
+ <keepDependencies>false</keepDependencies>
+ <lastBuild>
+ <number>60</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/60/</url>
+ </lastBuild>
+ <lastCompletedBuild>
+ <number>60</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/60/</url>
+ </lastCompletedBuild>
+ <lastFailedBuild>
+ <number>30</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/30/</url>
+ </lastFailedBuild>
+ <lastSuccessfulBuild>
+ <number>60</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/60/</url>
+ </lastSuccessfulBuild>
+ <nextBuildNumber>61</nextBuildNumber>
+</freeStyleProject>
+XML;
+
+ $xmldom = new SimpleXMLElement($xmlstr);
+ //var_dump($xmldom);
+
+ $j = new HudsonJobTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $mh = new Mockhudson($this);
+ $mh->setReturnValue('getIconsPath', '');
+ $j->setReturnValue('getHudsonControler', $mh);
+ $j->setReturnValue('getIconsPath', '');
+
+ $j->HudsonJob("http://myCIserver/jobs/myCIjob");
+
+ $this->assertEqual($j->getProjectStyle(), "freeStyleProject");
+ $this->assertEqual($j->getName(), "Codendi");
+ $this->assertEqual($j->getUrl(), "http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/");
+ $this->assertEqual($j->getColor(), "yellow");
+ $this->assertEqual($j->getStatusIcon(), "status_yellow.png");
+
+ $this->assertEqual($j->getLastBuildNumber(), "60");
+ $this->assertEqual($j->getLastSuccessfulBuildNumber(), "60");
+ $this->assertEqual($j->getLastFailedBuildNumber(), "30");
+ $this->assertEqual($j->getNextBuildNumber(), "61");
+ $this->assertTrue($j->hasBuilds());
+ $this->assertTrue($j->isBuildable());
+
+ $this->assertEqual($j->getHealthScores(), array('79', '98'));
+ $this->assertEqual($j->getHealthAverageScore(), '88');
+ $this->assertEqual($j->getWeatherReportIcon(), "health_80_plus.gif");
+
+ }
+
+ function testJobFromAnotherJob() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<freeStyleProject>
+ <action></action>
+ <action></action>
+ <description></description>
+ <displayName>TestProjectExistingJob</displayName>
+ <name>TestProjectExistingJob</name>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExistingJob/</url>
+ <buildable>true</buildable>
+ <color>red</color>
+ <firstBuild>
+ <number>1</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExistingJob/1/</url>
+ </firstBuild>
+ <healthReport>
+ <description>Build stability: Tous les builds récents ont échoué.</description>
+ <score>0</score>
+ </healthReport>
+ <inQueue>false</inQueue>
+ <keepDependencies>false</keepDependencies>
+ <lastBuild>
+ <number>1</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExistingJob/1/</url>
+ </lastBuild>
+ <lastCompletedBuild>
+ <number>1</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExistingJob/1/</url>
+ </lastCompletedBuild>
+ <lastFailedBuild>
+ <number>1</number>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExistingJob/1/</url>
+ </lastFailedBuild>
+ <nextBuildNumber>2</nextBuildNumber>
+</freeStyleProject>
+XML;
+
+ $xmldom = new SimpleXMLElement($xmlstr);
+
+ $j = new HudsonJobTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $mh = new Mockhudson($this);
+ $mh->setReturnValue('getIconsPath', '');
+ $j->setReturnValue('getHudsonControler', $mh);
+ $j->setReturnValue('getIconsPath', '');
+
+ $j->HudsonJob("http://myCIserver/jobs/myCIjob");
+
+ $this->assertEqual($j->getProjectStyle(), "freeStyleProject");
+ $this->assertEqual($j->getName(), "TestProjectExistingJob");
+ $this->assertEqual($j->getUrl(), "http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExistingJob/");
+ $this->assertEqual($j->getColor(), "red");
+ $this->assertEqual($j->getStatusIcon(), "status_red.png");
+
+ $this->assertEqual($j->getLastBuildNumber(), "1");
+ $this->assertNull($j->getLastSuccessfulBuildNumber());
+ $this->assertEqual($j->getLastFailedBuildNumber(), "1");
+ $this->assertEqual($j->getNextBuildNumber(), "2");
+ $this->assertTrue($j->hasBuilds());
+ $this->assertTrue($j->isBuildable());
+
+ $this->assertEqual($j->getHealthScores(), array('0'));
+ $this->assertEqual($j->getHealthAverageScore(), '0');
+ $this->assertEqual($j->getWeatherReportIcon(), "health_00_to_19.gif");
+
+ }
+
+ function testJobFromExternalJob() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<externalJob>
+ <displayName>TestProjectExternalJob</displayName>
+ <name>TestProjectExternalJob</name>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExternalJob/</url>
+ <buildable>false</buildable>
+ <color>grey</color>
+ <inQueue>false</inQueue>
+ <keepDependencies>false</keepDependencies>
+ <nextBuildNumber>1</nextBuildNumber>
+</externalJob>
+XML;
+
+ $xmldom = new SimpleXMLElement($xmlstr);
+
+ $j = new HudsonJobTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $mh = new Mockhudson($this);
+ $mh->setReturnValue('getIconsPath', '');
+ $j->setReturnValue('getHudsonControler', $mh);
+ $j->setReturnValue('getIconsPath', '');
+
+ $j->HudsonJob("http://myCIserver/jobs/myCIjob");
+
+ $this->assertEqual($j->getProjectStyle(), "externalJob");
+ $this->assertEqual($j->getName(), "TestProjectExternalJob");
+ $this->assertEqual($j->getUrl(), "http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectExternalJob/");
+ $this->assertEqual($j->getColor(), "grey");
+ $this->assertEqual($j->getStatusIcon(), "status_grey.png");
+
+ $this->assertNull($j->getLastBuildNumber());
+ $this->assertNull($j->getLastSuccessfulBuildNumber());
+ $this->assertNull($j->getLastFailedBuildNumber());
+ $this->assertEqual($j->getNextBuildNumber(), "1");
+ $this->assertFalse($j->hasBuilds());
+ $this->assertFalse($j->isBuildable());
+
+ $this->assertEqual($j->getHealthScores(), array());
+ $this->assertEqual($j->getHealthAverageScore(), '0');
+
+ }
+
+ function testJobFromMaven2Job() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<mavenModuleSet>
+ <displayName>TestProjectMaven2</displayName>
+ <name>TestProjectMaven2</name>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectMaven2/</url>
+ <buildable>true</buildable>
+ <color>grey</color>
+ <inQueue>false</inQueue>
+ <keepDependencies>false</keepDependencies>
+ <nextBuildNumber>1</nextBuildNumber>
+</mavenModuleSet>
+XML;
+
+ $xmldom = new SimpleXMLElement($xmlstr);
+
+ $j = new HudsonJobTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $mh = new Mockhudson($this);
+ $mh->setReturnValue('getIconsPath', '');
+ $j->setReturnValue('getHudsonControler', $mh);
+ $j->setReturnValue('getIconsPath', '');
+
+ $j->HudsonJob("http://myCIserver/jobs/myCIjob");
+
+ $this->assertEqual($j->getProjectStyle(), "mavenModuleSet");
+ $this->assertEqual($j->getName(), "TestProjectMaven2");
+ $this->assertEqual($j->getUrl(), "http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectMaven2/");
+ $this->assertEqual($j->getColor(), "grey");
+ $this->assertEqual($j->getStatusIcon(), "status_grey.png");
+
+ $this->assertNull($j->getLastBuildNumber());
+ $this->assertNull($j->getLastSuccessfulBuildNumber());
+ $this->assertNull($j->getLastFailedBuildNumber());
+ $this->assertEqual($j->getNextBuildNumber(), "1");
+ $this->assertFalse($j->hasBuilds());
+ $this->assertTrue($j->isBuildable());
+
+ $this->assertEqual($j->getHealthScores(), array());
+ $this->assertEqual($j->getHealthAverageScore(), '0');
+
+ }
+
+ function testJobFromMultiConfiguration() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<matrixProject>
+ <displayName>TestProjectMultiConfiguration</displayName>
+ <name>TestProjectMultiConfiguration</name>
+ <url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectMultiConfiguration/</url>
+ <buildable>true</buildable>
+ <color>grey</color>
+ <inQueue>false</inQueue>
+ <keepDependencies>false</keepDependencies>
+ <nextBuildNumber>1</nextBuildNumber>
+</matrixProject>
+XML;
+
+ $xmldom = new SimpleXMLElement($xmlstr);
+
+ $j = new HudsonJobTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $mh = new Mockhudson($this);
+ $mh->setReturnValue('getIconsPath', '');
+ $j->setReturnValue('getHudsonControler', $mh);
+ $j->setReturnValue('getIconsPath', '');
+
+ $j->HudsonJob("http://myCIserver/jobs/myCIjob");
+
+ $this->assertEqual($j->getProjectStyle(), "matrixProject");
+ $this->assertEqual($j->getName(), "TestProjectMultiConfiguration");
+ $this->assertEqual($j->getUrl(), "http://code4.grenoble.xrce.xerox.com:8080/hudson/job/TestProjectMultiConfiguration/");
+ $this->assertEqual($j->getColor(), "grey");
+ $this->assertEqual($j->getStatusIcon(), "status_grey.png");
+
+ $this->assertNull($j->getLastBuildNumber());
+ $this->assertNull($j->getLastSuccessfulBuildNumber());
+ $this->assertNull($j->getLastFailedBuildNumber());
+ $this->assertEqual($j->getNextBuildNumber(), "1");
+ $this->assertFalse($j->hasBuilds());
+ $this->assertTrue($j->isBuildable());
+
+ $this->assertEqual($j->getHealthScores(), array());
+ $this->assertEqual($j->getHealthAverageScore(), '0');
+
+ }
+
+ function testColorNoAnime1() {
+ $j = new HudsonJobTestColorVersion($this);
+ $j->setReturnValue('getColor', "blue");
+ $this->assertEqual($j->getColorNoAnime(), "blue");
+ }
+ function testColorNoAnime2() {
+ $j = new HudsonJobTestColorVersion($this);
+ $j->setReturnValue('getColor', "blue_anime");
+ $this->assertEqual($j->getColorNoAnime(), "blue");
+ }
+ function testColorNoAnime3() {
+ $j = new HudsonJobTestColorVersion($this);
+ $j->setReturnValue('getColor', "grey");
+ $this->assertEqual($j->getColorNoAnime(), "grey");
+ }
+ function testColorNoAnime4() {
+ $j = new HudsonJobTestColorVersion($this);
+ $j->setReturnValue('getColor', "grey_anime");
+ $this->assertEqual($j->getColorNoAnime(), "grey");
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonTestResultTest.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonTestResultTest.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/HudsonTestResultTest.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once(dirname(__FILE__).'/../include/HudsonTestResult.class.php');
+Mock::generatePartial(
+ 'HudsonTestResult',
+ 'HudsonTestResultTestVersion',
+ array('_getXMLObject', 'getHudsonControler')
+);
+
+require_once(dirname(__FILE__).'/../include/hudson.class.php');
+Mock::generate('hudson');
+
+require_once('common/language/BaseLanguage.class.php');
+Mock::generate('BaseLanguage');
+
+class HudsonTestResultTest extends UnitTestCase {
+ /**
+ * Constructor of the test. Can be ommitted.
+ * Usefull to set the name of the test
+ */
+ function HudsonTestResultTest($name = 'HudsonTestResult test') {
+ $this->UnitTestCase($name);
+ }
+
+ function setUp() {
+ $GLOBALS['Language'] = new MockBaseLanguage($this);
+ }
+
+ function testMalformedURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $j = new HudsonJob("toto");
+ }
+ function testMissingSchemeURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $j = new HudsonJob("code4:8080/hudson/jobs/Codendi");
+ }
+ function testMissingHostURL() {
+ $this->expectException('HudsonJobURLMalformedException');
+ $this->expectError();
+ $j = new HudsonJob("http://");
+ }
+
+ function testWrongXMLFile() {
+ $xmlstr = <<<XML
+<?xml version='1.0' standalone='yes'?>
+<foo>
+ <bar>1</bar>
+ <bar>2</bar>
+</foo>
+XML;
+ $xmldom = new SimpleXMLElement($xmlstr);
+
+ $j = new HudsonJobTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $j->buildJobObject();
+
+ $this->expectError();
+ }
+
+ function testSimpleJobTestResult() {
+
+ $test_result_file = dirname(__FILE__).'/resources/testReport.xml';
+ $xmldom = simplexml_load_file($test_result_file);
+
+ $j = new HudsonTestResultTestVersion($this);
+ $j->setReturnValue('_getXMLObject', $xmldom);
+ $mh = new Mockhudson($this);
+ $mh->setReturnValue('getIconsPath', '');
+ $j->setReturnValue('getHudsonControler', $mh);
+ $j->setReturnValue('getIconsPath', '');
+
+ $j->HudsonTestResult("http://myCIserver/jobs/myCIjob/lastBuild/testReport/");
+
+ $this->assertEqual($j->getFailCount(), 5);
+ $this->assertEqual($j->getPassCount(), 416);
+ $this->assertEqual($j->getSkipCount(), 3);
+ $this->assertEqual($j->getTotalCount(), 424);
+
+ }
+
+}
+
+?>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/jobbuild.xml
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/jobbuild.xml (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/jobbuild.xml 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,5 @@
+<freeStyleBuild><action/><action/><action/><artifact><displayPath>Codendi_Programmer_Guide.pdf</displayPath><fileName>Codendi_Programmer_Guide.pdf</fileName><relativePath>trunk/documentation/programmer_guide/pdf/en_US/Codendi_Programmer_Guide.pdf</relativePath></artifact><artifact><displayPath>en_US/Codendi_CLI.pdf</displayPath><fileName>Codendi_CLI.pdf</fileName><relativePath>trunk/documentation/cli/pdf/en_US/Codendi_CLI.pdf</relativePath></artifact><artifact><displayPath>fr_FR/Codendi_CLI.pdf</displayPath><fileName>Codendi_CLI.pdf</fileName><relativePath>trunk/documentation/cli/pdf/fr_FR/Codendi_CLI.pdf</relativePath></artifact><artifact><displayPath>en_US/Codendi_User_Guide.pdf</displayPath><fileName>Codendi_User_Guide.pdf</fileName><relativePath>trunk/documentation/user_guide/pdf/en_US/Codendi_User_Guide.pdf</relativePath></artifact><artifact><displayPath>fr_FR/Codendi_User_Guide.pdf</displayPath><fileName>Codendi_User_Guide.pdf</fileName><relativePath>trunk/documentation/user_guide/pdf/fr_FR/Codendi_User_Guide.pdf</relativePath></artifact><building>false</building><duration>359231</duration><fullDisplayName>Codendi #87</fullDisplayName><keepLog>false</keepLog><number>87</number><result>UNSTABLE</result><timestamp>1230051671000</timestamp><url>http://code4.grenoble.xrce.xerox.com:8080/hudson/job/Codendi/87/</url><builtOn/><changeSet><item><date>2008-12-23T15:48:49.635796Z</date><msg>Categorize widgets. This will ease dashboard managment from the user pov.
+Allow widgets to display a description and a preview.
+
+Work in progress (i18n, IE6 and previews are missing) but review is needed to continue in this way. Or not.
+Warning: icons used in preview (chat and favorites) are *not free*. Only here for mock-ups. Don't forget to replace them before shipping.</msg><path><editType>edit</editType><file>/dev/trunk/plugins/IM/include/IM_Widget_MyRoster.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget.class.php</file></path><path><editType>add</editType><file>/dev/trunk/plugins/IM/www/themes/default/images/widget-preview-im.png</file></path><path><editType>add</editType><file>/dev/trunk/src/www/themes/common/images/widget-preview.png</file></path><path><editType>add</editType><file>/dev/trunk/src/www/themes/common/images/widget-preview-favorites.png</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_MyArtifacts.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/plugins/IM/include/IMPlugin.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/www/scripts/codendi/LayoutManager.js</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_MyMonitoredFp.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_MyBookmarks.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_MyProjects.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_MyMonitoredForums.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/plugins/IM/www/themes/default/css/style.css</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/layout/Layout.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_ProjectLatestFileReleases.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_Rss.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/www/themes/common/css/style.css</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/WidgetLayoutManager.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/www/themes/CodendiBlack/DivBasedTabbedLayout.class.php</file></path><path><editType>edit</editType><file>/dev/trunk/src/common/widget/Widget_ProjectLatestCommits.class.php</file></path><revision>10675</revision><user>nterray</user></item><revision><module>https://partners.xrce.xerox.com/svnroot/codendi/dev/trunk</module><revision>10675</revision></revision></changeSet><culprit><absoluteUrl>http://code4.grenoble.xrce.xerox.com:8080/hudson/user/nterray</absoluteUrl><fullName>nterray</fullName></culprit></freeStyleBuild>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/testReport.xml
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/testReport.xml (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/tests/resources/testReport.xml 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,61 @@
+<?xml version='1.0' standalone='yes'?>
+<testResult>
+ <child>
+ <child>
+ <child>
+ <age>0</age>
+ <className>Account test</className>
+ <duration>0.010210037</duration>
+ <name>testEquals</name>
+ <statu>PASSED</statu>
+ </child>
+ <failCount>0</failCount>
+ <name>Account test</name>
+ <passCount>1</passCount>
+ <skipCount>0</skipCount>
+ </child>
+ <child>
+ <child>
+ <age>0</age>
+ <className>Artifact test</className>
+ <duration>0.0016520023</duration>
+ <name>testAddDependenciesDouble</name>
+ <statu>PASSED</statu>
+ </child>
+ <child>
+ <age>0</age>
+ <className>Artifact test</className>
+ <duration>0.0014100075</duration>
+ <name>testAddDependenciesSimple</name>
+ <statu>PASSED</statu>
+ </child>
+ <child>
+ <age>0</age>
+ <className>Artifact test</className>
+ <duration>0.0024449825</duration>
+ <name>testAddWrongDependency</name>
+ <statu>PASSED</statu>
+ </child>
+ <failCount>0</failCount>
+ <name>Artifact test</name>
+ <passCount>3</passCount>
+ <skipCount>0</skipCount>
+ </child>
+ <child>
+ <child>
+ <age>0</age>
+ <className>ArtifactImport test</className>
+ <duration>0.17610717</duration>
+ <name>testALL</name>
+ <statu>PASSED</statu>
+ </child>
+ <failCount>0</failCount>
+ <name>ArtifactImport test</name>
+ <passCount>1</passCount>
+ <skipCount>0</skipCount>
+ </child>
+ </child>
+ <failCount>5</failCount>
+ <passCount>416</passCount>
+ <skipCount>3</skipCount>
+</testResult>
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/hudson_tab.js
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/hudson_tab.js (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/hudson_tab.js 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,13 @@
+function toggle_addurlform() {
+ Effect.toggle('hudson_add_job', 'slide', { duration: 0.3 });
+}
+
+function toggle_iframe(joburl) {
+ if ( ! $('hudson_iframe_div').visible() ) {
+ Effect.toggle('hudson_iframe_div', 'appear', { duration: 0.3 });
+ }
+ $('hudson_iframe').src = joburl;
+ if ($('link_show_only')) {
+ $('link_show_only').href = joburl;
+ }
+}
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/index.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/index.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/index.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('env.inc.php');
+require_once('pre.php');
+require_once('preplugins.php');
+
+$plugin_manager =& PluginManager::instance();
+$p =& $plugin_manager->getPluginByName('hudson');
+
+if ($p && $plugin_manager->isPluginAvailable($p)) {
+ $p->process();
+} else {
+ header('Location: '.get_server_url());
+}
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/test_result_pie_chart.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/test_result_pie_chart.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/test_result_pie_chart.php 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,53 @@
+<?php
+require_once('env.inc.php');
+require_once('pre.php');
+require_once('preplugins.php');
+
+require_once($GLOBALS['jpgraph_dir'].'/jpgraph.php');
+require_once($GLOBALS['jpgraph_dir'].'/jpgraph_pie.php');
+
+$pass_count = $request->get('p');
+$fail_count = $request->get('f');
+$skip_count = $request->get('s');
+$total_count = $pass_count + $fail_count + $skip_count;
+
+// graph size
+$graph = new PieGraph(250,150);
+
+// graph title
+$graph->title-> Set(_("Test Results"));
+
+// graph legend
+$pass_legend = vsprintf(_("Pass (%s)"), array($pass_count));
+$fail_legend = vsprintf(_("Fail (%s)"), array($fail_count));
+$skip_legend = vsprintf(_("Skip (%s)"), array($skip_count));
+
+$array_legend = array($pass_legend, $fail_legend);
+$array_value = array($pass_count, $fail_count);
+$array_color = array('blue', 'red');
+if ($skip_count != 0) {
+ $array_legend[] = $skip_legend;
+ $array_value[] = $skip_count;
+ $array_color[] = 'black';
+}
+
+// Init pie chart with graph values
+$pp = new PiePlot($array_value);
+
+// pie chart legend
+$pp->SetLegends($array_legend);
+
+// pie chart color values
+// Pass is blue and Failed is red (Skip is black)
+$pp->SetSliceColors($array_color);
+
+// pie chart position
+// the pie chart is a little bit on the left (0.35) and at the bottom (0.60)
+$pp->SetCenter(0.35, 0.60);
+
+$graph->Add($pp);
+
+// display graph
+$graph->Stroke();
+
+?>
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/css/style.css
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/css/style.css (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/css/style.css 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,81 @@
+.legend {
+ font-style: italic;
+ font-size: smaller;
+ color: #666;
+ background: transparent;
+ margin: 0 0 0 50px;
+ padding: 0;
+}
+
+table#jobs_table {
+ margin-bottom: 20px;
+}
+
+span.job_action {
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+td.widget_lastbuilds_weather {
+ align: right;
+ text-align: right;
+}
+img.widget_lastbuilds_weather_img {
+ vertical-align: middle;
+}
+
+
+
+/* Widgets preview */
+.widget-preview-plugin_hudson_project_jobbuildhistory-fr_FR,
+.widget-preview-plugin_hudson_my_jobbuildhistory-fr_FR {
+ background-image:url("../images/widget_preview/fr_FR_hudson_widget_builds_history.png");
+}
+.widget-preview-plugin_hudson_project_jobbuildhistory-en_US,
+.widget-preview-plugin_hudson_my_jobbuildhistory-en_US {
+ background-image:url("../images/widget_preview/en_US_hudson_widget_builds_history.png");
+}
+.widget-preview-plugin_hudson_project_joblastartifacts-fr_FR,
+.widget-preview-plugin_hudson_my_joblastartifacts-fr_FR {
+ background-image:url("../images/widget_preview/fr_FR_hudson_widget_last_artifacts.png");
+}
+.widget-preview-plugin_hudson_project_joblastartifacts-en_US,
+.widget-preview-plugin_hudson_my_joblastartifacts-en_US {
+ background-image:url("../images/widget_preview/en_US_hudson_widget_last_artifacts.png");
+}
+.widget-preview-plugin_hudson_project_joblastbuilds-fr_FR,
+.widget-preview-plugin_hudson_my_joblastbuilds-fr_FR {
+ background-image:url("../images/widget_preview/fr_FR_hudson_widget_last_builds.png");
+}
+.widget-preview-plugin_hudson_project_joblastbuilds-en_US,
+.widget-preview-plugin_hudson_my_joblastbuilds-en_US {
+ background-image:url("../images/widget_preview/en_US_hudson_widget_last_builds.png");
+}
+.widget-preview-plugin_hudson_project_jobtestresults-fr_FR,
+.widget-preview-plugin_hudson_my_jobtestresults-fr_FR {
+ background-image:url("../images/widget_preview/fr_FR_hudson_widget_test_results.png");
+}
+.widget-preview-plugin_hudson_project_jobtestresults-en_US,
+.widget-preview-plugin_hudson_my_jobtestresults-en_US {
+ background-image:url("../images/widget_preview/en_US_hudson_widget_test_results.png");
+}
+.widget-preview-plugin_hudson_project_jobtesttrend-fr_FR,
+.widget-preview-plugin_hudson_my_jobtesttrend-fr_FR {
+ background-image:url("../images/widget_preview/fr_FR_hudson_widget_test_trend.png");
+}
+.widget-preview-plugin_hudson_project_jobtesttrend-en_US,
+.widget-preview-plugin_hudson_my_jobtesttrend-en_US {
+ background-image:url("../images/widget_preview/en_US_hudson_widget_test_trend.png");
+}
+.widget-preview-plugin_hudson_my_jobs-fr_FR {
+ background-image:url("../images/widget_preview/fr_FR_hudson_widget_my_jobs.png");
+}
+.widget-preview-plugin_hudson_my_jobs-en_US {
+ background-image:url("../images/widget_preview/en_US_hudson_widget_my_jobs.png");
+}
+.widget-preview-plugin_hudson_project_jobsoverview-fr_FR {
+ background-image:url("../images/widget_preview/fr_FR_hudson_widget_jobs_overview.png");
+}
+.widget-preview-plugin_hudson_project_jobsoverview-en_US {
+ background-image:url("../images/widget_preview/en_US_hudson_widget_jobs_overview.png");
+}
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/cross.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/cross.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/cross.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,10 @@
+PNG
+
+
+IHDR óÿa gAMA ¯È7é tEXtSoftware Adobe ImageReadyqÉe< !IDAT8ËëNQ
ÉÏ VÈÄB[(
+&Ðû
^¤´¥í¤M¡6êM|DÅÞ°Òv:Óå®J-%áÇNÎdÎúö¬µ÷ ¸LÕ×B×Î>w_3:*ÞWìrÙí×lNC/ -Îì¢ÎB'{ u_×a46¶ðëåÊçêâÒ½¿bäß¡E¥%D47·;ٻƩ;Ñ8Ë£}>6[ãåÓS@*ÍZ Qkí¾>~͵hB\öø9u²è½ìàxþ¹Zæ®vYÐb ¦¾©ÞJ£ºCÙÙ½?çÉBâYvnÍÈ&kÖÕftì¼öò$Ì,d9³Zaý§p\^
+Y²ãö7 ¦Q×JFý¿ 9=íQ4
+ØÀØIo
+SüBäpsÉå I) Fv(@yÕ²Þïcãü\@ÍîâÓ
+%´Ð%Z2h'Ë@dµË(<|áaÞ ÍâÔJðuM@¢O§°Ôâ¤L°£ñGjÕd!X¬8ÅÁAÞÐf 5J iÕ
+K->Ówû62ƾßWHÖü}ý:¡ËmP]XBÉ0QX=iÞb_ï¨gÅ=!ôF¡ðtõût·ÙþõÂ
c¼lýr»¤ÇÛí¾ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/edit.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/edit.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/edit.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,4 @@
+PNG
+
+
+IHDR (-S uPLTE\O+aT.eY0f]>l_4OA±±±×®t¶¶¶···ô²Dï´M÷µDò¶M÷µEÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈöÒ6ÏÏÏùß9ûç;üé;üë=êêêëëëìììííåíííîîîïïïðððñññòòòÿÿÿ yÅx tRNS @æØf bKGD H pHYs tIMEÖ2)¥·» 5IDATÓc` *PSCãKð¡¨Iñ2!¨Iò³¢ðŹYPø¢<¨p0£òÙЬDw Ô°¨Ã¥- IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_00_to_19.gif
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_00_to_19.gif (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_00_to_19.gif 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,20 @@
+GIF89a0 0 çÀ VWUVXUWYVXZWY[XZ\Y[]Z\^[]_\^`]_a^`b_ac`bdacebefdfgeghfhighjgkmjlnknpmoqnproqspsurtvsuwtvxuwyvxzwy{xz|y}~j{}z|~{f}|~}~
0±¦ ¡ ¢¡£ ¢¤¡£¥¢¤¦£¥§¤¦¨¥§©¦¨ª§©«¨ª¬©«ª¬®«¯¬®°°²®±³¯²´±³µ²´¶³µ·´¶¸µ·¹¶ù±6¸º·ü®>¹»¸øµ.û²7÷µ8º¼¹÷¹%ù¶0äÊ»½ºö¹0¼¾»÷¾õ½'÷º2½¿¼æÌ
+óÆ
+¾Á½îÍ À¾ïÎ ø½EÁÿÂÄÁéÕ îÓ ÃÅÂöÉ%ïÔ ñË0ÅÇÄíÓÆÈÅÇÉÆôÏ4ÈÊÇÉËÈïÕ,ÊÌÉîÚ"ËÎÊöÒJÍÏËÎÐÌÏÑÎñÝ4ÐÒÏÑÓÐÒÔÑÓÕÒöÝIÔÖÓôâLÖØÕØÚÖöÝwÙÛ×ÚÜÙóåmõægøàøäuõçoÝßÜÞàÝßáÞõéàâßöêøèáäàôëãåáôìäæãöîåçäæèåçéæèêçéëèêìéùðúñ®íïëîðíïñîðòïñóðüõÌóõòöøôûýúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
+ ÿ , 0 0 þ ÿ H° Á*\È°¡Ã "F|HQ! Sì8
+s x)1\¸èyñ1äB(q'Ï.W¤0á2¢¥K2Ñ"5æLzô¬ñeJ#C¶(ùS Q³åYCgÓ¦>zÚxÉâÉFðx¤FX¢t
+,RúäóE'CÎÊð±¥°Ó#5
+«n+QD
+ÃÅË.UàðqæËO°Û0@#Bzâ`é0õ%tÂRÆB¥Ï ÍúèA!®®>t(°âh!²ÄÓ%K(MPÉ=Ä$H¿Ì@ìþìÍóäÁ/Z¬Hq¢$0t$E¬Ë Áòá 3¡ÇÎ-]¨ <ÐYCü0n:Èàà84À°ô2É·ÆcQ<ECH5ìPA(PÊÃ.4 ,°ä1ÆXrF6iÑÄwqÑ
C´P@ B2x Ah±aø
EM&¡ÅdwY@ ¥#¾ ¥ÅÒGSlYSalÑQ¤·^@°À2Là@(@AS
+À/ÿM
x[¡gE
+!KT* 4@ð è? ÀCdaÒeþYPAE`5ÐC¥CÜÐAPÎ@Ãg @B©NÅkÄ1ÛÕÐ"
+%âà, gR0¬A¸¹WkÑ
VÌZi6@ë Àضh 0É#v´qWm¬1F^pÅUjÃ,ÒP`Ã.ÄH ½Ð¡ì¸v$¥±køëEXDÑÞ88ÂBÛ©
+ðÊÀÄ¥ºÕ^x±!<²#ô|H Ju¡Åíí@
+8lʵ:èÀ¶ëaÈ_|E<"I&À²×8bZHÑÞ
+"8 ˽:øA'@=аØÑEev" þ°Ð-4m_\Ñì»ó5-Ã.à,rôÀðm9-»ô²KàUÁÊ ¬Ê¦×
+,
++
+Óë°¿>À+ º4 +´ÐsÜÁ{ jÎ ¼¯¦·È6ÛØr at oC4ßü?´ï³µ¢~¦<ô"Íïñ0PûôK<(æÐÎ;G ÿüô× ?µÿûHH<qZh¢U9H÷x2 ,ÅÀüyÃ%*áP¨¢¼ÀC-A!
+f(È
+"pÿx^CÞp
+V1ôC Ñ Fàð,ì{"*ñp!o@ H9â1¤ï X:P"V¼¢ö´ÈÅ.>$ ;
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_20_to_39.gif
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_20_to_39.gif (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_20_to_39.gif 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,7 @@
+GIF89a0 0 ç J!K!K"L"L#M$M#M%M%M#N$N$N,N|%O&O(P2Q{4Qy-S0VESb1VESd-W4W/XKT\1[8Z1\TWTUWSVXTWYUXZUXZV?^Y[VY[WZ\XC`[]Y\^Y\^ZEb]_[Fc^`[^`\>eJd_a]`b^Kebd_bd`ce`dfadfbegcfhdgiehjfEp§ikgFq¨jlgjlhkmhkmilnjItªIuªmojmokJu¬Jv¬npknploqmprmprnqsnqsortortphvsupsuqP|±P|²tvqtvrQ|²Q}²uwsvxsvxtwytwyuxzuxzvY±y{vy{wz|wz|xt}
{}x{}yu~
|~yv
}z}{~{~|[»|}}~^½^¾_¾
eÄiÇiÇkÆtÆxÃqÏrÏrÏ ÆӮѮζڹݽ޾ެÇãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
+ ÿ , 0 0 þ ÿ H° Á*\È°¡Ã "F|HQ¡Ä+jQ9èX!q£Eÿ"Ò ¨eËB8J,Q" ?.sBq&G+Àø)Æ(9v© ÂdÄ I)iÕe!«lªCUUS&DaZ
+bÅc«î4»0bDyNHÎtâV]ÊÕ¡]C*Ê$m#"à¤yè&AUè¸Æk^â BkÜ©ºÇHBu¦PSH.~ry(J"¨>®JçÄ "pÁQ8çÑE× ¤jF â]C! áÔ£þÞqÈ!bá íá£Õ3èHÑ~ 5ñEUÃÍ!Âd«Ó$¤õ$$Â
+æy àÆcxDXOT¨SKXüðØ|IùqÂch´'Â],æ$ ñ[A$`QUW8Æu Ubt|-!2à ķNBhYxèzÂÆôÀ!dif~qo)f\~bÀ$ Q|öɧ>äñÆ`Òq
+²ãA !$|8 at P0I&8BA\ehiv<*ĦdUT¢É&g¼0!Æ'(t|!A
+\IÙ %$GTA -@ Á ÀÔ@5IpA¬&
+Ð$0[ HjI<Ê9íCæê£@( P¼y®¸ï¬hqkBþ®ºì2ä. -P ¿-,o¨ÔËMD¢é»ñ@ ÌP£êâ;²£âë0Ä Í[±½ðRÄ&ÀÁ"^üÐ7o¡óF+ý°ODmôÑH'ôÒD ;
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_40_to_59.gif
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_40_to_59.gif (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_40_to_59.gif 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,8 @@
+GIF89a0 0 çÕ
¡ ¡ ¢ ¢¢£¢¤ £¤ £¥¡¥§£¦§£§©¥¨©¥¨©¦¨ª¦©ª¦©ª§ª«¨ª¬©®¯¬®°¬®°¯°¬¯°°°±²®±²¯±³¯²³¯²³°²´°³´°¶·´·¸´·¸µ·¹µ¸¹¶¸º¶¹»¸º»¸º¼¸»¼¸»¼¹½¾»½¾¼½¿»¾¿¼¿À½¿Á½ÀÁ½ÀÁ¾Á¿ÁÂÀÂÃÀÃÄÁÃÄÂÄÄÂÃÅÁÄÅÂÄÆÂÅÆÃÅÆÄÆÇÄÆÇÅÇÈÅÇÉÆÈÉÆÈÉÇÉÊÇÊËÈÊËÉËÌÉËÌÊÌÍÊÌÍËÍÎËÍÎÌÎÏÌÎÏÍÏÏÍÏÐÍÏÐÎÐÐÎÐÑÎÐÑÏÑÑÏÑÒÐÒÒÐÒÓÐÒÓÑÔÕÓÕÖÓÕÖÔÖÖÔÖ×Õ××Õ×ØÖØØÖØÙÖØÙ×ÙÙØÙÚØÚÚØÚÚÙÚÚÚÚÛÙÛÛÚÛÜÚÜÜÚÜÜÛÜÝÛÜÝÜÝÞÜÝÞÝÞÞÝÞßÝßßÞßàßààßàáßááßááàáâàââáâãàâãáããâããããäâãäãääãäåäååäåæäææåæçæççæçèæçèçèéèééèéêéêêéêêêêëêëëêëìêëìëììëìíëìíìííìííííîíîîíîîîîïîïïîïðïðñðññðòòñòòòòóòóóòóóóôôóôôôôõôõõôõõõööõöööö÷ö÷÷÷øøøùùùúúùúúúûûúüüüýýýþþýþþþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
+ ÿ , 0 0 þ ÿ H° Á*\È°¡Ã "F|HQ!
+^Âå Òj°c«2Eòñ1äB,ImÚ²^°DA"4£¥K ü©%L²Ucl©I
ìðq ó§@¤ñZf,Uµ£UÊÒ!<mÎH9B>+´«Zµ@u*æl®Síc%(X¹<
+BDAHè-õ+¤?³ÁÒ%¬W¨Ceæ$#¦«¨J
Ì°kèW5g¶fT0¡eÓã5ë%W¤MWB´'Îr5¶ÁRxhðê2_¶Rª¤hpâtÎþ`É! `Ë9Àa¥}{ËÅJÔ%Fôx¾'|û#å)D@tÂî%B pÁ
zw{JP &øð" {D Ã> p jA àD7À <¨ãVð° bp"#N,0D:h8"ðèd"¸0ÓøJD
+àÃ`ú]wõ"
+X!ð ä? ̦Nð0´Ò7\!G1ðæ=Ìé¤ #M1P¢G!ÔR)t!@Ba(PH4ËSK!(Ì-ªD þîhC
+ at 0ðH/² &»Àb&àñ B¬:JñD{,à`%ôñ ( ÂGN8ÀÈò8Ä 8R
%"Èp! pD·<Á"Y$
haìt ðîcè¸E{7ÔD«ÀDÀ 2±Xð¨l{+0L 0¼ï0 °Ã9Æþ ÓÊ,ÃD ]¨¡ïI\
+§¬¨2 iXÁƵhÄ*Ã.=0K&¬ádÄÚÊ 1P&¨ÂÉ$òu¸qF\èò V tÊ-§-Q DíöÛpÇ-÷Üt×m÷Ýxç÷Þ|÷í÷ß^w@ ;
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_60_to_79.gif
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_60_to_79.gif (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_60_to_79.gif 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,7 @@
+GIF89a0 0 çÿ
{
ªn¨s ªy³o¢¡¥y´£t¢¤¡¥¥·«s¨ª§«ª¡»®pµ²~®°çªK±³°äLê¬F³µ²Ò´mµ·´õ®;¶¸µÙ·]·¹¶¸º·ò²EÇ· ¹»¸ý¯?عrú²@º¼¹þ°@ü³8û³Aý´:ü´B¼¾»þµ;ù·BþµCï¸]ýµK¾À½ÿ¶DÀ¾ûºLó»`ý»Fü»NÂÄÀý¼OÃÅÂ÷¾]ÿ½PúÀXóÅQÅÇÄøÀeÕÅðÃyïÃüÂaûÆTáÐiÉËÈýÄiûÇdýÈ^ÌÎËÿÇlþÍRûÐKÿÎKýÊfýÍYúÐRÎÐÌþÒDë×aÿÓEîÍÿÔGüÖFä×ÑÓÐûÖOý×G÷ÏûÓcúÖVòÏýÔ]þØHóÜXýÕeýÙQüÕlÿÚJÿÓsþÖfýÙYüÝKëÔªõÞZéÜüÖtûÙgúÙoûÔ×ÙÖäÖÃÿØoþßMíÖ¬ýßUüÛpÿàNüß]óÕ¬õÕ§ùÛ~õÛÿáOÙÛ×üãOÿÝkþÚ~ÿÛxúÙýÚÚÜÙýäPúã^óÞùãfþáfþåQøãmýámüÞýåYÜÞÛðÛ¶øÞþæZüßýæaôݲýêTÿçcúæwþäwßáÞÿèdýë]àâßÿèkþå~ûåÿéløà¶ÿésáäàÿçÿët÷â½ÿèÿìuýëüîväæãñãÐûî|ÿì|þïoåçäÿí}ÿìÿíÿëþíÿî
ÿë÷í¤çéæÿïüë¤ûé¶ýñûñèêçÿðéëèýòûòÿðÿî öí¾ÿñÿòûñ¨ÿòýõìîëôìäÿó£ïïåøìßÿô¥ÿò·ýõ²ïñîÿö¬úóÊÿó¾üö¹ÿ÷´ý÷ºû÷Àñôðÿø»ýøÁóõòþúÂÿøÏô÷óöøõøú÷úüùûýúýÿüÿÿÿ!ù
+ ÿ , 0 0 þ ÿ H° Á*\È°¡Ã#:ÔÑC¢Åz´\ÜXP4 s¸{·äÆ-Ù1yq¨AvXÌ¡C¦}¸Kå£HòpFL
OÝ ¡wÔ1£wØñöÎÒÅédË2°QåèÕYÒåçEA»ª¼á»rÌrÝu+×6zËÔüäÓQþ8¡']¸b¹3F«ªM¤v©Ã°[¤¢G-±b®r¥¾Õ¨#FÊêlR =ôrñ*¦µbÄråjÕ£<m¼Á¡±À Ä@R/ønjÊeS&ÙXñMÇùþx;b qûAaâl`¼]Ë6ÿw®Ê1ºæUÁ0=öèÍ0A¼CÜ-§)#N8Û¡Ì-¨rÜ`0Dpa?ú¬l
+-¹Ã5×Ì-·XÆHn|! °=ç<â4]8)ÜbZoó©xe¤rG`ñ
+-ðÈâ?MS*EîÆ2ÀåâÝ8 <LgcXQB=Ð0M;êb?5¨£"DÞÒ|Á@æÝ pðB*p° PýÃG0åØ¢Å`g;ÏÒ?;£(ðed.ÁCKe °Ä«þP$QÂ+t1é@`Ó!t=AÓ#bÙ'´âÁ T A¯Vû*<ç0 t.ãô³9²N¾rÇk Êà¬Ø`í«IØ«*t BسO?"b5h²Kë'¸ EµIÜk1¬,púèc
+4
`!HlóäëÀÁÅ,[ÌA%05äÀRIpQ»,yä-ýêÔ 6³BFµPH¡D6c|ñEatÑD PdÀB4ÐÀË$T¡Ìi|ñ
+[·<B @ x Á¬°2^´À½q_Æ
+±á?7±ÆDnq %È sCx²ø ¹ÅIh½Ä+´7²Ò@ ÈðyË6À%îx3Nðð:Ë< Ðî\òÙ? °ûÅ#$ÃDÇ[KDéå`CØc¿öÙw_q<àûF `þù觯~21ÎÍ)7´/3©È/aØÑTêïÿÿ à@ ;
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_80_plus.gif
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_80_plus.gif (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/health_80_plus.gif 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,14 @@
+GIF89a0 0 çÅ ü®>ý¯?ú²@þ°@ü³8û³Aý´:ø¶Aü´Bþµ;ù·CþµCú¸Dÿ¶Dú¹KüºEþ»>ûºLý»Fü»Nþ¼Gü¿?ý¼OýÀAÿ½PüÀIþÁBýÁJúÀXþÂKüÅCýÆEüÂaüÆMþÇFûÆTûÊFþÇNüÃiûÆ\ýÇUüËHûÇdýÈ^ÿÉWÿÊXüÐBÿÍJüÌXÿÇlûÐJþÍRÿÎKýÊfýÑCýÍYúÐRúÍfüÑLþÒDüÎ`ûÑTþÏZÿÓEýÏaÿÔGüÖFüÓ\ûÖOý×GûÓcúÖVÿÑdýÔ]þØHýÑqüÔdþÕ^ûØXýÕeýÙQüÕlÿÚJüÜJþÖfýÙYÿÛKýÝKüÖtûÙgÿ×gùÙný×uüÚhûÚoÿØoþßMýÛiýßUüÛpÿàNüß]þÜjùÛ~ÿáOüãOüÜxÿÝkþÚ~ýÚýäPÿÞlùãfÿÞsþáfþåQýámüÞýåYúägüåaýßþæZüßýæbÿç[ýàýêTÿçcþävúæwýä}ÿèdÿåwýë]ÿèkþå~þèrûåÿélÿæÿçÿêsÿèÿëtÿèÿìuýëüîuýèùè¡ûî|ÿì|þïoýïvÿí}ÿìÿíÿëþíÿî
üð
ÿïüë¤ÿìýñûñÿðüì«ÿí ýòûòÿðÿî¡ÿñÿñÿòûñ¨ÿòþò£ýõÿó¤ÿñ°ÿô¥ÿò·ýõ²ÿö¬ÿó¾þö³üö¹ÿ÷´ý÷ºû÷Àÿø»ýøÁþúÂÿøÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
+ ÿ , 0 0 þ ÿ H° Á*\È°¡Ã#:4@¢ÅKT\ÜXÐÒ( ìê
äƪ>Á0yÑ/OX,`@¦ìÚ££3ÀpFÜC,¡ @ <yÕÍE¶M21P <³ 9«N9Ð1ôªgKD\ÿ
+àjWOZU0Ojþ 'O, &S¢K2¤ÇF¹¢ ì¤<Á:iº $AyËà!C¦L/YX ¦NJaºT ;d¤ye$6HÂ.%*]*¥ªNývÜÉ+
+,Tb(ÓíNÎ;þa¢4¹àA!ÌÑA°î4aúDK*UIî3/|2Ig°"ÆË]Û)§|ß!ÒõAÆDè@G!UH,BÉm¥RnL¦Çn@!
+7C
+ðà
@Äzt¸&w d ÇyE¡C lÖ
+!@¨ìòÉérÖV[i%ú&Fbè Ã@õÌ¢
+MÀ ©ô¢
+rYIbè¨å"LÖÇyS@ b&¨ÃQá?ÈRÆdôa)dj"þ)B(£
+ W'¾ þvG¡´R}ÑR!ezØ,pdÌ!EØ@B_aæF°BW at AFi\iW\1E
/hÀ@$m@!Á뱿RçP$lðÄÆA«J:!
DÀ+E·RÌKoDÒLÜP4Y¤:T(¦
+dA#£Ê$WÌ
+ļ6¤ð ÒB¾W
+(ÃZ`óÍ"dÁ °Y¸FôÄ2À@ ÄqC \AQDfBðÇæ¾b@CÄÑÈ$¨ñ
+
´CgìòJA0À @ªE C|R¤F¹ Æ(o/d@2AÀ¸Çõà=@Q På)0K[?T"¡?¤F¥7d ©©·îúë ;
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/link_error.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/link_error.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/link_error.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,7 @@
+PNG
+
+
+IHDR óÿa gAMA ¯È7é tEXtSoftware Adobe ImageReadyqÉe< LIDAT8ËÝ_hQÆ
`E÷]I+¤iE³13sEÕEä°Ô;WC´B,IjMøXcÌM(jøe:eå¹Ï%²MÝ`Ûñ_ôtÎY°uÓ]^Îá=Ïó{ß÷pD Dÿ¢ÿÐØظÅ`0\r:ã`³Ù2&i?mô,°»c¦ý ÉêZ[[]Ùl Àn·§Vk4LX.iyj ©TzÌl6/&V«Q*?ÚÛÛáõza±Xàî:ðíÏ:mh`` ô̳¶Ãá(ú|>½ZÞ,ËxG<Çh4ÄS=ò© &ò0
+Ó2O
+ H.êõú
ÞÞÞ¶¶¶gMMM
BF[]'0?Õêò4&ê0gó0-óÔ õt©Tª©
ÁÁÁ|0ßïÃfÂxà$JóQúêFAxðÝ3ãjÕGæ©Äbñ&ÚvCKKËN§[6EÉXßQåC(}q z}*ù!ĹfôÛç¯ÿà}ÿÑ#3¼å¹û Óçí¢éÄbz¯o|å9°uCÀø½Ãuï¸æ7ôá;°òIû;Rgé(7x1æ]Ýðö¶ÜºQÎúW«¯¤NÓd«;I@¾=D´Kò=bß³{] moä<Jsô
+ækbÕ¥}ÙçVq`] m/ën £Î½V"´yq¯ì"ÔDxËNÂwî ¡ËÛG·c¯MQJ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/rss_feed.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/rss_feed.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/rss_feed.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,5 @@
+PNG
+
+
+IHDR óÿa gAMA ¯È7é tEXtSoftware Adobe ImageReadyqÉe< EIDATÁÝku àç÷{ßsîØÎhÛ9.v±0ÑÄnì¦ è¦î¼ËCKú7Qt/HiöqQ¸Ð
Ù¡N´sÛy¿ÎÛóìUí欩 (±a586g;ÞÓ9BÒ ¦@HĺbãÇ^ó³R©Î²î nßàï5b$$º¦5ÅÌ"3z)HÄ1 Øæ×ÜüêuÀ¿·»Ñ!egõóô¿e{Æ8¾À³g9°Ã2'';üü11F¦Xx
Y8ÅÚ9n^$+É3!QDDw?â©wyäyîöùêMWÅ×è,eKh q¦çyüe9Kû!®¾Ï¨÷0,(*Dÿ\ãó×¹zí-ûxòmZpe{·h¶8ôÃbDN#ud÷6K\z?.ÓØÇÑÓhðÍ{ÀáØ-É+rR#$5˧i´|ÍÚLÍÓêÐ]äúÿ±ýL¤¬È ÖLâÀÓó<ÆÝ;¬>ÆnEÿàÁÇ(kr"Øݢض~#Ëøë ÕeXðç
+ ¹ª¢$£.QñÅ4&\#+éÿÄ')Jv+¾ûëßSVì'¼3§»wÙäͱæ¾&:´;ÄHLé21ÉIJ;«!{Z»Ùµ¢«gCäÈ1D%r¤hZn8ó?¡ÖÒÀò¤î IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/server_lightning.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/server_lightning.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/server_lightning.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,8 @@
+PNG
+
+
+IHDR óÿa gAMA ¯È7é tEXtSoftware Adobe ImageReadyqÉe< kIDAT8Ë¥SÍKTq=o>yúíEfYVFR-¦(HH-ÕUýÒ2h1à²ÐE-BjSØ2è>dÑÀ¦¢1ÉÑç<ß{¿îûÍå"\øàp6¿sî¹÷Ý«I)±/´Û
YÆظçy!b+¸®ëóCí 2L3 îq-Ã!zMDÂÀüüó¿ þÉÅ4!(x¸±
7¶´@«F!z)ÈHã8Ubº?(
¸MïSà®
+û÷ÊÁKHZ!¤BaphXµ¡¨j;a<ë +@ ÚÎØ.}F¥ñ26+gÐ}
+ªº¬U÷[W
+ûH|=bÖ ½F£uPúþ"9Ñ<aýB&ý*sUssäJ5à¼W2q#¢wA2<LÐx©Uò3h*p¡=+v^(¡RÈÚ$¶ÛgP),CS×0wrÛYÄ
+ÏàrLa]Ïa¦²ñ¹üÄ!,ÙëI£c,ɶKp+Xò0VÍÛ`¡V5å»ØÚd*
o°c¾>íiÿ6WÊkæ8¶>üȯ«ÈBÊÚM<¸?»s
Ç7ÄÄ¿qÃƽaApêuYeYm!PyÔ=,<ÖiscÎè»WoÓ°,º®#ÐjÊ×RøÉýýS=O=>¹²Ø<I¥R#ÙlöigtEkò Ô[ÞßÚn×8555DÂ;ú1ùìöaIÛë9ÿßP¸¸ce½ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_blue.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_blue.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_blue.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,6 @@
+PNG
+
+
+IHDR ;ÖJ sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEØ
+'´H¦ tEXtComment Created with GIMPW DIDAT(Ï]ËNA¿p ¨A2ñÅDÜ<[]³ô}x7n]hÆ1D@Qp®rééîêª:U.ºA¥³¨ä|õÿÿ©ªSëç¦ò[ûªaÿÈÐÔÐÝÒ®
Á¿½'ííË=86X9©POz,úÎðx¸Û¥¶ ØÜÏüÜj$xâÀÇJ~H9båøø5buKñe%òw¯v!ÀÂZÊÖ¡¹)ÀùRÚåP6R!J
ok1¯Þ#}¹y~5ö³+1âÀÇXOª=rÔá(#¡ÖÄ$I¨lÖè?ßú",o(¢ÔÑT¤Ú8ÌQ
jd©5,VÇ8"VáDóyapy]Q,Að×rf|>¨Xh$1I'ÍðΰXÞ&¬ìh¬8ãdÊJç9Å*Dǹ]à
+Uïõí0lªÅØ<¯w''bRÄ$¹Ý²÷þÞ.¾åJw¶ u^V!Få°Uÿ©Ü¸Dx§ÔÊéMü áD#&ÅÙ±ië\À{ àþÐEÆnu¶auÍXÝÀ¨:6j`u~EÇÃ)ñh¤4vw´¬Í~?`w·ÊB¹vJ1Ë«0t½gOîÑÓÕ6uò¶gû¯x7]ÆUÀïNxÏÄÃA?etx øïc TÒ3·æ~1¿´ÎÆöζsóJ/£Ã]ìéj:îÿ8Äðq¤H IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_grey.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_grey.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_grey.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,6 @@
+PNG
+
+
+IHDR ;ÖJ sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEØ
+.ÿh tEXtComment Created with GIMPW æIDAT(ÏeÍJ+AFOOfáF"ÙEP
øYø>÷|-Áu à*J0(ê"*Ñé¿éî»{jÑPç«úªºÿÏÏÏ?RÊ)%u]°³³CQ±»uY.QJI¶m±Ö¢µF)
ÖF£ OàÃÃCüþþ ÆHÞûNh±X°Zx~~ÇÇÇ"x||???!BlAÎ9¬µXk1ÆðòòB¯×ûmûýý=>==eYBÀ9Öº®©ë)%ZëNh2¯V+´Öôz=¼é·i´ÖcÐZãc>ÿÂJ©®åä×ZR
+)e70¥ÖZs,òbÄ»ªÞû®Êæ´1cðÞ£"ϲõzÝAiMι-¶m÷²,Éwwwy}}Å{ßEZMò@çÞ{b÷û}f³mÛvÖ $@ñxLvzz*ÃáÖd¦¡®k¦A)
RªqÎQUû@UUeÙyÜÒnSË£ÑÉdBQ_bóyÞÞÞ2N·<¦
¸ººâúú³³3ñßÇ ¸»»÷÷÷ÌçsÞÞÞØÛÛãääóós.//÷¢øJ¹¸ÑÑçúF1 IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_red.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_red.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_red.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,9 @@
+PNG
+
+
+IHDR ;ÖJ sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEØ
+6õ; tEXtComment Created with GIMPW /IDAT(Ï]ÍKTQÆwæ}` 6P "H-L Zµ¢}ý7ý -¢U«
+²È
Ø4¡Ù¨ãܹ÷Îý:ç=§Å²³9x~<Ïóòÿþ´üÞ½h4 ìÃé>8_Á»6åý«í=l}ÿjÝ:¼$(0V#Ã0orÜðìnݲ¶á Æh
+
,$
åø^CV×lyjÒóØؽ}(ÀâÀ¢¬´Æmb À¼xébÛ/_-ï>_îÀÖ9¦pp&mh&¡ÿÉc|¶ªÇP*CÉcA+çFÐhB£I¬(ÚZ?ã³Y
f˹Ҭܰ´´"ÔHkRÑdÆ®oàS¹Yën¥!Ï!NÈ¢ÆZ&32vvð)¡¾Z@)Ä
+cHÐî Q§k"Bn±¾Ê¾¡¾m¡¬5d"Gà¶hR«*ÆðõÕ Â×KÆ!7¦×+ÖDĸ Æ`083MéØíEÏ^&×-PVª@+Zº TX4©q±/,Ìqq~îV àÔÝ;06J[þv´&ÖJDÈÄE¼<Á÷81Ðÿª·ÛO«ödzçÔÞ¼%é ]§nϱÅy¦ÞgxvÆ;ò1 òfsdwiykûý
+¿ÖÖ9ØÞáø¹!Î^gxvÑ
NxÚÕÿ*¤ù:e IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_unknown.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_unknown.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_unknown.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,13 @@
+PNG
+
+
+IHDR ;ÖJ sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEØ
+/nÿK tEXtComment Created with GIMPW (IDAT(ÏméJ#A
¿N·é¸Ñv æG
+ú
+
+¾Ï¼Â<ÿDDT¤%`VãBK/µÍ¡qf
+
+îsî=çRåð×N§?$ù$ ___ Ôj5 Ùl:r¿ççg$ Zk¤EAe¤iJe,//³±±AEW
+»Ý®F<==Ç1H)q]f³I¼¿¿3Lèõzf}}Ýñ â86ãñ...0Æ ¥DJI¦\__ãû>ívÏÏO\×ým{0ûû{îîºBJ 5yÛÕjíím àôôo2ðññÁp8¤(
+´Öcln¥EQØz4áû>Nç·x8Ç1J)1vr)Bغ×ëQ¯×y||Ä{}}µÛ4ÆØ©B1äynqÙ MS^^^ð*
+YYRÊfB|;Ce¬¬¬à-..¢µ&Cúý¾Íü?q¥Ra~~<ÏY[[Ã[]]Åïû(¥¬]¥Ô7,Àó<ªÕ*RJvvv¨´ÛmgkkF£AE6WyË®ëÒh4åððýýýºpppÀx<¦|Áétj.--Q«ÕXXX`ss xó ZÓívÍÌÌÌÍÍEB]kÍññ1gggìîî:ÿ|óóss{{K§Ó¡ßï!V½½=êA¼Ü_¨!¤XßÅ{ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_yellow.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_yellow.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/ic/status_yellow.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,12 @@
+PNG
+
+
+IHDR ;ÖJ sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEØ
+'Rõû tEXtComment Created with GIMPW IDAT(Ï]]KUA}Î6ÔcFÁ!QÒúÀ¢"®,ûuÝêtÕH²ÀèBI(Q#ÌÏ<GÝ{ö=_«ÙGu1Ãû¬õ®&á¿#fS°»à÷ÀBÒÆ%è%|×^Äîu0ëøÀ
+BþÂ1ôM at kd`:H#¸#èå( âê2 BÅ'°xõUI
+@µ
+~h RC¤PÖrÅÑ*A¿ÅÛîD*ú !iÖ0¡¬¶}þUxTéÑÝE¤f=ŬEAÒ¬#85q
+ßH®r¨ÂS ûK¤TkºgSå|XÇë)ÇIáRt(ý
+)fg%®(§ªYî8ÉyáÉGWëÔoR&¸ÝÓ¼(u@¾¶ëQ
§(£eï
Û¤ÒlcÕw¬
+X'Ñ@^Ä={v@ûÆ-Rwá>'ÙÆ
+º{¼p¥§(ºò+ 4 ×FgHC³28»m¤ÔqB©#P²oÆ| ¦n?clrîyÚìÞP/t÷Pé¸_¯YeÎEðúø=¦g^0ÐYHZ#ã%©ü:?Þ£+®¢uc#("LÝçáMÌ&ÿ|Jwæw~~x·µùí_Ëü9Ø¢¿Õæjû.ã³Ü¼õôÕàÐ×=ý_Zh§HAî IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_builds_history.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_builds_history.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_builds_history.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,148 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ ×òõ IDATxÚì½w|×u÷ýÙÞw,°è
+ ö"ê]²K\å<#;ñÇiϼqüÚí8îqüDîd¢¨BJì]$AÑ{/»Àö6;sß?,0%Ùrb¿¬óù vöÎܹ÷Ì)¿SFâmFígù2B4¡IË4Aµ
+>!D.Br!°!LMeÐÐBÊD
+AI$A@À4dÔm4ËçV·\5ývZ/é:qÿܸ,;JÕgÌfMMB£YU5¯0"¡ !ç
+
+!$@C BBCdC4! qþ¸¦´Öéä9I:t²tÔd1v9í=2r0Ç[ª½Ã ¿g1HHÖx<uи]Ó´ªªù$IØ4$©t½^ªfu2Bh (hváÆu:ÈId7[C UUÐ4N§#Nc4²¼³È,Buɲ4mÐëÛu:Ý_îS)îõ)ï0Àÿ ÍÍ; å}BÕîV
X+æ!û`£Ý\@cÇó»¸róffæÐõÔVU¡×ÉèdÁ¾üu<z
PÕ®ãö«[@ÓÐ*TÔ £«Ù976òôöç¸óö[Ðëô2BeϾC4,«Å_YBCÀA¯?©×>uúäO?ôÁ?¼Ù×Vÿ¦}Ú'Ì3£WîyðÅûnð»+Jòu}}ýR(CÒèlù¬j,gajöþd¡¡A¶^±¾Ü.'-ËëÑ *I,XÞÔH®ÛÅÙ®N24ó ÿúÕoóÏÿøY~øÎƵ«Äc³iÝJºº»øÈûï#05ÄÎý'qåÅÑTp`Þa2B#ÇWN}×̤¯ä52þ¿ðùÕT=¦×Éûïº÷äqå7Û¶?ù×ç¿ðù¢ý}ÃSOêlî
+òòõÁN¥Q%¼|úºÛ%çÛb´ÒTidzf$HH¦I'$RIRÉBª¤'¢Ä#!4X2A8!LDÄ㤠©4ÉdT&žÝÁǺ>ÆÆ@h"
+onf½¢(¨´Q2úÉ%ùX"ùd0Ùÿð§þÀ±#/¹ÞaסWÚ[ÿ¢¨´éÇí~ThÚúh"eÏ$£Ì£¸]V / ==çÐéeü¡(ù^¾$$´óúZÒ4ÐÄy3påêå\}ífZëï>$²ZPÑ´¬:A óº1k/!§ròìø¼ÅôdI£fY9å.¦Çi?ÝÅl@ÙñBÍLYY½¼¼t½Õb}tÖ:ôo_ýÒ_¼£.¡§^ÚcYQóþÞsgÿúÜéJ^'Ëd-ñê2]£³,$$jꪡ]0^dàÆMËyaÇNÎäb²Z2ª¬" ùÂFïx~£ÙÙ6Üx/f|'?yêR¡à
y !!$qÁTºf}¿ØyéaÒ±8¬231Á¶XvR²ü¼J$X4³æ BB¡heý׿ûÝo}ª¼8ïË{÷úÉWþý;?J#ðèt«ë6«Åú÷Z4U1Ç d-`sX@X,L*Æápa³
ÃÈÌfóóa|¾<24óaôF3J2;7d4¤q:Åçjf¡Iè¡7ëF±PXFNÍ`uXÐ4A*¥àr9¡¤ UÓÎzBIasº0eó!RÕîÂa5_XÐX4J8Gt$ ÂVTZA$]RU6¿XPXôÜêUÔ?
+ì¤z3ªü¡ñn aÓtÞ Ë½NFÏOoQ/j,iñé¼Ä{@¨NèPÑÈU Rö@ÒÐ!¡¿y!BÊ ÿÊ^S¤eÇH*H irö4jæüuÏÿN$SQ¢±8"L,ª%
+¡i1£Éø«ÒϪ0WQÙ$ÞÖàø?Q2#(Y¤
ó¿õz=âßýv£h4Êìì,¡PhÉ}!eyÜát|iyóòo¿- HD#ofTõVÀtéÍët:,F£?
+LOMOÄ9R
+!Ð4-e³ÙojjzØb±¿- Hèâñø¢|
+!êH6ÅlÁb±ðÇHÓÓÓLLLðkPÈ:¹×épþemmí.Å¢¾e HȱXìs¢|Jø5qoµZÑétü1S"`|l`(õãL&âv»¿ÑØØøÿX,í-Ç DÂFÉdîIÎWÉH«ÅBj~üú%cB#g1æ¥ ¼öW
⸫[ð:v Y°®£¸©øâ`MÁ?:NnYþîÓ§f1æRÚ¼L|ð¼J^E-hI¦;ãk¾
+I±0ÐN`bcNEÍD:ÆlW+á@sA5%
+
+¤}:,eÌਧrCÉ
Q¦::PTÂåpäzÐÒa&ZH¤q5PP]EÚ?JÚàÂîr½¦4½D±æÉÍ{²¥¥åc%ü&{»*gFúwý³÷hA $¢Ä³Ì¶$áBÍd.î]&C ¯Î§þñSèÚû,Cwã
+ã))¥kûIÇbDGöSÈZÃëXrÍøÜÓÝ=̶djdZÑ#ô&1sá/¡g×£ ¾ôC#ä×:ʹ=ÊÙ'¾I ÂSZI õúZ{b~rܪeäV-Ã]À¹_ýcN)îzv<N"¦0°ãg¤ô<ÅÅÌßÎôXYÇðÉh¯näû|>°Z 4bÑ0ãr4½§µµuG$©|Ó3ÀÞG Í/,4=°gg80¿%2Ù«÷¡Æ:}øX7ÓG¶Ð»ÿù ¦ÙÇB,ØTRÆÕçe®ó(;BÕ
+F"í¦G<~I¿t!m{±7lD¨)¢³£$R¥WßMaYÞ«O6ãgàÜ57ÞAnõ2Ýö§T.¯DK16¡zë5äÕ6³âÞà+É>µfWÎÂ2
e8|,L!äÅWɲnÂ`ɤ§FÁKÍÍ÷àrÐÙqºL
+-¼æúÙí6ñæy £Å O&[Î9³³»»»ñÙíÏKoZHDÆ·âéÝü¼Ú¼ªzÉ[·äÂ(ñ¹Y¬¹^j¯¹k®½| Ð
+¢ZôÄgÉH¡`Ãílþè§R1ÔtÇòXý¾Ð|ÕjÎ<ý«¥RgÈOQ©ßۨ߸¹öÝüÞWèÈj Ëþd`Ð0[².§dtá(,eÍ^#[ò°ç0qægz3O=Âàà k?ö9:ø6'·mCI¥Yö¿¢ ßÄÀ®pø±d7Ýèm$5Ùqa&étÞ®^z»zI%S>¯ªYƲFtp¤T*U;33³[ɤ¶¼)`¼¯ýò×ýÒ$ß"´ ³ãX
+FJrnìòI¤
5w¿I*dÕÝ÷`ÐKXÜvd³Ó
+d½Åy L%Uè$è{êߥ]¬|Ï'Ùü2×sÙ\C(0(A?i%L5ØeÝY¬¿wÇ~òË
+¤
s-ÃÂ'9ñô lݵ¬{ïì{ïÃÔÕաͽÂÇwP¶ùn6?ôwØmîàÄ£_ÇS%>ôY¶^à\õ$ ¸¨úz%e%`0.Å>ðz½Klt:íF"¿ìêêºåMí>*õjß2ÑÝùÉ]T$z£)+Ò¬Vô²LNu#óÃ={ô+ÄCJ61;Ü-Q).§<¯ér
+|8×oåìs¿âØñ¸ª×a°:ðäØ8÷¯£·:¨½úÝKæï`v>AѺë9·çYÆf0ZÔ]w6¯¢ûÑ+ß;î¦kß6¦¦d×ÜÞhaÝ7Ó½ó1úÒ
+ÞEÃïÀN&[È>ÍBÖÞ?ù¾6Nüä«È²OU3²T¬õsæño#Kz¬y
T_}OÖübp]uñ¾e «ÍúkCQq}}}¤Óé,¦)KEtttÜÆmظá¿
þ·õÉÂÂBc:ìBówa$IÂn·ÿA]¼ðÈ Æúâ4]ÕÓßÓbþÙÏYvÿ±ÞغÄb1ºººH$$Á`öù|×566vþÿ¦âñx¥¢(ÛÐ|ç¡Iÿàà,nÆæ²_ÀÞl ôÛÞðæØl60Íî/Nû¦§§·ýw½ßY$ g$Ù¡iÚͲDBÂî°ÿÑ;¿/Åb´··N§CÍBL¦C6mºýwÅ ~'Èd2r8þE&¹ÐýN§ómÈy3ÅZ[OsXÓqØOmܸñ½^¯ýÞ@¡ÃÿV¿²Yät:1LïìÐfff8{öìï@4ÇóÅuëÖý$Io(vðmH$rc:þ$³×Øl¶w6ÿHÔÔÔp±vynnöS§O¾ñK÷þX,ös (89BÂæra·Ûës9N1ÞvÜòÚ¥Ç?
08è?ù
+ngþÞûÄ4rKKDý;ÁQÉî\2>5×Îð@Cr³ÛIß±(ª wÎg¿»j=:Lø]{_]GpàÏ=ÁÀ±ý$âîâd2Ì´íãÜO1ôÊaÎ3×LÛS_£gß^FN`ôä+è,uØ
+{æÜ®íLà.®ÂhÒ1ÓºöO2Ü~££ G/ ¹Ê0³÷8~ä3S3Dfòr/ºÝ]ÝÔÔÖL& #lJ¥RküãǶ}îsûí7ÁoF¦ë¦§I¥T|Õ&lsÏ>J<&Ssíxòsé|á)2 ?)ÕLÃ-`·ëë8Ìàé6¢1t/IÄèxòïÅ]ÝJpvøÂVL
+Ùòî5ìùê?S½jøðQ=±Ûë®æÒhPãt¾p>Fëw@óÝ"èxæ1ñ¶R³X"Ò~£ý:8òô.¶|ôSØ,®_}Éþ,±NÎgëû>8§~öuÞ÷<Íý/ò¥LûIö ¶íôì¡qC½ÇO³ù¡¿A ôsj×!|Õå]¹<JÓÕWÿƵN/ãñUÓTï»ìn=¨l0£¥(©3Ó¡ºmÛv|¸çTïyT:sèÌ'c3÷çæ¥eÍÅʹ~-w
+usü±ï hpfïN6ÝIÍòÚüÑþ¶÷Ðr×èæ0ròàE.4[Yvu-ÞdÙæzj¯û$M+ë|é¼üõÏÔç ·XH&hÝ}å·Þ|ùü(6&½LAE!§þó+´nÿ9˯ÅSðê*0ºïºõ8=vtfM÷ÿ5%µEvî¤úë°ÚÍèí9¬ûÈÿÁïAAÿ¾géÙ÷,}wQTrKK ´ïçð¾ÊlØFÍ&V9ÎG¾BÏ©sÔ]{òbæû;U;cvnãG18Xjk«ºêôhBÃ?3ËíÿÛÛóÉþ¾~éLøVßè
+oû¤5Ïdq{Ð-XݹèDÉ©>¤ØvæÛJjpZÃ[\@najeß×XVS^ÙCÁ.÷*1?òSæ
+e,éAç ®dÅ{þÊÆzÿðßÉ$cìz£¯äÌ9Æpx/ªdZÅ$iâ]w7Þ5qBSüü8:îÙt!'Ô`@ÖÙÑâm&%îGQÍèt6´ÔEÈ6D·(¶¾Rt2H:=YBØrX}ÿÍ2Ûu3OMqÅ{n¡îÎ?'ð³0ÚÃ[þöMù(Ñ©%÷>:<ÊÌÔv滪ëÙ`µc$ÉñÖªJr/3tæ»EOye=ã$§ËÿêÊfÿÛ 0ë×MöýÎY\b¶Cè$Á©g@¶WAÙïeý½ï§¸~|Á½ÈþëñXCIÆïØ}ï¡·Z±VoâÿüêõÜôWÿDe®
ðlL2FZdòÕØ
+Q"sÌö.A-9ɱ}f£xŸ|dT=99uôêBMÆ?zcÉf¼¶Á?5K:4ÁéÿST¶\ÃàK;Í/òrôû_!8D$òjȯiÂ[YI±C?£ûè\e¯Ú@FÍ9ÅáüS^¥«®@o^LuÓ2ȲyɽU±nÓº%052?'
+£3Ø_wã*++pZ-¤hô¦¶3_éîÑý·Àû6/f-þÂê
+£ÎêD§%ÞÿöòÖÖS²ñ¦<ÍðÙ.6Ü;×E&\4ðZ&¯efb}þil[)¬©A6/B!^òÊp×i¥çÐaên¼OAîâ
+¼ÕXÜyºG~Ñ%¢,É`We«¯£°ÚÇðí¶ ¿ùjÊñXÉü]ô;ykY{óUùTл{cg;)Út/Õ«0çWïôì~Þ!ÞõåE(É}û^bìôQÆNGÖ;¨¸âsôì{
¬¾ólÞZÜÎ=/mgr`æÛïÇæt øûñR46ýF©ërÛêc>¦ÒÔX
þpMUUÜ÷
ÿ{r<äååÒÞÞ²<Udjâá
³?ýÙÏ{~g@aY_Ø«ªêÅÔE¬V6íÍç çúê
+ÜoJ÷mòçI+¨\Ùø{9?ÝÝÝë«åøu×]w$IßÉ
BïW2J$I²wVëo©¼þ.æyÓÆŵª~oó«®®fbbp8"ápËÑ#Gßüàw ÓÓÓý¦UO]¶Ûí4©Ûoe°µµõ|¬ ³Ù<pÛm·Õ¼a#pvvö/TM«\,³D¯7¼³ùoÐëõfËá WîÙ³ç/Þ$ ªªIpë·XÌï¬î[ªªªÎCÄI#ÈCDÂõ[3@$¹SÓ´eçuÑh¼<Ê÷»ê±_+{½cBhM»ø]!þýã/ÿX2ß%ã_ãâUÎ!4íâÏ¥-ÛfÉøË¿÷a÷ßÙVÈÉÉÁç+Èd2µìè#wþVFà_þ{óôðøçèÏÌæËþÎ]OánÀ[óÆ,Ú½;p£ró
+Kuý×ÉÛp7'Oа¢Îý{² ÞÍ{oçÜÓOÈh:«ÞýAìî±LÄOÇ}Ô®^F×ÞȤ3(É$5·}kf/}m ÖÞûAÈÌqàᪿú1Á¾ô8@&KPvÕ{¨ZQÇLëvÏô!F<¢éÝÿÝÂvÿòùUY×Õ»Uwoaà¹â
+ÖÜzo¿ð¹]ôêD KVîý8º`##i®Üü!÷Qúæ0%ìÞ2ªK_=³yhpÓA^ÞåÇ+++!$ôñxâÏÄã%ùº°òÝï¹Ê?i"ã=øGÐaïüVS=Ïâ"85·ºøxm/<Þ×Q»~/õs¸ò]¤ã *®ý
e÷>ËÜø$¡Y?+ï~ ÿhÿÈÄ£´ýüKÅ36I4¤âÎwbpWPPSÂСÌÔÝø!R©y:~L"0@°ÿ ¶ÒÕøÎ`.®§jíft©aæfðjJ¤mÇ.jîù$Åå$¦:FKpú¥lzèopyìÄà÷O`ÓAÅæh¹íOºv½ý,»÷aÜÞ\üGP£§OR¼õ>
+JHM&N[¶ãï3X7÷õKáì|¹¦ÇYFá
ñ¡aüá(hƦzâ³t
+M {5¹2S<o}Ün¦&úc±ØUÀÎ×W6ßî²*;ãÔ^ù.ê6Öѵwó½m¤L9lüð§É/Ô@¤èØñr¯¸å·ÝÎЧe NÐôîO°úÝïaôà6Îìlüð_â[,æ/ø/¢Q+õW¶P°õ£Ôoj¤êð¹ÍýÓÄÓ$R2Î-ßãʳ2r®o©ÑÚÖ·©¢Pýý{ô_8±ã öç«û:©!Òr¼Ò| ,
ÍT]q"qÛÝã IÂV¹òUÙ
+¦á#/päÑåÈ£ÿJWWWÖõÚ´îgÈÿø"ÅÁ¬§öÚ;8ø_úîè;;
-Ïky9á¾¾%b>LJ¦{½ÑÑ !$=J*B,q/øIÈzV®^×µØÝD(¯ª£¦¦ÐÌ(æ/
¼y^¢iHR2vdݯ«c~nôù± <eµd2*EªC=þ"D
+6;Ë/$@Çb2äס
+§ËÕj$£+FÓâ$V§IÖgÇýi©$§þ"T mûqrÖHtÏ[h¸ín
+ËÊ Í|%0ÀÌLÒ5ëÉñIüÑpýÅù`<M£If¶£º?Åif¾ïmOþ·ÔÒF³ZXM#4%x4ÉiB$'<ÙFùêU¤B/£¤Ut&Z´¡³S8mPqÅ-K$¶Ðj¬fë'nGÍsü±ïçµ
+²é£ÿ5eøà3ôØKóM7ÁV,nÂ`¶¾ ²¦òª
+ÏÌ¢sx(«¬&;@2ÁfÉ¢$ÉdD$Ì<Áà Ý*4Mx24v·Yo Ï#ÌNßðÒîC®ÛyUè?yø}©PÀY³!HÐõÒv2s=øÖ¾7ÎÙ]»É0£v_»Õ×2>'ãv)ÌM.`Ó_.TòËéxñyÕ#wÒò@óR<ÚdÀR»æwÝÍé
+÷=D¬ï(çí&Vª¹0¸sðï~ÈüÊL79Ëb·ÕD0©¡¤´nû1¾ê´è$ÞÆ
+X<ehSèß¿-8!ÿfÐ9h¾¢Î§ÅW]M¨§¹|+:eË\´oÿ9¹9øÛ³åA$ú v1tä¥Å9»([QÉðáo[ÍnÅâ)ÂSÄdënNn"×K2ÃÓ°©¬L¡3U]êÅ T-ÂPßy.'Áíbà;×í {`Q¡29:Ʋf±DÕ9£ ðæyií¾é6¡(F«É=:Ü÷>à»A³}g
+óáØs²Ñz½ÉédYÂa¡³zÈ+¯ÈJ ÿ8¡ôÖܾ|t&ó=(£°
+ÛApbwq9BÓÏLd¾À$¡é)ôÖ\^bÜÅå`ÜÈì¶\7¹®B/ á,®Æêr Ï1?1dvSZN÷ÙF ÓDýª2BÃÄ#Qô9åèt2É
i&'õ<eU-fD&Mxjx(Á§¤^P,
+'1º|äO374´¸d:£üºÒÁi¦§Ð4 WqVà$V±x|¸Jï¶ïsÕGÈËy}@h*Ñp¤"p8MKñT<F8Go0a·Y´¡PÉ` KXvÏq¦seMõìÞµt*EZÉÛóòí·ßzÅbQ0@"pùý!F\®7]W³×¤LÄOÇËûi¹ë$éÍ×ÿ29rÁ!
Æ«¯øý_LròX;ÞªÊ}=ÊôôôyÃcáî{î©´X,¡%033ó¡t:ý£ó¾»ó;àÏÛFFFhmm½`hæççønø¿lT*%/,Ìß}r²ýpÍ3²,¿³zo*..¦µµóA½T*u{*zÌd2iúEcÄ-+dYF &£ñUÁwèIF£¢â"¦§g@Ä
+£ÑèæeX,V¯io±[Ñ;)ÞoC*ôfáp!H&¾®®®ú* mNçlHÙdÇíúÍ áéqLvçe©Ù¿"³ÌV¢þiòª-=6ÙÁé#WÏlO±HgÙ2r
+NôàÃQÖHnqÚzéè,Éxd8B~M# ±0|Ga#sÃ8Kê°Ù$#!ÒNoþÞ"Ó,6 IDATóAbêëHÇ"L´¿Ù$SV»¤Øði"ú\|%e %êj%/ÂÂÅÔ68)§³-Âîdf`âQjÉmÄWOdf{aòoa«ý³
+vwnå5ãäää¼æyòó8ÙÕéô¶©©©ÍÀQ`¾ïĦ1I2Oöѹ'ÛNEMÅM \DíÒy£ôÞí!T¢³ã¦&PÒÙ6ùѹ"3c¦'PÕÅbÆÈÁQú`~lTìb'u¡ª'éxòLt ã¥í}>FmO<Bb¢³Û·ÁBï?'<7Õf襨é~Î<ûólÜGdè}é;$ÂAÿôÛ´¾°-»PãC9ÆÌñ]Lôb0=þý3H²£ÅÂðÁ¢$â6t¨1Úÿ6§~õ8 ÔyÎ>ó-tfF
é#¿`øT;C¾OpæâE&[A`b£ÕÑjÃ`Òñãû
~s'yU Ò78Jg{×åƾ!Æéëíédp8L,DSU±,ôïtØÐé¨jT*%
ÃM$ÀäðdsñÆ°tä"b±,0ôôwjnàå·|BWÖmOaÉÉcxÿvJW¬Â|;m'p9!/å?½mÿüY®¾-<µâ6êWæszÛ=yí¿¥{ϳ/_½L©ã¿dbBB´ï"µàDëaþèA¢¤e;²1Ú[Ä[é#Ô{L"d9>5ÖFÐRF½çÕÃnèÃýWqÞ²IüÄ⦿çÃD&V%+72Ó¯qî¢2 B{Hß@iò,CCªKAÖ)^¹ =
+ÙD#¯Þú%¯ºjÝtfÍÕË_t7kÖ,£ýlqårq1Ñ×É|JG&IG"¤£³§ÛN`!L]u%ÝçºÙtíÌOÖ 03&FÍ ²Höú$£ì5³¿Ñê!§"+'f¢¬¹ÿ!Ö>ð #û`ª·oÓ:Zîzúë®5BëþØʱäûêØI )ðVU°êYõÀgð÷¼ÄÌàÚZîze7\ó*·*¡Åç1"Òaô¹
GGÉk¹-üDaqWêftÏKq_ì6;$ßk]lséBeC´²ÉÎO<LïÿBp>[4Sq㨨)¦÷ÅÇØùÏ{Í:ò4rrá4svÛ÷P2éxCßÿ<û¾óyÚ÷vSñêI7;~Âþï}ýßû<ýãÙÞDÎíYò½±1ú{ú ø¿Æ/_Å2D[×èCSQW4±rmZ6Zl ëQP
Âk¦{2ÊÜäåÕÈ(JMè¼ñTƧ§ò:1<Äãu£ú;9öÔ16~àSè4EIN [r1
+ ÐHçAÒa6YpÕcIvà0^YMÊ<£Áß¹8î×ôzÂf®ÙÀØC,»yáîxÊ}èm.L9D:LÏËO1)`íwc¸rV5Mo6'H$,rDX é²(ÎVÎ-9ôÂs4nYMÇ}Mïá®#6ÑÎöP³²örýdfVGý1ÉùÁ3?ãÇhµ³åãÿ^RÙýef:O!BUÐ
óJóíï§jͦ_»a+XúþÛ
ªªK¼/%<E÷BSC ØRÞiUEJf?÷û'R_UB,UÛ
µ5½rÉGMy>çN¹0ôDóÆ=»÷5éE[VPSké?CpÔʶ¾Y¦ÿà_@§§éO>M®-Éì'8øÝ/¢â
+-·ü)'_|))©pIBo2/låÖ60Ûû¿û/D¦Ç)Z¥[òIVsË)®ÌgÊ»e(.#¯l{±ýÏ`+[Ibr¶#¯y#GébíýÇä¹FFÂ*eújëËxå_DÒÉØ*ßÙé¾pÂÍwPÕq ÑB~ËJÎmÿ!¬Cg¶RÝ{/.¬Ñ´h¡Í ÷ò?¡båúE8¿þWzªÊ¡ï~leNó]>²?ýfÙ\Cq¹Lïs¿`ìøËÙM.ifåw£ÎÆ»fÉf:]Ó{.Râ4'O2ËV,í«XZTHç©VT$,z³-:É`ÿ ZRCAÎäÁ¢,`©j!Çc# e5³Lù÷T*ýi@ÒÉ2
EEo9G(sÿévÖ<ø%u{oNÒØþÖµ·QXÿû^ÔLöÖÓÔ6¯Án5ðÌ3ÏD D^^Þ×eM,öïÕ¿E;H/õW/gndîM?WMI£Ë+Ä÷x22
+÷â*¨Â¶ØÏét÷¥L&S¡WÅYìÚ)Èö®{+x%¶·ÄüeÖ^¦eøCLµ¨¬>«ºìÅ,3U½ é5MÍÍ&5,IÞ«÷½=Éb±^HVU%WÖ4á:ôNs§?°\
+ªªê
ópâ;Ñ¿·?w3UU-z!IS'©£§Ú«nÄîv¼î&ÏÄ_£ày
+Ó]§±¸r uSµyiKéS/`-]ÉÌÀ Õ+jé~ùBsòZ®¥zÍJdYBKÎ3vì åW/MsO#ÊǬö3pèiÉDÍwà-±Ð½ûYênü ²áá½Äâ.
+Vì{
¡¯R$ʶÞAaU9þö½´ET^}y^h}òÇ$#Fç²ïÃíUèÙ¹
¶&o¼I¤<õ2cmrËXvÍØ<N¦Nì$oÕ
+Kðײܧ
+qäSQ÷õ{TUU½¡õ7LJ ^¡=wÍVÂÚ÷}@Ûs{ñ96Ü? ÿ(Ã'cpQ³i3 Xè=ÅDwþ Ë®¼
+{®áC/OHl¸W/£¥HgT^yV«`ÿÆ;» -D¨^¿õbÍ»LзëIìÄUw
éIsk0¸Ùpk¾ùJëk ÑÍé'^$-% yz÷¤ñþ9öõo°þý#ºL³Ûvà|×µLw¥æ,$=
2ó>:Àú1ôD9ùÓï`»÷ÓÄ;£gÌÀû&åïåÔÓ?âÜExfÝ%û×óäw±¬¸ú[K=ô#úÎÌgcz"ÆÆþ5áÝôneåíW# fGF(®þ
+}31æFÎ8C/Ý%ͤLO ææüTUV°aÎÂ`uPTÏüL4%Í\(ǪgbjÙ`!Ç{!$Ð˨!9SQ$K䯺
Õw¾î_ýwÍZôÑn:uleðl7eë7¡MTzú.aɯ"Ó¿ü!
+N½°
+{åò|F:w<El¤þֶ츩l iðèîv±ÑDq£ký}ÔåR¼ònª«>øû¿óútfFW)+üKøµ¯ho'úòj28g~õ#Z;¨¸ææW)*c/SuãMX/ë>ônAÿ,¿çnô&=¶¢elúÐ'Ðô(ã§1Özɳ¤U·º=ÿEÛóOö¬¦¢!«ÇCzº¿z@ÔLõ¦ÙhÜrÆNõüæGTo§²,¡n zIJ8Àx'G6" i¤âI&fãÎã÷û Ì
+L*& Eb÷F2Ú°2#*¼²G^lõvi¹F:-'ªF
+jj)Üp3Ñ¡ÃÌÏ
È©¨Âé«À»özP#Lv²Ð³ÃF ¦5òðUWÛp5©ðÁ@OYN_ùko¸<êsîÉgX:FçÎêÞGOG?µ·«þüc5)d d³ãònÁpUPbÔÝõT¯[Nç̯~L*ô
+³PÈCè~-òDË~½TBI%_'9 c«^ÇÊw½\_³m»è;|3ïþÅu5DGNÓþìö쾺Pæ;a w3'Ï06<vi%££nY3«êrèï\2f>®RïÁ[Z
¬Ñ$¬rþ¾!BBS)õå26`z*@nA!y¾rf&rêÉ,tÍn1EÕTæNíàèÏC`RbDÃQB=1xãv[O¢©
+¡Þ# Ûp»¨¸ú¬}ϯÞHIF¶q:Í&¦Ç¾é-6,eë¸ö%§t-×}úð¹L$#QtHòk{(²´øºØðYö?ò#lE˨¹ê]XfTÜu.&' Äß9ÞSOiÓU¾ô"Ñh%4ɱïýóþ5-8ûôÓ¤Ò
+ññ|ç¤S
+U[(]½
¢úåIsöç_b~A¥dÍ5,Ûz
+ÿ43'§}ï1
+6Qõ-¨éEü^¤ä¥@[u]5+×®¤´¢ôâþ'æ9sº´¢%-9ÇfFSDçg³Yס9¦2--M¸ÙõvUigAØñÚeRáuM+©.õ0>2rIeZÓ=üðÃoÍñêàC{%qÓrÇ},&¾\z^|ðÒrÓõó¢{qÆ5Ö5P²vcd´í,Þækpçç
+=éXÂU[Ss{þ)ôy«)¬Eq1!D($c rrH¥Ýx+qVë=Nï¡T\u'BßÉñüY2ªóF)^¾
Gî=Ï2Ö~·ã).%¿®ÑO3ôÊQu×R½nV_.ca²³ª>BAE öòFLñaz^Þb¦»?Óce~tc;u±Ó¯`óS¹þ
+ÆOìbàð^¢q#-wÜ
«¸-ØO×ËÏâÒxËÝmVcG *eÖ¾>ªi´bÕ%%¥sÐPW~á=E §ñ¡AÂI ·Ó7¿5ägtrÃÉaÇnµOà,¨Äã°"Ë0<8H$
E
ô÷fqY§H}}½!MÎlÖHþ[2PhIzþE7¾§ãÍÙÃ`pç/q4_·Ø÷{Çÿcá ý}ãT56ã°,µfggyqç @§ÓeÈöB ª*oEd3Õ7ÜH¾ya༺fr
+þ ×R%UÕm>}çÀbê¿N''ô@#~ÁYȹÅYÙüzp羶Åbl Y'ôz!eìkßÉ~{S*B§×g³¿¦^åéó»QÞeUïÐÿE"$q¾ï~Z$iø<N)ï¬ÐÛÁà¢ Þ ÖëtºôÂDfnhÈ (wÌQ¾õªVÖ¿î:_zoÕ2¼Õ
+oh=ûÃå+!2;IíKß~Öùä×ð®¹þ'iXU˹ÝÏ£ª:${ï{ñS|îEtT¿ë#T_t©2Ñ í{öÑ°¶®=;E¢d22
+w~²Þ¶8ëîy?düìÿÎßrÕ§!<pîI&ÒhÊk識±¹¶ô:J¡fô4ßûq¤ùg9ðÓ}äe¡\KîÖßw
+#/=ÆÄÐ4iEÁY¶å7ßL´gÝG[I+Iô/-÷~9ÐÆð¤Jã~ã-ÌÑ×7¬×STIÕk´ÄétçýíKE!SyÆl2è¹{²»'í¨\i(ôºñêL
+ôõÌÞIÏ+'ÑÛ
+h¹ûXiú÷ngzh
¹ ¹µ$gûhÝþ$LñÆÛ¨^ÙÌÞo}«ÃH*¡öæà+´2°ÿY¦ ¬¾ë^BÓ7/åôcÿÊ@{îÞ~¢i,nzo5µ´ïxUI3rðeÿô3ä2ÀÑ)©¾ÿÂ9BG°41Ýucqë6 t0=ÄìPPô7)Hsòég¨¼ãTÔ>ÎÈÀ ZmǶïfÓÇÿÜ|7á®]Ìá¶*T\q#«ï¸É¢µeÅû>ÃmgøèËd
+÷SzÃÉ/Ìc¡÷ Ñ@_yºßÿÐBçõ]mÝCcH`Ù
% ÔcCÌBã)7ÙItö£j
+fO uAÿ¼¦e>F:;1U1ß×ÍØô,s!r]NTUMçæævësÁsi5vä¹l ÀSCÓÙÈ=/³òc#5¼¶]û©6ÍXØòÐg8úíOPh{òÇx¯ýsJ½
+{~ø(EËÿ
õúW¤è '}ÓæUâ[ú¯|ÿÓÙ
+ºâ¬·Úi¹}#ï*KºW¶Pêfÿö½Ô iE¬72NÓë@b9Jø¥Ägñ½÷Vg¶ý}w`)jdå»?y5k¨)
+«K [Å+ <ìqáÎÏAÀÕx3.`¶í4w̶xÉÙzËS¹r5§ûiLT_FÚ«oæôÓÿÁÙToóVßêζ©*b¾»¼MëÎ'à\7[í(©ÑéJ<ÁºÓfd$Ö®[CÛýY×.¦PÑÐUJsüø)LµW0ßshqõe~ΰ;]Xôºó¡ÿôÚµkÏé%ó²éç~ðµ¹t*ãÑõÄ#³úZ©X=i½«Ã±¼õÔb±:^/lÀQµ´(ÁÐ$±ý?gZ«·´ªáÉqb³Éª@ÝF,Áç¬Úxy ,eß7~VÖÀ[qÂï)`Í¢¨¼#ÿù5ÔT«^&Ø$?²niù?¤É¬c¶gå÷ý%f@Ç>N<ökßUOR,¶I!4"¤´D,ÙiB¤fn뤴¹%ò´Þ¤C3Ò9MÕ[o_"2¡të¹îo@ û9ôÈ×ÈqéHu\ý/¡¦"ô¿ü8Ý»vÑrëMHÆ´ðeT2EG[6>ÐÐÜpá%!ÿ,ú¦fºÏì&
+c5g`âiÍjξÏ-÷
+ELc³ÛI«Èf
+zÆFƱäæc°ÑTϽø<³þyJKÌ8ö9I¦õ ¾r_Ç\Wk³ÀÇÌÜ0F©
+gè;ô2©Óäµü ¾Âí»2¦#ÏSP¿ºåW1É#?G010
ãUÒrJ}´íÚͨÙÈØáçpß¿´[¶Þlƹ|++î¾S?ûúK"{9wôé!Ò3:òåÕ{n;.iåK_¡ë² %5â^úÛz(jj
+SÛÙUKzü #¯!³0ëAç¡aM-Ï<FqSÁý(î5T¬-¢ªÂ¹$·¤¹»°¶<Í ÁñAÆÏ]`Ú)¬rÓ·ó{D×`wY0åbrz=ô¹ir
+óHgÀYQu´Ò³è%cófk6¬¹\8%æ£(ÏA(æ¤äÐy®ÛFWÿSzÓ£#¸Ü¡ o9]ªï-àdwõ-×/019OJQÑËY `2:8ûßÿr,ÒÉdpÒ¼e3&Ou©à<¶²UT®¨EïðâÊu§hímäÛ°DÅLÙë±Ú,8¼>l9^$YÂçÃQR;?h @áêÉ-«À]\-Ç{A/[s
+°{ÜØó«°y\ó˱ P¨ÞrV§ka=:eÙUIÕêKRØ$u¿
+W`µÈ$bQLrjÖ¯ÅhwPPSI|~ÙQHÃ5×b0qW4a³ê#¸ª×R³~-:½üºÈZT"MnóÕT®XÁ,Ñ2
+ª¢ wY#¾ÚX%£Q±á:ùä×/dT*§jÅ˪$é£Ïã\uvÛëÃÕV»³^"©@Yu%vëÿ×ÞGÇUÜùþsoïÔR·ö]²VÛ²7¼vlY$ä¼È63õä1ïåLÞIfæÍdæ%L`BÂì°xey-Y«µ¯-©[½ï·ï}´$K¶ ,1yÔ9>nÝ[·ªnÕïVÕï÷ûÖ÷wÉ6£ÒH5Âdäcµ¦iÏ$
+£Ö[ÈÍËGk4 WGtÆ©¬,B3ø9ßrKJ*ZJIKKû¯^xáÀét®v;hñ Øl¶Ozósþ·X~÷פ-#<ÔDG¥·ßüÑW&û9ùÎylÅ5å'ÞilE!Ö¯_ÛÒ¥K IÒ»ººNȲ¼@AÁd4QXXøIs !Å⨯QBkE£"âǼUÅ$4õìÇ°oß>QPP©TÝ?üð*µZ=¥Ö=¢(6Çãñ(àóùD"<° _ÃÆ,E&ñ1ÁîfÎ{D£Qæà RRRãñ¸¦á/AV©T¯+2M!ÀÌñ¡OÓ@;øF£ñuÁ Ï
+ @~~þ.ÀÍ4Kõ§ð§úúú¦_÷æÍwÍj`3?¾PÄé8Pi7ê-©B ÿÎ`С©I4#Ãûò¸Pku=S¤æÎßg]C¨6Â>jµoÚX¤(
+ÙÕKAãêëµôÂyD( üN{:¾Ñ~B/j³ôBä¨p@Æ
+JÏp7ÖjDàø·µÙFZÞ4Q¤Å7ÒO8DEzÞDjC.e¹ÄSx´èÍ&)ÂTÿEb1 £-Ô¬L$¿Ie at o4¾%#NÀÆò»ixü>?ß
+á
+
+ÍÌ JJJÊi 4sv°ÔÄ¥hx·g #1Þ?
+¸§\Dýb¡Ùü$¢a">=oá E&ôñ{g%±`hÀKÄïCÕ7ó\ÿ#L
+tC(2QÎWb²»Ö7÷FøÜÇû8·ë9âqÑ·^ ¿¹
+wG==ç»æëÎScôldªí$=ÇñL1\ÿkú/>LçýÓ/àáüKÿ±»i}ûMBý_¢ýØiPdzöÿ¦³¦&ézígô·
+âíÙGÇá}D|n">7Ñ@8Û±ûç¸ÇÆ NôÓ¼ëE"aá·^f´{°k{~s<¢ûp=ò{
+ (ÐÞÖ~Õ{ñXX,>KZ-'¤$h,¬#+
+/vH$ÀñX<a2vϰΠݼéÙMÿ+èñÚzö!øýöP¼õØ-~Z^Û¢Ö0r¶ìÊÅL;HsCF*}!ËîÜÆoÿJ-Còa]¼3¸ðÚ.dµ±¦ã¤?ôM:ì!{áuÓÂáâÒ× þÑOIn!Co<EÑm£3èéïaÕ¿Fp쩨XvÉån}SÅVBãÇd sa5ùËãTCä*ðráØ9V|åqÒRu\WkxDÄAÇ'¿õßÑëT×U3ål¥Õ¬jö8úÉ[¸Êj2ÊQ àëEU²Euä.®F@k+Ç¢9ÄØ°¼w'ÖL䫨´Aç(ÃSè(Bë¹s ÑbX3Möb-ª¦«³±ÑqRÌZAɳ~õÊgçáæ9!kkë¡ Û¢àñXuçç1Èc4z
+¹<sy-å+o@« åÈëXk7¢MÐzø %¶VCÝý D½|ái¬ÆU«¨\sí¦+wé¢J
Ù¬ÁX¶³®
+ÒkÑ ûúéoeÍ×hâ<Îïù
+é°kþ0Ö9FÕZúÍpö-.îÿ9a_Ò_$Í$ÌS@ø.qC(ì¤ÙQ|è¬:4Úäò"Z
+H7 L]8Bÿ;û:z H[s'ÕÕÕ,ý³¯ÓÛxã1»ºíÅÔÜû5z½FÓ³oÚ¢í_hrª ¶BA1D$ÆÇ̬L4Úär
é餸ºö¦3WôWÿÀ(ÕuË01N: äæä"Á Ï8¹Y<ßc Ũx0LV®]?osw
ÝVxf´íL@EaÊ=
¨´¢Q YJ *QÄ`HEgN§ìúÔÉЦj 2"#*äXbÎsë,"ÎþŵExFcä-L"a½#ã¹PM³uØ«W[ZÉjÆ3ߧèD7~.s1×?ü·¬Ú±Áo"è
+ȲB"äGÌ +A+kqO kâÜî£è"¹ýøÝIJ`ÿa÷½B.~ÍÃÃÿêêjdçzNvQsǸñ±ï Æ&´Ð¶g7E7ÜÏú¯~Ò¥Õµ~M$Pç:z >IDATsT5VV«e$ðøü8Ý^ºÏ7ãpÒÕÞuÙ# ÉÊír"L{ÿj½ABZÓ81¬
+ºÀâE¹¼ë¯@
+öî;pĸhC(+Íif:ë÷3õQ½ýQ2Ìa&^{?;Ádoy×m¥æ»izó0:*µÍUÈïì¥å·¾È§põuQµá²QÒó)®)ÅÕRKqíòiOÖ9¾î £î³¨)ýÌççaKÑã
+I¤VвçgZHÑ{0ÙìXoÓø³Ã¾ø>tÔnº¯ÿ^µ9%ÿ¦PëRXº¡ó/>¨IâTÝ÷(çUúKÔÐsYvÿÝ(4ügj½SZ!¦¼j¬#í¼óÔ÷ÑèõFJgèg"¨×]2ëªTdde\Ñ_6{&7ÜdSQ]1ï~Qq!mçA ¢"
+¡@Ôhp¸üH**ÌFm[ZJú+¾½«=ÚÚ>Ô¢BqqñìDQY+ÓLÀ$ä®ýÒ½éß=77Ϭzùõsò%ë®0÷zz1Ò¯fáÍ×ÏKÛÆKõ sÊ»JÞzæ\W^Ä9Ù÷JéKþ=·Oæ>¯Dh~þiJïý
+fÝ7°Í0r©Óõî§ùì)êT,f÷ð;~qÅò{µÂKJJ^Q«Õ3
û|>ÓÜ(Îë,A*Ìiý¾ì¹+ìõW»>§Cç×u¥Ü¦äÕ¢Rgèò6^ª_¼¬¼«ä©gÞõé|âe×a6/÷É|¡¡vR¯Ûø¡þl»ç
+íÌßÃá ½µ¤ÂlÖaÐ:î¸ãW®VÎUÀ`0xu:Ý¢È3áËÆ'Ưic¨K¡ê®YP«±p)EMåU:wî:S*6D9-=íÉø ïi SPw<+>G at Ii V«OÓµmõ;p`rÙdîyøágèØß<Úh4þÀ=!¢Ea||üª1ê>M×NJÆ!É ±Ùl?ø½3çï»Y^^þK½N~Fß
B}ÚË×ðà;ÎÙ ¥éiéçï¼óÎ_þ¾gÔï²Ñ÷÷÷Ïáp</¢IAaxh4«Ogíñþ;wµ`HIc²»²uó)bÆ[cÈ©a¢·£ICoÃ!@AV?ôM$O?ö# fÜvö¬´9®ýÍm×V1xl?#{0ä-bñÆÄ=-LÇ(ZÄ1vÞMÅ-C:õÃíòQµátrØMwý^Ãc¤® úõ'9ûÚ[³àM½m5Ëï¹àh+ß$¨ÜxÙ$"´ïÙÇ «vå+®#<ØJP=ó}CJ!Ç),þݬ"ý}ýãv»illõæÆãñ`AaÁ÷!yöó ¢½çö]®gTðÆ=»éjl$äq¢$Âô7î¥ãð~|î$óÀÉ£ôÝCçà @ÁÓwöC¯ÐÕxk]u!B÷¡9óÜÓ´ï7wa._Â/þ×mû*1Açì¿$÷æ,Ú°¦çïn#4éeèÈ>¢UÿYq.4tuw1ÖÕÌ(:³¦gÿg0}ÎÉÙ×ö¡$âÔÿø³êXñà£èÝ'i>r³cvk¾øÉvmOb^|-ÿU÷ì kßó|QZ~ùì«îâú¨gàâ¼B¼B8þÞð JB¢½¹ÁÁ+îÉ£ôÐ?$8üÆÜ®)Ün/ñY§yõêö¼ëæùÝ2TÞ¼=ëþöä°{8æÃ94b4áê?t¼ú$.)ÁÉç&¡À±_=*5½8Eóë¯j¥óØQlÅ%{,Ù_¿Ôµ´(êüÛH˲ѫU¢Bï¡×ÉÛx/jH~u!'úêþ¿Xkæ)]§²tæL;Îc´½ñ*dÕQVWtõ02é£üuh4òn¼ºÛoDµãÒ)\TFo tÛW©Z<$e¢»îV¼þ¤°í{Å@{îÂ`Ò`ÍÍââé>u[Ýmdå[@eÁV¬ÆÑ1ò^çøêÔLDÕCäìkÃ× UB$¢AÎ55qþ\+¤(~_`øV|Û W'>° ÞtϤ<yñûo0j´Ù1¥g¡*[F(䤧ãS'é={ç`SQÌ\
+k·ò"®V\ã.ÒJ+È,¯¥`ííWúe¢:÷îÃ3ÞL×Ã8ºãËÄÆ»qLj).M«¹8ÂÚG¿Ã-_ýs|Ýçç1:ê%Çn$µbu[ïÁhÒÐÿöËtÔ7¨Ã!'ÿÉqDÔÓ,DE¡VÓMAEÐ$ýï^Ç^ÇÁPd
;ÿ
+B#ùõ/y¼äÝüYjÖFNоç9ƺþx1µ¨ëOP$áTã)N5"¼äqú=ôÉËÏDåYdÏ,ÀcÒOYi.¹E%D%´Z^8µ§§~?33ó=ñæ¾'Ð[ó;¾òµ§¥ö}ED§GÅæ/³æÁ¯R{ó]Øt"â,EL²øT¯c9!áë=yåFÄhB¿Mù÷d,cÓ_N
k|uÕ%&VD'hÍW¼¢@ëÿÈH¿âuÛXz×ÆP«EÉD& Å
+@· »IÏÅg/QÿÔ 8¹Ø2üÆpb×nP ³b ¶Q¹aù¹ùH®Óþ÷'1\GíöHÍH!:ÕÍÑ{Ù\Dõ¦,X½ÿD2N \2éõzV¬^ÁÕ+fÏ eµ§«)×½=óyl&5ã Ñ ³gN#ËQ&¼A233²Âì½>öè-YEïÉñü¾ÌROþü
+#Ým[]ív´iÒìØk®ÃsêuúÎÁ\¶¼ü£dWÖ&)Sä¯Øâ¦yïn0[]C<!»²vú«ásùÈ,´áóéÈHrßE<ÍÙX§¹SóèÚÿ<£Ýc,ÚzFó¥NS-xôU.Y³åõp©Ýz/{ÑGÛþídáÏb±YÉ,+ÇÓZOë[ûÅRX²íyåÅ5ì¥óØÛHÚbnÝ ¾Ãðùãªg¬£¢Õ[0ë|t¾ù*=gNSw9ÕudeÒ}èeºN]U7ÞZ-2ua/ü
+¤Ú~?F¯×CvN6¢PY5ÿ¦95ñÞ^?p©)&s
+J,B(éÚ~×Î?úñ¾÷lQ|¿ªFGGûæÉ_©T*ËLÉ¢¢"òóóÿ¨*ä=ç©ÛòkREÃݵÚ>VõÁYhhhH2¼¡ÅüUU;¶mݺï}YPßoÅUÓÒÒP¦½¢ÐßßÔ?ÿÉSNFYé<'ɵb^?6mùP¿»»id¢(rIIÉ[·l9ø¾}
+HÂá°ØÒÒòB ¸[õL§/\¸ðý§é#Iccc¼úê«Ì0¼Ë²,Ùíö];vìØ9ôýHgig¼xñâ/étºFem¨(tvv^ò~>ô455ÅÁQ¦Á $A;vìøÒ2ø° L¯¶¶ö!VÛ=3Äb1:::LT¦5y½^öïßO8¶ö)MÆîûï¿ÿ!ÁàûCËý@Åbé³gØ·k4ÇÃaZ[[? >ä/Ï=ø|Þé
+ÁQYQ¹Ýjµö}²?°ó<}}}ëÆ¥D"wf9Ðh4TWW:¼·ñM,9øǯ ïÙûSÒßÊÀùf²K
+èk8áäö¿îïà$îC°sÃ#]2&
=t}Ò¥éz{!Em rógÑDèkP»ù^\xæ{¬zø_·ÐóÎQÞ ²¨§tÃ]äåãél ÷tÑ`Ycaá¶Ï¢8pü¥zR³ñ
+õöµ\w÷zíb´«¸,c+[IùúõûÏÐy¬x<ÞGõ(çq¸Ô^·ä½¹ba:HÏ/âСEPëØ3í£V?°nݺcáízÕT ¦pt׿ýã#BnÅÏLÖÔÜás§Å½'²ü¶{(¯Ècôø!:: ø£,ºý3<Ss|οðo6_ µµ¿'HÉÿÎ
Ëðu¿ÍÅsn4#·þYRÝõ¯n×ßÀiTæBΠͦzÛ*"£Çra·g%wó¿ý
+Ù7}Å5eø»2Üs¬B§vïaÉç¾EF©æ×¼ØIÉOîu7°dË}óêí;sÚÏ}ICï½ÄÂÝo `Ó#Ø3Rq^8w<@vñb¤SO㩨ÆjÖ¾ÎÈ@oM]"Â
¬Ül~÷hqñGn½õÖ£Æì¢þ°¦©»¿ù÷ûýîß>`^sÛ¯}Wvéõ7Clv#¹qXù
¯qöÉ$EkàâK %[W·o¦¼°WlV
+^:¾AùçþǬih£CqÖmoã8Ùý¾?Çä3pîç¨?qÂE,ܼøè«x¹.HDÈ«*E ¥|=5åð¾-7A°ÕÝ
+p6·0xê-b¤;<uÅ&***ȯ,ãÌ3?@Ô¥R¶á.ôf-¥«×Óô¢z²¥²Î
+ʲp¶õb]Yõ.ó²@$FwwYYYÄeµ(`4yùyܽý3G?¬qSk-E,ÕyÙ¨ÿV«^ÓätM`1UZ,åë®îÂ~ô̼óöÌdÖ}ÍH/misø^%måN´1L"TTxÝ,ÙñMÔZ
©Ö·9óü³ÔnÌ#®R9¢ θH$ΤE9íê%«$x($ɨ4*äÈ0c½n´@^Ý:ß~Wr4ZÀ¦Ò¸ñæD<^ø/ÌÆÆ
+>N<èfàèoéz[MÍ-7"jóPü@R ¢(í'{*k*1±ß>rKXPôCwUUÕö¢ìösÌ>TØüÇx¼mï?ÿÝí:î`<¶ZAQÌÆú8¼ç·DϽÁÒ»kæ7B¯Ç\½Ûî¥ùÅXù¥¯#
+0êÅT<¤Äè¡jãajL:
+Á¸»ÿ,ÎænjkIÈæbt)D3ÞÑFbªÅt=¨Ó). cÿnJ,Â}îM<b1¹5ËÈËÎ#oUÅDãk(%ɵ&A3çµ4;\ØósÊnÜ)ÅÞZ¯§çZ-'Ö6=éÌS¨4ÞG§×Q·¼nöïÉÉIêëëdæ ,'¤tkJãâÚ¥]¿®9}$ Ï<êùÉO~ò²sÒY@¨ÖY3VgbÉ^EZN¹%0gäÌ®ËZS*f½µ³= ôU2ÖôæÙ|£[n W`?c¸üvÊV¬D%q
+#²Y°v5:s
+E¹8ûºH¨S©¹e´EhS#Còj©X·ZMVåR$ï8¾IR*ÖQ¾¬ÖL4%âqv;¢¤Õ]glÇGáʤdçSYCpr¿Ë¥`1ùª
Sû0ÖÜù*æÍÍÍ:t(Éå´°#*9''çå?÷ù¥ee *÷#
ÐÃa±©©é:'ßÕ¢eSÍf§¢¢Éô¡ÔóÓV_Ïm÷^Èਣ
öóNên=ÝãñÐØØÈààà3üIÛ~qqÑwÞ¹ýñ?ÔÈóGi!P577ßæv»ÿU¤
+EQÙCÀ())ùà)2`½Ù|Mêòr4HBÐÎÿ$|ûijK¦_Ñjµ]¹¹¹ßÚ¼yóAÁðR¸lJ$É?~üø½^ïgDQÔÍĬQP°Í-X at VVÿ?¤þþ~N>ËébEQhfFÆÞ;v|]¯×mùØçÊÓ§Ï<ær¹þZâùIoâ¥cN-ÀfKÿø±±1Î={eKòCÐh5Ãyùùß߶uë?Î6}ì ( dÔ××ÿÛí¹GVæv¢(äääPZZú£ªû}ßÜÜLOOÏ¥÷öãñx033óå|ðÛÀ¤ Ê´ ̤ӡêØ219ùw¿(z)DPëbQAÀ¢ÓM¦-ô¢rA!81B,ÀSF3GU½~L©B.a!
ÔÌ,ä¸hXÆhME"099³d{°/Ú%# ÂTqÎ1¢áS:»DÄglböüJk#-Ïñ@R,yèzD¿c¾zF&r!Ç"$Õ,ó$I´´´ó
ßÛ°aÃAþ(áZþèÛeEQÇÿßçû«¾Æ%æ¢qjd[~>1d)xÛ¿üçd0D×É>RÌÛÜv# ê£íízJ«¸x¶cZ*Þv2oü"vmMA®ßñ0H¼ù¾Á-õ<ã§^æâùA¬yùx{ÚH©ÝÊâõKé;ø$§Å«ý<
[ÃÛÏé½íÕ%´µjÊ×-¦ý
!nÊ%×)Q³ý^~ûSÎ^
+ñx±Õ¬B«L19ê#kA©l±Xú¬Vëî¼óÎ_¾nÿ£Nê?¶ LwÀÀÿô/~-xçË¡°¦ÊV¹Hm_¿ï4òå\ìé¦þädV.&!æ²dÑ|ÍÁݲSÕ6<#`0³d-7®ÅåAºÚ¶ÜË©ýǹþ±ïbOÓ#Fqô88s|-ýôjäõËIjd/\ÎÂÍ÷Ï+Æ1ØGÁmF_xógÐd.ÀZ@F»ªè0ÒüÂüѵ²<©¹Ò·úôνð_˺3Ål~4èªqyÌ+¢(àÄÑ|C4ýä§,߸ììl²²²i¡ê;úM$öÑòÿ ¨ØòEtê«PÄÄF
+ ,)I^ÑC΢\ÞcÓõhuÉ®SmlnG¯^r3)æ\8ò?$ä MË#»¢å¸zÛhCV«njËÊÉø÷뼿t³÷ZêókJ êv~×ü"Ý|àå'ÓÒhÕ·Jñ¸ÕlЩLF°09|ǸÃÂH·ÈÉF¢Ý')Xz;ׯßFt¬¯½ÊòmËð]Ñ ¤m1IÃÔ¸Ü4bSí´Öfñí[Ü{ùCX,¢ã'h95Þ@,]T^Ãá x¡90ÆäHìÅ×£$â;AÔãP|ãS*«åÖ?úLi~îº-[#×âõ!JQKCCÃg'.¾«·c`9r8MUMFAö¬:5ÙT¡f-¸{èFÔë1¨2KWRRKßáW1¥ØQ'"h3²æMx[Òvì4ÅJxb´ºmäTÐ{ô%zºÆ!àÄP¾U´Á¶a,¶Ì¤Vc$«r#gÞA4j
+¨uW,[qZ½°»ÌùìMýí5϶ù
+&Ë M<0mh¼;.+[Á`m$ÉV©T¦°³GðùõdåÇ8QääDD\A at Tk»yE&HH*NMPäDòº,#Éë²'3c´SAQ:ÆaÒëõãëwl¿kZ£ ð¾õ§(X;::*GÇF×ýÕíRò
+2dYÖ¢¨ÔÓá§mÉ=À¬éuÚ9× 3soÎÿHHRB*!f6'u:ý½^×XPPØP·dI'àAþ$öã\ÀX,ÝÒÒ²ÐívWE#Ѳ¸/$);l*IANÈ:YÕ,ÓVYIŨJÃ*QåU¢KV;Ôju¿^¯ïIOKë¸nÙ²VVëøSê¯ÿúC0x IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_jobs_overview.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_jobs_overview.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_jobs_overview.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,158 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ !Íñ- IDATxÚì½wGïÿ©î>iÎä5I9Y¶,9È9ȶqbmöX.°ì^ËÂîýÁ.ëe6,É`ãÆ`,g[l+gFOî>Ý]U¿?úÌh$áIÑû<ó0ç®®÷[o®·o²mÛ Dá/H$æ*¥jçjÚÒ
+Zë*¥U)"tDie4Z>rB0&BìBìB¼T__¿ð
+èX,¦õ¹Ç(ÃMÀ¬T*Õ"¼T)uz¡T²5 ×Ðà¥>ø~á1x#Þö1
+³×0-a<oæC
+
+
+=ðÈX,&àÇtÑd2y¹RêR)årôÌb. ðúÕ~H~§G
0XµÖ4ÍZZZÀÅbþq üaD{¦©«¥×úR.P9S+»ÀÌÉl&¦ibYVá¹aa!¦~C)
)%¾ïãû>çáº.çMèpLÒz<
+µ,ëÖÖÖû`pfU!RÆx&Yàûþ{¥+\é¯
+Ã
+MýY
añ(¥Èçóä<¶ccÛ6¾ï¿¦d 1
+
F£·777o²±XÌ;×f|(K§ÓI)ß)¥\XÓ&v÷h
ÂDÂ!ÂeýIÇÏçÉærd3²ÙìoêQ¾e
ÖD£Ñ´µµýHÆb±üq ÉøÊt:}½ïûïÔZ-Ò¯ÆôHH$ò[á¿/I)I§Ó¤Ó)ÒéÌ40´E´Òa~ÐÑÑq70~4 Aüª2ÌÕ¾ï¿G)µ¨`è"RMà D0Mó¨6ª<Ï#HHLÏçð<Ò®iãñø÷cNÕ þ̯´mû×u?,¥<U;\ZE´ÀøcR©cccdÒ@
+L2JÚ¡pè
ò¯577?ÅÆÿ" `ÛvÐJ¥þò ôðF£B¡·Bl6ËÈÈÉdò ;Z¾ôSEEE÷.¿àK at _,˽e`Ûvm.»ÑuÝ÷k;÷eÅÞ2?2ÃÃÃ$ÉC$RÊBì-¯(ÿvgGç±Xlø- Û¶£@k:úòr(;DÇ&±Xp8Ì_% ÉÙ¹Bü"ß÷EEE.^¼øÀþX,æó xìñ{+ª*¯ÇË?fÖ<½Æ²LB!¿Dchh¦yRª¼Òr{8ÄW
+ÓûÅùç]3qÌ``¤«!=ý÷Þã+¿öNù(éF Q¨Âói% 8.ä=pBatQ|4TÈhÐ]x¦Ñµoá½C'aZp]Ïä÷
(!ÑYÓäsD0fM PQø1íÿÓïI`¾§HâØy>8)ÕpueÕóÌý¯c
+ #]FÚ²·H¥/7´Q®
ÉÕDBaÂaP-ð&&
$êÇñåIƳ0Ä8h VUQBªµª+Ñ0FjC¡1h14H#¸¡²
+!<tṩ,ð1
@«i¥ÂHCâãQQ´GØBâabHeJebI
B(ßP
«Ñ1úúB
+ÏW¢xìÁ,¸îuÔ`bd ìh{¡Ìë/jÍZÖ
+ÃDÂËã!±
+ëÕ!|ü-(È#ú 5$b26¤HA6µµ¨¥ÈÍoÇ[÷A¡1«TNrI @.¨ÂwÌ·$?
+,
_^` ¨Pááaa!
+à!
+W4
+ï$'ç@OÙ\v* ¦¥ÎZ¡Ð³óÍútÌ,ÚRQÓൠéY2|ãy·*¥ T½À´b
,0[baMI Y øTѵryP&H7P)#0@gdC-Þç]ÜY¸-=5±ÔÁAö1%þUAhTáÄÇÀRU
BaXy1l¢ÄØ
ßr£Àx£ O¹
A}û÷366Z¡Q(EÞ0
+3;:>WT}º¡¦ÃþCñìK¸4ïº_ÖJDT!Íj
áÁJÓf¼Ñ
Bi
ÂGi¬m¡ñ±l±k'&Uïä!Û;²YHeñ3i²{÷{ú9Ì ôäzLÏË@kÔ
+¥%J+-Z#µ(HUPZãÃ+@Â/ "ø-
Tx×Tàãá¡qÑ
ï+|´V($&¢pÏ
+X
+J+ZëhlªA¡QZ#)ÕI;wïùòÈðè¥#]ñ£
+ #]qWÙ¹üÒjF
uL,K 4¥Z£´ÄT ´¡ÀÐt²Ô>¢¿/÷2iH;LC*
+Éz"ãdÈøT6Gv˼í»@R>*@`°<jØZ\0d-J{h%ß©}Ð`©ÂD
öAÔ±
+Ì?X9*î>²Å¢<!ebª ªðÛ(QxTZ£µÄÔÐP[CG{K`hF
´ÖóìëûBÏÀÈeüÞþ×À@WLzúÏ×·
+gi1iÉDC&¡7`ä®,ÈT5µ`Søø
+èîD¤Ãåï`H$Ñ8´±]Èú>*3A|×nÊO] ®`Ú÷
+
+±móv7oÎÔµ÷îÛÏÌéì ½uF!÷$ijÔÁWääÿ Tðä©g_$ÏpÞY+B áa)° o¡!
+P¸O%4ZøHA:X>PQVÁY{öîÇó\´ÆDëYÝݽ·]54ü~êÀú=6>Ëóõçz¦Æ¥61ÀÒ6 ¥%iP¾ÀpÒ¾Sa¢ÝÝ#9ÐN0LéCÞL?ÁÎ:¤}MZzd|õñ{ú(WM¤¡1¤w??ûù/9óôåÌ3kJûoÛ±_>ô0W]q -Í?%`M¢´²QÀH#pcñá¡ßüñ Î8é$ÊÇ7©á>¸/ÏðP at X/k(ܼ&RPQ0HÄ¢£½®½ûqò.
+©õ̽{»?g(îÚ÷òí'¹r LtÖ_ßÖs S¬HØÄ0E!¸QÐÄ
Õ¥´BéÓZ©þ{*
+$Ó0:ÒßÇW\ÏuH{>WQ¶ïGj´å!|Çõ0ðÂÀ ¨ôð\L2U:\;_Hç*òËÖ;é9ÐËâsilhdã¦Mô
+qòI¨¬¬Á0<FººÙÝ7@^ZÔ4µãùÁo;ödíîdRÒ
+QWÝÄ3²È{yôîewï¶ñò
+:f´Ð\]F180Ì+ÛöP[QFIÈ¡w,GIM3Í
+x=äó.JkçìÚ»ïÖÅ'ÌؽmCìùêO
+ ÇwÚò¾ñE¥Å 4YµÚxR
+TA-xHP9e¦
+V&ÒpÑñ2üÔ^ðÀñ|ÀsÁÆ!#}lWÐylOãhGj¬h<ÿÐr<OÙÖýúøÅC¿
+5õô
+LÚ(ßgÛÖí¬yn=åe%ÔÖÔóÒ+Ù´e+-Í
+TWØ»
'ZÏÖUÕ5Ä»ûq Zë+(§{çöf(«¢ó^òw3&.åÜùUh?ËÄî<ôÌFxq¼cÓ=k§¯8
ª¬^ý$õu
+4Wô
+áF¸àÜsX8³
Ý{ö¡=Ö<ß_²iÓ/xâ¼]2#°k÷¶\[¤¯ÎPRF|é#¥èoßÃõ\×Åu}<ÏÇ÷]|ßCû>Ê×øÊÃ
+_ö¯%¾Ò
Õ/ÑÊV²¾GÚ±Iø¶Ãg3ê9ä=Fü®Çïð}²ÊÇ(Ó
+K$)y×Ãs%^^¢ü¢ü.øòÚÀÀ:K¡Øøò¶tõÒ~Â2Î;÷4w±
+FáR·võ"Ì»ÓO_ÊIó;(/ä8¬Íúg×p`<Çâ³ÏæÒóNgn{Û6nbæ®@mè<f<DÛèèÁØà~Æ÷S2³}ÆÁ¦0"ù¼<cÓÆÝ·tí{¹áO®}/W(!?¢µ¾T\iJa
¡@®ª`5+_ ]0¨¦O§ôÒhmòÄìì¶Ê%÷ðm&|¼Ïë3âù$\ï¾iR1gó:§
u¬©"¦¦z.:ÿ,.:ÿl.¸à:;g¬Q0'Tf¡Î¸ðÚðAìuȺ·1»³EËX:pO_±º¸ÏÎíÛÙ¶§ÛxÜDµûÄX±t3çt2sÞä³I}{˳0Öƪ2.X at eM3¨<¨ ¸¤8^B{{s0^
+A<µ/ß±½û#]û^®ø£ª®ÝÛ¢Ïý.×Z ´Â4LW
+
.¬$ZQZFEÏ×)ËBdÊCw.ÉÄÙ½=ØZò<©±OFúäuàÉ° vf3.<ÊJÑÚ
+¶ÚD.¬ðH4BEUåT@&+:¸òµ1òñDÊÀmÀú×@ÄC§
+åÐøHÚ:æ0Z]ãÃìÝ°átÙ7\6|ÂG(Kbj?XÂÂÐAT $4cZ¬NsPTWã6yôöö3<8ÌDÊ+¯®Ì¾§4ÙÙµû±»:fïüql 3ßê«ÐÇТvr
`
®«ÃwGh!©@B¼é :°,DÁ(|ÆÀÛHå¥ùõc¤¶mÅõ}2l©Èk¨p¦²ð¢K(Ý¥
+|ÃÇ!CÒC
+Ào7´1¹`J"võ
+`êÉñ©ÉXÔTÌþ>5k6âÌoÆîÛ
c;S |yf=ýªe'¶S¥ËØÏ2Ñ7Ú :»G÷gxâÉU%Ø»m±²Jj:ódª*ÈÔ¢°pH!Ñê*±mý;v1Ø?/kÏ~¬<zØù@×¾kµúÚ§Q'4¦©AB¬ÕÄ®6ÂGi15ÑJAXWh¤áð
+fi!
+¤
m
0²rÂëÚÞ½üþ>rÉ1JËê´ÖÓ0{!ͧ/"ÚXÀÓ´6ýàzS©ÀpeÙ»é+:ë<PM×îý(ge5
+LÌ^v'gëwmã±~jê[©¶Lú]¯ðíì]»§êBPÝÂi+Ná³øÌó5_¤{óó0B¡('r
+Ëæ7£
.xHTÒÓ@ªEAyÆní-÷ì#mgÀWj^_(úO|þËøÊ?ò
+7Èü"¥Ì÷kiÞ"eªPßfCãÕÁ%!ý:`i6XÚ@
+BPг*À+p
+0Dzìq¼$cRZÞH¸¢gJ
Õ/ñ
fb<Coï~ª+*ihnô¬!fp`¦úzjj«Ná¡1F³yJË0ó2vÄäð0ã#ø2LiM5r¢´ç3îB¬@ÚYôµLÅ*ÐÐÔD
eá
ÑaFDz8JQS[IuqI$9p ªêRZ¥§ººêjAé)£HJ'Ó¬]¿m#}PÄJ66Õݲä9ßîh?)÷@&L¦~®7YÅ C
P¡¦²êã C´PÓ?F!l4ù=1%öäý`"
6ýq
+lA¡Ð¢ &³ÿ>bjÓr²ÓlåÂÿ´(¬vQ¸¦>hGìÉñM½`MÞÓ!s5GïÐ÷B2FöìÙ;Ud#ؾråÊ+KwÿÞ °m»2JY*ÿ& ¬5BÅÅ%§£^yåFFê"¥ÿøÌ3ÏüäëU¯ÃümÛçøÒ¿-Â
±Iëù854{öì#L&¯Ù¾}û9
½o:Påºî¢t²P*õ3þ)3sæÌ©Iiö÷÷¨zS^Ö:L&¯B*Ì@çEYYÙUJáûþÔnÜãô硹sç222B*Bk级nØ°ájõw
ùßÍ
+\¿®Ò³Bï®#ï¡
+Aaa47 at Kóá`)&ÅQ³_ï/æÌúuë
+(Ó½x xà Ð÷=I¦ëå/^÷'Dºú!jÂüypâB¨¯=>ãGÕ××S[[ËÐÐZk\×]´fÍëµÖßümRàÕkgw
+é
µÒhåSÔ?
+ ØÝ
+>¿~úÏøQH-Ppó#<11ñN ì
+úÎBÉ¢ØeJ«EÚWàK"á8)H¤Q}=Øk^ÄÞøÊñÙ>
+©ªªÆÆúB«@
+<÷ÜsiC¯/dÜÓò¸*ç ]¢¡~Ȧ AåR8nLOÇÁÞ±ç·ÂØÏ_~_þÃÛùá»/àÇûvüþOzó]¤çò½w]ðG¸g¿û¶?ös þÆØ¿î©cBP"x'M@ÿûíF*] <¹B+¤Kx"M¸g&&PÉ×gB¹¸Ò@õßÓMxVû¡Ì}
îü&#ÙFæ¿ãóÔ6Wãì`Ó¿ÁÓ£NyûõÔ7þÎ7¥µ&3öÇS;ùL
+Ï JìN}×Ç0CácZ
+ÔÔÖ2<44ÓY±nÝÚZëç
+IfNF½ª¢÷ê°PAGlO7ôâ'r¤e¬«ÈøGK¼1BýûÕÞÇ_àÀh3ó¯{/móë1.=
SÞÕÏæ5½{`Wx½|u¿zLÚ¥ê¤k¹ð}Mqù$8òlý/°ág±½0-ÿÝtçüÄnÖ}ç_Øñò.Ìp
+Mç¼7ßD<6l`í÷¿Fû¬{eÓ´â:N¼êFjkcdøåÕl¸çûôí¦tî¤z¨éÀ_ÿ:O;γ hokchhh²e51x/ð
+ûí*`t"*}o%é4¤rXCãwlÇ°I¸Ñ¼ÃïÐÒ!Éàe½ªÛÅxr±eÔϪÁ0DÁ1ͼoþ0µÞø¶lLsÚÿþïüÖ]´^äÿó4T`¬ü𼼿Ën{w}ã[oùשËx©q6}áCxgrã·ãÚÿûY¢}÷óèmwðpS
+õi¼¾ù(×ÝòÏe6±õ¿ »ñì~â*Îû(õÍ»8qF×üý¼ÔÃÔØØHq<>å¦gÒ]×´ôuï±&®Ö§A§Sx¹$ìífضsry&Åç2¤<Ç2ñÊB+´7NI4Dqø0/S5Õmú^Ú.¾ºÙ36rÂû>E~ëÏvgVoåü/JK µrÊ?|º0XÙÉúÞ<'~è&b%1[1óÊwØÿm Mm['_v!±â(%íË)½ÛÀþ½ÃÊfæy*Ñj:V]CýÉËÞrakkë- ´jxòÉ'¯ÖZ[G¨ 'cmÁµg¥À×Õ}tÞ!ë)R¾-%.WBYi EuYÕP-vÞÃv}"Ñi ÐV(e¹QA´<ñÅàö
+ª3PS,
}JÎDä_ÂäÑ÷®àÑi6BxÆ L8.1 dâ5{X ÂLfï²nU+þáæ· ZZZزyódaçr×? &q ܪh>YîK§þð0L¤vÉ{à{.¶WØ#,*kÊÏ< áVj*f3¸y¾Ý£.¨Å0´ä»ïç7ßü)³¯üsN?¨ÁhΧÆ×D-Éç ÒF`|µÅØðChTjmá"&DS\ÓÀßyúâh
ËÈR^¦ûu&¦<b13·%1íìG»À¼· ¨k¨g ?¦3å5RZk3ÿ½\6ÖUÚZbKt_/ ÏÅv4W2¤òLx¬öJk¬¡cåùT-}ÄEÛÎZJMy»ü:ÝÛvIØþ8/Üñ ºú2*Z`8áä6z[ÍÀ®=ä&ºÙø½oR4ÿ:ÌX9 §_µ¾ó}cØãØø[
+v,ÂñE,l*åÙÜMjtTïF6ÞñQVë¿ðÞ@ÇÞó°rìy|
+Ù±Aö?zc^<6'¿575OÙW>ùäkTZSKª¤äÒÈÌÙØYhDß0¶¯pd[+ò¾+2ÔPm3Ï=öÓW2BS/¦´@írN½1ÎÕ÷òò×ÿDpi3_ÆÙ¬¢¢!°ò˯üsô7X÷_%3¨<q%+ß½xiЬôÊÛ8Åý¬þÜÍض¢eåǨïúO B¥ü¯²þöÿÇ}ø6Â,¢bÑ
ö¡2ÁGü
+EbDâACdî*fúÅlºÿûÜww%³Ï&Òt&EÑX K±Â· iÂeÛö¥5 EáÍ¢¡¡¡mÊ÷[ÝþAÆ7l`觿 é¤p³)©PÂÀCEcóV]ÂüWRÚ KJçyXõ'ïØyÞ=õôS.¡
+í¿æmo/ÈY D¢E)5ajj £µúfF6o`x×^ÌÌñÆjçÍ¥yù)´,^oÑN^oUj¨o`p`4ñ5kÖ´ ;-µ166v)ɺS*J)»ü"Ú.¿èø̽E¨¶¶©þGaÛÎ¥ZëÝRJH)OS
MBLÓD©7¾×pº~ù]¾wþtTZZB$-´¦Ç±OSJý§åº®p]w¡T
+´&àºon·ñd¿ýãttRyy9ét´&Ë-t]W@HǬòqÝþ¥ÊÊʩƶí4!+HÌÕâI
+]Úó>8Âõ4Rja`YP6EOæ±HÓ7è?óÌ3s-¥õÒéçë(Âe㡤ÇhRÍùFMU&sMÊM¢Ç
Å1§Ö±Üó½¥VjîóµA߸Á¾aTRákçJ\OÎåId%/ïöÙVáäyq´YÄBÇ@
+
BÅãd2Á¡¾çϵ´ÖíôªI8ûÆrälÆÇQÏ7É»'/É8é¢$ÉpÒ!*ç¶Øñ=¦¼Ò A«úvKkÝ µ&ïjKÆRøÒ'÷É:ãÎh¶ÄÉ»lÞeS_
+í5aJãGîÐùÙáCÃämaEÖ´PÙÔDäMZ)ö>·g¼N|B¹äFºé ¬óDÊËäöÒ${öb{Qª:f.½ü1÷ì$RÖLYMÁ;Ég¦R×h0¢eTÌ\Hiy1ßK÷Ë;hZr¡è±³§v=J_6XZ«*5cIÅàÆö=/x£Hå)M2ëãØ6¾c,ëòÒ<Kf±|þ¡1wå1¼éú¶íÄq$ÊóPRâ¥qÙE´¸XÑï^n¥|'¾ú×öp·²óÁ_?ù,]¹¨éê^϶GÁh\Aië,ÂÓmüvüêkTÏ¿²ul¾ÿ«äì
+Êý¬}bs/æ¤U+«u¬ùÖW¸âß~vL °Ñø¾_e)¥KÏXÎÀÍж§Éå<¶"V8ï¦ñ¼Ú÷ËÓÕ8 É]ëÙþä3Xm§³àò(¯,ÃOö²÷×·Ó¿ñª[ͨÉ}[íéÆ÷ѪvæÍÅl»$¹óFûûñIQãÜé\Fån
ÑÂoì vÖBf+¿lÖþîJë${z|xϼxôõw0͹øf¹C *ÏØsÿÁc?ú)Ω'/?6U@,
+ÜI)K-uÖÑ´ÇD*J>ïákëd=
m+l'´'s3¸nå9hé11a28 ¦Õ¨4}7`Y|æETV.oföE×Qºo¢¢ aät=Ï®ÇÅö$©ð7¾@Ö~³Î!6Éí~-«_Á
ÐÒedËËÓ¤¼ÍÀÓw±íå}Ä*Ê2Ïà5±î. IDATöµdÒ72çäYx-5Ë®bÆÀwÙÿàwQ(bÎÕ«¨ª¾
+e¢áq4-ÜFJYdi#Zi¼d4!pGùhÂé¾çà{9Ásðm´ôq
òz}äýU/¦¢úÐ]Äfå*¾îyìÜØI,ºò*Ê+»'ó-s U²çþo¢|WI4~ù/l/ßK÷±ñþQzõç9õÜÓ ×ËGþÝCóÿCÜHM+3N?Ñï~]:XxÙGiî|ã»z_~/5V%¹=Ô|
+Ѳc HdºõaS0Ê3vH'=ÒN.ÀËMà; ¤A»|7ôsÄÃêÒÈá%è×`ß²ë@¡ÔÁC#º{R4.Giu ÂSwúuøC/¢½ ÐtÇÖqR`¬
Êhºð¯×ðñsÛèÍ ÛØöÐ÷Ùöø#Ûä;¶áhßÆ·ÇÑEÅÄK#äíqlïç*¼\;9Fºg[ñS&Äl溢òâc Çòò6
ÖÊK²¹,Ò =¤´QÒAú6ÚÍãË<ÒÏ¡}©\ªx 55¶06n·×,©mìY»ªÙ§QÕ2# Ê!à1§:sX²öü0§ »±<oªd¸¸Yg. n`¦o+»×¬G5_Âê</?ÈÚzf-[! ѳ7´tÂÔ©ýUÌ>s%:ÕGMÙ×ÙÓ3H&¡¢ºc5úaYÖô³
+c²!IKIc¹7ç¦pò |'ç$È» <'CÞÍ ó´gÀüÙµÌî¨<ô
+f)s`ezÙ÷ÜÓ$iVx>z¿Ï':kÍh.a`GéDò¬»³v"¨êØþì˸yÒfà×&flµÕ¥uÅkÿ%W^OcG
+a#BUÄÄíeÏ£¿bÜidáªw0wÅU44Ó½úçôïé ±m=û×>G*ëAæÂóÈ-tfY½ÒüNvþú!ìDúL°né`ÉÅçTÉý£Åó]´Eº~Ðn]:h) EÃ,ÕÀ¹§Î¤®êÈV11'5Æþ/°éíX!Ïá$-§^EuK+BÀó.#ñÄ:¶Þû-BA~t9ÞL$¬ôYW½µ¬aãÝ@)r|еPI/½]kîÁÞY9r1J:ÏÃOÒûô=ôÈ0ûÚwS×Tº¶ó.&õÀÏØúØj"e×SV_ÅÈÚgÙøÛ0²=¨ò(mì;5XpÙ<þ½_²}ÝNX|lîð}ÿà Ì~ô£,! ±
+Íh"Gb"ö¤ï'AÚ(åR³lQW^¸¥f
+¡JêfP\^aPheu'Eë óh¨ª
âZ)Ìp1óÏ ã¤yD
+n UÕIi©ïy2jNZEC[U³aX¥3fÒHI5UóÎ }ù
+Bïå)}:Kæc
+@DJ+(®&\\Aq]#å
+ÕDJ®î¤iÙ9Ô´µ`Ya¬x=3Õ5-)!\ÝJEm-Ñ6jf.:¦¶år9vîÜÖ`»wïJ*¥KªkjÈä÷óô{éêb``;¥´,Ds}ç4qÎòÙ´·UQ?>Öhxxó0h0M+eÈ.ÕZ£¢¶*ÎYåõÌl3<&ÈáºyâajÊKh¨-£¦2Î[²~ú/lÛ.غÓ9K at Jk]àªy"¦A{SíMeÇgì-FÙlvÊ0,3e!ÄØÔAÆw|Þâ4
+ÖhLóç·xþq ¼Õ)JM
¦9` !öfpêMà<Yz¼MÜ1 ²Y&ù÷YB
üø
£V¾qÔf8ëâä%a#D¼HÐR¦¥Ö:"¨ ¥<Þ&î('Ïóª` !Â;,C/Mê5ý#iÆQöçqmMÒÉËJlÆw±Å¢Î"tQ]q|رDccc<E
+
^²wtuue´¦8kKzRIFlå¸ÊGz&®Tär±¬G.ë²s0ÇÀh)\N}Õq+4222ý¸¾ÌE]´Ã²,Ë3M³×õ¼¹c ŨÅ7ñ/5_sé¼O6§ÈxäFnÖ¡²LqQUíñÀ1ÜÅzϴƤ;tÑlÓCJMÞÛÑä2°%G&'ñ]î~g× f7ÑÑtdDP&{éY»Ý/¾@rdQTIðàÜs)«ysñéyüì7ñöÛî~íú)_~õmcîõbfg¯énv¯¾¡\5VBß?eóc0\Ò8寮¦yákçýøìû¹ðc_ ^UËÿøn.½åGuyØàààd§"È#6ÐRçGRÞµN^!´&%óäÈ|ÛuIä4IHf%y×F{ð|ºúGÙu ô ÈñÍl¸ç{'Ëé\ù>*ë*ð÷²ãw±f$òk®¤¦þw?o at kÅH××ÿ §¬i6µñß°ù¾ÿ¦òC¤2åÀ¿fç¦A:¯¼ÒH]£¨{"K®¸)ÈHeÄ«^ÿ ®ñý{×ùìî¨î'0>>N6ÊxG"Ñçm !ÔÓk»Iø_¶ó ;b,'ï*lGÍHÒvåx(/
rm<gxTÐ7T Ôr±}O¿Èþ¾f^~3'ÌÀ
+Yè¦fâa¶®EfÆ G÷¯À+=J.ãQ±ø2ξéíÄË&Áá²ó®ÿ`˳/âx!Ï{ß´«(Üä>^ùáWÙ³y/F¸ÆÓ¯bÙµ×P2Ö/bÖ97¹ó»l¼ûfͲý©
+Ô®x7s¶`ùI beUTÌõªÎK«ÆÇ%1¦lÎyú®wPY}(@~õÅsýW~L(VÄÿ|à{~=Ï®^ÑtÖÍ}ýeÆëaÃwÿ®]±R¯âkn¤¬(:ÏÄîçÙpßéï"\ÑÁ¬KÞμ3N'ò{Z}}}LUhcEÑÊxpÕSiÉRúZi×f(ÂwBdÜ<ÚqðóY\A¹EKMÊ%ó5ö3:º
PS;
+óZ°BÁÈ
¡dþÛXÚécF|ò×ÿÁÖ$þêsÔÖìºçßxø'3¸ø¦s»ç¼¼«ó?uQÆÙøõOòé[¿ò z#rñgÿÜŶîà©o.ùÛ·!Ì0eóÎbÖE£¼øãÛØ·©¶
W³ôÜ
B¤×§äêÿfë×ý=õµ!6|óV}`ç]æ¡8Lw=Ã7sá?ÝNLígóÿÕÌáüÊ^ó¯ì=á¾°ÝEÏ3òÊÛ8çHm{-?ùºó2VݼÔîÕl{òNdN°tÕi¿ zzz¦ô8>°òÂ=Ph3ñýx\¬Uy£ÕW¥s$Æbädí;(?ïe0]OfD*Hxì°À?òÆ()CIìÐT±°Þ9nÓ»i8ÿ=4-Z@,'¼ãýlþÌ÷ñ¯>Jjyþáµ,ÿ§¢º¹NþàûØð¡[AKòݬß3Êÿ~uåÐPAçE<þÃvÞFmPÚÌhóÊ`²V>l?Û¦î`÷ã?JùT^û1N9ÿ2êb!¶®ÛKÓé×вh1Kpê?MÊk${õ%)äÔ}º*®bÑ
+7rÿW¿
¸øï±DÌx½;¶Ñ¹x n\$*ÃðànÌN»ò**âÕ\ÁPï0C^$éFÙÜÏçéééÊÄãEkÞ%¬©""-i>43Æ×5F&+ÁË£]©²x®.'¡¤²Ã
+?1+À¬ ïù¸$Ï31MÃá¬dYih8¿¡ªSÀ¾uªM\ïäüXPI¨î"àÖ`ìÎz2#C<ýU¬DQ31Û£6gþÏÐ= ¨KÑóÄhý *ã7ÿ9ù÷aM·¢±©]Ò#9ECQX(¸pãBª´j_
+ À¬ºÊ T"J¨j9*ý_H
+Õ§ßÊiÃßf×Ïÿ
+·'(}'ÞðfÍuù]®?R(E×¼íPuî¤ó>e¡7§º»»§õp¢XÑC´ øü_7ÉK?¾éÁùujÜSùJ¤¦"d3ìHò¾öl<ÏÅr=¤Î"ÇWÄhm9Ì¢·R]:Áiö')}°dÌë{G¾ù#f^òwÌ:íLÊCp¡N§râlP
+àFbröâBöÙ4 MÌ&VYÇåÿýªÂà¤s@Ûôo|õ«wÑzÝ7YºW~ô=6ßu+Þ}ýTw,+#ZRþª6 at yl ®°îÐÃìÜXÌÌÓ^½©¤F]AmòêP´¤iKVþ#óoÔ¸c]ìxø¶ÝûUf}öSj¦qÙùóñ/QZ`>Ã"óFÀÞ½{§?Zëñ˯¸âA!ã̦n{QåT
ÖúÒCK²pí'P¶MÞ±ñÝ,Y¼9*ª¢\pú\Ï=üÌbö³RÙÁÖ{¿FowRyäö?Ïóßø¹ÐÙ4EKN¨§ëáß0Ò;òÇØtÇW±:¯Å(´;ã²<÷õïËøàM°é??>©KÀ¼J5wÿ¬"pÙñãóÈ×þ_AbǶÞùS*\ò3çPµøf]x#käåG×½áÉ[tB-{]ÇÀþ!T~Íß¾»s¸êÕCÞZi~sÛíä}7±ßù&5ÿ-*7Jßá±Ûn#/£Ä*ê(¯®Àµ`SU1âÔ[ÞEqúãÅo|ú9J¿ùìߦ$@iiéZ`êhÙ)X]~^Û½'wïä.Ú÷©jºSI®«Ó ªRÎ]ÖÁÙ§v¶ÂGt 5®àwÅÙù«;yê³70>&\VOÛéoã¼+¯¦ª9° «®ÿgfÝýï<þOWÍT/»Kþæ˱¾ÇòÞÂ=ï;;§i½ôãTD¾²jNýÂ7xák·rÇ
+·bET.¹S?üw¨Á-ì¼ï«¤jsñ;WúGi=ç"RûØôÄÝÕ\0^¹ëël¾÷;ÎZ¨þ÷guÆ
+*¯üGæß÷-Ö|þZãUK/cåõK)+ êíçBsRäE¾{Í×0KÚuŹâmsBRsÍg¨ù¯æ7.ÃR·ü*NûP}ÒY,
+û¬ýÁ¸ýö¬x=-¼Å]ó^ÊkÓîÝ»§·ðÑÅÅÅ÷ îtu5EÏo¬êݳyçÞÆý£älç·Oà{,Bú8¯\ȵ,gf{ÍT6ðx¸ôÕsøØ#;±üä'?!HÎyýüà !Æ §.¨svXÉGªâïÞÛ¥w çô
+ZÔ7rÒ6ÎX>¥Úw;hß¾}$Ýô²²²G¦ÿ# 8E±èícß<¿£Æß^ÍÛ.*¡³³óølþ+¯<*ƱuëÖ)ñ¯òkjjnM !Özk:^ãyÞÙ I¥R¤Ói_#D«§[ñ xÿ]ÏýÙça`` 0þ
+¾_<_sá
n~ZÈo 85-ó¹\ît!Ðô÷÷ì;ÿZÉãmâzé¥
+@@)é544üÀq,Gøl¯XÌkkmû¥i'3Éd2H$§cÙ·oßd_P"ÈæU«Vý2y¯ÉÐv4ùö<|láîýlq¼rø¨§
+6Ì× ¥tkjj~ $Ûg«ÏÅòzͺ»7¾Cå2KµãÓ¹Ýݵ6ãw´¡Ð¡ã.ßÑFÝÝÝ8°ÉÖHdóå_~w,ûg¿zxaèÀxq.{ô|[û
+MÑ¿wÆþù¯±ötÁl){þx´~ýzó"5¾ïÛ
+
+
+w ã¯öùWxÛ5ùJßò| $§\ú³9ôÓÏ¡õtø3Ü¢ß>ú9áçþ´×y6¼òRPøYp@ãÅ/¬ZµêþW[ý¯ª¦(ÏXÿZ¿ôWª]Þ¨ Î`nܨ©Çhj@Ä=90=ÔKz¨Ð(¥Bl·T¶Î&ZVñæØ/}F^zÚåW s}ìî;¤]a"å5Ô7zñÓDï>Âñb*~60Z3´îWÔö6ÝGÿÎÞ#ËåEhy-¯]@IÒú×ý/?Ésk6cÄÉ"ÂÔ¢E¾½Ö÷^ âý7yú_~2º7Ïßã}×cWe ë_¢hQ'ÑO<ä{Ã;7±÷éA1Ò½pq#euOäZrÝ{ß4 ü¼Ëã·ý¼ýë¹_}þÇÌ8éôiçß Â¥5´wíÚçßïßô"åÍí¿ ´R¬þʹùgWxnù.KÏdzYj©÷W¯Ñ½ÛñììëàÞ;þUÛJIc1£Ý»ÜÆí÷®X±âÉßfù¿q Or\¿ó_z±®òTßqçå"àD)ý½G ó¬Utµ
+²kyæÛÿIå+X°êÃfÉ%;ÐMbhßSX%ÕT¶Í$ P¤öm#1:Ô¯WQ9s>K0´a
+é¼GÏ+Ï*b5ûnÒÉZÙÎý;~qíþìøý» [¼UNÙýÞ}89«¨ò¦6â
ÓJkç.!2yÖöÈÆèJ¬âª`EÑBE>°ÔÈ0¾DʨÕÁÈ+ÏñÖ?C¬\))çÜOÆx8X¼,¹=¤lêY°¼$éþnJ¨jë bÆÌBÝ¡Æë'Ñw¼ÇSÒÜNqE%kW?HïÈÅF«¼Ú¹'ì}ç7|)¿ß?ì+2ùö`qìOʲ¼R$k*¨è$:0Æ |fö®cûLd1(<ªOºy§/%ÛÌÆUDÈ20ÉR~Æ?°hYkGzû^x3Ê°Ì°A´:¼Á[xñÿMËüYù4¢{
+û¶ìD#¤jþ9´v¥å16ÿò'4Ì?¹\EvßKìxb5ã)UK®fÞéËÆ#ä¼ÈÖ#É }/³Þýi/<V}Ï?JË
¯#IÜfÓú~æÝô ªÕ¶þúAtëÅÏè`ßã¤&8åºkéyú>ömÞ+Âyâ³.¤|î"~t5^.Cf¸QU¬G¾ýÃÿµ²ïðá
+@<xg®ëÜ·Ýéµ×/Íâ:_ʯ%£å4¼O@åØõË;±fsòM¦¦.ÎèßãÑÞIí*`ïÎ^V|òK4u´áîþÛ÷¦0Nmañû?ËÆæ¬~ô®oáÛYö=û« ]ªn¢áýQêN¼´p<fE-3®ú-Íe¾ðömßFóùï£saé¿æå'6`6±`ÅÂCƸçá»ò8ñí ¾±±õ?âñ»~FugMí-tßÿ5ì¦ëY~ó%ÄC6;¾ûÜäÔÞʺÇ~ÅÙ¹{ß·ð]çàdÆË)*ñ:ª^EÓï²ã®oRÕ"Zȳ/$<MbÈñMïz«ñN¸â*Âé
+ôìÒ¬yê)Ê:0Üwò3óísæ?xóÍ7ß»õ_s0 t<qßðêܹ_ÈϵÐÓjÔ
+¯8ÆPIY¿+ ÜýôÑÊÈögHì p[èOe(¯?
Î^zºm
+7vÒyÆßn¸y·þÿíipT×Ç·_¿V¿^¥îV mhfÇF{ƶ `رSÁÁÁöx*³MÉL
+É,rb×$J%kLÖJc^Àa 1 ,v!«µ µº%õëí½7´°$q3¾Uýé½¾ï¼{Î=ïÞ{þçOúM4ü«!wùeª[!{®g,¨¢Ù½Ì[PdÔò»QN´9\d sÎ#|^FÎe¼]n!n¡?Ư´eùÇOÓÞZ(Ý´öþPOÄ/qzà½s1Àc5aOvÕ*ú¿»ÎT~ò)üKtM®<Róèëh¤u+#ÖÑ(±0l:òEZ}ôÑo*òX¿¢°íÑ_fúÿ]ëþT»B?YYYW°J$>xQ³£¹Vápر¤®¦r½±¾fB½ôt¢õT/¾°åº²º=¬üÛmôû:;x¤éÙ§Mof!,`À¸,a¨@ÄPA3³2Ω¸Ë
ÐÁ,.*4&Q`u\êö-v׻˨ktÅ!0xìnR
+É^ú0²«p cjh
+Äñâò¥¦!çäð@ÏèôàÁµÑ+W¾´Kç3V¯'Uñxéíí%%%¯×ûudÉÃíô ®¦²úî"}u´ÕµãVÐ;Þ` ÛEéÃn7|û¿ùÕ³»`Ú $@»ÊÚTi.¡®I½dçúP{Oj8]yÞ(ÏÃåô¡Ï¹Êµq§)DÞymd»íÈ&AA¶®.?Vs¾}/Ñÿ(«r|W £:ÜCWÝqâ9÷&èÛ·¯?ôÌXmø£íX³ï@.erè¿=M$&BDÊXÅm<ôËWE^7 x²±6ø\rñwÒçg;æeÌì°Û
+ÃàìÙ³TTTàr¹þ|'â»ÖÐr²æ=?Áf©ä¯ÖÌIFëwÑïÁæT@!ÿ§fIfãÔ«¿ÂsåGÏüÆú{èÙû~7ñsX¼Åø/«,y(ªºæº&Z^ý)v
È@#¡ìSÏ-Zÿ Çÿç0McmX3øöþ
+YÙé.êwýOF"¡¥ædz^hfèíéùäV0Pûý=;y_Óüû,ûȺf"iLö7Ðvâ$
+çG@!»ü`Q&ýþM¾üeû³Á+«bsxãüÀļðíSÙ¼À0rfÃ0¤¦¦^D2¡cîì2¾Kúpd`S$¢¡²¯¢{7îÁQÃab2$UîJ×Å*! M&`/^Û>9eø(mC'ÅéÆ;µR^=2Äê/"wy¾¹^ÐýÖéø
+J±ÏÍÃn·D=¥ÌÿëâãÃdX²J±'??L2fà[v?å· L&vѱ ì%°½£Å¢~ñf«´L±E+É¿«Ó
â¶"LfÜsM:v_iEK
+ÃuuD#*dÅæÏùæÎ=ôøÇþ^QsW£Ë«NìUUÕ¤iÚ¢ãÇO|OÓK²aXVÊËËQ[BNÄû¿÷<+)½wýM%](b÷îÝáٿÙ,|üñÇ?+Ër½¢(WõQ¼j:EQtI¶ !Z
+cj¥ª*MMM·~@7Ñy`QOÞM%Ûèèè%Ê7t]3LkÖ¬Ù&ËrãÕ*ÿ=À´Ä=Ï¡ía´ÓÉqªªrúôiB¡Ðc¦Ìæ¯^Cz~ÁM#V ¦¦p(<åÓ
+h_}×ÝÛóóó)òB²×ÛAUU{ÿÛù4+++#=ýÖå×?[Gg'ûöîÅÐ)
+]×h_µjÕ¶
îRå=»ÙkFª=¬kooߦëzÉÌ ¿y9hô
+Ú©S§¨vè0I¦ÖÕwݵ½²¢âÕk¡ükj ÓF ÜuæÌí¦-B¤LEG
+2³²(/+û@³AÛ¿?--ͳ
5ÉdLåúêûª·ååçRå"®9½aMÓ*9ò/ªª®$É>ã N'eee¸ÝPÐþ±644Ħ¸|ª¬H$&Çá-[¶|MåF!Ä5
a]~'Ã0L@Þ£G B$³:SJÆÀ ¤¤¼¼¼4~Ë?|øðTnÅÔ ÅÆ2üþÍ7?t_é¿i
+à"CȬ««û| ?ð"û§ª`ø|é¼kÂÉÿ9rä===$ØD"¡âââmܸñ;BÀõzþugx3#íì»»{¾L&Ë)3T% ¯%:é IDATÅÅÅWzfè À6÷æÖìdسßõ'OR[[;á¾è{ß²xñ⪪ª^B¯§7âÏ0+ûãoÿó?
+n[±ØíðÎe'u93gÎ?ÛW2¦rèÙÏrÏ׿OäÜ.^ýÏY6H)n|UWo Íqå°õS/ïÀ;ÅUWÿ¾ºÆ¾m¢ú;
+ìf×;/ÇUº:º³¹å¾ÙÅB>¯æÓ=öM G½Þº¹!Àþéiý¯x«6ÔÉã)]×
@(æÄøý~
+çãõþi®i´×7p¡ìá|×YÖ~í¦Ê ÄÏ÷pî÷;iÂÝo¼bYsÆbw¾G³'ë©FGS{<ÛÈúmß#8:BSkÃ8R%¤çÏrÜd2uTÿ`ݺu?BÝ(GuC3;~µeÈØÓü`÷Á¯µ³îÈ¡ÁW"ª#§f1Q¾ÀÀ Y~h>@s3¦áÈYÌÒ-Of8öÍÏ291NÍ3£ðÃ¥S¬d.X1k×'ÓÑÆörúÄïkh ñå¸í*aG9%l"u¢æ×w2øÎ0Jæ*×n$§l> mßÀ_Bþíú=~CËáÃDÆâØæ-aáC$#Ó7|¤k×O8süêdOå¸ãSqò'ÅâüöþÒOÜÆ$fAz»º 3NÖ¬ÛEÂaúõc_|ö_w7O~é½
!DÛÝ«nµª-¾üû³n[¢ÚÄ =Çë«1zê_æµM$+ª)zð)òÓZ8øÒqLM_@¶Ú¸cóçI·^f¿zØð Ã#H®©³±úû±,z%ëïÇq¾®}5èéU¬Üüyæe&i~óu:Î`ì"cSHêþ]?¤ñÍF²V<BÕO¡´QûâBS×ÇjþSMã~ì3¬Úòê[/±W'eú;$³LöG¨?ÖÍP®Î<= ZRSEÙ¿|Ù-,Ò¶
+!Ún´òo¸¸ÄäÌÑ¿ü\ÍÇ?÷ÔÑÖvãþ×,«%¦éëë%j¼ik7ߪª¸óK1Ié¥[01à7_Þ8=#M̼
«YòáMÓOÒpg¤R¸²T®¦#kV׬cÇ/ÓÊÐÏ_!ÔqJ×\´Ø¢©á4ÖEb^Õ¤Ú-¤ùÍ4ýè¹ßKݾc=þ<Ù¥ÈΪÏm¥?i£s<LsDÂÒÒI"8N":Iók?G ºAܪ(§Ë*ôÄ¿µbÝûpù¾&÷=ùüÖÄÏo0ã%å¼Ü°sçÃqɲYx/È-åþVÚ[Ónõ^¶@7¾´T&D
+ñøÔ)i>îùÊ·°¦´Â$#ÛXÝÃVYÂmÀxLÇ0Ëø=6 9³yzÙN+ÞN4:L`çw ¼¹c¶-Éȹ C(ºAßX%nt-AkG7=Qº{j ØL!R$ÙJîû²ÐO£áæ×~Iý¹Q!¾{¿7+7Ev§"«.û~å÷þÌÔY÷½t³#7~§¡EÍ@;ío½FFÎÃ0b²óÛWvãÒ7)§4û]ú¿ð³¦i p[ä 1.;0ûA8(h%+îdÊÉóA\yóLÄ5ví;ÀääH[tã/ðOè4é#Å·-Þñ±lØx>ÆMÒnªôÞ{[búsÍ?÷o:
+ãÁ'GÕ¾5FÒi0 É0Ðt2¬Ù÷Æk8l
+>¯×Çã!55õ×LËÊt0Ò íhV1tt7c#©^z£GÁ,ZÚÉ,Bqhßÿ"öÔ~û}HVQ§¶ß%Q9)R@íqBéÕø
+aHºpº<o¤{Ó_Äa4¿Ã¤â¦Ë¿)ó»ENyÕÚÔTëÛѦu2V°Ñn·?ðymú=?÷0gvÛDèíí¥·§gÚó8ì&û; 'hiiÁf³aÍZHÚ²M¿ýoÿp[f)Åë&£ÐÍàà Ãã¢}Æß:ÁؼëÝËD4VåÒÔ°ÙVã©3¯ÄHÅ?zÛÜcéi¿ZîÔw~üZÇ¢ÑuxNÿ|sVU¸ej=tu«æ¼\«EE¬{_ùõ(ûq56O-i¥c\ÊY¤ë¦a2Ë´$ÄÐ
+&É4¼ÚqôMþ9¤c £'5t-9Ý·@HaÄ
+ÝèM#ÛaqÖÜ÷éG£fY!·Â¸ÞÅ>ô9£F£÷Çb±±X¬RUÕlÀaL×F ©NXÍÁÅÁ©©ë$Æè8V##ôÂײcBQ¾k£5%¥VQÝÕÕÕç"^ÖfèWo¥ö¢ÚËtôQLÿä&¥ÉD²4©%óÉdf2ôjæÒ´¤MÓô]×ÍSÿ3À@7&ZÝo
yùËn§g¦HfsÀ,I]f³ùÙl®[»ví 1³¾¿Ñ¹Ýþõáýá¬Óþ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_artifacts.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_artifacts.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_artifacts.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,122 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ W@# IDATxÚì½wx]W÷ÿÙçÛz±%˲l˽Å5vìô:é$`À¼ÌÌÃ0Ì^&$)NBBj; NâÞÜdɬÞo=÷¶Ü+Ù²äâ$°ç>W:÷½÷Ùkíµ×ú®µ×|B®ëÈ
+ÄXÃ0F;3QJ§Âqä)e#0¿t¤Ç(HH°4BDn!D«¢(Bý^¯·!77·èz}>ü$ø¸¿@ggçL˲.´{®c;ãmË.È>T eV@J2ÿÊc×e?-3¿x]Ji;£KGF4ÖªjªªÝÏQ£vü>¼YîÊ£ÑèÛ¶/ugmÙT *RÂefö !OFtIöÞ¡D»o)¥´¥tlUÕº5MÛ¤ªêåååoM>Oÿ;ZÂçÅb±,˺Ȳ¬@
+·fgÙ?UUEUU4MËþ (*¢ (
+B¢:mÛضeYX
iit"3*Òr¤ìô¸Ý;=^ï+åeeû|¾Þ¿3À_¾Ät˲¾nYÖYRÊ\À-A0EÁår
+|4MCQSÒÇqH§Ó¤Siô®ëXu2 !¥t!>dzÚãñü¦¬¬lý(ê
+â#Hüx<~£eY7Ú¶=à~Qùßårãq»p{<hö¡ö3NH&IÄã$!yL²Ø ·Û³Óçó-¨¨Xêóù"g¡DWP<ÿ¢eY_²m»
+!|è7çÍð÷[lÛ&EÅâÇ1Ã1]ıÝårÕ{½Þªªªb>Ïùg ]×Dâ+¦iÞì8Î@9Q´ªÇëÅãñ ªêGzM5M¾¾}}½¤Óéá,GUÕ`0øûÊÊÊ{}>_âot]×ÄeýضíBß멦ix³ÿ8h4Jww7ñXyÛ±udzÃçóý ªªê
+ÏgýM0 at VÁ«Åb?²,ëÓûÄïv»ñz½¸\®OHH$èìì$YÉàHÇðûüOM4é@ý(~èÐÙÕùEÛ²è8ÎÈãM¹þïóù>1?±Äãq:::D"$ã8ªª-~¿ÿG3gÎ|ðÉ º®ÇãwXu!à´Æ«*>·ÛÍßBéë룵¤ÌâXWL<ù_|>ß¡Otuu]`YÖH9A8
óy}ø|>þK[[ÍÍÍCPFEUÁ[gιòcÍ º®Ä÷MÓüðñÄ×4
+¿ßÿ×ê?pÉÒi:ÚD_¤/IgXÁ²¬h~~þÝ'NüÏÿØ1®ëñxü.˲®á:÷ù|x½^þ^KÆÆÆuÓï÷?=cÆoø|¾î
+$âd"±Ìrì9Ècªªøýþµûø( 9L" DZ|>ß)S¦\Óñgµk_WrKóÌÇyç|D»|iii§¯/r¼(mÛÜárË[®¸üÆIèílUÒfznÚ0°l«©(à ¥DSAhU*Ød¾A`+YìC*@AÅÆFâ H[±q9ï; D¢H#UÅFA,lª£¢
+£
+ÂÀB ¡AcU!ÀØG 88hd"F4GÅV4GC[(ìL}£Øà¨("ÛTÇ
%!Qp?QÂ@¢!ȼ
+Ý´´´gTeGÁÁv<.OcAAþgÆWÜWTå|d µ³^QLíBÓ¶ïRVÈËÄãÖÐ4ÄF@@ô;WÉþa;{§DEâ Pppè2û2ÐD h8Ù:D&Ð@ `c¢âBb£ `g_^Aàà ± %[§ÈöIÍ~È>v¶Jq(lÔç$
+*%û.u °²ßIz{û¨«k`R$ hQZòµQE+F&8%BY1Õ¹eß-¥3Êĸ=æÊ,[¢æqT°q²²¤«'Ã¥v!ÒVÃ4±°Hilì̼Î0c6ÒØuX¨¸±³58Ùzml,ÀA NÆqÄÂ&a)lúQZ+KDÛ±04¶m¡fÆ>¡#$dB6aDC7S%Á SȲääå2aÂØÌJã8£ZZÛî>¸{ÿÜSA»÷m576Ì6ëI)ÑYfÜ^U)í2ÅÊæ?<Ì
çåvDJ!AëÂAJGHHᨠL|ò9^xåÎ^t:÷?ð0½Ñ^ÆUAJE:lݹÿä6.<w1ªf¥ñVF¢HEØýâ!v&x,ÂÿþüvJÊ+)Ì/ÀÁ ©6
+[_ã'¿¼8L®®@U2sßF2Тßýæô¦-&TáÍõynù,7iÚüö¶°lõ:r§Ì¥ÂçÊ>éÂÁåòÎõÑ×ö,¤D8³aýÚóF©Z³sÇ®Ö÷C¿÷¥ÿç~Z|¤½ó¾
9V*AÓÑ£tFtTOÅóª$£]¬}ãMº
+ÝÊ0tPmëÞ`{]+yÅ,:}6
a[·ng}clêzlw>cò]D;[øó[ëHiy´uëH GJ¤#±
Ëë8$Ý´Áí-A6z"Êk¯½F[OâÊ),? gçÆÍl©o![ÌEEßÅò_£¹3ΪWW3aBBaô²íà!̼Röí©§sñ|ʤß/ýã´¤<àr±·¾îÄ6ÌD:`óÒªUìiî%ËÄ8¶Î?¯æ@S;Á¼2ÎX|åynb]-¬Ý°Æ9y%TäÑt´ÖÎH
Ûí¹ïÚ믽èÉÇìøÐúÚ½7ßtͲ²ÐLÇÔ»·SßÇNõ°ê
ÇøÓÚÃ8Å¥±zO¹Añ¦ÝH$iÓ`ÏëÏñèÊÍé<´»|ÞDº£GÙ´å-Ä
+öíÙÊ[+_%KðÌ÷±µ®\wXÇAp¬d¶öºº{I$t¢Éi=I* ¥'éq©ñdú
+¯s¸'InÈÍÏ=;}ûÙ¿ç O¾°\R½M¼¾¡XRgäÈb ÊÊÐãqÉ$ºÄH%9rä0»v6sÅÅçP6±z×!ô¤N2eëÖMü¹®Ñ£ó0v¦R\\pLz"ZÚÚI&S ÀôÉãñØm»·RSü¼0[Ö¿Éú·ÖÒéåéïaS}1%aZí¡C7ñúý!ÒÒ×}êeõµ{>T¨¯Ýt¼ËH&ç%)ÆÎ8ùÅ!æÍKiY)Í»Þ"iêl9aÆÔj1ñ'XFµû;¶A{K}iA˾¤â:H`ÀËùçI0Æ6{HÙÛ¢1wÏGeUáØ ØH)YeP:àHp8¼ÑcÈs;ô&l¤BÚ:ùa&ÎáÈ&L᧢ÔÒdÌèJ Æ®ÄàHÓ˶iÙ·
%ÞÑΡfÃb¶mwþìÌ®ÌäÑ#Ñ4¥#P]np2Zå©, ²²ÓoI Åy>z£)LÛÆ2úÐÓi¶7ô±xád,\ȧ®»Uc(B0è¦iÏÙ³gû]{ßZüÐ ¥³ãûz<~Íî;´GZRÐydumôv·NÆðä ¤`DP£5§£«Xo÷_Rñz=TWP9®
æãÏ:À£(YMPE(¥Aý=tvt÷§
+6È(N]«¡«§îÞ."½qtËfÙó¦#a3uêø_¥(VNá%ÈIuóÆ×P
+ ÇH$ãÅ@1"¬ÜÚDO¡fß@·³~wÛ+\8ªUÚ!Jb;&ª+R'ÓGÍÑpÍ5ÛÙq
©3'ãóºPh¨ù5vÆèînfó¦ut¤Æ©È,q¦
ÄÑ::{®yîÍúï(:ÀÓÞ}Accó×lÃt©¾ £òxfÍÏëë7óÈvÈç3æ ÉYg.äéUy¶»R:XH,<ºÎlßµ!-FO
+AS8T¢
+
sÏZÈók¶óLs3foÅ¥!®b ¤µ ûãÓ(B ó8ó¢+©YȪ=GXkØ{U:A
eÐP»
Ý5
+i2á´HáàÒTÆäûy}ê¦O! lp4êwï åråõ×3¹4b§xê÷S»'³Æµk3Æ@2¡$È®=û1>vCNÖÈ~AyI5;¼úçbÓcÙHÂ
g-â
MiØ© úr²ÐE8 4¨ÒÖÑIIÙHm¹z{:¾vóÍ{ý÷¿ä=9ÞPxû8;¥>¯é BSÝx<U(8A<¦cÙ&n¯°?1ï¤A"#
+¸TÛpÈ/!d¼¤a¢ª*Á@[!Ob)òsèô¡*n¡ ¶"ÑA¸Ð01ÉÍÍ%ÖEñhå-i+I4GÍ FN8â¤èM$q¹<(¦ð »ÝÄSºP4B¡0¨¶ /Þmjòsq°C*¦´Óä
+PÔÈOFâè(~úºûÈQ½B
+±8 3ENN¦DOXBwwápË´
+zcQTáÆ
éròA4ªc:nO`F:$cqÖ7O%ѤÌTUíÀ¢Óç^6fìôCÔÚ³\Jq©RH)ÂÆ¥]¶Èâª8ØRAåH3 ɬ¨·íýx*Ulagͪ¡ÂAfÑC§É^ë·mm©b¢Heà· ªüAÈkYá<¸>GC¶èåÊoÅÈ,MÂA8pÙÕö0ßF:(ñ8Oæ¤u¬ÏRdQÙ:ØjjöëôÏü¾®¸òºËO)èº.øÍéTúwéîß>øÐ45ÓÙ~\OHâ ÙKý¿õä ÖO¸ÞÿtVd"ÅàÊãêÇý.3m)ÚRdªêÓ°E×úñÏãlËÚ:Öçê¦QÚßã^wÐX
+ÔwbýãÁ£±[·l=æ<QXXüsçÎýý» /{·:@eÙ?TTÕݦýwîG£x8q2ÈXÒD~¼Ô½o+@×u-ýHJgd?ñ].íïÄÿÑ,®e\»vít]×Þ7dB·íO#
Öorû|þ¿úG¬TWWgI@ ´h4òémÛ¶ù¾@×õmÙ?àîwÌø¼Þ¿ù0®b 7n`G@qG£Ñëºø@×u%H|ÅvìýÄWõo6óãPªªª
B W<¹}ûö¯d·Þ½g ²,ëfÀ׿µéïÄÿè~)EQ|]]]7¡÷Ì ñxü¶ãLé÷¨këo&nÿã\JJJ(**Øf¤ÓS6nÜøÅ÷Ä º®çXõ%J¿Íïóý]ëÿ8-Û
P"Èt]ÏyW ëº'â7:]Õìv»?±Ûµ>%??ÒÒìR Ñu½jëÖ7f÷e¾£[¦u#_,ÿßmþ_3fýv¡¢(¾ð;2@"nÛö,ó iÚ±Ù/ìTT´T´3ß÷n´mÌTò$¿:ɦÙK,=eZ'¹7éAôdúÑ¿ÿTSeÞ1Á6ß~÷¸ùyØÙT6±x|ÆöíÛ§øܤȶí¯#D ?&ýøÙ9ø&×nÄ4%Æö0óªÈÉg`¨¯å^[Î/|{è¶Îîä¨13®½
+bGØôÈ}_ðU*'V¾×leýÝßÁ¤Ït
yíå?!Ä7èØöµwaMuã-¬¢úüË WÄëÞ|I}zÐ5§£n/%ÕÓP%F¿¼uR5sV^*:KUUÈîä9A²ý©§)<ÿ«6w
+ VÞCW}9ùSÔï`÷ËÏàhyL¹ôz
+ÊF4¨{þÖá)ñúIHÝö¬xSwñg([ɸo¡ó®ÿ¤nC)æUxÇ]Bù¸Ñi½¼âT'[îÿWâm
+ô5toEL½òÚ_û=-)u1SÎ=! ¯n{^yü£IÇ»9÷ÿÏ?èÚM¬`S¦æ±wÅ$c)B3ý¼é®?Hlÿ[´©#8ñBò¨£a=eç~ §gã£ãj£¥)BÅÂ+Ö¼HBÁÔ+n$/ßM×îÕÔ¼þx|Åç(QÄæ'Á¬#Y~óÏ_"-Ï©Nv¼²ñW}ÊÉUH3IãæWIôÄIµ·ïn§rÞY lyüw̹þIôve
týOÞMkSjÞ¼.
+)mô¬ÝÖ9'ïKO¼Þ;ì0oÞ¼yæÜÞÞ^$ÎÌÜLi3æ´É¨@õ©ºìÿ0vÎ4Ìh{ê+nå´óg³áñ'plW~K¯¯³¾õ
+Ø @º¯õ?DÕeßdþUç±ã¿"2fÜð5ýñ;ÖG3çÅhÚÉa¦moqxý*êÞZE<U'wñÃtù'²ø_$ñÚ¯ÐC§qηþµg#;WïÄ´S¿òi&\ómf1ÞÝ/ÐU»uîgYpÙ4¯ßÀ¨þ³¾ñ8mëè®ÛM¢£ú
%ßø}»+>3¿ru/Þ@ëþ·pͺ
×_Ìægîeôßbd¹BËÖ7ÚÆæ^eæMÿÁiçMgý¿&í@ÇÎýóÎ[8ø ©Þ
+ØE8§·¶ëq¿/í%ÖÑ2poÇ¡½¾ù és8ë[ÿA(±Âp £¯¦})¶$wÜ×þý¦auY3gùrrr.F"îúº:@E͸+뫶
+éöæQXVHpÌ4«¤Ãáú^ÆÏ¢ù(Yü´Oí({½O?E_ënZ]ÂEË/ÄÑI¤íwÐ),ÛB
+`ú
+ÿHî 4º Ehi2qáÂYça¶m%²Ik¹{:þ² ÇL§Ñ
¨BaÄäñ4ºõK §52Ó·ñSÆ øQüåTO¬@ÍdòAº=n*ÇBÍEAQ.ù
9hyÕà$Ðc{èm¯cë£?cëK+tì¦#i#AeE!êpûå¤*BmѺw5ï¼+¬ö`LCÑq
á fº=ÞKGÍ:÷§ºè®Ë&ù[ÊC¡ÐÊ1b欸\îÁ¿¹àðöýL=a$¨åéSæ1uñ|4Û HãµpD 0/@WK7á\ô¶ {ÅUSýÙïâÓtkjãAoÛÍgÖ1ý÷¡oþ[zù7ÝÇ;ü7jîÙäµk³ZvÓÑÚKeÐOªã J UÒ$õ4ó(V²cðsfo>ý4s¿ús¶ýñÎcì/¶q|QûcO]P=#1yó®ÿ*ªÕKËÁzFTv¤ OÞ"h¿Ö©PÅÈÙyô´5PQ
ÀÐ
+ÛÆê«Å1b íMÝÊEo¯Áã*¦¨h$m}M'¤qÉ?~®üÏ_X;~}ׯèzª¨ªjB(xÜ!ì«/§æ'Y»Í0
+p2åsðJÆ`ûC?G%§PÆw)[{uDoy%¥xrÆS>¶ü
+ªLbiÅÏöï¥ü¼/Q6¦³ð´Þû3ö¬ÎìsNûË Ñ/eã³ÒòðR}ùxÃ
+Eå%l{øçhM´ó}J¥¹Xv/-áô¶Iëýí¾Ê5@
+[û5Ôü)TÎûg¼ù%̸ètêßx5*¶#Á¤lÞt|NãYÿÀm¸<^´´1èÙ^ËÆç~GK%ÒÖJŬbª&ÎãЮ´ìÞ´ÓEOÙ¿¨
ãµµµåY˲¯ìÇ
+æáslL=JPpùC¸½FqÌéx)T<Á0jv¸`¦ÓM?m¦0â1¤hþ.B:ÃÊͶ)11lÜxýÞe?éD?wHÿ¬PT·±>LÓDóñøýz¦½»È¯¨DMeõäÒþt<;Bb¤RÅ
ª¹nw&¼\4·'{o!R±>¼¡Üo¤$â å`iÇÁåõb§uÒÉ à
+q¹]Çy[301q
ÛDóx2ciÅåEHO8oP}F¬Ë4..£¨<¿ì9,Ã@"È+(|îÊ«®ºj4555;3RnÜÜÜ¿º5dŲóùWOR_£O¿üÒÀ{®Ï÷°ý_`ùÐì(já\f_qá_ïíõkWÑÛ4xcOxü
;ö6µfíÚÛ;
åÚk¯-`®®®ÉdrDñûÿúAÒÑ×2xpêÁ_PÛûìjF¼d_¡ºñãòü\Ò$ÑÕ¡§]vKæOiSµµµìÚµ¤Ä¶íôÄIÌ?`ZÖ
RÊï£âõZ¼Ð)¬PÁ*Â*úh >ÂE ¨ÀÐTqq1ù
Pûúú.v(º®Ç¶çÎB| )\¤ÂL§»``êÙ$˶E0t}жÂqdNë¤cÒñèI`â-§6Öñm-ëq¬eOb¥Øý6ÉÚ_ic$c'Þ8¢}7ÅÈNÅqì÷"''×BÕu}®®ëBòÇßÁëòúõíK¥Ý½?ÿê Yù[ù-¹
+÷ý£2¤IÅ8ðüoéêÒéÛ¿mKÅGïbÓw°~éCD{ßݹÝG²ýéä_´Ô-»5ϾaKÒ]µ¬¿çh>Ò2<»èíÔüé.¶,ý-þp'kî¹Ã»Aú ¯þôóÇóMb¯Þö÷<V¯þüß ØqÿØôØDÛ¢§
Ù¸Q)t]äi@eÙ½½½lÙ²
sÏ=÷¤
+`¢y{^|¤®1æüOS1i"õëÖâtï§ùà~ÿ¦^÷O¼7ïaÝíÌÿÖíÑÚW8r¸£0SIb½
+ãó\¬¹ç9J.ú*³gOFqê_þ-ÝGê çMwwÓ/»ÜÒb&=Hã¡FÜÅñh ïÐzö¬x KäP}é
+]Nõ¥_£óÎpdK1É/àp)eåÃöµaÅh³Æ²è³âõjôîzº}©0ó]½ë¦Ç!¨´ÓÒÔEÕ¹7P5k:àлg-{^[«héD#W±gÃ&ª®ZtjÁüü|66"x<^ (DblGggÎó˧±¡ÿûÿ#GÇú¬½ë)^òEÞx-»®¶Núî¦1bÉ·ocÆ9SØöÈïÞsÇÊF²áþ²õÙ'èI0áÌi;ø'\¯FÕ7ÑBå¬I(@õÕ÷3k
+FOÿWý³ÎÊGÈX5/þ¾ðÎúÖÿ%×ÜÞy
+KcüUßbÞeÙ|Ïí¤mP#uý-ì{äV ̾hª6Jcµq¸v#.XÏïE(ù3¯bîgnx×ïÚ¼ûMòó8ûߧ{ës4ìm$^¿½62ûËÿÎ *¥rþùUOeñÕ7r ܼ¼¼þD!röîÝ;V1côþ½û|i":tWW½:ôéô~ZÚÚ¨_yxî4G3ëÛäÙQUTæIV('êÇÖðêë¾ËÌ/%ÖèØð'¶?ó G75S9{$ d èA0´ã@*mcÈOhÜ"Ôa êk{8o*æ§dñõ30YCg{#5ÏüÍËmÛMs2#³ÍXî"l½
q²õ?Ó ¡Ö!lûÝ;£Ý>Nê;nFW-¾á£ðüäͺW¸ðYss3XTEõutvV¤t&.:c¡ZZRB2àsÏáó_øüЧ]%U2ãÚ[YpÓ·XpÓ·PI¢pl²Üy£x'ÅÐip,ú@ÍÕ°×~õåS¨>ïZf]wÏ5Þx IDATæ8Ýé
+Ì#ߧ!³ Ú»jq¤ÄIŨ}æì\ñ
+ª"PÌ4ºn`F"ÕÌòU¤«µ)Ríû2}pR2v:³oø6ónü:¿ô=**zë.6-ßÂôïeBQKÿ&ÖA+¦¢rû^ÛLJO#HÍs¬ºãôëiid?&rÝͶzºcHÛÀt øñz]qË°H÷Æ1¸\.ü@Fi¨¦aNÔGV¨ªÆÙgMYYKÎ\2¼"¨¤zÎLv?}/nÕÄpüNx÷yÅ÷&[º·[ÁÄô©¯ R(*þ%ºÍëÅHª\Cç®]6!kû»uåEì]ó8][|`¦ZSÏZ/èP82mÝÁÈyçe¤Ê
W°é¹¥´½¡ëì ¨r,¾I¯aÇS÷ :qLµ²Õlyè*.ú'Ê*K1ro¦ýÞÛÙ»y:3Ï:DT]ü)"|íÌlMTýÙÌfXÓ`Íï~*@hEL8}TV¯cÿê
+=ÿFtCOÞÅ;<Ñ&àW¢tØÁÖoÇ2m¤ñápx<I¦a¢±±qeY§øý~rrrNnNY)RÑ(Òhþ0nS£º=¨ÙLVéXox8%Rb§¤âñÌ6_6Ý1¤â ÇAѼxÃa´Ð\ÌYhÔHD30´¢àäÀж¡E73 C±Ì´âö£i?m$IÅbÀÈÁ¥ R±(%³KÓGpïPº§â¤ )QݼÁ BXè^¬ìò!'èÃ2|á ©hON/ÿ÷×9ç?²l<¡¼ ÊN'IÇc zØørÐ#½øròN)lÛ¶ÁõNÁñǬ½]Q4/þüÁâöC¬xÃo=MosçxsÜì1<CaÅÀ8ò=á>EÅÊÃ=B¬º}øîYpòܯºý
+£¾¼ÂA³ÜÌÅèÛǶåo~Ö_ÊèÓ/ ·(ß{"RçÂ[<Tìf»åÍñQÞÜ¡k¼êñã÷ЯSL|Èì ÊseYãÈp?îrJ¶|)~&Ì%gÔ`àÅþ oï²hþT.8çdÒ?ôþ¯Yüû«¾Ïç ÚlÛkRJF«§æ.á"X\Áǽ(îò+sNy½¡²¿ê{õÇxJ$¶mû5)¥§ÿL¾wb KOàH·ÏwÒ$©cֱשë2¨ª¦fu47Ñ¢-ÓÌlmr{ÐÞ%2)¥Ä6ÒhïðúB
+KËê
+)ªK; tmai¤ã TÛP$VJGõøNEÚé.ï{CôÍT×c¦±ÍãCÑ>ølÚçx àѤZÿ«ïÄ oýä+¸*®dÁMW¡y´á@r½òöï%oDFö1ùÂi¼òQ4~>ïÃ]±3n¼ÃÏßvÚ7)µìýUtÝÄIØf~úËä¾óà¦cÖ=x;ç|ëÇÃpeÆUws¨5%_¸ Íìbóî wîL3mèk¤{8´ò):ZzpÒ¦#(w)çòæßaÎWï!Üê»Yõ³qÉOXuÛ÷¸ä¿fß¿ +âgâ×QR]ò3@¿£/s²Ô4¤T$ÐÛÛËoîú
+ßùîwÈÏÏâ0Ùõìh8Ò¤KX÷û;ñÉ^¼¾Ì´éC©¾ðZ&y=±_^¾þ_h
+ëXyÇ/ëÀIÓzØdÞå!¶Ýù®Y×2ñi¨N¦×ï¥mo
+yKæh=Èîç#eùò×S4z`ÓôúÓÔnß¿bÎqõNv¿ðzÚMÕ
×RQ=ʳ?K×=ÿÅ7ÆàíÞUp&UÓ§;Hë_ãÐQ%»ÐGdÿkì[¿9ûÒw5ÈÛ[FP6ÐPÛDÙÂ+tÆ"@«ßIÍeØþQÄ{"´ïÛÂÖWW1ê«ÐF|(K¦iÇ(èêêbÙ²e¬Y³[¾|
+
+
+'®L¿êWOeþKh;|Q×ü+¦ÞùRWCÃæÕ4l^MWÖa¦4nYÍá¯qðÍøÊ/ ¹o)Êëq»hôR½è4\âPqÑ·´dÒ¶Ø÷èýæ_~Û}d4IÇp4êaÉÿI©{oV"'XóëÛ(=ëKþ«8ðÔÝôtõ"üELÿü¿Ò¼ìßÙV«pƵãv#ñì(ÍßbÌyBQ;é<Nÿâ×ýw(ûVÓéÅ9ÿòcÆÕìÝpt÷QjV>ÃøOÝÊ´y#QSMLCéäY,¹þ
+|î!;%Ò©©©Á̦kkmmeÕÊUoûp0ࡤ(í$QVZÏØì(V¿{Ìq0Qúl`ßÖ¦^sMƸ¶±ó+2p/)icÛÎöY>F¯l:^OÇLÐÔ¥jÆdTÍKÉ3¤öÑÚÞNýªûÙô§Çèi=@s4ã^uâÍpªÓM,õ6QÇRA¨'½ïÍ%;ãy(égnÞ4ÁG^a.á Kðû«(eçnÇQÂZ¸p!%%ÅhÆyçÇM¿é4ýÁáá'ÉsÖå?ërJGelY?ĸ3/gæußdRµkV#£èÒÆQôo
+
uj°lÇHÒüúlxòq$¯âéØÉ.lKA(.rÂ>ú:#HÇ!Õ¹?koSP6é×|¹7|7}ñ#òIwbýÒeTßø;æ6Í÷ÞH*(5Ãkw¢'SHé¯[ͪÿw+fóàÞáý ÝQ¤cîi@ ÂåRQ,n`ÆZ±S}0#+@ai ÓªªzÎ>çK¸ä?Ð á QuÁ
+¾óNvi6ù£óQ²øô«¯b×?±¡&°
+¬´I×^ª*TÌÌÎ¥¿DÓB§á½ðLv<ÿ<ö¬FEq+ \£7k
+{{ ·j²|äÏÁ?ÝCxÖ%TMªÀ©úu?bûkXxùC¸»|ÑùD»bÓÃw¢i;dÄé7âÊÆoúÃí1RC51«Ö7sðÏ+©<ÿæbûìÝ4|h®ã.?hQ82]ýǶIuÇÿ*9Ï8{ìPÓ¢¶¶¶ÕqR)%
¤è$%Ù×?·`à{8sËLöâÃåõ¯VìâË+Ê6z_Rxqy´c÷J#ÁHêÈl7àÏ)R><á<\îyhÆûH'(î ªâà çá:z4ãHÜþ\Ü^T¤W8?í$1K#>öÎ1èÑ(í züxCaÅ!íÁHõcõ*@ÛÔñçæ¢Gúðæ³ò§ßfñ-ßÅvÀÌÅã÷¬£}HÅ
+Ò&PPéÁÎ{{z
+KCCo¼ñ q»Üm¨²2°ß®ôÝ[ V{W¬ 8.*G¨v
+#ÇúNöøóGU|¹Ã BÁÌÃ
+*./þÂÒ¡Pk0W0÷{}N}ùÅf¹ËËlbû
){)
eA
þ!Ê°7§ï|(7{sQ4×PȺð~åä¨ Hè ¦F5èî?ÈØ2ßývo#§/À>>J|£rjsè, ûþàÞÓ¿øPÔæÑxñx| Tµ[B´EMë½0ÜQã?æxoª§¼ÚpIùGöcÑhÿñ¤¨ªÚª!eV+|/ Þ³Ýéئ15´Tö7+ÄÔÝ+ÇE;Ñ´¥Ä1ÓzSO¾mÔîжÁmÿ%æS6ªØ6Òx"Xf¥õÁ¦£¡äÞ÷1¶9ìX
+÷Þ6Î :bÛdEQö# ¦iâ8ÎÂ }û~ÏúG~s\Tð
+^ÿEæU³ñÁ;XwßÏX{÷Ïh®mÎ"¸1ö/¿ÎÎ$}ßdÛ£¿`Ã?gÝÝ?eÝÒõ½»¨à®ÃØöÔýï«ÿ¯þü{HÇ¡îÍ1ÓôÚÏÊÿ¹ñXT°ÑÌ[¿¼=Ò{ÊÆÐIµ³çñÛYsßÿcÝý·±ñÁ;i<xô¤÷GZí(6Mh4Ê¡5+q¤´5MÛ¯y<x<®Gúú[¶láò+.§´´tx+ uÏ ¨àQª9¼a=N÷㢿F~Þ{[CmÚÊüoßNÐï"zàE×µQ^]©'õÆå{XwßÓÿefÍFºï¢«¾ÐiÞÉWÁq3ý²ÏS\ØÔ-ÿ=pO$ú9Dê6±gÅX"ê¸#ÙýÒËøi¡qïA|#§2ùÒÏkÄjØ·â9w)ÎÝn¤Þë¬vè©YÃU/'êËo¢´¬iEØóä=t4÷P:ÿ&±x{^z´¥RyÕ7(+¬0}å ZÌjÜ|1^¿dÓfjkÛ=¡mOÝÏiþ2 íûwbP.a è¡m¬{îi¶$1õ4e饥¥
+Jnnn]{[{dÙòe9rÿ÷b|û±ö×?£páçXpÝÕÔ>s/Ým]ô6ìâHÄËÿü¦-©fëÃw¿gÎYÇûÆöåOÑg3ñ¬lTpí3¸&\¦o¢×9mj&9
7LõÕÿÎY1zZÙ¿ì1ª/ûgfQÍ[d¢_ü=þÉ,ùÆ÷ëë3~Î#¬äÆ^ö
+f_¼ ì@Ç5ty&±ä[?¥´ÔbÿËÏ`F;ÙûÒR*.ýÓO¯DMfM;íÅ~ʲ;BÍòßQºø3̺h!íÛ4Ùù»¢ÉY·þóÐ+Ôüy-©hÍ1Yû:¥'XmÜ»)W/è#Y»îN¢ÈiÛ¿ó¢×ÝA¬£=ÒC¤µT{{_{
SXìEX1lÛÌV]§ ݯ¾öj·iH$©T+9u$½æ¶6¬~ÍO?AO[-ͱ 2w*K!Xµæ(\'jÅÇÖðêëÿ\ßkѲæ v<·¦G©]µGãJ)H¥-ì`eE«£èéu»´`:ª;HéÙ¨àD
+]Mìán¶¿ü
+¶]´$2çN7USY f'é´¡(QHhü"£&½Â¥`Ëg¾"F¶£«þÀæå«ñÕFS{3}/³îÁÛhij£µç(e#rñûý¨CÜ6ÈÌ v"B*ÒÃÇÞ9?0QÃ
¤Ò)¼EcP9B¾nô-ÝÐ{Ýu×Õ¾ôÒKÓÚÛ;Äì9³ùìç>;©üL»â+}Cû)Y̾mï6*xØkèzW%R %g2VÃrV?ÓÊ_¹âIóI÷,àÏ÷/Åé)£Ç?é~
+iÍ&`=FãzÆOFºÿw!ãgMA1Ó¤t·ÙT3FzA^îö>?©ÎÚ,>PLÑÉ̸æð(IFN[̨J=CßAS4)Ñi<Nþk¹VÛOk{£Fbö¶6óÀVñçNcîÍWãôíeÍcwS=ýûø|aª/º¢â0ƽ`N*zr<È5Êì_±8Ð̳qGZ9øfÆoãÔÓø=
+F×à±ÝÅn
+EsSv:c¦¤ßªÅlìÕ|>¬««Û|öÙg_q¸þ°V=¡zx¯«êÙ3¨YþÖ(x/QÁE(ÉymÜÇ£ê0é/£RÈÏýþ%.¿¯¢k×J§gR Íͬ+.`ï¥to
+¡c¦\³_È¡ 4mÞ"SÓ|9-¥Ý«im¦°r¾üÉaÏs¿GqRNc]0|àD(ÌÊ2v?ñk¤chì^ÍaÆyÿÀÎ?þÖ¼0v2NáÔ+qùÝô\Mí7ðú5¦ j3.º/>LsØébÜù_àí÷(¿ââO>ÌöÇv¡h
+fZgä¼Û½zÖ6=t~dëa*æc`Q)ªWP¿æu¤í`&R¶ßØìñÙÌY$GÙÓÛ³A <
äå
+EãS'Ù×X¹xDÍãEu¹R¢GzN
+[©8z4t@óðg*ìT=ö4·_Nv*p¹Ñú38éXi]¡á åáÉFíÚéz¤Þü¨t¤CO£x¸\w0+' ¥ÀÊÇã÷¢÷uã
+ç!ÛÌYÞPBôàBÚJÑûzðsÃæö±Höta&æÁæÒ°ô8z4BÅSÛãiìéÄ2M4oo8iXéàÉÓÝÙ©8©XÛvPÝ~¼9¹¨ªc&IööâHËÀåÖ@Qq,w Ä®í[Y»æ-@ŶÌôÜEuæY;¦zMMM³mÛ#¥øý~ÊËÿB0ÃrdÃëôµv
+KÇÏØY£ù$DëVj×n¼*súá÷ïHK÷ìeßëëÿHFÏ?pÁ_µuÅ+¯ÐÔÜÉýèñ´ÜrË-ep\ UU7Yu%2Û¶ýE +^
+ª¦,9!*øCƼ?ÈâWP>s°.Ü!ÜÞS³OóR>sáàú]¼¿^N§ÓâgÍW¿ß¿i ?4í
T*uiÿµX,ö¥nB#ªñÉ-®@
ã>¸0wÕOá¸S7aï8å÷û_¢¶½)¥ììß4Åq¦°Òo©:¶Ò±ÒÙFJ+ÊüÒ±Ò©A£´ÍLäÀ:h¥Sï îEÊ÷
+÷ÚDzÃmìCbé êtöDðS ÛØFf¼lÓ|{¸WÊ!p/0h,><p¯mÛ]tÑC$ Ðäv¹w¦QDÄãqLÓ´OðÍ¥ì
+Þ|ÍÉ£_úö®í"·4c¿ûJF1åâ¼òÿ¢ j6°Q|cÏdÑõ þù¡Íü&
Z^[I"ªc&2PʬOÜwáaL½]Tð»,ë¼éW|Ã)¬H°xäࣼñã¢í>¶=ü]*ßJñø©§øénj_~æÆvh0%sÿñ³`MEzhÙµ±K.týÏ¿úOüã÷1¥àèÑ£ýL$óòòvMCÀçóéwÝu×+sçÎ=ÛåryD²Ç9ì^ö
+
+mLº¸
+ÿìÃ{ú2m¨b7áâëFç³øÖÿMíëXyÇpý§ÀIÓvØ`Îe!vüúqÔiW³`É\T'EãkwÓZSCî¹$ÚQóâ¤l?.º¢rÀ¦yõ³Ú±ß¨cù-»©yù9ô1çQãÇQ·nDji>p 5TÆk¾L^½ã0^þqÓGwv;m8ò½ÍêèáÔ¼ü¦ô0æë5~,8Ij_x£µäM:)^LÅÙ¾ô·`é^ñ¯T
+Ài[·Ú£Î¼é{r¤Zw±wG0
]ËeÊÅ×¢ºÜDZÒU¿g
+¸ñÍØ¿âYR"¾ö jÖÐsp+}]=hácÁÅ¿âóùôaîàáeË÷E"$¾¾¾Û¦^úYÆMbÎ
4ªaÄe_§zò¨a£çÈ~n_ÃÑíkèîÈ,%V*IÓö54l}ºu[ðe¶]%<ø<æÚz{¨>cn&~Î òâo3qñ¤m±é.ºÙ.bdz$KÒ¹f)=*¿ö]ÝÙå$ɺ»n£ðô{õ%ìêz»zé9¼h
ÿôßL[ÎöÇ `ßw·ð3̺`Z$SGOc]f£æ»µFu/Ýwìf]~1Ý{ê¶ÅÇn§Í,gñ׿OÐØËÖg_ÂLëmédÂõ·Rvbª;;BCíª.XB07Ñ°®ö
%yÚ~`N6h'Ð{´3¤ëðl=ÊÞå÷3âÜÏ3ý ¨ñZÀfíï'öR1g ¹¾X_ïëµF+ÛwlïmjjZ}¨öP&éa:M4Í"*EQ<(-Ä¥üñÉîݤSfV7°Iötеë
+j6Ö3íÓ×f5G{úè¢>&ÕqRJz
+#«+TÌÂãÖqGú3k*.og
+nnk£ñÍ¥l[þ,½mhe¢§ÌË£{&2¬»"P6nQÓÉø)<
2<Ü«ù)q.½;^`óÓËqÓKkûâëØøð4j¢£ë º%),; ë{
+ÜYXÒ÷ìî`Ó#¿zgwµå4½T 4v>¡1Ói8¼¶®vÌh3M;×£(¾Õ_þÕ¿4,ä7ßü
ßx<K%Âáw
+.: :ÜÕç^bû±ÿáàú5ÿÿ·wµ±mUgø¹÷úëø#v|í8
+ùh4ÖDÀ>Z
²µbÕhÕi&&¦!!¡ýBhì4}P¤iLºÑR&nI?ÒÖIHf!MM&qûÚ¾¾±}ï9ûá{Ý|æ£!e~þøsr}Þç¾ç}ßóçlF¯ÃíN 4ÁK:צ;ÁÑi·ÿ¯ã®GöÃÆSÈ©i8
4-ß\â´!M °bzR¿0ÛäwC
+öþv+Eeó7QðâS,\²vXL
+r©/ÏKaµmÀØø$\n´%! ¼6RæÞSv'ÿÛ~ ª¾é˦¬J¨ÜÏNGE
+¤éÔVG0pâ¨^îåNOÃm± ;ùéììç`á9¤S>
+U¢ ^°À]±·K®Ýàx×%@kkk÷ÀÀ@W6½'¦ ËòuEV&(Aý?ÄÇ/¿O
ïÂ[#æ»9 ùßG×±·qꢼAF|À£jëftÿåeMÕÍ°8]ØxÏ\øà:/D:Íw[ªQß²?ø3¬¦,Ò eM>Opû¸øΫày©áñëߦÍ;дsÎÿã-ÄNy¬kà;p0ÚóFþõOØ=vxn¿©[îý>Îÿóïõ:0CEëx®=r¨¹÷{ÿö.üõ·0[LÈfÒò5m͸ðökp8ÈN¡dõC¸&AeCzß~`þ;A®lbM®
+Á»îÞ³³{þEQ¸Ï?ÿü§±xü%N¿7¨¤¤555£pe
Ï
Ò¤ljàí°Ø³¶åXv±¼Ð,G#`¼
+VfCjȦbÓ`àaqz@\N=UEAÁx|a
l"éÞæ×`óø eÓHǦò%k6dfbϬ)ͬK} ¹ø$4Êãy8¼"²rªðÝZrEÎ, n/Ì6+´tl
+,%>]\B@v:Áâ )Áb:_¤\n¤Ûé¼ØDNo±Ãæ.
ÙlÓ¦!G#Ð4ÀL\0 8 no¾tN´µa4÷öJJR*<Î'üñµ§ÿÑÇ®K î¾¾¾«ªÚdäuuu³½AÿñãȤ¯Uü8N¿åal¨]ýcÕk¬4¾ÿ=ÛC2Tm»nßÊ/ФÓaôüýãÙÆâÁmw>°,äYÄØÞ{ï½Âò6÷±Çû!DWu\h BtñâÅ7ÉäK xÆÆ'Ƭ
+Îre
+-s5Ü<[ͯÍÞíäLvØ«#¤É<óÆ`
ݵò½P(T0>c¢øÆBÆ_Ô^ ··÷¤¦ª_czÀ»qãF¸=n±~1<<cÇêjpVµçñÇÿÖb¸ @Òét¾©QªâWÇ®gx£³³Æm¯ªª*oX´¨±(!´¦¦æ÷V«5k7Pbll¬8Ëë¡PÑh´ Äâq{B»víú=!. : dBÈs²¬áFGG1==]íuX,Ó§Oç/ÎëÿdEø!D¾nfûE×ÖÖ°ÙmïPFU]i###Å_g8uª£ K)Uý~ÿ;í~èÄÖe¾èµqsãó/êã#.Å1>>^õuîînupÆ`\ ó<!D]1tB^`TËBO/Âá0dY.ÎþÈÄ:ÚÛ¯)Q5ëóù^ 0t#C °Ãv§ó(cÆÂXXV¾5EÛÉ xÆG:trCÇÔdf'x6ÝÄ(k` ß,
¿ÌCÔ ÔIDAT[´Äs!\¾|ÅúIà/=ôÐÎg2ÆÐØxÇ`WW×3ÑhômAÜz J\PQQQ´È¢+Ô
d2XL&¨¯¯¦±ñÁ¥³diÊæææc^¯÷uJY./2ÍóùgkÏ>BÇ©ë×4-WWW÷úþýû-u¬ei644¼h·w)¥*¯:
+G¸y¸zõ*ÿz¡RÕçó½»wïÞ3Þ²@ImݺõiBH'3º
+Ã¥KÁMÄÔÔ;FÑ@Å<OçÁ&¤Ö : ¢[¶lyXÓ{¨³Ù,úûû¡(JÑZ«IðáBQÒFÄOÍfshß¾}B½þ®HÚívOTUU=)BØÈCEAoooѬòäÈ$.çÄ`±XÂÛ·oRŽb}ò`0xÎëõä9.l,¢ §§$·
+kþûï¿0´¼/á`0xð®»î:·ÒñWEPQþÊ+¼N)6b|êØ¿ß_´är¢ý¡!ÿè£ü¯}¼ jmm=z½]¾5%AmUUµz' k¨ª®*Zt)y~W:::ôÊ{~Í·X,á`0xð¾ûî;»Æ_UüúðððTUm1ª
P^^Í7-{øäOÐßßCÀ 3Í¡íÛ·?¹nÿ¦@XËB¡ÐßdY¾ã8á N'æ3( DÐÖÖH$ã&7J©êñx:÷íÛ÷ðJ¾5#¾$gÎ}%Lþ ÌzÙ
+6mBuuuÑâ3ÐÝÝüU.ú¯Qóâ»zSJ7U¢ZQgWW×/ÆÇÇLB 8ãÇ¢·ß¾iÕܪÇãèèèÈïçÕÆX&IÔÕÕ½¾wïÞ[äùÒ ` ££ãI~£ªjc»¶¡Ô××£¶¶öÿÒø¡P¨ÐÆUØÒc-KåÀ3Ë©í¯KèÞ þÌÓ¿Ç¥9³Ìnár¹PWW@ ðaøááatvv6Ð7_Õ´l 8ºÿG%®Å³pkýãÛÚN>H$WÕ\ÇÁd´0ÏçG0X»Àe_
+!
+Íu÷ ªeÔçó½pèСÃkùLkN EQ8 Áööö$)±ç9ËÌÉ`¡¼¼7nüÊall===³¤Z·¯iZÖï÷¿sàÀço½c_iÌ éÂù;¤dâr*ÕÂó<Á!¯WXSS³¨xõàêûúú0222ë UU·Ûòù|ÏíÞ½ûÄ4p~¥0P(ôÉÉÉdzLã8Þho6޻êª*TVV²®.Ë2100PPXãá¨Ífë½í¶ÛÞÔm|©»fÜz4EQx ®3gÎ<!IÒE ò<O³k@ (//¿©·-LW®1<|ùÒúo¦ªªâp8DQ|cÏ=$W«{Ë`ÜçÏ{tj*öh2lÁ¡Ï#0ým*++C ßïÛ½¶Vc±FGG122R8(3°¹\Nöx<]eeeoíÚµëÅi 0?P,¹º°5)%~&%;Õ\ÎÃq%ÿ̬púÕ8
+aµ¢¢(¢´´G¿"nåÈårÂdtÆÇÇ!§e̬nÎ,âhÍͦxiié'^¯÷Õ;wvH¬uwË`B={öGñX|·y÷Cïh\<v\.N'ìv;l6¬V+Ìfs ªª"Í"É@Q¤e©D2IH&P¨ÕÌO
+o<c`©Õ"§Ëçó}xÿý÷ÿ[ïs{K`Êöööo+²GQíétZä8Nà8N``Ø|R,ôÉæ®Ó3Ô8ÙBF.x¼É)¥¥T³;Q;!gìvÇ»w?Ø`d¦_ 7gNnKÒ¢lSeS*9só<O8Â5Ç°¨1ç}î'£TË©B&¹®(±Ûÿc'ä¬×ë=ºcÇÐ<·<æÄ
+¥ ľ¾¾º\.·9ËUk¶AUs¢¦ÑMSíFRc×L9S9Ïð<!!BT«f)l2ûË+[?[ëùrð?Ö;vØ÷'Ñ8 IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_builds.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_builds.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_last_builds.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,67 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ 8#(ö, IDATxÚí½y\Gçû{s»µï%Õ"¶Ò./ícÓ¦
+ØñÍbx`Þëi|ÌðNóæú7Ì3Céæ¼nÆØ
+xÛÆÆ6²líV©JªR-*J¥Ú3«r½yoD¼?rQI±Kr~}|RuoĽñûÆ/~¿_DüBp Á¶mÔ$®ã®JvhÚÒÍZë:¥U9 VÚ¯´ò 4Z.RB80+B5MsØëõöÖÔÔì"eéK¥ÍÄE.ðêT*µ:Í\£¾AIµVJÙ µòi¡=hÖ9yi É}Õ×yæþvÊïZ)åjÈsÚ0ÍÛB¡Ðêêê>˲æJ8?÷5ÑhôV¥Ôf)åF)e¢L`¡àr=»øý®É_{êïüS+%¦iN{<Þý¦i>ÓÚÚúb^CdK8»÷Æ¢±/J%ïw¥¼L@ÝB{v^
l&¦iâñxòÿ60Ã00!D±¥RJ¤¸®ëº8C6Åq"N%C¡n ¥Ô¬ßïÛgÇÛÛÛÿ§eYN ï_èd2y£ëºI)o×ZWÚà¿×ë-þïñx0ã¬<RL&C&ÁNÛضëºï¢!4aÆ<ÏsÁ`ð§ÍÍÍ[-ËrKxo¯H$H)ÿ뺫
+ãxAçÚëõá÷yñùýx<óúLd*E2 LV#ä Ûïôùýþ···?fYV¬DÓ¾*?(¥üRrFøx'¡û}øýþ³ÖÃÏRJâñ8ñxx<±'ltÖ4Íþ@ ðeËý²¬ùòþò[J©UyªJ5
+ ßïÇ4ÍzLuùù(óósd2ÓyÒãñôûýþï_¿þgZض-R©Ô'\×ýòÓ§@^ð#b±ápD<ÓEUÓ
+>¿oo(úv{{ûTlA|@ÂoÇãßs]÷S@Ù©Â÷ù|¼^ï%lI&ÌÌÌFOh¼fR&ÊÊÊïììüeYc4lÛö'ÏI)¿£jS{¼eYàOE"`zzh4zªç LÓXow®ê|Ô²¬Ì%G Û¶«ñøO])oü'ñ¦eYø|>>grbÊÇ/±L0ܲnݺÎx^ït]÷Z©%ú(°°,#&''9~üøélGÖ[÷ôEM Û¶½Dâ?º®û×,͸¼Çã!^ðVý9×i±ccÌGçó!é¤vEEÅw×®]û_ÎeDQCá×ÅãHéÞ·0oY@NÖ£££'i¥TÖ²¬_oÚ´é˲f/$ÉÆT2ù«äUèiÁóµ»xÄ$##GH&'©T صnݺOWTTL]ð[ã8Î¥ÔS]»P(Tò{Àðð0ÓÓÓ'~¿¤®®î¶ÎÎÎÞ HäjÇq×Z·i(jÊÿ1>>ÎÑ£GO~6Ms´¶¶öþ
+6ì¼àDnÈ:Î/ÐzÉ`&}hÜ»sà=ÑßßÏÂ0!ÄH]]Ý6mÚvÁ _î8î ÛÎÆû3D,ãСCd³ÙbôP1ZS]s×W^ñÖN¹¹¹ÕÙ¬ó²ÖjQAøBÊÊÊ>ô.ÞY4ªéëëöí¢MåõzÇoY»vmß}Fó©©TªÅq§´VÍ
Ð0ðÏ2B¡k×®%ml6Û<55õT,kù@`Ûv]"xL)µRk-Ð ,* ÿÀ²,Ö¬Y×ë-¬yLfåÞ½{³m»î¼À¶m#HüP)u]q=ÖÊJÂ?×`Í5Lì¼,®Û¹sçmÛ6ÎÉäRÞ¹¯µ&
+¾óÊÊJVHóD"¸gß¾·þÓy!@8Ùì8Î#BãËÕ¯?T3yêëéèèXèúfffÙ½{Ïæsêtí³¦¶fñ.!DGnÜ×C à/IåÀÀÀ EÃmíõWmÚx]ä½ñuöÄÌ°/³ÿ1_ J0$ÌçÆ#SÌ1TN¿H$F>2`(0(Ð
+Z
ÆÌ_§eá&Ö@Üõ
+
©
+dÆD(eHLm"É'Sv6p
+S(¡07_7*g¿hCbJ(C!@®
eÊD6ùË0ÀÐ EaB®«)rõ)-Ì|iRhLeÐ(4hÄÐ^.»^hÃEcPQi0>nJ¤Ñh¡`{ÄþǹáÏW×wdÏ*È/<Öfå¹7Ô@ÀÇôäȹ¨V4
+
+
Ì]%Ñâ8däÿ&ù_% PH&
M
zÀÀ ×,
ûr¿üÓü直öÌ¢!.Ì[å¯ùrLr¢Ó¿XP~®NU¼Kô¼
+o Q,ÿÄs|ËÚ&wB^(vDab óµkc{÷uç_ÊÊÍûö| øÉYfg[m[¿¡µjE(>¯Ïë¡ÐÚ@tò~j±ÃC,í\B+2na4Søe´¶.ÆkæzBä´
+þÁ!Z7Ç ©¡>/FÙqܤmq3Rä_BçzÅh¤9(-AäP`¢PÆD#µoZ¥5¦ððBh´6ÑÂÍÓU µÉðѤ
+-©ð{sõw¡r5¬o¡.ä-p
Ä°*Yì,ÎÓD(º O*
eóÇgèðyac»ñÚë«ëÛ±x÷}w]ÝßUJ-Ö¤ $hð,ã¢eh$ÌøÌI;Zr¨>ú[RId¥5ÑhþÃÿGww/]{÷ðó_þ/ºb'mæççq©irysÇNæ"^zõ5Þر¡Éd©ð;ÞØÿýî%¤$£sLÎLKÚ(-ÑÊÍ-¯BÊ}Gi BiP¤V
+®Vù¥Û¹OÄ£¤Î¢pÑZhíäîU h-ÙºuB¹Èäo¾y'& ´ÓdÓiæÂaR¶M6äå~MÅ GÂhW±Óò)$`g¤rDÏLfQZâ$cód³.®L3%Oд¨PÐJáHtÝÅoîzë»3ÃÆ×o¸)OÝ麮Q`ØÁÏó»Þ£ÈT[n»¥Çzáx×óµ{odûη&èîÝÏ6®[Øâd2hé⵪¨«ª`ÛoÒ?0ÄæÍâ¿þíßñÿýÏêàÊ+6(¥ÍLòØcÎúÈ$S´´4â¿|å'ÐÆïÿ$5å^YÖEm¤
@CËüo&Zï`¹¸JSHÒpñHpD®»y·ËÈVù¿ßGGÇR²qý3rô8¿ßÝÍí7]Ëxï[¤J¢)ׯ^D<í cÓìÁ0С%ymÞêæ¶þÁîÝÈò*â[®[Ë}\ÞÁØL{?ù^{õ|e!T¨þ½QpíÖ,glbXd#ØÈ¢ÚÞÙ³¯÷&à÷Má#oyvì8ø=é8.G4u´s¥ð³·«Ùã´[ñz¼Ô´´°¤c1®ksõ]ÆÐá#¬íìÄvlP&Ùln±ëµW_IÚ2öoàèñYEjÌæÉf at k\'£|¤wxñD¿ú÷_fëïc*ÅvlLÓ¤¬fK´cê,éT6gm¡
+TnL DNÕçGõýQ´!´2Üq)ò Dn,h¡rZqà4 A$2Çs[^Dø|\ÿ+cÃÒFª+üª{å+c
+_õjjjk282FcCMÞi¤ô²iY+Á
+ÛzXµ²¿ÏÆMgYÒTÆ]Á§¶³Ä\ͧ®¹éÀÓOïƪ¬B+6\ªCXÔ©³¸Ê`%Éï=vèÏÚ[;Ý÷7¸¾/ÕÖԮϺ.ñDD,-%¿ýí$´ð¡
ÂðX¶b%mUA^zêiT6oð)E*ÂP¡Fß塞¼¯×$kÛxØYÉÔìhQ ¡EÑz/ózRqt|ùpn{ÇkÐڱζ¿ø"³3ÑXµÀÐFqì6óV»Ê[׺h
+4³¡µ¯OM¼]#@j¥®4ZK*+ʸé¦øèuWQî¸JäÜ+7²¨¡á
+!B)M£eQ[WËz¬Fâ ÉÔ,_Ü@scÚ,ÃÕde¥BÇq9ÐÝÍö®A:«±ªê)·üØ ´°zÙ"¢ñÒH×!ß¿§ëKï&âwÛõTI-þ1L4E"sDææy«k?¾ú6ÊCãùLTM#Ëjè>ÐÅèÔ-«V³vY¦Ê2~ì(º¼E
+µAÚÉÒÛÛϱ±qúú V6ríuWÐ0>ʼñdÓ\uÍU8ØÇêU+Åâ-Ö®YM&aï!|EyEåKÛ:ÔCÿè85mKY¿f%>¯È©r
+ÆiÁ3;a$j4&b6 èjsáßEÞ^ÏååêJÊCA3Ð/Uxü^kȺmKZ ø=TWWPÛPOe(+,:7QR]Q×磹±¬4X²t1×GUuåÁ 5ÕUTTSS[^Ú4Ó¼¸ÓISÝÐLCcå/Jûi_ÚÆü\¤ÀrÃîÒïÿ·ÿú«üHÿI^Àà`Ï_*iüáä_Îë)¸ »67ÎyîD©CçÉÐÖ9ÃÅÐ&"¯¾9B¢Z,ðï(/N®WªØóîP sÂBå_ÜÈ3;÷¤2ÿhL¡Z`êzëwSµ«¿XÛÉjS?O-hC¡õfyÍR MÎ×yËÞ £Ð6ù©s$SBb*Òp9Á:6×XÂùífýÌEæs^FVT?|÷½ûÑ{¶lÛ.ø+íqM´¥5AËÇðä~jE Ø ÆF3 '¤«vJ`æäï¢(´Bcä!FÑ ;1né¼÷ÎÛËÌâ$~ÅV*
+¸pÈÁÐy2®GçP9²¼ý=uÑ]+]xæ
FoQ|V¯¿ë| LùΦPB +´íÉA1ÅÊU«Ø³{?&
+-´é*ã¯lÛþ
eYñ÷DD"ñ×ëï\×ëõR^^^½^$¨¨hdf&ÆÄÄD.ì$UÇ®]»8]pÈ8Mï7])¿
+økùK:/>,]º´0Oa<ÿªmÛæ%@2¼^ºîzߥâñx.ÙÍ2jjj¨«¯/±xl}W×¾ëß ¶m)å_"D 0²zÿÅ%ííÅ}a棱¿ÌçR|G
+`¹®ûqòK¼Løh3 MMM
B
9Ç?N.çÒé ÅÐZ×zIø?Z[[¶ëº5¯¿þú§%mÛ^¥ägN$eÒ%\hii9imÛ±mÛ{:
+PïºòÊð½^_iç% ˲hhl,N'âñ+ú· ݪ¡º`ýû}¥Þ©`Ñ¢EùQ@ÕÛ¶m»õmRÞ.rK}@Ï_Zäy© ¹¹yá&SöíÛO"mÛRÊM
L^÷IÂXÂÃçóÑÐØP $S©M¶mW,$ÀÛ¶"ä÷òtíë:m*9Îôè8Ù^ÂS©âïN|ÁßÿC/?G44wqpËcô¾øHº$
+ 5æØoÈÄ&7 055um:MNNñQöîÛÏSϽq'cRÓÇ|þ·mC¿úg&ÂãEfõ?õ+<u+©]TAÏLräõçY´ájZ6n"PV(~Phhh '¬]
iÈÐøøøµEôõõ]C>Sjfßïê%17ÉôÈÓ©°L¥,+NØ
+õÍzáqº·<A¨¥igÈLzåIÆzö/X
[ÂùFee%Gx2ûH§Ó× ÅÖÁ£Ü|Óu|ôæ?gÅ5³¥K:ÖbzzÙᦺ33~´ÌyªM_ü&×?øUbGþ2:ïyË¿ð0>Â÷ö$qaýdfNû·Ú¶HY¶ÚÉf³ë Û¶ë
¿É£3ØÑÉ£o+¤fíåÔ.½
+w|u¸5W}#]¾ü¼ºÇéõâ¦övç6{hÀ(y硾Ä3¿øÐß]Z¦©ÚÃèj´m»Î|äG®{°¦¦Ö+]ÉêM1Ö½?lïÆ
+Öqå-¼òúNÚÛ;rvÆÇê¨j Ã×Jy}U±êÅmÿî_eåÇ?MYu%2<Hÿ+/á¯_ÉË/Ã0KÞŹV`2)¢Y°'ñÿ$9AiÕ×/&&&þ}:þ>¹(444\ÀÝí;ü?PëÙþìhj ÃQQj¡\ÂY´8øMC)ÙA~ePá,.nd}íÄñÊCÐ\fM¯é!
+äwMºl<Òa(¥<Kill}=ã¹ÀÇè!^ݽ¬Ö¤q¶èOeL&2uüã!ïåÌðÔOðäOòäO³oðØYñzwoý£×tÒCÐ9Ð^ðY(£ê
+-<áH±Ô£µn*x çròÇEHGg©ZT¢ÄÇN
Ô.¦ºµ
+cûvb¯r
+ËÞW}#Ì+/íeú¯ð»ß½Äþ(+®!;þûýܸv9G03oÓºl9Õ$æ§:<+<¬è\Ƕo"Bå¦*äc6¦µcÕ!bIQ^ÛÀ²¥m$ ÐÜÁúJTö8ûzzxè+_EÚsüËOÀºÿü]d6ÎàÀ0Ò´X³n5©hÈä1±mËVÒX[M3Ь°¦sN6˱ÃD6O?ù<5Õ
+ÔÓTúÌ0Ú cDvD0·JûÑha MÖªVIx<N4@®ajr©p²6SLÍQlÉq&§gLÉñq¦òßçD~ãÄÔOýñþn¼ðÌ.¦çÙ'yýf"£{é{õÌó × ÊðLѸËW.btf¡ÝGXºáJ÷½ÁS¿ßE2æg?ùÙÂñ¹á±^ÝòJ~˸RñFßqìè$¿ùõtùñ?3g§Ùñò³ì>pþívÂQú4Æðçý%½ÇfïÛÆ/쥷¯ý¯-d²~ó§&³ìÿýÓt
+M1~h[¶büø8?~êe-O¬þ=Î<Â4FdÂkLp *
I`0·ÂXk
«tG)]q|¨)[1~¨+ïú:é§94¯=Â~±Wÿ
]`ÅuA{ÞIA3JÇ5â<ÎÀlgÅõ_¤Ù?HY]'õU¹øÀ[Ï0:e±ÿ%ì°IZ*¼¦é÷A6Â] I³¬¼x×Ü,L
+°òãëÞ?K+9´·³ºkV7ñÄî¤ãðõÕ<ûèQî<}»9úßé\ÕÎëûû1=>Ò©AÖ[GEEÇFpïÇoÀýß'äÍÁ#èò2æf3y¸jípDzépó3ìØö
+[_}û¾ñcª^é>ÀÒ iú_ã®®å[oä®flô©ø<;úÇùòÃ÷$Å÷øϬkýnØ´®½Ý;v²¬uõ÷"ì^<ÂF¸=dþ#5®L²*Ë]®ËrÐZæUÖ:t<gÃúõ|ñ¡/±ºÑϾ¡I¾ðùÏñÿóaVVÍò|W?åeÕÕñì/`ýÌ
§ñ×,cUkÁPHx«n+[B,]~uQø *1¨®F%¦0*O¨-7ÂõÔsÝ×¾E}c
+Éð梫¹ü_`íÍײï7Yü»c½Û~Ê7Ó°ö*æ÷<E`Q'u¡&®ûè'øúW¿Êg?ó «|~ºe+wÜÿyþâÚåÅÐw^Yá_`{}õ¬^¶¯~íÿàó÷ÞÍ'×åâ?eMkÛî¹ÿA¾ýÍ/ðüã"E9Ë[¸÷s_æK÷ßͽ7ÞDÐ<2
tÓÄbqL_ÅÁáñyfGâ)Ïîõ-ØÈxÒ
+W¡E$ª/·¨Ç.8©&p3 S<)Ph%ùðÃÿ?Óc£Ê&TdH¹ý,Yñ=E|ðÑ[>Áâ2Úið³ê²«ðg'x«ç8Ké¼üjÌÔÝ}¬[³ì¤é qÃå$FÆY½ù3WVbA6#29JËú?#>57TKz~OÃRBÁXï í_ù¾ PæS;>ÅüB¾ D&Xº~#Í
+u,nkgà7yíõøjÚY·rÞØ[ßØIRWS[¢sY;ßꬩçµ9!OMN±nÃTxmßòÇç2lܸ ;¥£££hHkbr&ÍÕkÕ49B,´«:ëyùùçÙ{pW^G:aâÀvº{ØpíͬXÒLSK¯myGc|úÓ·â©$/f¬÷-úcdS¦ú:´¿U¾íiC¯³3Ñé£iH.Bgq³}Ûu-ÜðøQóðè$ÇMs×ÿöâ;xug7®krÏb¼ëe¶wFJn½@¤·÷â++ã[î=¼º«oY97~üNí¦jÑU´4äzûá?<AÝË8òæ[lº÷ÆÍðË¿ajlPÃV}ü.äô~ö>÷"ÞP-×ÜFëêå´Ë¶}ûvapõ5Wµ2E¼oìhwӣѦ!å~ól´D)!ÅÐà`.)¹#¥8ÀùÅÄÄBÎ2acÿ
+cØc(ËVâ()ùås-Ñ
K8ÿhnn>ûá`-*°oêe¤Q
+©ÂTh©PÎæ¶îã(VÅãÖK$¸$àüïh뿲kZ0&μÈJp=¥'ë¸J)ì´Rêg"2(ÚµI'O]ý£ÉÄÂÅÛsÓħ&p³NIbgó=5ó
+:P[÷5t-: ÔlEyÊÁWVkD£Ñ¬ë8ìÛ·)åÕ-SQ>ÿ+b·ÒßsòÜlh'¯ÿí7s £ûÙû¯?gdÇô¾öÐÎæDP¢!HÏ&´¯]{jÕÿÓúáxn&¡®A{á_
+>õ'WZU®µ&Íòÿo<ü
+9ÐsX"ËèØk®ý(sÝ[IÚðñÙÏÝEßþm\{óÝø¤fÆé~ü¿1uÜd¢{Õ×c_¹ Ë# =Ìñ)tUΧ=r°¼ÖÞüÙ?·$wà¦èºûÐSÂÄfUßïBÊÁÂ"id3âyöîé4Js÷ç¿ÀÚ$½QÍÕ×^
áÌ°}d>vw1øáS×RGÍÆ©YÔ@Ýx
+E` ·l&Êí5hnoáÈÎ?0º÷_/Ií,B-ÿÚÛ
_à@xéÌ^D*·Ëð1#J
u>ã·t]²R!"(ÞXð`hIÀK¢Ò±bËkß6ÆOõÏѼ¢ÔC°ráD£± lñrÚVÄã1)_|uIjç ²æ&óAT`i.Oaù¹ùÉüa4H×¥Ò°ù¿ÿÏ¿ðÖ@KÛe,©ð°kÇNºÒ^{å 2yÇÁãWúÕ,ßÐJhÑõ´t®Çk>LÎrdǫݵ¦Ë®,Iæ|!ØÊü¡}`XËý0)¿Îd¾ÖÂãñØMZÂ%'xX,Zëºúúïak¥\48sæ®` ,Ç!å{¥Ü@ 0lø|¾>µ[8ª4ÉZêE$¡ðN)åVWW÷ÕÕÕÝÍYºDK³³³
ã½â+º
+˲fM9U§Ó¥ý{*fffòÉ"4Á`pʲ¬YÀ0PÌ Qj©KS£>sÐsØ¡ó*ÀuÝÒ0p bnnd*U0t `í(
+mJ&Ã@**µØ%ãÇÇim³Ùl²u{ UUUݦé.Éd²Ôb-BX-
+>IDATÆEY5½nݺî",Ëy=®Âºd2yÆ3%\8Èd2??rVS^^ÞeYV$ç'ûéBëpxRèKCCC8N|
+@å÷û+üH íSvbN at -ÀÔT5¥Ö»p°÷ v: ¹àÜúõ+^|ÚÛ;g¤ÞÍfoÍ5uµK¢/r$Iâ1²PnFyyùööÎbâ|eYéñü+yK
+Ñh´Ô9¦#þ«eYÎÛ ÐÞÖöBD
+$/µàEþ¢ð=OdóæÍ'm·:uíóú^Ò¹"d2ÜÔa %FFFjq]UUõ`¿#,ËÒÿGJ©tnÎÏ p1¢¯¯Âj/×uÓ555?²,K¿`Ñ¢Eoøü¾Â!Ïñx¢º199ɱ±±¢ú¯®ªê¹é¦Þ8õº·À²,é÷ûÿI))d-µèEüyÈ ÌT×ÔüeYò g¶?æóx3Ñh´¤.²ÞäÈ
+Çd
Ê?ñOv¯ýi `YVÜëóþ½ÖZÆ©é©RË^$èêê*ºòZ)Y^^þ÷§;3ð °lÙ²GMÓì-¤GãDçKqÁò=J!çzïºë®Gßéúw$eYó@àïZ¦'&'J-|cÏ=¹ÜFZ£µ55gYÖüL¼øyÀèÉmÛä2p¡ªþp8\<踺ººgówþüÝîyWXåú|¾o)©ì/¼ 177ÏÎ;Ñùÿ\×µ+*+¾eYû¾ ÐÑÑñZ°,ø´Ö:ºf,ï_pá`Çíp"Ïjjl|úSüÔkì¾?J ˲TçªÎ¿6ãx!oÞ|t©©Wp¡ »»ÑÑÑBÿÄëõ¿÷¾ûþÚ²,uÆÈàX(úV2[8Tjtt´¸ 03=Íö7ß,ÎøIåf¾cYÖ±÷rÿ{εbÅ[Áà3ZS<ùcdd¤$[_½¸ØSkM]mÝ37oþù{½ÿ=À²¬ìÚµk¿næá\]¹Å£ÃÃÃ%)|@xíµ×)}t 8üÀ|ݲ¬ìY'@ÊÊÊÿ ¥Lofff/Iã<c×~:D¾ûã8Nªµµõ?Xõ'MßþÉI×®]ûLeUåRÙÂ13£££9ÿ³óÃÙ¾c{QõK)³ííí?¸ã;ùSËz_Y!Ww®þ`0øÛÂn"5¥Å#ç¼üòKäý=´Öº¶¶î·wÞyçß¼òÞ,ËR6lxØï÷¿¹p½YÉ38D"üîw¿C+]<©¢¢âÍÏ~ößËwÖ'Áìºuëðù|MÍf9tèPié9 at 4å
^˦S
i^î½÷Þ,Ëzß6Î(1pEEùX]]ݧ=^ÏDAضÍÁKà,÷ü-[¶Eóûû5@`bÅ®®®>£°ìgîììì«(¯¸Ãbt! zzzJËÊÏÒÿì³ÏÆN$w0ÍѦ¦æ;þüÏ?vÆ'q³æìßÃÌÌÌ/RK
+6ÀêÕ«©¯¯/IòýXûÃüüÒK¹1?oô ÃY¾|ùwÜqǶ³Q8¼ÿþ«gggw]·üId K;hm+eûÛíÛ·v Ñ>¿otéÒ¥÷ßvÛm;ÏV=âl?xooï-¶m/),-hjj¢³³³$Ù÷×^{C±°ýÊËÊG¯X~ÛÍ7ßÜ{6ëçâ¢ÑhcWW×S©Tê*À(h²²2VZEEEEIʧÁÌÌ[·nÍåòÉíäEk*++wÝu×]®=ëS°â\½mÛu;wíúA2¸¯²ÔhV¬XA[[[IâÐÝÝÍöíÛsK¹ò=_Jýõg?ûÙGÎÄÕû@'wïÞ½ÿq.2÷×ÂQx¹ÚÚ:V®\A(úP~~~íÛ·çæóOÕ´ëºöâÅ¿{÷Ýwÿ
9/*°wï;ÃáȲÙìBÂþ¤å˳téҥ𻺺˸
+
+¢µÆ²¬ÖÖGî¸ýö§Ïõ3óõ²¶mWíر㧱Xì6!¿0è\Ê-[FccãBð###ìÙ³§8Vèù®ëfêëë·Üÿý½ÛJÞ yøwïÞý¹x<ñ×qÚÐÎ*ª««§£c)55ffÉÉIºººNU÷hÏ稩©ùö]wÝõ¨eYç-Oø ¶í;v|/|Êã1ËNiX²dÉ%CÉÉIzzz8räÈ÷Ì«}'M,Z¼èù{î¹÷[e÷Õ¶âjÛ¶EOwÏ'æ¢óßI%Wdä?ëêêhoo?«gêoUß××ÇØØØI=¾ðYYY¹·±±ñÛûØÇ^8uÛö%O¯~%H~+N¯B³¸¼9ßK¡ ´´´`YÖ-ôd2ÉÐÐÅ+§h8iYVUUÕ÷xà}ÐÏ+.ËÆⱯ¥íô*Ã0|
íéÅX´hMMMø|¾âÙ3G22rÑÑÑ96Rf-Ëꯩ©ùÉæÍq¾¼ P±gÏîâ±Ä¿Æ¢«
+ð Q C¡AµÖ444ÐØØH}}=çõ9çæægll¬¸QæíÍùó555}ÕÕÕ?¾õÖ[+$h¼PpÁ`<===7FÂá©ÔíãT8Ù4&-øÏZãXÔÖÖP[[Kuu5UUUżÏãD
+Ï23=ÃÔÔÉT
ÑÍSÇx¯×+//®±±ñ§7ÜpÃÖ?¶E«Dw'wÛ¶m_L§Ó÷Çb±Ëu§3ªª^&Q^^NYY¡P`0H Àï÷ãõzq]l6K&Á¶mRÉ$DX<F4%QÕ,°O=^O᪪ڿýöÛÿç¹à}¨°> æõm¯ßIg7'¶m7x<2@,P½§%ÇIÆØ©ãôsõé\Ô6'¾9Ùl²¬é²²²ýõÌm·}êE ò§¬Ë/àÌQ=00°z|bü'ëÜÉdÖ&É)¥Ï0¯x´Î½c>óÝi
yªÐOùÔJJW*å
+
BÓþ@à ÏëÝÖÖÖ¶cýúõ}eÍ]¬mxQàt± ¦§§gc4]¶Óë´K)]×RKé¥T~¥Gkm䥬®0a)Ó4ã¦iΦ9áñxáꪪÞ˯¸b¾_2Ǭÿÿe}A5¾C IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_my_jobs.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_my_jobs.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_my_jobs.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,158 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ !Íñ- IDATxÚì½wGïÿ©î>iÎä5I9Y¶,9È9ȶqbmöX.°ì^ËÂîýÁ.ëe6,É`ãÆ`,g[l+gFOî>Ý]U¿?úÌh$áIÑû<ó0ç®®÷[o®·o²mÛ Dá/H$æ*¥jçjÚÒ
+Zë*¥U)"tDie4Z>rB0&BìBìB¼T__¿ð
+èX,¦õ¹Ç(ÃMÀ¬T*Õ"¼T)uz¡T²5 ×Ðà¥>ø~á1x#Þö1
+³×0-a<oæC
+
+
+=ðÈX,&àÇtÑd2y¹RêR)årôÌb. ðúÕ~H~§G
0XµÖ4ÍZZZÀÅbþq üaD{¦©«¥×úR.P9S+»ÀÌÉl&¦ibYVá¹aa!¦~C)
)%¾ïãû>çáº.çMèpLÒz<
+µ,ëÖÖÖû`pfU!RÆx&Yàûþ{¥+\é¯
+Ã
+MýY
añ(¥Èçóä<¶ccÛ6¾ï¿¦d 1
+
F£·777o²±XÌ;×f|(K§ÓI)ß)¥\XÓ&v÷h
ÂDÂ!ÂeýIÇÏçÉærd3²ÙìoêQ¾e
ÖD£Ñ´µµýHÆb±üq ÉøÊt:}½ïûïÔZ-Ò¯ÆôHH$ò[á¿/I)I§Ó¤Ó)ÒéÌ40´E´Òa~ÐÑÑq70~4 Aüª2ÌÕ¾ï¿G)µ¨`è"RMà D0Mó¨6ª<Ï#HHLÏçð<Ò®iãñø÷cNÕ þ̯´mû×u?,¥<U;\ZE´ÀøcR©cccdÒ@
+L2JÚ¡pè
ò¯577?ÅÆÿ" `ÛvÐJ¥þò ôðF£B¡·Bl6ËÈÈÉdò ;Z¾ôSEEE÷.¿àK at _,˽e`Ûvm.»ÑuÝ÷k;÷eÅÞ2?2ÃÃÃ$ÉC$RÊBì-¯(ÿvgGç±Xlø- Û¶£@k:úòr(;DÇ&±Xp8Ì_% ÉÙ¹Bü"ß÷EEE.^¼øÀþX,æó xìñ{+ª*¯ÇË?fÖ<½Æ²LB!¿Dchh¦yRª¼Òr{8ÄW
+ÓûÅùç]3qÌ``¤«!=ý÷Þã+¿öNù(éF Q¨Âói% 8.ä=pBatQ|4TÈhÐ]x¦Ñµoá½C'aZp]Ïä÷
(!ÑYÓäsD0fM PQø1íÿÓïI`¾§HâØy>8)ÕpueÕóÌý¯c
+ #]FÚ²·H¥/7´Q®
ÉÕDBaÂaP-ð&&
$êÇñåIƳ0Ä8h VUQBªµª+Ñ0FjC¡1h14H#¸¡²
+!<tṩ,ð1
@«i¥ÂHCâãQQ´GØBâabHeJebI
B(ßP
«Ñ1úúB
+ÏW¢xìÁ,¸îuÔ`bd ìh{¡Ìë/jÍZÖ
+ÃDÂËã!±
+ëÕ!|ü-(È#ú 5$b26¤HA6µµ¨¥ÈÍoÇ[÷A¡1«TNrI @.¨ÂwÌ·$?
+,
_^` ¨Pááaa!
+à!
+W4
+ï$'ç@OÙ\v* ¦¥ÎZ¡Ð³óÍútÌ,ÚRQÓൠéY2|ãy·*¥ T½À´b
,0[baMI Y øTѵryP&H7P)#0@gdC-Þç]ÜY¸-=5±ÔÁAö1%þUAhTáÄÇÀRU
BaXy1l¢ÄØ
ßr£Àx£ O¹
A}û÷366Z¡Q(EÞ0
+3;:>WT}º¡¦ÃþCñìK¸4ïº_ÖJDT!Íj
áÁJÓf¼Ñ
Bi
ÂGi¬m¡ñ±l±k'&Uïä!Û;²YHeñ3i²{÷{ú9Ì ôäzLÏË@kÔ
+¥%J+-Z#µ(HUPZãÃ+@Â/ "ø-
Tx×Tàãá¡qÑ
ï+|´V($&¢pÏ
+X
+J+ZëhlªA¡QZ#)ÕI;wïùòÈðè¥#]ñ£
+ #]qWÙ¹üÒjF
uL,K 4¥Z£´ÄT ´¡ÀÐt²Ô>¢¿/÷2iH;LC*
+Éz"ãdÈøT6Gv˼í»@R>*@`°<jØZ\0d-J{h%ß©}Ð`©ÂD
öAÔ±
+Ì?X9*î>²Å¢<!ebª ªðÛ(QxTZ£µÄÔÐP[CG{K`hF
´ÖóìëûBÏÀÈeüÞþ×À@WLzúÏ×·
+gi1iÉDC&¡7`ä®,ÈT5µ`Søø
+èîD¤Ãåï`H$Ñ8´±]Èú>*3A|×nÊO] ®`Ú÷
+
+±móv7oÎÔµ÷îÛÏÌéì ½uF!÷$ijÔÁWääÿ Tðä©g_$ÏpÞY+B áa)° o¡!
+P¸O%4ZøHA:X>PQVÁY{öîÇó\´ÆDëYÝݽ·]54ü~êÀú=6>Ëóõçz¦Æ¥61ÀÒ6 ¥%iP¾ÀpÒ¾Sa¢ÝÝ#9ÐN0LéCÞL?ÁÎ:¤}MZzd|õñ{ú(WM¤¡1¤w??ûù/9óôåÌ3kJûoÛ±_>ô0W]q -Í?%`M¢´²QÀH#pcñá¡ßüñ Î8é$ÊÇ7©á>¸/ÏðP at X/k(ܼ&RPQ0HÄ¢£½®½ûqò.
+©õ̽{»?g(îÚ÷òí'¹r LtÖ_ßÖs S¬HØÄ0E!¸QÐÄ
Õ¥´BéÓZ©þ{*
+$Ó0:ÒßÇW\ÏuH{>WQ¶ïGj´å!|Çõ0ðÂÀ ¨ôð\L2U:\;_Hç*òËÖ;é9ÐËâsilhdã¦Mô
+qòI¨¬¬Á0<FººÙÝ7@^ZÔ4µãùÁo;ödíîdRÒ
+QWÝÄ3²È{yôîewï¶ñò
+:f´Ð\]F180Ì+ÛöP[QFIÈ¡w,GIM3Í
+x=äó.JkçìÚ»ïÖÅ'ÌؽmCìùêO
+ ÇwÚò¾ñE¥Å 4YµÚxR
+TA-xHP9e¦
+V&ÒpÑñ2üÔ^ðÀñ|ÀsÁÆ!#}lWÐylOãhGj¬h<ÿÐr<OÙÖýúøÅC¿
+5õô
+LÚ(ßgÛÖí¬yn=åe%ÔÖÔóÒ+Ù´e+-Í
+TWØ»
'ZÏÖUÕ5Ä»ûq Zë+(§{çöf(«¢ó^òw3&.åÜùUh?ËÄî<ôÌFxq¼cÓ=k§¯8
ª¬^ý$õu
+4Wô
+áF¸àÜsX8³
Ý{ö¡=Ö<ß_²iÓ/xâ¼]2#°k÷¶\[¤¯ÎPRF|é#¥èoßÃõ\×Åu}<ÏÇ÷]|ßCû>Ê×øÊÃ
+_ö¯%¾Ò
Õ/ÑÊV²¾GÚ±Iø¶Ãg3ê9ä=Fü®Çïð}²ÊÇ(Ó
+K$)y×Ãs%^^¢ü¢ü.øòÚÀÀ:K¡Øøò¶tõÒ~Â2Î;÷4w±
+FáR·võ"Ì»ÓO_ÊIó;(/ä8¬Íúg×p`<Çâ³ÏæÒóNgn{Û6nbæ®@mè<f<DÛèèÁØà~Æ÷S2³}ÆÁ¦0"ù¼<cÓÆÝ·tí{¹áO®}/W(!?¢µ¾T\iJa
¡@®ª`5+_ ]0¨¦O§ôÒhmòÄìì¶Ê%÷ðm&|¼Ïë3âù$\ï¾iR1gó:§
u¬©"¦¦z.:ÿ,.:ÿl.¸à:;g¬Q0'Tf¡Î¸ðÚðAìuȺ·1»³EËX:pO_±º¸ÏÎíÛÙ¶§ÛxÜDµûÄX±t3çt2sÞä³I}{˳0Öƪ2.X at eM3¨<¨ ¸¤8^B{{s0^
+A<µ/ß±½û#]û^®ø£ª®ÝÛ¢Ïý.×Z ´Â4LW
+
.¬$ZQZFEÏ×)ËBdÊCw.ÉÄÙ½=ØZò<©±OFúäuàÉ° vf3.<ÊJÑÚ
+¶ÚD.¬ðH4BEUåT@&+:¸òµ1òñDÊÀmÀú×@ÄC§
+åÐøHÚ:æ0Z]ãÃìÝ°átÙ7\6|ÂG(Kbj?XÂÂÐAT $4cZ¬NsPTWã6yôöö3<8ÌDÊ+¯®Ì¾§4ÙÙµû±»:fïüql 3ßê«ÐÇТvr
`
®«ÃwGh!©@B¼é :°,DÁ(|ÆÀÛHå¥ùõc¤¶mÅõ}2l©Èk¨p¦²ð¢K(Ý¥
+|ÃÇ!CÒC
+Ào7´1¹`J"võ
+`êÉñ©ÉXÔTÌþ>5k6âÌoÆîÛ
c;S |yf=ýªe'¶S¥ËØÏ2Ñ7Ú :»G÷gxâÉU%Ø»m±²Jj:ódª*ÈÔ¢°pH!Ñê*±mý;v1Ø?/kÏ~¬<zØù@×¾kµúÚ§Q'4¦©AB¬ÕÄ®6ÂGi15ÑJAXWh¤áð
+fi!
+¤
m
0²rÂëÚÞ½üþ>rÉ1JËê´ÖÓ0{!ͧ/"ÚXÀÓ´6ýàzS©ÀpeÙ»é+:ë<PM×îý(ge5
+LÌ^v'gëwmã±~jê[©¶Lú]¯ðíì]»§êBPÝÂi+Ná³øÌó5_¤{óó0B¡('r
+Ëæ7£
.xHTÒÓ@ªEAyÆní-÷ì#mgÀWj^_(úO|þËøÊ?ò
+7Èü"¥Ì÷kiÞ"eªPßfCãÕÁ%!ý:`i6XÚ@
+BPг*À+p
+0Dzìq¼$cRZÞH¸¢gJ
Õ/ñ
fb<Coï~ª+*ihnô¬!fp`¦úzjj«Ná¡1F³yJË0ó2vÄäð0ã#ø2LiM5r¢´ç3îB¬@ÚYôµLÅ*ÐÐÔD
eá
ÑaFDz8JQS[IuqI$9p ªêRZ¥§ººêjAé)£HJ'Ó¬]¿m#}PÄJ66Õݲä9ßîh?)÷@&L¦~®7YÅ C
P¡¦²êã C´PÓ?F!l4ù=1%öäý`"
6ýq
+lA¡Ð¢ &³ÿ>bjÓr²ÓlåÂÿ´(¬vQ¸¦>hGìÉñM½`MÞÓ!s5GïÐ÷B2FöìÙ;Ud#ؾråÊ+KwÿÞ °m»2JY*ÿ& ¬5BÅÅ%§£^yåFFê"¥ÿøÌ3ÏüäëU¯ÃümÛçøÒ¿-Â
±Iëù854{öì#L&¯Ù¾}û9
½o:Påºî¢t²P*õ3þ)3sæÌ©Iiö÷÷¨zS^Ö:L&¯B*Ì@çEYYÙUJáûþÔnÜãô硹sç222B*Bk级nØ°ájõw
ùßÍ
+\¿®Ò³Bï®#ï¡
+Aaa47 at Kóá`)&ÅQ³_ï/æÌúuë
+(Ó½x xà Ð÷=I¦ëå/^÷'Dºú!jÂüypâB¨¯=>ãGÕ××S[[ËÐÐZk\×]´fÍëµÖßümRàÕkgw
+é
µÒhåSÔ?
+ ØÝ
+>¿~úÏøQH-Ppó#<11ñN ì
+úÎBÉ¢ØeJ«EÚWàK"á8)H¤Q}=Øk^ÄÞøÊñÙ>
+©ªªÆÆúB«@
+<÷ÜsiC¯/dÜÓò¸*ç ]¢¡~Ȧ AåR8nLOÇÁÞ±ç·ÂØÏ_~_þÃÛùá»/àÇûvüþOzó]¤çò½w]ðG¸g¿û¶?ös þÆØ¿î©cBP"x'M@ÿûíF*] <¹B+¤Kx"M¸g&&PÉ×gB¹¸Ò@õßÓMxVû¡Ì}
îü&#ÙFæ¿ãóÔ6Wãì`Ó¿ÁÓ£NyûõÔ7þÎ7¥µ&3öÇS;ùL
+Ï JìN}×Ç0CácZ
+ÔÔÖ2<44ÓY±nÝÚZëç
+IfNF½ª¢÷ê°PAGlO7ôâ'r¤e¬«ÈøGK¼1BýûÕÞÇ_àÀh3ó¯{/móë1.=
SÞÕÏæ5½{`Wx½|u¿zLÚ¥ê¤k¹ð}Mqù$8òlý/°ág±½0-ÿÝtçüÄnÖ}ç_Øñò.Ìp
+Mç¼7ßD<6l`í÷¿Fû¬{eÓ´â:N¼êFjkcdøåÕl¸çûôí¦tî¤z¨éÀ_ÿ:O;γ hokchhh²e51x/ð
+ûí*`t"*}o%é4¤rXCãwlÇ°I¸Ñ¼ÃïÐÒ!Éàe½ªÛÅxr±eÔϪÁ0DÁ1ͼoþ0µÞø¶lLsÚÿþïüÖ]´^äÿó4T`¬ü𼼿Ën{w}ã[oùשËx©q6}áCxgrã·ãÚÿûY¢}÷óèmwðpS
+õi¼¾ù(×ÝòÏe6±õ¿ »ñì~â*Îû(õÍ»8qF×üý¼ÔÃÔØØHq<>å¦gÒ]×´ôuï±&®Ö§A§Sx¹$ìífضsry&Åç2¤<Ç2ñÊB+´7NI4Dqø0/S5Õmú^Ú.¾ºÙ36rÂû>E~ëÏvgVoåü/JK µrÊ?|º0XÙÉúÞ<'~è&b%1[1óÊwØÿm Mm['_v!±â(%íË)½ÛÀþ½ÃÊfæy*Ñj:V]CýÉËÞrakkë- ´jxòÉ'¯ÖZ[G¨ 'cmÁµg¥À×Õ}tÞ!ë)R¾-%.WBYi EuYÕP-vÞÃv}"Ñi ÐV(e¹QA´<ñÅàö
+ª3PS,
}JÎDä_ÂäÑ÷®àÑi6BxÆ L8.1 dâ5{X ÂLfï²nU+þáæ· ZZZزyódaçr×? &q ܪh>YîK§þð0L¤vÉ{à{.¶WØ#,*kÊÏ< áVj*f3¸y¾Ý£.¨Å0´ä»ïç7ßü)³¯üsN?¨ÁhΧÆ×D-Éç ÒF`|µÅØðChTjmá"&DS\ÓÀßyúâh
ËÈR^¦ûu&¦<b13·%1íìG»À¼· ¨k¨g ?¦3å5RZk3ÿ½\6ÖUÚZbKt_/ ÏÅv4W2¤òLx¬öJk¬¡cåùT-}ÄEÛÎZJMy»ü:ÝÛvIØþ8/Üñ ºú2*Z`8áä6z[ÍÀ®=ä&ºÙø½oR4ÿ:ÌX9 §_µ¾ó}cØãØø[
+v,ÂñE,l*åÙÜMjtTïF6ÞñQVë¿ðÞ@ÇÞó°rìy|
+Ù±Aö?zc^<6'¿575OÙW>ùäkTZSKª¤äÒÈÌÙØYhDß0¶¯pd[+ò¾+2ÔPm3Ï=öÓW2BS/¦´@írN½1ÎÕ÷òò×ÿDpi3_ÆÙ¬¢¢!°ò˯üsô7X÷_%3¨<q%+ß½xiЬôÊÛ8Åý¬þÜÍض¢eåǨïúO B¥ü¯²þöÿÇ}ø6Â,¢bÑ
ö¡2ÁGü
+EbDâACdî*fúÅlºÿûÜww%³Ï&Òt&EÑX K±Â· iÂeÛö¥5 EáÍ¢¡¡¡mÊ÷[ÝþAÆ7l`觿 é¤p³)©PÂÀCEcóV]ÂüWRÚ KJçyXõ'ïØyÞ=õôS.¡
+í¿æmo/ÈY D¢E)5ajj £µúfF6o`x×^ÌÌñÆjçÍ¥yù)´,^oÑN^oUj¨o`p`4ñ5kÖ´ ;-µ166v)ɺS*J)»ü"Ú.¿èø̽E¨¶¶©þGaÛÎ¥ZëÝRJH)OS
MBLÓD©7¾×pº~ù]¾wþtTZZB$-´¦Ç±OSJý§åº®p]w¡T
+´&àºon·ñd¿ýãttRyy9ét´&Ë-t]W@HǬòqÝþ¥ÊÊʩƶí4!+HÌÕâI
+]Úó>8Âõ4Rja`YP6EOæ±HÓ7è?óÌ3s-¥õÒéçë(Âe㡤ÇhRÍùFMU&sMÊM¢Ç
Å1§Ö±Üó½¥VjîóµA߸Á¾aTRákçJ\OÎåId%/ïöÙVáäyq´YÄBÇ@
+
BÅãd2Á¡¾çϵ´ÖíôªI8ûÆrälÆÇQÏ7É»'/É8é¢$ÉpÒ!*ç¶Øñ=¦¼Ò A«úvKkÝ µ&ïjKÆRøÒ'÷É:ãÎh¶ÄÉ»lÞeS_
+í5aJãGîÐùÙáCÃämaEÖ´PÙÔDäMZ)ö>·g¼N|B¹äFºé ¬óDÊËäöÒ${öb{Qª:f.½ü1÷ì$RÖLYMÁ;Ég¦R×h0¢eTÌ\Hiy1ßK÷Ë;hZr¡è±³§v=J_6XZ«*5cIÅàÆö=/x£Hå)M2ëãØ6¾c,ëòÒ<Kf±|þ¡1wå1¼éú¶íÄq$ÊóPRâ¥qÙE´¸XÑï^n¥|'¾ú×öp·²óÁ_?ù,]¹¨éê^϶GÁh\Aië,ÂÓmüvüêkTÏ¿²ul¾ÿ«äì
+Êý¬}bs/æ¤U+«u¬ùÖW¸âß~vL °Ñø¾_e)¥KÏXÎÀÍж§Éå<¶"V8ï¦ñ¼Ú÷ËÓÕ8 É]ëÙþä3Xm§³àò(¯,ÃOö²÷×·Ó¿ñª[ͨÉ}[íéÆ÷ѪvæÍÅl»$¹óFûûñIQãÜé\Fån
ÑÂoì vÖBf+¿lÖþîJë${z|xϼxôõw0͹øf¹C *ÏØsÿÁc?ú)Ω'/?6U@,
+ÜI)K-uÖÑ´ÇD*J>ïákëd=
m+l'´'s3¸nå9hé11a28 ¦Õ¨4}7`Y|æETV.oföE×Qºo¢¢ aät=Ï®ÇÅö$©ð7¾@Ö~³Î!6Éí~-«_Á
ÐÒedËËÓ¤¼ÍÀÓw±íå}Ä*Ê2Ïà5±î. IDATöµdÒ72çäYx-5Ë®bÆÀwÙÿàwQ(bÎÕ«¨ª¾
+e¢áq4-ÜFJYdi#Zi¼d4!pGùhÂé¾çà{9Ásðm´ôq
òz}äýU/¦¢úÐ]Äfå*¾îyìÜØI,ºò*Ê+»'ó-s U²çþo¢|WI4~ù/l/ßK÷±ñþQzõç9õÜÓ ×ËGþÝCóÿCÜHM+3N?Ñï~]:XxÙGiî|ã»z_~/5V%¹=Ô|
+Ѳc HdºõaS0Ê3vH'=ÒN.ÀËMà; ¤A»|7ôsÄÃêÒÈá%è×`ß²ë@¡ÔÁC#º{R4.Giu ÂSwúuøC/¢½ ÐtÇÖqR`¬
Êhºð¯×ðñsÛèÍ ÛØöÐ÷Ùöø#Ûä;¶áhßÆ·ÇÑEÅÄK#äíqlïç*¼\;9Fºg[ñS&Äl溢òâc Çòò6
ÖÊK²¹,Ò =¤´QÒAú6ÚÍãË<ÒÏ¡}©\ªx 55¶06n·×,©mìY»ªÙ§QÕ2# Ê!à1§:sX²öü0§ »±<oªd¸¸Yg. n`¦o+»×¬G5_Âê</?ÈÚzf-[! ѳ7´tÂÔ©ýUÌ>s%:ÕGMÙ×ÙÓ3H&¡¢ºc5úaYÖô³
+c²!IKIc¹7ç¦pò |'ç$È» <'CÞÍ ó´gÀüÙµÌî¨<ô
+f)s`ezÙ÷ÜÓ$iVx>z¿Ï':kÍh.a`GéDò¬»³v"¨êØþì˸yÒfà×&flµÕ¥uÅkÿ%W^OcG
+a#BUÄÄíeÏ£¿bÜidáªw0wÅU44Ó½úçôïé ±m=û×>G*ëAæÂóÈ-tfY½ÒüNvþú!ìDúL°né`ÉÅçTÉý£Åó]´Eº~Ðn]:h) EÃ,ÕÀ¹§Î¤®êÈV11'5Æþ/°éíX!Ïá$-§^EuK+BÀó.#ñÄ:¶Þû-BA~t9ÞL$¬ôYW½µ¬aãÝ@)r|еPI/½]kîÁÞY9r1J:ÏÃOÒûô=ôÈ0ûÚwS×Tº¶ó.&õÀÏØúØj"e×SV_ÅÈÚgÙøÛ0²=¨ò(mì;5XpÙ<þ½_²}ÝNX|lîð}ÿà Ì~ô£,! ±
+Íh"Gb"ö¤ï'AÚ(åR³lQW^¸¥f
+¡JêfP\^aPheu'Eë óh¨ª
âZ)Ìp1óÏ ã¤yD
+n UÕIi©ïy2jNZEC[U³aX¥3fÒHI5UóÎ }ù
+Bïå)}:Kæc
+@DJ+(®&\\Aq]#å
+ÕDJ®î¤iÙ9Ô´µ`Ya¬x=3Õ5-)!\ÝJEm-Ñ6jf.:¦¶år9vîÜÖ`»wïJ*¥KªkjÈä÷óô{éêb``;¥´,Ds}ç4qÎòÙ´·UQ?>Öhxxó0h0M+eÈ.ÕZ£¢¶*ÎYåõÌl3<&ÈáºyâajÊKh¨-£¦2Î[²~ú/lÛ.غÓ9K at Jk]àªy"¦A{SíMeÇgì-FÙlvÊ0,3e!ÄØÔAÆw|Þâ4
+ÖhLóç·xþq ¼Õ)JM
¦9` !öfpêMà<Yz¼MÜ1 ²Y&ù÷YB
üø
£V¾qÔf8ëâä%a#D¼HÐR¦¥Ö:"¨ ¥<Þ&î('Ïóª` !Â;,C/Mê5ý#iÆQöçqmMÒÉËJlÆw±Å¢Î"tQ]q|رDccc<E
+
^²wtuue´¦8kKzRIFlå¸ÊGz&®Tär±¬G.ë²s0ÇÀh)\N}Õq+4222ý¸¾ÌE]´Ã²,Ë3M³×õ¼¹c ŨÅ7ñ/5_sé¼O6§ÈxäFnÖ¡²LqQUíñÀ1ÜÅzϴƤ;tÑlÓCJMÞÛÑä2°%G&'ñ]î~g× f7ÑÑtdDP&{éY»Ý/¾@rdQTIðàÜs)«ysñéyüì7ñöÛî~íú)_~õmcîõbfg¯énv¯¾¡\5VBß?eóc0\Ò8寮¦yákçýøìû¹ðc_ ^UËÿøn.½åGuyØàààd§"È#6ÐRçGRÞµN^!´&%óäÈ|ÛuIä4IHf%y×F{ð|ºúGÙu ô ÈñÍl¸ç{'Ëé\ù>*ë*ð÷²ãw±f$òk®¤¦þw?o at kÅH××ÿ §¬i6µñß°ù¾ÿ¦òC¤2åÀ¿fç¦A:¯¼ÒH]£¨{"K®¸)ÈHeÄ«^ÿ ®ñý{×ùìî¨î'0>>N6ÊxG"Ñçm !ÔÓk»Iø_¶ó ;b,'ï*lGÍHÒvåx(/
rm<gxTÐ7T Ôr±}O¿Èþ¾f^~3'ÌÀ
+Yè¦fâa¶®EfÆ G÷¯À+=J.ãQ±ø2ξéíÄË&Áá²ó®ÿ`˳/âx!Ï{ß´«(Üä>^ùáWÙ³y/F¸ÆÓ¯bÙµ×P2Ö/bÖ97¹ó»l¼ûfͲý©
+Ô®x7s¶`ùI beUTÌõªÎK«ÆÇ%1¦lÎyú®wPY}(@~õÅsýW~L(VÄÿ|à{~=Ï®^ÑtÖÍ}ýeÆëaÃwÿ®]±R¯âkn¤¬(:ÏÄîçÙpßéï"\ÑÁ¬KÞμ3N'ò{Z}}}LUhcEÑÊxpÕSiÉRúZi×f(ÂwBdÜ<ÚqðóY\A¹EKMÊ%ó5ö3:º
PS;
+óZ°BÁÈ
¡dþÛXÚécF|ò×ÿÁÖ$þêsÔÖìºçßxø'3¸ø¦s»ç¼¼«ó?uQÆÙøõOòé[¿ò z#rñgÿÜŶîà©o.ùÛ·!Ì0eóÎbÖE£¼øãÛØ·©¶
W³ôÜ
B¤×§äêÿfë×ý=õµ!6|óV}`ç]æ¡8Lw=Ã7sá?ÝNLígóÿÕÌáüÊ^ó¯ì=á¾°ÝEÏ3òÊÛ8çHm{-?ùºó2VݼÔîÕl{òNdN°tÕi¿ zzz¦ô8>°òÂ=Ph3ñýx\¬Uy£ÕW¥s$Æbädí;(?ïe0]OfD*Hxì°À?òÆ()CIìÐT±°Þ9nÓ»i8ÿ=4-Z@,'¼ãýlþÌ÷ñ¯>Jjyþáµ,ÿ§¢º¹NþàûØð¡[AKòݬß3Êÿ~uåÐPAçE<þÃvÞFmPÚÌhóÊ`²V>l?Û¦î`÷ã?JùT^û1N9ÿ2êb!¶®ÛKÓé×вh1Kpê?MÊk${õ%)äÔ}º*®bÑ
+7rÿW¿
¸øï±DÌx½;¶Ñ¹x n\$*ÃðànÌN»ò**âÕ\ÁPï0C^$éFÙÜÏçéééÊÄãEkÞ%¬©""-i>43Æ×5F&+ÁË£]©²x®.'¡¤²Ã
+?1+À¬ ïù¸$Ï31MÃá¬dYih8¿¡ªSÀ¾uªM\ïäüXPI¨î"àÖ`ìÎz2#C<ýU¬DQ31Û£6gþÏÐ= ¨KÑóÄhý *ã7ÿ9ù÷aM·¢±©]Ò#9ECQX(¸pãBª´j_
+ À¬ºÊ T"J¨j9*ý_H
+Õ§ßÊiÃßf×Ïÿ
+·'(}'ÞðfÍuù]®?R(E×¼íPuî¤ó>e¡7§º»»§õp¢XÑC´ øü_7ÉK?¾éÁùujÜSùJ¤¦"d3ìHò¾öl<ÏÅr=¤Î"ÇWÄhm9Ì¢·R]:Áiö')}°dÌë{G¾ù#f^òwÌ:íLÊCp¡N§râlP
+àFbröâBöÙ4 MÌ&VYÇåÿýªÂà¤s@Ûôo|õ«wÑzÝ7YºW~ô=6ßu+Þ}ýTw,+#ZRþª6 at yl ®°îÐÃìÜXÌÌÓ^½©¤F]AmòêP´¤iKVþ#óoÔ¸c]ìxø¶ÝûUf}öSj¦qÙùóñ/QZ`>Ã"óFÀÞ½{§?Zëñ˯¸âA!ã̦n{QåT
ÖúÒCK²pí'P¶MÞ±ñÝ,Y¼9*ª¢\pú\Ï=üÌbö³RÙÁÖ{¿FowRyäö?Ïóßø¹ÐÙ4EKN¨§ëáß0Ò;òÇØtÇW±:¯Å(´;ã²<÷õïËøàM°é??>©KÀ¼J5wÿ¬"pÙñãóÈ×þ_AbǶÞùS*\ò3çPµøf]x#käåG×½áÉ[tB-{]ÇÀþ!T~Íß¾»s¸êÕCÞZi~sÛíä}7±ßù&5ÿ-*7Jßá±Ûn#/£Ä*ê(¯®Àµ`SU1âÔ[ÞEqúãÅo|ú9J¿ùìߦ$@iiéZ`êhÙ)X]~^Û½'wïä.Ú÷©jºSI®«Ó ªRÎ]ÖÁÙ§v¶ÂGt 5®àwÅÙù«;yê³70>&\VOÛéoã¼+¯¦ª9° «®ÿgfÝýï<þOWÍT/»Kþæ˱¾ÇòÞÂ=ï;;§i½ôãTD¾²jNýÂ7xák·rÇ
+·bET.¹S?üw¨Á-ì¼ï«¤jsñ;WúGi=ç"RûØôÄÝÕ\0^¹ëël¾÷;ÎZ¨þ÷guÆ
+*¯üGæß÷-Ö|þZãUK/cåõK)+ êíçBsRäE¾{Í×0KÚuŹâmsBRsÍg¨ù¯æ7.ÃR·ü*NûP}ÒY,
+û¬ýÁ¸ýö¬x=-¼Å]ó^ÊkÓîÝ»§·ðÑÅÅÅ÷ îtu5EÏo¬êݳyçÞÆý£älç·Oà{,Bú8¯\ȵ,gf{ÍT6ðx¸ôÕsøØ#;±üä'?!HÎyýüà !Æ §.¨svXÉGªâïÞÛ¥w çô
+ZÔ7rÒ6ÎX>¥Úw;hß¾}$Ýô²²²G¦ÿ# 8E±èícß<¿£Æß^ÍÛ.*¡³³óølþ+¯<*ƱuëÖ)ñ¯òkjjnM !Özk:^ãyÞÙ I¥R¤Ói_#D«§[ñ xÿ]ÏýÙça`` 0þ
+¾_<_sá
n~ZÈo 85-ó¹\ît!Ðô÷÷ì;ÿZÉãmâzé¥
+@@)é544üÀq,Gøl¯XÌkkmû¥i'3Éd2H$§cÙ·oßd_P"ÈæU«Vý2y¯ÉÐv4ùö<|láîýlq¼rø¨§
+6Ì× ¥tkjj~ $Ûg«ÏÅòzͺ»7¾Cå2KµãÓ¹Ýݵ6ãw´¡Ð¡ã.ßÑFÝÝÝ8°ÉÖHdóå_~w,ûg¿zxaèÀxq.{ô|[û
+MÑ¿wÆþù¯±ötÁl){þx´~ýzó"5¾ïÛ
+
+
+w ã¯öùWxÛ5ùJßò| $§\ú³9ôÓÏ¡õtø3Ü¢ß>ú9áçþ´×y6¼òRPøYp@ãÅ/¬ZµêþW[ý¯ª¦(ÏXÿZ¿ôWª]Þ¨ Î`nܨ©Çhj@Ä=90=ÔKz¨Ð(¥Bl·T¶Î&ZVñæØ/}F^zÚåW s}ìî;¤]a"å5Ô7zñÓDï>Âñb*~60Z3´îWÔö6ÝGÿÎÞ#ËåEhy-¯]@IÒú×ý/?Ésk6cÄÉ"ÂÔ¢E¾½Ö÷^ âý7yú_~2º7Ïßã}×cWe ë_¢hQ'ÑO<ä{Ã;7±÷éA1Ò½pq#euOäZrÝ{ß4 ü¼Ëã·ý¼ýë¹_}þÇÌ8éôiçß Â¥5´wíÚçßïßô"åÍí¿ ´R¬þʹùgWxnù.KÏdzYj©÷W¯Ñ½ÛñììëàÞ;þUÛJIc1£Ý»ÜÆí÷®X±âÉßfù¿q Or\¿ó_z±®òTßqçå"àD)ý½G ó¬Utµ
+²kyæÛÿIå+X°êÃfÉ%;ÐMbhßSX%ÕT¶Í$ P¤öm#1:Ô¯WQ9s>K0´a
+é¼GÏ+Ï*b5ûnÒÉZÙÎý;~qíþìøý» [¼UNÙýÞ}89«¨ò¦6â
ÓJkç.!2yÖöÈÆèJ¬âª`EÑBE>°ÔÈ0¾DʨÕÁÈ+ÏñÖ?C¬\))çÜOÆx8X¼,¹=¤lêY°¼$éþnJ¨jë bÆÌBÝ¡Æë'Ñw¼ÇSÒÜNqE%kW?HïÈÅF«¼Ú¹'ì}ç7|)¿ß?ì+2ùö`qìOʲ¼R$k*¨è$:0Æ |fö®cûLd1(<ªOºy§/%ÛÌÆUDÈ20ÉR~Æ?°hYkGzû^x3Ê°Ì°A´:¼Á[xñÿMËüYù4¢{
+û¶ìD#¤jþ9´v¥å16ÿò'4Ì?¹\EvßKìxb5ã)UK®fÞéËÆ#ä¼ÈÖ#É }/³Þýi/<V}Ï?JË
¯#IÜfÓú~æÝô ªÕ¶þúAtëÅÏè`ßã¤&8åºkéyú>ömÞ+Âyâ³.¤|î"~t5^.Cf¸QU¬G¾ýÃÿµ²ïðá
+@<xg®ëÜ·Ýéµ×/Íâ:_ʯ%£å4¼O@åØõË;±fsòM¦¦.ÎèßãÑÞIí*`ïÎ^V|òK4u´áîþÛ÷¦0Nmañû?ËÆæ¬~ô®oáÛYö=û« ]ªn¢áýQêN¼´p<fE-3®ú-Íe¾ðömßFóùï£saé¿æå'6`6±`ÅÂCƸçá»ò8ñí ¾±±õ?âñ»~FugMí-tßÿ5ì¦ëY~ó%ÄC6;¾ûÜäÔÞʺÇ~ÅÙ¹{ß·ð]çàdÆË)*ñ:ª^EÓï²ã®oRÕ"Zȳ/$<MbÈñMïz«ñN¸â*Âé
+ôìÒ¬yê)Ê:0Üwò3óísæ?xóÍ7ß»õ_s0 t<qßðêܹ_ÈϵÐÓjÔ
+¯8ÆPIY¿+ ÜýôÑÊÈögHì p[èOe(¯?
Î^zºm
+7vÒyÆßn¸y·þÿíipT×Ç·_¿V¿^¥îV mhfÇF{ƶ `رSÁÁÁöx*³MÉL
+É,rb×$J%kLÖJc^Àa 1 ,v!«µ µº%õëí½7´°$q3¾Uýé½¾ï¼{Î=ïÞ{þçOúM4ü«!wùeª[!{®g,¨¢Ù½Ì[PdÔò»QN´9\d sÎ#|^FÎe¼]n!n¡?Ư´eùÇOÓÞZ(Ý´öþPOÄ/qzà½s1Àc5aOvÕ*ú¿»ÎT~ò)üKtM®<Róèëh¤u+#ÖÑ(±0l:òEZ}ôÑo*òX¿¢°íÑ_fúÿ]ëþT»B?YYYW°J$>xQ³£¹Vápر¤®¦r½±¾fB½ôt¢õT/¾°åº²º=¬üÛmôû:;x¤éÙ§Mof!,`À¸,a¨@ÄPA3³2Ω¸Ë
ÐÁ,.*4&Q`u\êö-v׻˨ktÅ!0xìnR
+É^ú0²«p cjh
+Äñâò¥¦!çäð@ÏèôàÁµÑ+W¾´Kç3V¯'Uñxéíí%%%¯×ûudÉÃíô ®¦²úî"}u´ÕµãVÐ;Þ` ÛEéÃn7|û¿ùÕ³»`Ú $@»ÊÚTi.¡®I½dçúP{Oj8]yÞ(ÏÃåô¡Ï¹Êµq§)DÞymd»íÈ&AA¶®.?Vs¾}/Ñÿ(«r|W £:ÜCWÝqâ9÷&èÛ·¯?ôÌXmø£íX³ï@.erè¿=M$&BDÊXÅm<ôËWE^7 x²±6ø\rñwÒçg;æeÌì°Û
+ÃàìÙ³TTTàr¹þ|'â»ÖÐr²æ=?Áf©ä¯ÖÌIFëwÑïÁæT@!ÿ§fIfãÔ«¿ÂsåGÏüÆú{èÙû~7ñsX¼Åø/«,y(ªºæº&Z^ý)v
È@#¡ìSÏ-Zÿ Çÿç0McmX3øöþ
+YÙé.êwýOF"¡¥ædz^hfèíéùäV0Pûý=;y_Óüû,ûȺf"iLö7Ðvâ$
+çG@!»ü`Q&ýþM¾üeû³Á+«bsxãüÀļðíSÙ¼À0rfÃ0¤¦¦^D2¡cîì2¾Kúpd`S$¢¡²¯¢{7îÁQÃab2$UîJ×Å*! M&`/^Û>9eø(mC'ÅéÆ;µR^=2Äê/"wy¾¹^ÐýÖéø
+J±ÏÍÃn·D=¥ÌÿëâãÃdX²J±'??L2fà[v?å· L&vѱ ì%°½£Å¢~ñf«´L±E+É¿«Ó
â¶"LfÜsM:v_iEK
+ÃuuD#*dÅæÏùæÎ=ôøÇþ^QsW£Ë«NìUUÕ¤iÚ¢ãÇO|OÓK²aXVÊËËQ[BNÄû¿÷<+)½wýM%](b÷îÝáٿÙ,|üñÇ?+Ër½¢(WõQ¼j:EQtI¶ !Z
+cj¥ª*MMM·~@7Ñy`QOÞM%Ûèèè%Ê7t]3LkÖ¬Ù&ËrãÕ*ÿ=À´Ä=Ï¡ía´ÓÉqªªrúôiB¡Ðc¦Ìæ¯^Cz~ÁM#V ¦¦p(<åÓ
+h_}×ÝÛóóó)òB²×ÛAUU{ÿÛù4+++#=ýÖå×?[Gg'ûöîÅÐ)
+]×h_µjÕ¶
îRå=»ÙkFª=¬kooߦëzÉÌ ¿y9hô
+Ú©S§¨vè0I¦ÖÕwݵ½²¢âÕk¡ükj ÓF ÜuæÌí¦-B¤LEG
+2³²(/+û@³AÛ¿?--ͳ
5ÉdLåúêûª·ååçRå"®9½aMÓ*9ò/ªª®$É>ã N'eee¸ÝPÐþ±644Ħ¸|ª¬H$&Çá-[¶|MåF!Ä5
a]~'Ã0L@Þ£G B$³:SJÆÀ ¤¤¼¼¼4~Ë?|øðTnÅÔ ÅÆ2üþÍ7?t_é¿i
+à"CȬ««û| ?ð"û§ª`ø|é¼kÂÉÿ9rä===$ØD"¡âââmܸñ;BÀõzþugx3#íì»»{¾L&Ë)3T% ¯%:é IDATÅÅÅWzfè À6÷æÖìdسßõ'OR[[;á¾è{ß²xñ⪪ª^B¯§7âÏ0+ûãoÿó?
+n[±ØíðÎe'u93gÎ?ÛW2¦rèÙÏrÏ׿OäÜ.^ýÏY6H)n|UWo Íqå°õS/ïÀ;ÅUWÿ¾ºÆ¾m¢ú;
+ìf×;/ÇUº:º³¹å¾ÙÅB>¯æÓ=öM G½Þº¹!Àþéiý¯x«6ÔÉã)]×
@(æÄøý~
+çãõþi®i´×7p¡ìá|×YÖ~í¦Ê ÄÏ÷pî÷;iÂÝo¼bYsÆbw¾G³'ë©FGS{<ÛÈúmß#8:BSkÃ8R%¤çÏrÜd2uTÿ`ݺu?BÝ(GuC3;~µeÈØÓü`÷Á¯µ³îÈ¡ÁW"ª#§f1Q¾ÀÀ Y~h>@s3¦áÈYÌÒ-Of8öÍÏ291NÍ3£ðÃ¥S¬d.X1k×'ÓÑÆörúÄïkh ñå¸í*aG9%l"u¢æ×w2øÎ0Jæ*×n$§l> mßÀ_Bþíú=~CËáÃDÆâØæ-aáC$#Ó7|¤k×O8süêdOå¸ãSqò'ÅâüöþÒOÜÆ$fAz»º 3NÖ¬ÛEÂaúõc_|ö_w7O~é½
!DÛÝ«nµª-¾üû³n[¢ÚÄ =Çë«1zê_æµM$+ª)zð)òÓZ8øÒqLM_@¶Ú¸cóçI·^f¿zØð Ã#H®©³±úû±,z%ëïÇq¾®}5èéU¬Üüyæe&i~óu:Î`ì"cSHêþ]?¤ñÍF²V<BÕO¡´QûâBS×ÇjþSMã~ì3¬Úòê[/±W'eú;$³LöG¨?ÖÍP®Î<= ZRSEÙ¿|Ù-,Ò¶
+!Ún´òo¸¸ÄäÌÑ¿ü\ÍÇ?÷ÔÑÖvãþ×,«%¦éëë%j¼ik7ߪª¸óK1Ié¥[01à7_Þ8=#M̼
«YòáMÓOÒpg¤R¸²T®¦#kV׬cÇ/ÓÊÐÏ_!ÔqJ×\´Ø¢©á4ÖEb^Õ¤Ú-¤ùÍ4ýè¹ßKݾc=þ<Ù¥ÈΪÏm¥?i£s<LsDÂÒÒI"8N":Iók?G ºAܪ(§Ë*ôÄ¿µbÝûpù¾&÷=ùüÖÄÏo0ã%å¼Ü°sçÃqɲYx/È-åþVÚ[Ónõ^¶@7¾´T&D
+ñøÔ)i>îùÊ·°¦´Â$#ÛXÝÃVYÂmÀxLÇ0Ëø=6 9³yzÙN+ÞN4:L`çw ¼¹c¶-Éȹ C(ºAßX%nt-AkG7=Qº{j ØL!R$ÙJîû²ÐO£áæ×~Iý¹Q!¾{¿7+7Ev§"«.û~å÷þÌÔY÷½t³#7~§¡EÍ@;ío½FFÎÃ0b²óÛWvãÒ7)§4û]ú¿ð³¦i p[ä 1.;0ûA8(h%+îdÊÉóA\yóLÄ5ví;ÀääH[tã/ðOè4é#Å·-Þñ±lØx>ÆMÒnªôÞ{[búsÍ?÷o:
+ãÁ'GÕ¾5FÒi0 É0Ðt2¬Ù÷Æk8l
+>¯×Çã!55õ×LËÊt0Ò íhV1tt7c#©^z£GÁ,ZÚÉ,Bqhßÿ"öÔ~û}HVQ§¶ß%Q9)R@íqBéÕø
+aHºpº<o¤{Ó_Äa4¿Ã¤â¦Ë¿)ó»ENyÕÚÔTëÛѦu2V°Ñn·?ðymú=?÷0gvÛDèíí¥·§gÚó8ì&û; 'hiiÁf³aÍZHÚ²M¿ýoÿp[f)Åë&£ÐÍàà Ãã¢}Æß:ÁؼëÝËD4VåÒÔ°ÙVã©3¯ÄHÅ?zÛÜcéi¿ZîÔw~üZÇ¢ÑuxNÿ|sVU¸ej=tu«æ¼\«EE¬{_ùõ(ûq56O-i¥c\ÊY¤ë¦a2Ë´$ÄÐ
+&É4¼ÚqôMþ9¤c £'5t-9Ý·@HaÄ
+ÝèM#ÛaqÖÜ÷éG£fY!·Â¸ÞÅ>ô9£F£÷Çb±±X¬RUÕlÀaL×F ©NXÍÁÅÁ©©ë$Æè8V##ôÂײcBQ¾k£5%¥VQÝÕÕÕç"^ÖfèWo¥ö¢ÚËtôQLÿä&¥ÉD²4©%óÉdf2ôjæÒ´¤MÓô]×ÍSÿ3À@7&ZÝo
yùËn§g¦HfsÀ,I]f³ùÙl®[»ví 1³¾¿Ñ¹Ýþõáýá¬Óþ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_results.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_results.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_results.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,111 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ #³] IDATxÚíyTŹ÷¿uz==û>Ì0°Ê"q!¨Qs
+¢Ä]DÔñ¢Qs£Æ¼ÑDQïÍõ&7×hkLL¢bÜ
+.0ì Ê"0ûÂì{÷éîÓ§êý£ûôô0 Ï|úÓ=§Ï©ª®çWO=ÏSO=%8É008
+{±"N+bD°,+þRÆ_J)R @
@ i¦áp8â/Ëe¿"ÀN`°!ö^¦ëzèXíCq1\39À-ËÊ1MS7#¦ G0#&JJ 1X) RDÿU}×cïÑkìuÝ~Ün7n¯¯Ç#u]7Ng°X
+¼Tëº.O `h_\ ÌÃyápØe&3²¦°¯ÆFûàLß$õ®p»Ý躤¤$3))©)&^Öèº^} éIÀà:`N8. ÃP(Ô'¾mæÚ#;ÆL{$Û"ÜétÆ>kh#.æ
ñ2¤ñ©"D0Mp8iq
+A"ð¦DrJª¼;&>ÖuÝ ÆøTà\`eYçB¡äP(Ô7oéöÿ¦%ÎÕ8N4M6I)
B! aD"ýJ§ÓEjj*ééé½ç]àÀ
+]×»O `pÆ»Ë;LÓ<3
+9Âáð^kO×J)\.7··ÇÓé<¢í
+
Bøü½½øýþA%ÝæääT233¬µÀãÀKº®' ЧØ]<¿
+
4Ó4:r¦{Üx<!áJeÑÓÓCOO7==½ `HÐEø|>²³³eZZÚfàAàÍ£0£ÌøÓ¦9':#È "Õ¡ix¼^<cX+U¦iÒÙÙEgg¡PhË|äääDÒÒÒÄQb~!pg$¹9
+eÃáAçS§Ó7Æøcº»»ikk£·§7j©ÄEYT*¤¦¥ßîóù~ü®ëõÇ5 Ãp³
+Ø
+
x·Û×ëÅårq<ß痢¥
®®®>I`¹äåæY
?ÞÖu=|ÜÀ0àÓ4ÿÕ0[«8âu]?n?z{{inn¦««k/Ð{½^
+{ÒÓÓÿX¬ëzÇq Ã0Qwíqn86/öãt]Çívóy ÎÎN÷401)Ð×¹¹¹5jðm¢nfuÌ ¦è]D~s¬H¤?óQè^]×ù<Rcc#õõõ{IB_âQÅ-ÉÉÉ·ÿ8
+¢8ÌO~ï4Ã3éN§Ï7ìµúÃ.!uµutvuÆ\Ò¶µ 8é¤B¹¹¹ÿ<¤ëzï1 Ã0²ÿ ó£^ßÐu¯×Ë ê/
+jjjöÒ
+Fa?Ü©ëzë°@Ç=#j+~ïvé*¡i}3B"@ Û,6C$ü/ãK´
+Tì5X e_PÑ_"lßQÂ5
êûW ZôY"V¯µMFë^××>ï½hûÔö&T-/¡Y¾{û!dhji#õÉÉ>9"/û9
#n3fϰ@GKè
+?Ë3-©úúKË .·MeI¬5Rø°½gBbBC Q±wp ±ç4
+
^Ã1W¾@S °âP¨XRY 4PBXR!ÕbÖâ½3ú¿(d? D?öÁ§$`)ë-v¿Emu=-míàMNò©1cǬõºÝ×eæÖ; ´6×Jý5aIËéè³ë]Nî>·ë0»ë#np0Br²/ö
+tuõ"Q, j1¸ÜÎD ñ ûa2báïé$5#Ç{øV(-O8Ðp;*Vïg
+Âh2ÆBAÀ0ph<½]íø|I-ö´#
+8Ó%Á`îÅ©Lzzýø|>\¨é+Uî^üFººÌ°%%æ 55±cNzÏçs_S\1|
+¬µ±b¤2åßÓ¹»¼=
+{ÈÏÍA*Ë-p8JI¤´P2ê QÂBI°¤ÅªëXµv
+ùÙ9¼µ|9SOJ!ÅÿüW¯XÅ?¾Kumééäf¦±$BYq1c)ËR8°P(¶~¸
×ÞZΩ3¦EG°¼ñæ[üý
P^QÃU¥Ô÷ºZR JaJÍ(-*¥eE;_)¤P`Y´ ÅsϽHSs+cÇæ¿~þN*Gjr
+Ò BKX±éEhoæÏ[Ê´S&£ EsÕþó±ÿ¡dü82ÓÒHª·n`ñü¯~u.;o/[IKG']"#U§«³«0Íçyß¾µôgÿõÄ!¯,òÚ=¹Áî¿}¸õíFÔ×L$äçÝ¥oðqe)éÙ\{ý5l^·uïmÃçè!»d7~õt¾üïUvàÔ\ÈM££«ò
+Âá0H¡ñõðAÙG¬^³ÛþõzV¼ñ"ïl©"Éãåâk®%ßâ/yîH¬±§só¥gòê[+hni¥¢¦¢IãÇqÉŲõÃ
+,[·
ð¿LfýÛ¯óÎGµ$y<\qÍu¤k~}öEüVìüë¥_ä{?|ï}û[üéoÏqÁÏ!¢ á½ïSÛØÎUkû³øó§7b>êTn¹ê,ТRc÷û¥¤/©"D=¼ôúrºÂZt(£¥Þþ Z®eÒ±è
+hI^^&RJÁ ÛË+¿èîØõënùÙÕÏþî{Í¿CZN»òê+3ùëËhí ~©©+Àô/L#'ËG0dPUQÁwQ2n,ÝmMlzïcÌH¬¼Î<÷_h¬ÜÂÖVlÞÅÍ߸ér±¤EØ#%C!Bá0¡°¡"¤aö®n^z{%&àsÁwÖàHU¸¢Lp3NûE#ÉÎJ'
+2̶Ovóø¿áÕÒ}ñy´µuòò²L0C±üÝ5F
£Æ1®0#d PBA¤´&e1%'Á§ë6c:¥#G3®($`ð6îê&ß?à祿?OÁÉgìÅèí¡³½
ç_zSÏü2 =½~\ºdƬi¤û"¬ßø1fØÄééébÕή/Ýðõ³þP±k[æQÀïý+ßÑ9åÍujáÐÛ §»úZÜK*yùäç¤
+ÓÇíNøÜPßÜJwgg\c©DÑÙS¥
+MEU@${ IéiÀåÒ=¦¢/Ë_y#æa¦I$,B¢4¤ñãÆrÃ5sÉv+[º$y(Kʨâ\ÜnÅcÇ2"ÍŲW_E<[1CZ̺±
' ¿ÑÓ-uR #³YñúkV$j(°¤M`)*Zz¨Ú¾
?Àm£7¤©3ĶÍk (ûpÁ?ÃMvV=ÇíD*
è¡ ««y.Â|¬¢r³ï b×6Ñî½gÒsn:i¬æÑ=UHuE%-¤¦&_TÌfBG{n=
üLRSSÈÉÊÀ§{KJJ
+~å\6®ZæÌ$7+]wSS Aà$ÝG^n
+pé:W^>îfBRcô¨\.ÙÎÎÚF¦=MFçfê󰧳%5ôô²³3ÉÎÍ9úòÊËe\@WG+aådtÑH.72ÔFy}#ÓÏ
ÙgÂÇ;W÷IFJÅÓÆRYÛ¦y.vUïaÚ³ÐZL+è·Cã_~ùW|qãÆrê¦Æ×^ËÕÏ¥xT!S§N"-+îê]|°µË.½Ñ'át:_jFo@«¨¨¾Ë}Ï]Ûı*vm8Bs¤t-A ²Õn$Â!Ñè§YÊÓ§ÏRJÈè4aÅôx··ûbuû¤ëè*fÄÌ:ûûD»>V¿µF(
+¡E}öwPn¬cDI'B &$RiQ±²µ½Ú`·1z_LyTÖ]¼²¾
WW¾ìg£ÒNCÆû$Vgܶ¶¯·×Ïö 1ÜÜì@qqþU^˳tĸÉê° ðíííZ
+¹ AFª{\8NQ(Î=1Àv×,ìi¦´¸CDÑçõÑT)¢o
+°§x±ç~/bN>¯èûÕíS¢(¢a¡)±òìzâ¿cÀï>£Úû]VªêN³ßs±JûõI´½úhkkcÇ1gV´q%cO3îL/©ü°À0¤H$ò¿ß?»/ÔIá=áÚ=âTSSCyùî~ár§rÊÛYYYWL²vÌw wÁ¯Ø+y(pÅ7NÐ¥Q£F?"¾E)ؽ»ü+ÀÝ1^
+¹øEÃ0îX°ýûC#))é7M4äø^în±}ûö{/) ÃÈÃ
Cáôø².
+ÏwG&N¯Q(êêjÓëë3#s(%ÀÂP0tzbEº®ñXü´7¥¦¦2~ÜøØT}UVV, 1Î÷ZÒrØaÍ.óļ?ôâQdggÇl
ßïwlÛ¶í^Ã0Æ2 LÓ¼?ØëÓ
+Ðõ¢¸Ñøñãí51PPSSSÐÒÒrÿ!À0áPø꾶
+ÝëýÜq
+GJJJ¢¤¤¤ß¤êêê«
+Ãù
+
1#¦×f¾¦9>·Ç3l3½¥¹Ù[SSóÈga³Âáð¹J)aom:ÁüáO¶ QWWw®a³öuÿ Àþô§®ÓO?ýåÌÌlÕÒ2¾%ú
+oª¨¨íBº SRRÞlhh¸ì?ü¡y@ hjj¶uëÖ;ªX(:;;O à!Ã0¨¯oÀÖÜ|á뮽îô¼¼¼Þ»!¯rÀ=S¦ì¶ýÌn·ôôô={ÑÆïÅ@ Jáîéî¾G)µHù4`D8¾41ÿÇïXTÇh666]
+øT
+
¾ÓGÿÚ³÷Ì3Ïijm }öÙL2eÈÊ_µj[·nÿ?oÞ¼å³Q(âü#Ó§OgÖ¬YÃ
+ YYYääæÒÜÔÖÒ¾<ºO J
BògQÍÿsÎA×u~õ«_1{öløÙ÷ßÙ³gï÷g};w2{ölÁ wÜqÇ!µ×årQVVÆ/¼¿öárî¹ç4zt|;RºúúJ©ôýII¡Phù;#êò-..fĸÝnÆ°¾ÿýï£ë:óæÍã¼óÎãþûï¯CH)Y°`¿øÅ/ؼy3>ø >øà>ëèî¡RSSñûýÜwß}ñé>ø O?ý47n$%%
}ôQæÏÏÒ¥KIMMåÖ[oåúë¯çsÎ!##P('rÇ<öØcqÿý÷óÈ#ÐÐÐÀ~ðòóóéííeúôéÜzëG¤?
+
+HNJ¢§§æƦ À$`Ý Àï÷ß(¥ôØ£ßë=ºv8æ.àâ/ænà¾ûîãW^áå_fÑ¢E,Z´)S¦0iÒ$¾ùÍo³_æ¼üòËÌ7¤¤$~ö³qß}÷ÑÓÓâEظq#¿þõ¯yꩧ8ÿüóY´h_~9Á`õë×Ç [·ÒÞÞ¾WÙ'Nä;î ##Gú_-[Fww7-â¦n:¤)ç³*[mÛ¶Ý8è JÃç÷%eRGÝñ#¥¤¦¦={öPQQÁÂ
9í´ÓøùÏÎêÕ«Y½z5?þ8½½½ÓûÎpçw²lÙ2^{í5©¬¬$³víZ.¾øb&NÈSO=E[[«W¯æÉ'¤¼¼]× Ñ(ã0ívÌ7K.¹Õ«Wóúë¯ó¿üåöaQQQ¿mç+¥Ò ÃáðHùn÷ÑOÈäõzyë·X²d ååå,Y²ÖÖV{ì1ÊËË)//')) ËEqq1999|ç;ßáÚk¯MHÿº7|òÉÜ~ûíÜqÇüö·¿¥ªªòòrþyÃàw¿ûëÖ£¼¼@ @FFï¾û.óçÏçᦱ±1no²zõê8GÉÈ#¹÷Þ{?>[¶láøåååÔÕÕyDûÐçó7"?Þ---#É{9zzzëíí½Ç@ZZÚQ1ÿì¬à³GÃeY}ù{c×øu;è@²,!¦ÅO,Ïét¢Â²¬>E)¦oD"ø&V;ӨݶÄØíHûjÛᤪª*6nÜÿ'Oþ¯©S§~7®*¥´¯ÄX £¶ÞÈаi_éÓ$Vâ÷LøbÐ`½öií?ÒTPPÐ/ç@ggçWRBÚ½Pdf±éÒíq$'èÐÉív\ïèè(â fYV\x¬æåjª®®æÁÅÞ7oË~ÛWlFt{¹ÖÐb[ã5úoýü>¯¸iñï´
+¡Paàv:9ï¼óêêêNª±/ÏEá²;(õöörÚ©§qÍ5×Ä;û@;]C#B$Áf|" Ëñp"þ¾?hìïë·Ë9êîîfżóÎ;466¹ÞÛôÞ¹ÀgLi9-^Çm¾CRNcý#(K!tî×D)gÑ̲ßmÚR `%@Ä¥¡aaų°â@KS"ÀRSSñx<®î.=Ó J)GKKóx;så`Ïýhæ^vïm8àY¹ò^&MgÍ°LµÅÿ`ÓCâNöçÄçm hÖôJ(»íñÃ1,eWJ94`iFì=F'Fÿàd33Úé£xÍëw `ÞUóxhñCöÌOÔ-2R xåWødÇ'H$e[Êxôߣk9õ
+õÜó{¨¯åÚë®å¡Åñú¯³íãm¼ñúq %NEñý~0ÊÙÛÛ;]*åôåé=Aý P8qba%ì]üÞDƬY³¸÷»÷òðâ5jÏ<óSNÂäÉyîùçÈÍÍeÎ
sxñÅäú믧°°0θÒU¥$%'1aâ>,ûêªjBÁ{öðî²w£¼Q9ÀèQ£4eõõõlÚ°3gÆ%¤¥§ESß`!-åøäO¦k¦iNF©xÒæ`ßsÿ^Þ³}ÜkõËW°xñb®¸ò
+jëjxöoÏâÕ£Óìé3Ð=:n©'Oí7ø$#`äKB¡X²d #hjjâÝÒwѽ:]]]8]N~ýįyàX²d @Ï^íOOKïK'ptttLÖ¤´ÆÚ.aÇQðR+RÀEû³E¼DrîÏå`ÊÔ)lX¿K.¹»v²ðÆ
¼·ñ=Ê+Ëuö,ºzºØSß?à)§Â®»\5ï*ðûýÌ9¯×ß麟£-l¡²ªôôtü~?L2-D[°R±Á®1Ö)¥,²/:Oþýkÿ±Ï>}ÉÉ÷ÆïÊí{ñ{¼/sfÏsÃ
+7°iã&~ø2ã3øÓþÄigƳÎä×ßÀíu3íiýêÎËËcÎEshimaÚ´iL6üü|ÆËرcÉËÏc¤ tuu±¢tßü·oRW[ÇÅ_LfVf\üGÄ-ø WDccãp8< 999AQ8A[·n¥´´k®¹¦Y7
èÐIM¢b7й3X]ÎÀ{Gx¢ii_·MÌÄûïøÖ·(7y#U<ªLÒÊ°cÿNìøÙ¿h¯Æ Ûþ·i `?ÙÖ>%=ý$jöÌN,ËT¯ÇpÞgF̧*Ù^9=ÁGß@ÝUkhikÙËUûù
+)©)ýêÀÑÏ}lvàèçñÛ;8Ñ0XöåyL¬k¢bï!%bFR)¯w tvX"+Ë}DG~â(W(Þøç6ô»ï
+ vå
+&§Nzí¬ë×G¡ÈÎÉfÒIý¼5µ5àt8ÙR¶
E#ÉÌÌìÇ0 »§p8LVVÕÕÕ*Â!TTUpÒèúIÌ·Û8]ÑäH$âu¢¤Û>ßn¸ ªÊ ¾>ÈO~R
+xã¸oo£ÓÏ+Ì÷¾7âb/'ä;, ±$§
+¸o[ÂD3zþùÙ?sÕW6Ãøýþ8ÓSÙúñVòòòp8l)ÛBSsS\i´äïõóþÁ
^HMM
+Ë/Çãõpõ¼«Ù¾};ÍÍÍqÆ{òSU¿ÏÑÌ×Ѽ
åvJ©v:w;ØáhaX¬\ÙÅ_ÿÚÄ[oéìÙãÆ)ò¤7ßì 7·.òsõÕy|ùËéø|! ݵb?¹µÅymu-«×¬æîoßM{{;ï¼óÁ@ï|÷;<÷ÜsuöY¸Ýn&L ×ß»È^»f-ÆM 7'ÅóÀðäOÒÞÖÎÜæ²xñbÎ8ãO]J\+H RJÓ`éÒ~ö³v-Ë ´z0$ÑÜO?
+O?ÝÂ9çTpï½)\|qþM)rûòÚÏ÷åóøîw¿À/¾@°¥l¦1yêäø3Vì/Q£·u[´u
+Ôôµ-~m"¶yT D1¯Àþbèýñµ±/T,[6ÈRsX¹r\âDüú×C¶(÷7]ØÏ
+i!iI6mØĵkHÖ]ǵâLH"D3g;wídwÅnîýþ½<ú2æ¤1äæåòú?n\xã>k»¯®@ÆÍÔèo%**+Â(\((UtDÂêêÌ÷![¶¤
+g²ÖÊ·{S§v²dÉ4.ÊyëÖ¬(]Áükæ÷ÓÈøÅÓVQ?ÆB! wýðGäÈN¥0#Wi&~¿Ë
썣
+¯×Kjr*íí%HÉHÙËÞ7#&´ðº½ôzIö%#¢9èIú^ÈÀeä`½ûî»Y8¼ü<RÓRM'
+¢Á RÊ#À|+¯leãÆcâûðêðáðÞ?Àe5óÊ+¹uð¡î×éÿíîo*ûé Bôªu¹\ý6ØfggÇG|FzÆ^k v¹.§.d_rü{_o¿£_.k©d,U/©A[ü'FÂÚ´©+®hfãÆ#ÀüDòQVVÄÅ7±iS'ó#)±S÷2±þs'BMÌÄëÙïû
+XÏ`íì7Ų±Çþ !ü(90úpØðgQ
RS9Äc
+>³4øè£bN?ýCöìÑÉÏÿô°7ËÅÛï¼MYYÙ^Ê×`1{öwÎÁÿOôP¯íKéü4àÚ×Ú;Ú)YH4åæw
+èJ-Dg§ÉùçW Ôô£ìabzá
»yûíQääìß¡4~üxþþ·¿³téÒxÚ= ZÈ~Þ5;¹ó>Gkß)VQgHH4½{±¤Ñ±ØRH4©ÅMºÄúítåBDµü±
+
+
+WÛû:BV;Ì4Í!ïòÖÖ0sæÔ±yóaãQ,++áüó+yëO§ &D¤~YÆ£¥8TT¢ÏëgUű£èì£â¢YÅûÖ4¡Ewò
+gb\üÛÇÌŸÆÐwß¾%p8LWw·úßêêí$asè¾ýömlÞ\Äp£>Êä[¶ñê«3ö{Óád /T]]MvffTXhZ½T*¥¤R
+ø¿ÿ«åÍ7²aW¤ñî»|²ÏuvvÚE¥¦i¦i»R
+L3<¤¦àoÛßò°íÃÌSOõ|no&ÝÝÝöþKËåríÒ[R]2Ieë×w²cG.0£TVæ²reûç mmmq%AJi9-ÚÈ#·[q* <þx;þSºº2ùå/[? hiiç\zé6MaiVikarE7vñæ:±4Ãܼýv*k׶÷ hnn6åñx*
FT,ZÀ `ËN::RééIgÓ¦ã_hllgbü×| aIDAT
+q:eØ.9!Äz)e b<
+<òH 8rzøÉOãùíííÑ|
+¤%Ã.{} g¥Ò°§Ä\}K~ÚÛ-ødúÃLIy¹ÿ¸@}}}ü¨3bYÙ+ã (,,Ü©9õö4té`é¯ÝCoïÈcÐDÅÓO×· ¨'òx<õ̾`gâ 4M¬U±!½½½°0¤8²+}CEÇïég¡PÚÚÚX$RgQßq|YΡ9ÞRmßqw÷ÞGÓ+R*¤Ü_ôÐçwk*~ßp¢ªªªx"HÐív¿¹·JJJÞRJµK+ÚÕÕ/`ùò
+ ^ziÿþï«yøáøýûrËã±JAiiõ ßV#¥âãxè¡å¼øâ6^xaû°jyy9öôDZ®»îº·ö¢÷·«ÖvtAAOO¦iòÔS #<ûl3gdêÔ|ø|®AF lÚÔ}8
Pðªªbï5±}½6á>û»Ä{ï^ûànL³?
+Ãä?þc
+¹V¬¨"0ùÏÿ\ÇÈiLZÀÆ
+\vÙðY<êíí¥¦¦&.×
+!z×·4>×ÚêÚnáÊËÛ¹è¢ñlÙÒLFªª6¾õÓ,\=úpfq]X²_@vìÝ~e
+øøÿÀ{ûß?j£ÿëîãriÌ[Âoìì÷Ýë¯ïbîÜ\.#¡¸üò ¸ÝÃgÍ®]»úÃñÜ>'ì??Sÿnv¶^#¥¢¶®ööv|>/
+
+½¤§»ù裯¾º}P=@ÈÎ> p É ¯¤ï×^ìþÏgeyдþ p¹4LÓ¢¡¡ÂÂhLÞÖÍ´·),L¢¾>*5ºº¼ÿ~=}ÔD[Ûðñ)ìر#.þ¥57ÝtÓ»ûÑØw§§'½fZ²d+@Jxî¹mÜrËé,_^ÁìÙcéé1÷£è_:@f¦Îܹ%<÷ÜÇÜ~û <ôÐJÞ¿ÛoÉóÏÌE°m[3sæà÷[ÃãhÊÊJ:;;ãª®ë¯ !ºû{@ÐöíÛ§cµCÓÒPäxêö¡þt÷Ý7á½
+88pô£<ôÐÄ㼯½ö555¶)Ø}öÂ
?Þ¯Í6qâÄíNc_ÚÝÝóCÇâêZËq%¹öìÙCMmm\üë^ïªn¸aû§íB˲¬_*©Âvâèæææ®ø{ß+!=½ëë0§ÿøø ýú°¬ÌÞý%p(þ¥Â: ¯Í3Jâ={ḳ³ó¥Ó)>] ÇÒsÓ§k8â¸ýåñã~㽻ôÝvBTòçJ*Ó>oÆÎ týõÞÍ~¬Éõ×?ù6oÞ??XZiIëçÛ/ N=õÔM¼o«û]]û=#.¼0cgNÍÎnâÒKóæWTTP]]Ëú¯Ãé|ÿ®;ïúǾî߯ã^ñ¨%¥a/#644P#¼ÜtF,ÒlÁÂ
0zôñq.rô`Û×ãÑýÝ¿_ Ì1ã§Ó¹Ò>E,аgÏ5äƳ(.nöVPÐÆÍ7gÌß¼y3ñÍ!º®¯¼í¶Û^ùÌ ÿÏ4ÍV[
+ÔÕÖPÜà¸qI´Ã9È"@nn#&%óÌïèè`ݺuñ=F Ð*üöܧàÔSOÝâö¸ÿ$ÄÊâÎ
O£'(¡¨èãa<ú?áÉ'KÑ¿fÍè²¥)e$%5õOß¼ý[ §~áÔÅJªí±òéèì`ÏL3f¤±`A*Ð8»¬«®Ò9óØ?»¬¬êêj{|"¥Ü~Ûm·->g BnËõcËtÛJUUUoàÁÇsË-Æ03CÜxcþôØýÍÍͬ^µ*¾6º}>ßúü ±©àUÛý¬JÚQCúÏçàñÇY¸°0A\{m-¿ùM!ÉÉÎc ¥¥¥ñ`O)¥LNN~ößøÆ«úüA¹¾RúºuëV §ÛËÍÍ¥¤äÀFRRÒ:ã4:ZNºþ_Äã9öC×-[ƶmÛâNÚxÇw+8àõèê!¡¼Õ4ÍbóMSSuuuô¼ß?jðQùW\QN pæqÁü>ømÛ¶ÅCÁ·ó guöB߶,iØI¦«ªª¢öçÐÓOÄ׿^ì9ÝÕÄõüýïã÷îݬY³¦/Îß4
+MÓ¾ý»ïþà`ËúLCáKgé·ÛõG)e$65°}ûö~¤û"KðÄÅ|÷»]nâðzäçoâ®»:ùýïp¹ýßÐÐKYuÎI)#ÉÉɼç{ù,å}æå/¥wݺu/D"R
+ËÅ´iÓHJ:°ûuë:øþ÷«©ªÊ¢¶6¡ÛN °°1c:xøáBÎ=7û¸ùmmm¼üòKüÆr»Ýÿ¼í¶Ûæ !G ¶iӦ׳ MÅ6mÚA=¿cG/ÿû¿íüùÏ={²OiAòóÛY°Àâæ³9ùädêììäW_¡»«ËöõK!ĺ
~5ý0y|Ë-E¯Ó a`Ê)$'Ê˶òÛßùä®®,àÓN0é$-
1cüÛ¿ù8ûìL&L8¾vù´µµñúoÐÝÕÛ߯TòÃÂÂ\}õÕ´mH" Ö[7>¾L°uËÅ)SúeÇ<êîðÄ ªEE
A$b1~|JÂuÉ·y|w×ÐÐÀ?ÿùf\ì£ÀRòääKo¾ùæZþ
À¬X±beY/m L2
ÜÜÜ!©ÃDÏíÞ½¥Ku½E>KÊN§óò;î¸ã¡¨cH»råÊ%HäE¥Ô{: ())¡¸¸tpv~tÇÎîR¨]n÷ß¼ýöÝCUÏ¥
+6úýþ¤g(Ðìa;¢ 'O>ÁÙ >±ÀN%ã½y×íúú¡¬ë°Ó@ ¾qãÆ¿
B¡ó
N[¤¤¤0iÒ$ÒÒÒNpyjnn¦´´4
ì½®ëï.X°`AZZZçP×yØfS¥oÕêÕüþk
&ôx.]&L`ôèÑ'8@eee¬^½eà¢f$bd¤§ÿõ¦nºCqX<fURJi¥¥¥·ü8\4{Í¥ÈÎÎaâÄ m*oÔÑÑÁ5k¢ëù1I©"
+u¥¥¥ÝwË-·üFqØöÛ}zùòe3#ëweMe©§0?~üAm=;hóæÍñ0®xg¥p8¹]®[n¹å
+»
+GÌ RJy^ýµ§¶mÛ~µi>/²5NIIÁëõ~.ßÞÞNmm- ïè¹iÓ§?Ç·¾u«âDÐiÚyçw^yòÉ'?ârºÆ #1¥JZZ#F %%å¸d|kk+|òI4__¸WRYfĬØñÉ'÷¿òòË/r·UaÙ+W®üIwwÏ|ËÞ¯3"??Ñ£Gy\0¾±±>úÊÊʾßû¡`°3+;û¹¯}ík÷éº~ÄwÕ5aÚ¦¾ÔÝÛ³8h_BxHÐÑÉÏ?6wíTUU±}ûvêêêúxH$JNN^ùÀ%\²J×õ£Xá¨;U
+ÃÐV¯^µ
+ßÇ#ý ¾$EEE9ò Vùý~vïÞÍÎ;ãÉ/¥ø|¾º®ÿdþüù;Z6 H¤¥K.
+w
¡ÉB½=ÝRKAAùùù¸ÝÃc(
+Q]]CUUeßÒLIiy¼Þm>ï7ÞxãK»eÃ0¥¥Ë/3Ã;üÿLMÓb§;áqnn.yyyäääqïbGG
+
+
+ÔÕÕÅc"÷¬Â²¬`rrò·Ûýø5×\ó²®ëÃjßü°]W3ý~ýúé¿ÿö¿¶rñ(XBƾhX<^¬¬L²²²ÈÈÈ ==}ÈNA5MöövZÛZiin¡©© ÀO¢ws"k{ÒÒÒÞNIIùÍܹsËt]Ç~>&V
+ÃÈ]µjÕWFp~wO÷á8¿&^
"ÉDJJ
+ÉÉÉ$%%áóùðz½x<\.W Hp8L(Â0~?½½~º{ºéêꢻ'¾Dý$>â£s»)lOOKÿÀçó=w饾®ëú°ß{L¬!üU«W]4s
+#8Ó0Y¦éBG¢èýFéÀy:!ëÉqiÛ¡1MÃÔ¦{½|¾¤7¾úÕ¹oº®«c¥OéÐ
+Ã0Ü;vìÑÔÔtv(
+
N6£Ð²,·Â!¥¢¿Q©}3s Ó¼+)¥%¥²4ëº^ïñx·z<îu
#W2}úÃU¼÷ Ø(|7oÑÛÛ;-
+D"ÑeDÌ,Ë©ñYôH)J)-Æe)Mip8Ý£Íápìq:UngwJrò_5ë]×ÇSý Ò&éö IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_trend.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_trend.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/en_US_hudson_widget_test_trend.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,162 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ -"*!jf IDATxÚì½{]Åu'ú«ª½Ï«ß§[Ýz¿Ð!01àG`Ø'×&¾ÎÜ\â?nâ;dùæÞ;rÏöØ8Á± ÆØØÆ<$@R·îV«êîÓÝç¹÷®Z÷½ÏÞUu6`cÇçû [}öÙ§vÕªUkýÖoÅð+ô:~ü £VVÑV"l ¢UZL
+yµ(G49 q @
+ @
+ 29ÆØ4Q 'Ã0¶¿½½e³\°ÙÿU3öË<ø©É!·Rõ¶È@^+®Ä&©Tµ#0)Ï þL b (z?ü;P]EJ±9G°qpþªà|W*ÞÑÙÙz`Áåþ¯àçô?îï?öÑ%KVÜ¢H]^©ÔzFÏIËäZз ;ZH$¬ÂåePáâ@P¨ÖjGw¾g'ÆÐÓ»
ZÓ£c±,^´éT
+PpB¡)R5ÎùYG=ó/Zpo÷µ_ÀüúÉ¿Ó5ë»·-_±òã^¹xå¾æÞ}ÕHg2+ÌâÕ#ýX»f5ö`ýMHÁÃðøºòÝX´ ýG0]®á¢ïÀàÀQ¬^¹/¼´Ö¯ÅÏâÒ/Á}ÛÄþñÿ¶\j
+g§ðØ;pݵïFK¶ÇN!I¡»³cãhiïÀÂ=82pYÈu. at gS<5üüÌ|åÔý¿ÿ¿ýáÌÛ}nùÛu`óÿýwö
/ü÷<¿g÷¿O{G¤¯ÍÍ®OeR9Ç`<^à£\©`` e?@.ëà¡Ààð ¾}ßC(WxzçnÃÔLÂÔÔ4v=¿µZ
+ ³«#r((d2/]±±3Xµb1ô´ãݻб /ï{så
+`vnÃÃCð0tê$OÊU\ߢ¯IÅ<÷ÜSÿúÒ»Þ32ø
+ûµ ¼Î×ÉãÄ}ßúÚ'V-[¹{ɲe?vöñÖ¶Þ4'LOÀD@*pNÒÇôôY¬[Ù
ýÇAÕ*|½y8°hÉ"¸µ9è?,GNAÉ DB6RRÖ %A¨ RBàyX³d¼ùiLfPòÊȵdP«UÐÍ`ªç¡V@¤z½ª÷ñBaþÇCgv?ûÌ8yüx»Í÷Ûf@{÷ìÈýÛoÿt&½§»wÁ hIggÞéhÏ!í
+x
+X´d!2® ªÈ´µ¢µ%--Y¬\µ½]9Ô+.ÙjÍÃE[.DOw².AeÚqé%°rék6\ÅK¡£
+zóèÊeíÈ#rÃAÙ\K.Ëe±xQ/Ö¬]ß«bÍÚuX±´RI¬Z¾àè[²AµÖv´·¶ÂM§À'PjIàË¥ßÿÃ?ü¤üüç>{èïþá¾-Ç_¸j:}ú<õ)It)Z·Èjç@Êá`L1 ĦÀ¢Ç èô Å@reø¾"1§@àÄ¡
+¯'½ûÉÅ>/¹bsóE£*¼¥
+¤Ò©/,]ºøkK\ þÍ
+Àäää5J©mRÊ ]®ð§ã8Èd2H§Ó¿.ÖÜܦ¦¦P/"³.GTN§÷»®{ç-[vþJ¥Ò=??ÿå nàêNDH¥RÈd2p]÷Wl)JÄììl1?ßkÙ¾aÃ?Îf³S¿ÒP©TD±Tü¤ä_Ñâf;>ÍþÊ,¼ý*Àìì,l¡Bf³Ùÿ¸~ýúod³Yù+' J¥µ8?ÿ@ʸÖÃ#Í"Jáß«P(`ìÌÊr6E¥Ëå¹ðÂ?Í% R©°R©tònRj)éB6E6Å¿Å×ØØN>
+[º®;Édnß°aÃãÙl~i Zü¿ò}ÿ´¥îs¹ø·üªT+Aa¶iAJYêèèø¦M>ÿV
+{?[,ïàw & YÁÙlL¿~Ú`hhȶ
+d6½ïïxÇíÙl¶òK# ¥RiQ¹TúTêRû¬Ïårpç×+ÞÔH,apð$J¥Rx
+ç-;xá
ÞÔÞÞ~æm/ 333AðC¥ÔZõK§ÐÚÒúëU~¯ãÇcbbÂ0S©Ô@GGÇo^tÑEÇ߶077·5ð©åILkiA.ûõÊÃkdd'O4DÇqÚÛÛoÙ²eËþ· ÌÏÏ_åùþ¤T_vÚÛÚi¼_ôkrr ä8!ÆóùüG6oÞüìÛF |â7múQ¥Réˤ3¨zUpÆÑÞÖb¹|W3
´µ¶!jÕÚ;ÚQ. ³«Åb\pd3YfèêêÂìÌ,ZZ[ B¥RAGgfffÐÙÙR©Á2Ùf³èÌw¢P( %×PTÑÖÙÂt(Ë \.ÙÂ,ºò](
+Èår``(Ëhïlo¸¾%׺ò]C6P*ÐÕÙ
éitut¡\)kÉav&Ï\alsKÅøúÎöNT«U*@[kffÂûÏÎÎ"É@Ò| ](L >|µZ
+©T
+ÕJ¹Öܸ+ܾ÷º÷îÿ
ÀÙ³g/8yòäËW,_. !RhkkC*çyH§Ó¨Õjp]D)%ܯæ!J!pàyRé¼_È ¼v=pq½ã: 2pÓÖý#×Sã8``à§^J§à{~è²2 ðø©T
+ j~=c¾ï×K)¡HÁuÜ×¼¾þL©T
+sssxõÕWáy ¨_7ÔÝÝ}ýÅ_|ü& RÊE³³³;×.Yº ç¯Ë¿+ûð%H¹_>ï æKì=>§@q`` (pp(ØËð=Ç "à!©
+õ&à{5L:À«Å¡pÜ%k.ºö.;ós "Êf;e /Á¥KÀCGGÇëvó¾óì0NOUÁ@Ȧl\ÚÅù1(ÒjyÉcÄ,²ðwsë$Póлú{É2$wbàð¥ÂÁSLUµo/0Å߯¬ñÓ¯´Q
+ @2Uÿn¿Êäñ´ÙÜɼ]´á;oÞPù¹ ±Âìì¿Ê øÆÒ%KÐÙÙùº9÷íÂèLÉ Â%®/¦<¬úÂ+0èZ}·ð(öO ,º×îÅâTÅßji¢UÿL"ÌÓúëAÿ¬AP0ú^]g2ú=|"ªÍ£<qL#¾*p'÷íÅïÎ×3bÈÏgñçææþ*Døl{{û9EñB·v84%XGYj5
+¡-w^"í©ZUçG{ÇIàºNö9
ÅwOÄ#I¢ªMÝÄbÅ¢çSÐ0M´8$&õ+Áf`nA¦{e¬@Ò+ýNiìè_ý°·\ ææænð<ïFá2ÎÙÕ£s¯]LÅûb
L±@4ª1²ö)´C@×ТÀ¢¿«x¡Í10cÙqìðx11 4L4FXÿiÏÁýôÃG?¾D®©Î% \¸£46pÃ[* DÔ*¥¼1ÖR*Ó¤ó9F ;W7 l½@Úþâñëjçn¨[f
+(M4tAàM¦5ìÖúI®ïq/!CB:¦Aq©H«À/,«¥~% Î
Àj_§µ'Iba¼Ey»·=ÜßúÀìܬþréììlè8mmm vî B6L¼£-ÓÎäúßëör¢àM8Ei,w2ñ¤-¶yÇ#Ò8ieØ õ]KÊWÈv?h"£âoO¬ÿDë@{Þº¥¢4MÃã%×½<Ei¦oéüÈÁom{¸_¼éðü³Ï}rÿþý7JE¼òê«8~â8Z[ß(¶¯ïp2}2
+*¶¶[ýu'
+ñÑXº*U¯áU$¾.D<>f8¤¡~aT] ÛñöÁÄâT`'®,/
[O¢[;hø-Ó½ÂÕâó§_ýäë]×%)¾ïw÷Ü'èlkkàÇÃÅ_#GàСCX±|N
+£gFQ.à8N:R¹Ù9C1}ǧàKÀ<@j5MG %¤@1Àó<0F|J
Báy#xµ¤TA ïù` ü d¸s=¯ï!P
+Ò÷Æà{> B ²²|ÏcW
+óÁàùá=ª^Aà!$À8<ÏXø¹º~ CÍ«àRV¼çy ÏóRP¤xñU
À Cày þRAu2 ðýÚe7~ê¿|ãû¾ò3]Ã×å°|9Í,.ÎJ¥1rzm
+6`¾0Îttëêê?ïÎ :;;Íq- at 6× CÄ{Çq8\
EÎ
+p/d9à$²N¼w꧱ëªRÀMv-û¬ã&êÜ
+5#å°ÙJu`Áq ¬~§t¬MÆå&8
~Òq2ѨÓñ¡ç8"zn7>
éu£b3ÒuPÄ*r,E1(Ã+ÍDÏÅÕñc_ðÑ7|<yò·®Y³6nDKk6lØÞ; Å[Ý]ÓÄJ7,Ú§øÌL¬me|Rij.'5ñßÉpßìïd;JÚÆãg2Í[n~6èeâug9±ôlÐÈv/KVüêÜÿéK\óxG{Ç6¸Ùl]]hiiÁ
^hwÙyàIÿi M2ºGÎbYwͼeÉiJÚ´Ù×êË"Êpõ»6ºqе.vÊ2é(!ÊÌsá m¬Js+IsdE*l~IË Ì·mÛÃýü¼`vvöS¶R¬´´´¼)º"B@l/¾OÑðØÂO,wÒkiÖy*±&&i~
+E1ãNæn¬¿Ï,GÞïCÀ%HÓk.'=¥ÅÌÀJ!@6¿"]à VÚZ>ô©ó "ÊI)ï à *Ð{s?Æ(±ui'K+kÚtÌ°naó×xD[ÌlõnHÐǦµ-}f *
+j&M at LË0kã1µD¯5"ùB¶{i,cNP+ݱí᣹sB¡p{ åÚú¥R)¤3ÍÑ>Fì<4 ©äÏvû#+ÔC1öntøÅnÌ\Sé
+¤¿\L®H°éBGXBxÃñëHaFÈÜá0pBýÙ Xºµ©\g8CD¾·vfðÀíç$ D$Rw2Sä_þ4J×ù A¤_a1jgvdKìÊëY°°Òö×T¯®1¯Êåó'ZDc6(SØÈ°tÌ3yÅ6Ô^¤ÝCÇX×0QÍ Ê0q¸,Äý zçkCM`¦0ó1)Uóóóèïïc»wïÆ< R=»÷ 8_|ÃG Ó&OªeÀ^Ó0'ÇA21¬Áf0øpj¹±Û! ¥b0@Wçõq©øÙfN,4y6®Y!xrÃTÖAe>kGº;6´W[5uò¥½. "¦¤úɤËåðÂ/`×®]xç;ßÓ£§ñÊáWð£ÿè
+ @@ºÚ¬Ûá!Ò0;2/hA¦©m¦Ùþ:pÌ£ýE±¿À
+]H`¥l¡©~¦Yû¦KhÂú>áÚSÁI@ìÈÆ"2ÃÖh°iXülÉ1íZx(D¾ÿm÷³ ÍÏÏ_Á4q022lݺwýnüÞÇ~Ë.ÇÑ£ #G ë×ÇøØ8zûz1=3´F6ÅÔäúöalbùÎ< @©TLw¢\ íºð ,[ áºð}ÃCdL*¸®ßà¸)È
+Î Î9üÀGÚÍ xà\KG8®ãBªq* 'ßÀE¸ ôá¸)¾Ç H(8ÜAxpÝ4<ß+°ZÂñxáç"ã"ðjpRi~
+p@ ý n*é{`R¡rÁQó=¤Ü4ß(a*ðá¸NH%sÒðHB*W8ð ×Òg×çÌHA) %2ÙTfÏBZynËÙS¯ðôO ß÷ÿ¥Aùùy%dÓÙÓïÎcûöí¸øÒc$pvn1Ú§#ÝÝÝ £õש³%d£ì ´à±ÇP¹äouA]sE:VùÂqÁÀX5§¢Ýå:"&[Åf¦9%ÒSÈC.! Wغp"0ä
+¸ÈÆ»:å¦ @p²¶C-ãd3á=E&¹Þq
+4Q?®rÑx"|6iã àD 1RÊ!ù%ðK\ÇI+¿úG¶ 0KýwMLL!¢Þ0)ÀÇP(àº.ÚÚÚP(ÐÚÚS¿vïÞ+®¸â%<¸û´aÙ#VäLcîf"±h"t[n<ÇIײÉ`Éi¨2=óx"ÃP$ɤQ7SëϦó«DY^i8îKO ´ Wý¹'ö"¨
YÈ`lbñæk7Üyóú¦6ÀÌÌÌmDÔ[\kkúúúÀ9G>G[[[ë¼¿ó ©ºZ¶lbFYÄ¢`IesCkÖ>Óp;2ÂÐÊ@ô8Ínçc7qËx
+bâu\³d&3xFJfÙ;ºÂµå'
+@âÚ³ÙÎ>Ô7³R²wòøþÛ^ÓTJ~¼ ÐëNÛ>/@éÀ 3\(Óó
a6ÁfTÞfïQÏÆu¬>
R#uØa[2À_ÌU
+ΤN+åMn8µ¦ËK)UiøYø
-×ÙkÌ¢ªo* Dye}ñS©ôëNÝVìÜëùÊ%
+BMh`0HÊx¼ië ]cP7[ 2ÿMæaJ¨G$m¡æ³øé¦ì©ED¢/Óȯ6E÷1üpÓHµõDåq¿V¹rÛÃéþ(
º¯?}[ÐyäøiH©êuì´³¹î©xyl´5 ªÔ1tOé^p¦x¼Ì ¥ê<?Óf¨/ÒFD1¤[9føb÷3xóp¨Ï2` ú8
ê(#G¶½'b@*7~lïG@)uK¼ãÎQ ÎGx,Æ/×ü}eL´)TéƵI
Å'²'Ð&Ö<\lMD±
+Ì=0ÑGn0
tëÆäéüC=Ψc
+Ðàj4^ûA
3ëè1ÐWø·@D®òrÒSé8çÄ×ïþ:
+3í?§z
+RJ|ïáïabr"uîGC> nÄé;k<2.aOçîE 1Å{\§êÇ3ì[²¸:ä¬,N³
+±´ìSKáp-¥[-ººW(APKfÒm]ñM¤_»|ÛÃGÝX æçç·H){êl:Å{åÊX»n-ßû<Ýù,:ááaÔü{ô±d1ù¹k@ÖÏ*iP$HÛ×Ò8ëS«4Ŭ£Ì¯Â gµXÛß!
+«ûµ¸É±=hË-YîRýÙ¸ñ´áÔô¢-É!´ÏÀ¸$÷AA!ÛÚÓȯÒ33z|Kyw-K×IçøûR_!ç«£ýý1xlàØk"g'±¨o&Æ'ÐÑÕ#ós.*ÕrìUÀ çRÊ0é3ðá
+$\×
ïWáºiA`»ð Çd .x}KáøAëÀdx½páûROJ8<dë*ÞCÊ Âq ¤¢~åù^ôÝaò&gAPë¦àá"P>8¸ðý*×ô%àOÑuA8FAÁÒ÷#Óà vÓ!òéðPmËEø·?ðápr#4Ô÷=¸I wüèþ<A(|Ò¹©k¼èDçÿÕÖ2c,ÎðÄÞÝ{ñ÷¼Õ
Uô÷÷£¯¯÷|ûüÆ
+¿pgçÏ ?<lÆàLl` Ç
+ýWòî äÖUY
+HÇ{+]GÍ'aºáÏ«aáºòqDâVºúXGÙÛwæè¾PC«ä:Ðn¬¢¤e¤ê¨fÉÂi¬Ü]'D<Ó"K©è^!"¥õïFH#æQhGT028=p3YÈäÊ
+®°;66v@*µa=äóùsRç{vïÁåW\~NyúI¼x¢`!XÌøi*Bcr%3¼eXñxføíü5¸ä<%AHO&)`°pAnØu4BcÕ½&UÞo£Ö4K8MAf
Ö'O@iz,|B'}dÅ;®ÝÂtH)ûÔ¨;wî<¼ I¤ÙãJsHtöL#WÎ4ÅHÌÛ°{
+6=³Ø4ÌpÃìÍ"d1LiÊTA÷ñuXÅMWÓm
+ÓQM0Nf¤¡ÛÍvÖRLç:âo¼JÀ:øôÌÌJÚë1úó©Öy>8@ ØUÐS5á:RÆ´5³j"&ìi9{&kîp® ýu¥e!©ÿc
+4OCñfÅ+`<9¬ípÃ$7!-¤iiO8£@ûøñý+¹rkèyþ@²s§
3
+vMÜn%¹rm×dç2koëÄ+Õ Jú ÐXi8EÇ2À+?X÷ã¹Æ(à1ô£§é¼FÕ³¡l3©¤:èâN¶5 &ßÛÊRê%8ç?&"l2bfÉÔ%Í
+ä[çÏÂí(³ÎRÞpzRÃ@ñ4ïßL#3Á&n?«p¥åH^íPÌÌ@Ò4k 2O±
+l;A"Ê%TDPÒßÀgg«ÆÇÆQ©Tprpð¼ó\A®lÕË5&MÆL¢{Ê2u_8¡¡ ÛLÁÎ5`ÆÎ`ç
+&ÆÒD[üÙìJ¾24"¬qm.`uî¡P´×ÇìfZP§p«øè3=£G6¨ÿ ÜõÕ»088»îº_üâQ«Õðõo~'N°Ôù¹¨ÄmÝ5`aðáÝè!²!FiF³Pe±:¥ÛDÓÌÜ!¦º\dÖЧ$ñ\(N
+5Qa¼Ië¢x÷KÜ
QâL{b[4ÉD )H¥ó%ä
#B
+pò¤±Pmmmøào~{wïÅÉ'qÝõ×áôéÓèéêÁ;Þ)¡¡ ÒNðBæ¿Y at +×t³¢Í*©ØÐëð¼§tLVÙn¡ä)ÃJ`
+Á[}a¸ç3ó*'0¬I.ÙØèôT&&ä í¹Lë7¬oHà{ö9ÜzÛxßÞøâ?à÷>ú{H¥Rðý°çÑÑÃGqlàÖ_±±1ôõõazf®ë¢%׳gÑ·°ããèêìB(Ê(jµ
+×qH`!ßÎ y )eÌK9)R1sÀà¸.)ár°R».¿î¤Àe °]àq)8.BaMI¤5ßã8!§ÃüÀGÊ ï/"ä-'
+
+BH_ÜÀ «@\7ä(:%$(âVà¸!Bé𨠮pB´ÏqBm©Üqø^ÈC<pxp"¤ÑuRP¤Â*bÃ>RNµ Î8wáù>8çµZ»ã¸Ns£ýý` nºé¦xý_9ø
+úõãÈá#<9ùX¼d1¾÷ýïáú® ¬ß¸
ùÂÏDuá"^-A6cNÄÝ( i!0«KO0DôÒNâ³;N
+8ru5KnÈsE&Ü7ú. GJGöBVd"æÕ¾2EÌ
+C@Án¨´Æïõ¿ IDAT{9¢*òDÝ»óþ !X4e3¸"Á]h_qL8"Bû X¬'êóçÔù òµþl©l6&·2Îs)®TÊP¤00pÌw^öN¼ó²w ¶lÙÿý;îxÃ^$eyµªið
ØoÌ*èIXvâhb5ìºw¡âBQ8Y²âv"}¼Ô½G9Yü$óø⯰¨4£Y%ðàÒÑÓQ+J;®ë:]´ÂôÌyv:=v¬ xbI
Ò))
+×ò2+áDY§+ÓHIk%³(7fÕA2<fùÍd4&Ø£[>ܨªºa ¾ÌÆõ)ÓÐÈ°!¥Çó|Þ¬ àk®9¯õ?ôpX.¥,:HÓXâÑ´¹æ$Æé@}ñxìosCdtg2}µ£ë#ÓA^e<YÇÌ4k¦ÅÌDS=îß,o¡Y±I2XÌ0
pã2
¨ô%ª*¼©¥è&#[Á
+ƳèdùÏ0¨WhHδ
5ÉÖ±8f°øN-
+ÄNfѼVSC]2è/¶BMgbSÑÁ*f®ô4èªR(Æ6mÚÔà¾uÁ /ÉÊշ˦±×dÛ| ÂÒÂ8dÅXHVH»ÇcËLÏ´«ÂÙµ¹AîhLkÎÖÍ$Ç6 Yðy8) $ULû)ÅÛÛÚÞÞ^8y·ÝvÛy '~ÇFâïÈ7àA
+JN죍
+UxY,
+LãÏõ]&í*hÖ4£Ä¼I®YcYK£H%=&§º)þ nÁ¬ G£
+¦dàÇ À>77WAÍ7c÷ÞÝÆãàïþáïðòË/ã±'Ã]ÿxJ¥þþïþ|Cá`«WÒGÆ"SkÓ=ÉRJCay¶ÉZºÝ¯Åf
+KÄ]©!E1=5¤½5å5Ûae½P¶5cmL¬@µDg1^sÒétùôèhûé3£
+¹hÑ"Üòá[pèÕC
£££Ø¸i#}þY\tÑE¨Õjª¤ R1Îyü·z{"T
+¤áÒÕ"
+Á o·þ0ºËT/µÎ¬êÐжø$& 0V¯ a¥,}ÒlhQ8Ê°]X6ÈyôÓÈ'º½ ã²³ÉóJKµÄ%À`Ô!QKJðk¸
+
+ç(;Ùlvî²Ë.[¨6õ×ÜÜ^zé%ÜvÛmø§ü'ø2äÅU«UdÜ6>::3gP.1uv
+ùî<æçæ!\l:éÂ4zº{055
ööv2@¹RA¥âÁ÷¢LW%ÃedTáA¼$fûÊ!S ç!º&ÜGçð0~¨Ttß ¤"
+&çAòÿ Î9¯3%¸Ã¢´5pNøì<¤I&úRB
+ÂÔ;Á¡"^¡`^ r)Á
R
+D
+Ný¾ÂÄÃ#ÍS>\'Ìæ2É)tád2DbkB8á÷
+¹hAÄôe ÆZµ>§à Âî72®Ã»õ×éÓ§qâÄ 8x [/ÙÁSX²d vìÜ뮽 °jÕ*M¡-ÎlooïQçÖßCÁÔà02éPeN$ïNJÄ%1×76îøNÊÑÔrÝç©T¸S"~!">aXðÊ÷§QØ41?3Q.)Ôó'Êúgô
+ÆY½na*1½Ò//-p×Ö]1 âýq ún 1̤3ánNl9"!ÅÝøs¢=>¦J¥ÒG1$úH¿áØuSÓÓD<ß3`óæÍؼysüïK/½ ðüëD<¼ F
+.ÉPF¥®ÆJû!Giµ»TN óïôL_ÃP2Ánd$dRF&®MÔ«ØÏÖü:À¡øð@Lì`ÖxáÞÚÉð+ó`ȸå³õâ^Íÿ¹á JªÓñmÀ
ôÊð¡
a"±èlMrûS\Y+=H« W&ÓS1±i6Õ4· ©^ÒÉ-BKÝÆ7k!3«÷Nu£&x2ÊZ¹ó1v¤îø¾¥Ô[ï ÙAG5¸|ª¡T3ü
7$V%N7ròM×MYfeM<ÂDmðÉFVuR²²øÆÎ'ºÄ,ò
+wè&nóëLJ ¯RÉ#\p±d¬V«ç¾qîBCÁ Y;à½GF=7½ZF¨°¦Äóª¢ç
+6+ò£¬·ê¢©§4ëÂÁÆz2+áN²&ÐT}T³qÍ E$7½/\´pæêÃ?8¿ÎCÌrz¶ ÝLzM£¦0«æ3ÑS¯YP-Þ°î2-MÜ;ÃRI?Óµ'Ë>ðTC£²Cà8kpQeVNe~&RsË7]1ÈÌ:3^÷
++Ê[~öÚsôÌQ¦ ¢5ñ:nT`ña
+YÀÜ*¾¬¬
a a]½cQcÝA+2HP
+N4 Üâ¢vF%?õÙ$ìªjBe~
+,ªú꦳ã f9cÌB¼z²& §NáKÿóK ¿ø¿À¿øEfø«¿þ+<»ëÙ7tÄ1IÍÊÖÑ«æ8õk6¿¨ãQ5k µxÌj:Å
+v 5a
+èLÂg¢Ò(ÉhôRM·³2J
©-Üô«wÞ¼ÞwBDï"¢[°À÷C 'Áå+ ðæùî<-<¯¾êj<xW]}&'&19=J¥b±ÖÖVTÊp#å¦P*ÐÚÚVËe!¥Dµæ!P
+Aàq!S (éEà
+qEJPÊçNÄ('%Á8)Sñà *0Æ ¦¢÷
+2$ðÁá,f,Î( ÎH)p¦ Es*àNÀ¢¿I8ÜTã C4q%ÃÑzÍ΢qsòÁ±°ln8nv#RPÜãá3¹JS qyp©ðÙó³¨UËQgE;»b1ÍîPJÕêÇ@©TjØ°ýóÏâèÑ£H§ÒF®53BpÎãÖ§õsÆ÷ºvmã±
+Õ:cáÄÕÕ'caÚ*K,\Æf×%üwÐL#Ejq
+¢¿óxÖ*sîÅîÆ
+5.¢_ý;bcY÷¨\Ì&wêc`Ѹr÷âè#«)²zBA§ð3àá³ÚVÿ¡Tµ#(%k]=;(=|ÁfffÎJ)Å"º»»188£ïa¼ë]ïÂÒeKñòñÞ÷¾7ÖùÎ<ÒétV®WÉd£ZZÊy6G wBD_èÖ<2h¡©É(§Æ©#_I
2³:/aërÕÍP¹¨^î6®ùQÐÄIк:ue
+;<ö"yqD'nr6×ój¸pâ£JðHð¸ÐøqeÄPHH^ï"¢ç@D¿s7B+íØ
+y3ë(¥,&â,É]¸zóX cþ±ãÇöA°EH)±råJÜyç [n«àæo~Ã@ãAçcM2dA&£v^bVÔ®4Â"mÑTÜàû¤'ÕÐoTCf®g̺òúa6Æë{
Ä¡jf:S1z&?ÀÜô¸v°Îîùó7øjàñQâåÎÍͽµ eÃÀÞØL¿FtCN¾¯YþI5ôýÕYzf
+77p¥qíÎcõoU×osuïkß[,A³7âæì2{zCÂÙÔÃú¡Õ+ïeÃæÙÙÙ·Zfý==;Æ´£ ¡0{]Á'¯S·x¹CÁì ÚØ6®>=RÃ#M
+d¶FPa;©×5]^X¸¤ÍF #½MÂÖ° s½¸UJ
ÉÓ ÆP^sÉõ÷6 c¬rSÏ×ÕÄüü|Ctð5Õùy6 âd¶hÑÀ8ìZfcGnÄÈÑPG\Ü"ÅÓsyÅôÜC2:j¨D aVG§ÓÅ ±+H£,Ö"UM 4½ÅnÂQª%Ì<t¦õù;o^W5¿¾(Â÷ ëë°ðÌÌz{{æb¾2EÿÓCMPvfp÷chôEg1EÊþÞíÛÌû%ìD®»¬!kj fOQ³mcPÊÔOdPÅÆÁ'Bf9v5/X¶Lc5 3
+Í,Ç,Z[8¯ÓãÃFÂIgïÑgÍU«VÝèС¿ÐK LMM¡
+Ùlµj
+³
Y£Xô| ÈÙU$9Yx»*³Êð¨6oP§õ
VW³"',º¥- ÐDV,[.²P at jÂÀGÜ^[g¸.u9×ÊÜ°övÔPÜhÌõãÆuÌ ³©&4²$=sæ¤Þ_xbí%×ݦ\êðI§ÓOP$LNÅ]wÝ ¸ÿûñ¥/ Sg§ðÕ¯|O<ùDÃ2ME³&)ØÌ(`3ûôL;ÃξaM½Öï²ýIÛPZ/XM¤ÅEªÉ"¹B·»k
+bUCÜ°YÛ8Ýå±Ø$Ã:iÍ&GP+cÃ+ÓÒþÄ7¯yM
+úðÙ¯J¥0ÆÒímHG%c
+³t´u`zjï¼ì82pÀpìØ1æHµt xpTHÅb!3E*âÊÉC"*U;$C"¡l¹#$)(YQ·ÕáåË näó2Ë·I?¬:¦üP8G-ðrRPx4õ*Lè¬Sª¤¯-DÉ¡µ¨$2iÐà8nTó0¬.æ^Ü*=0Â8µ(´~}H ¸àqS Àx
ápÁ¡`æ z¾ÎgcpÂdR7º¿"ÂÄð ü L
+|¯Ömû½Þ
+°lÙÒÅâüW»,Ô</xsB®5Sç°pÁB a1ÉÜ¡2àHóÀxaà.À).BÄNÝþME
+2pÃN`êèMPÕ´``LD´/\g"GÁ FHóLòݱÎQæ,:DïEÏÂC'
+#Ã#Ò«ÎGÑ7Æâéø^õÂx6D@cÇá&ÊÂþáë:æiP´¹8x|cÆÓ¡Lsba¥ñ#äÚó.¸èª?S cÔßßÿ÷µZí_*
+zzz011÷½ÿ}8;uK/Á
/ÄÆM#´Êçaw"aù²è¬dÑ9ÌÂ',w9ÓHM¤Zg·ðiäÖ°.-Vÿ \Ei½»£û
ÎÌKÁ¢#%¶½%üj§ÏãgRIJJêÆ´´:´Ý+é².j}\±ÓÇT,°,þ,²bhE×ëÏ69ÜEÉáà¦Òç-ë²8Æq×®]ûí:ÙÚÚM6¡P(
+m¾1\qÅhokobí3-«µZ3/vhHbiÇÚ¶]/MNv4tøH<;9Ó.°Ôåc7©åZÙÖ¤^¡¤z1«q'«ö±o$#«B¡XDab$ü"¸éÜÉ
+¿ÿÛMCùMýzƤr·¢û© h¥Òí®Æ® õzº\+¿n9bVðSwßúÝHÁ@ë Ý°4s»uèTäMÝÜTVµðÄôÆ]íÌAûYLf$iÒxfhJÅå®Ç')åfZ¶Ýyó:ùº Ö]{·ëºõ¸ýla3?5}ýwÍ¢Ìjª,4
+°¨ÉpÒ(fäR³¤¬jfÉÒlè$ôC
+M$X>@Ô¢açÚH P²`t7´÷0^ãÙì¶qdðÐ0¡·071Ù³£Qà¦s/û»_ÌóËÉX9É~AõAþzk(ÀÈ÷
+IPÊ^;¨kB~ÐK´&¸Å´A!f¤ 1% ,knÒò&ÝK5Ô+äM@ho½®aRÉ\5`zñJýÙFOJh3¤\kçî¸y}ù Ö¬]óµt&½¿N0(Ë=s¦ ¸Ï`Ö®gZ£3°ÁÐؼfÍÕ°;í¦ãýÐq0[»£V3z9i®óp(ÒÀ+ÒÁÅåj¬UIpfÀtÀ¹ù³éë¢1ho
3GP.ÎDYL®cÿÚKßûµJçû©?c*å¸w"l|ÂËû_F¹\Ö®Kä7¤YÚf~>êA3MDoÖB°ªï³`3Ó ÒÆB«&©Û&Ùå¡aí|fÑKÍTPfI\3ä8ÌÖ׬¡' ´iS3r-|¥¢Z¦J"SWKó83p f)©|7¹óÎ׫ó Ø°qãÎ\knû£GÉd1_,â]Ïà±Ç³4úDP]q7]É"cum°¹4ͬpnøõ»Ë&Gz̹vÂfe*¨¡5aõ5¢Íúëé(°BYvÒÉðÀ>£dKg÷ö»þúOvþ¬õu^OäîÂMþñÞ½{ß}äÈáÅnºù|§OFÌÍÏ!ÕÒxpTØ øAØf5ðòläÀ
!rå**p]ïE¬%½¸aDÊM
Rçûõû|;
+?¸a«Ö°u¬B¾¢Jz!ó)È ,?ç~Tr.¼ØV!å:ð
+ö$
+$!åÖïòQ&ú>ë@AÈÝca{ÛëBú×A =!D}}NIA¾S¾w8HÉaô=¸n*Ll<ÙÓ8Îè¯ûã׳¶¯K cS?zôGÿqrbò+lÚ=Ú?|wÅb6l@{ÿ!LÀ%ÔiH
'a(¢}QÔ!ÚN(óYw+sëÉ¡ÙYsü=j*â²r)7¤M9"ÕvâP:¢jÁÉÄJÞ0dêf
Ç wYV´ÄZÅqÃÁ8"7j¨k°ý,âÖ®qPTÊ¢òo®ÛCpbçÏA¤Zo1ÞPÂøÉQ]JI¿¥£û?þ_¿³eêuQú_oü~ýºõßx×UW=Íæ°iÓ&¬^µ'Nø h%W/üJZðiá3kÖjìÐØÄIYq´ÆF®f«(aÐ.©[zÒksÙ
+(õ?eµPVrÚÁ0B:¼!å5Ð%
+h¬>ôê ríùG6^þ¾o¼%9=DÔúâ/ö<oiAÜÛÛ¼Zd«#jpíX{3ºWc\nõà¬ÉLFpbV[5yu«±mÉv ·¼n$c4>jb¯èìehInñôûze/Î>T*ÙòÞ[6þùͯ;©çs¹ìíRÊRÚ5>>U]UÐ q4+.È4'e'tî5RFy(l³ê8°-oh6à ¦K -ALßúýè5öXc+.jꤪɨ0>x§£^ÛAA)ÓÚqû¹,þ9 lܸéñÎÎÎ/ûdiª:k0`ô,<²:âÆé¤ñêtkÊ0{eÛMì¤ú¨tøÚdÌ¢ÕÌBßý;ÌÕz!JÖ´²7&³Þ ×¹Y±¸ðs3ã#Ø,>ìèYü
uï¼îñs]Ïs ÆmÞ¼ùó¹\î¾ú1@¨ÙÓ ¯é¼!{U/HÆ´+ãTÆô7;ÌZùÊ QÈòóáñ4-4Ôbê8¼)ÑTGìÉÀ(**Ñ,ÁÒ·àÀÊ,N⥠8°+,ISïÞÚyßËãó~ózzË ._|ñí¹\îÅX
a_ÕÔ"5ì"®}Ó§±xìCGµlµFÑc
+fÝ\»¦ Ý@Ò<le>E(Õ«
¥[lÖK@Õ³[Åaç
+a&ÑPÑqÙHûÒÍçJq.Z|«}fZÚ_¼èݾýÎ7Ðù¬¥ó|1Æ*çÝôÒKûvÑÚp@þÌ ü
+'X¬[=(¼dæ4nxôë~Zè]ïþÆ[¢Ýʬ"dUäRFª½´õ¤megEµëi5V PZö¾Þú4Iq³K=b×µCQú²×¯¬çqlÿÓðj¸Ò§Î
+¬¿üî¼y}å¼×ñrü9rÁCϼò$),¯w¨æ"
+ѵÂÍÄ(674ï¼½'_ sH'
ñÐ59©¾8¸îJ̹- ÆP˶"`¼I¨¨N!UZ ¦±u«àå`ÈVæÁ ³- ¨ mýu"'ç·jPÁ¡ J sT2-ÑûBC¹
+äÀOñZqûwÂ+#w w¨cÁÒë¿ôÿÁªïû ¾úõÝøÞ¤R}»Î9Úòà¦2FhNáÏecÇÁÀy±`ô=)
©¾¨ò4S¦¥H[0e쨺`Å×F4À%¾ñS` õ@ #¾Î[ße*GqÅaþ)#_5ôBÊb¢g)
+ĵ˱xÑNHØ@¨ágðÊË/Á«UãÔ.î8ã]üþËçö¿Ñµ{S ^y嫦¦¦ ¬4özr~ýj|;v>ú(HQ\ÚÅM§ÆW,_ñ}èCϾß!Þ¬Á~ùË_þô§?ýx©TúÐÁ;A æçæðø,_ÇÁøø8@Àö·ãÙgE¹VÆå+ðüsÏcàØ xü 8®|öíÛ<ùäXºl)¤ØþàvüøÑ£æ×°lù2¼rèüè?Âò˱oß>,[¶Ïîz¾ïã;ßù/Z x`û/ÎãÇÀk.0²çççN§166³gÏbçÓ;ÑÝÝ
+"Âýß½K.E6ÂÐÂ?¢«³---xðÁ166§|
++WÄ+¯¼¶¶6Ü{ß½8qâÖ¯[ãÇã¾ûîÃÞ={ïÊ#Ïcûöí89x+W®ÄîçwÃó=xç{÷ß?N8©©)ajr
+óÅù¡Í]ôánºiïµnÎ)±W^yåþ»ÿùîë]×ýaàkËf!±1ìÙ»[¶l ;¥\¬]·O<þÞóî÷àÀÈçó¸í·o÷þå[Ø°a^Øóúõã+¯ÀN¥ÃFÂôô4ö¾°¿ùßÄÎ;±ç
=¸êª«°}ûv¤3i|æÏ>x ×¾çZ=¢¯¯ÃCèT*øþ#ßG>ÇÞ½{ñÍo~n/xJK-ŲeËP,±wï^ÌÎÍâÚw_Çx/Üjµìø nüÐð}ããã¸æÚk°cÇôöõâáFÿá~´¶·Âó<üäÉ ³³ÂøÁ~?ý?ÿCCC¸ñÃ7âGÁðð0¶lÙcÇ°oß>W ³³£#§Ã"mó¥ùßü[nySkú³·Bu}÷»ß]à{±K[[à H§Ó "lÙ²½½½BVC__:;;133÷ªÿ>[ÅØøÒ4/["©S§ÐÑÑT*
l6jµt:
+ÆÎ9eËa`` ã`ÕªUA{{;ËåP*°|ùr(©àùZZZïÄ®gváÿîR¢T*¡½½ÓÓa#,!FN@p¥KBJ¹¶ö6AJ¥¶¶6>}óóóèééAOOÅ"Î9åË£\.£««+þÞ¹Ù9øb±|çÁqD\ÆÖqÜ?øÁÞ´~ýú3oöZ·B ¾óï{{{¿ÕÕÕuAkkëÆR¹Ä+
+¦§§12<Ãã¹=ÏA8;~²W\qî¾ûnì~~72Ù~ð`Ë-øÛ¿ý[ÌÌÎ`õêÕxäGàùÞ#(Ìpøða,Z´?ñ8ýñ£xîèïÍV çIDATÙçÐßß+¯¼ÿøOÿïÆÎgvÂó<är9Ü{ï½xaïØ¿?V¯Z#Gà_þ׿àÿü
+ãÊ+¯ÄÝwß={ö`ÇÓ;ÐÑÑ%K`Û¶mxñ¥ñÕ»¾Ë.»nÙtßÿÁ÷1=3ÞÞ^<õÔSØñô<öøcèíëÅ£?~ëÖ®Ã7¿ùM<¿ûy\}ÕÕøÆ7¾EáîºCÃC¸ôKñõ»¿}ûöáçÁàÉA<ú裨V«ØûÂ83:|w·<uêÔw~û#¿ý[n¾pæX+ñV0{öì Ö¬YóÀ-[Ü={ö\ªJfgÃ<ÃZë×mÀ+ðâ/âÚ÷^ÙY|ä·?LÀ%_I·Þz+ÙùºººÐ×ÛnÄõðô§qÙåatt|ÿqÝu×azzëׯÇÔô®¿îz|øÃÆÑÃGÑÑÕµëÖâ/ÁMà>Ö¬Yâ|£gFñÏ|Ùlù®<f
+3ð<þô§!\.Z|>o¼OþäI¼zøUüçÿôqâØ ¬^½ß½ï»èÊwáßòßcdhéL?üÁqÍ5×`Ñ¢EX±|öíߧw<Ï}îsǹÿåý-Ì"tuuáôéÓ(Kèèì,]rÉÅÿïÇ>ú±ÿcã¦oY ×·´Qð¶mÛhË-g·.^¼x$J£¯¯®ë⩧Â?Ýø¡0ÆßÆ?ãqjð>ý©O1áÁa¼ôÒKðk>Þÿþ÷#Íâÿu&&&ð| ]]]X¼x1î»ÿ>lß¾7Ýv<#Ixé¥pϽ÷à¦oBO¾<ð R8~ì86¬ß¡¡!;yïØò(D±\DßÂ> ïùxaïX¹j%Ré0EîÊ+®ÄêU«qïwîÅM7ßL&Eá]W¼ýø1¼ûwcÍê5ðl«V®B&ÁÅ_ËWà¡ÇùòQVQ®Ïçáû>&'&ñ®w_5²víÚ[?ñ÷ùÕ¬¦·r¼Å¯ÎÎNðØüÉl,KßZ¸háA Ýá¡aÅðÈ0*å2NÄ÷¿÷}(RhkkÃ
+ï»ÇNÃsÏ?éÙilyǸ)ÀéÑÓÈæ²øoûß0=3Çð±ÃCÃxjÇSð}«VÂêU«Ñßßm·
+s
9\ré%(WÊxîçÀ8Cq¾?»ãÏ066ïïû`Ä°ùÂ͸æk0p| û_Þ³gÏâý7¼§ÏÆöíÛAÐïÁÕW_c8pð Î=K/½°oß>8v½½½ø¯ó_135Ç~ü¼ÀC¡P at WWö¿´£ã£ðý ù|ÙlÎ)>5ôû_üâùù»?§×Þ½{½nºé»ëÖ®iko»¬æÕÚÚÛÚJ¥Ïçá©T
+-ÆêVcÍ5Xл éLNÊÁÖwlÅ\@X±bîàòË/Ç+P*Ð×Û¥KbÝúuX±|ªå*:;;±iÃ&\pÁá½/
+_v9V®\jµ%K £³[·nÅÊ+17;`Ík°úÕèÉ÷
+L0\rÉ%¸dë%ÅX³&¼&Ï£½½s\zñ¥X½z5|ÏÇòåËá¦\\qÅX¾l9ÎAC&A[{@@ÚMañÅ£6núóË/¿ìsýìgk?¯uaø¼¨{×®]_¹sæ&QÅæ\´hV¯^ÝÐÀâõuæÌ8p ÇO3
+æ()ý¾
·ô£ýcÆØÔÏ{lì91;wZ«m+[8aE þsÁX±b-ZôK¹ðxõÕW1<<]È@)tvvîÏårwþîïþîÎ_ÔÙ/z*
+ß»wï§æææï¨U+k1^/g^ß%¹-[f ro×W©T±cÇÐßßB¡`,z¤áTKKË@>ÿÂ7Þøµl6«~ãeo«T*¹ç{îöJ¥rg¹\^)$fU?íëëÅâűpáB¤¢â¿èWVéSC<¡¡¡ú9gh3¡¥µõdkkë¶[n¹åîl6[~;½ÝvP¥R»víúXVûÌüüüÆXZúz{{Ñ×× ££ãç:Îbdd###h.°)e³³ó@6ýûßúßúv6o§ù~Û &lÿþý×ÌÎÎþÑÜüüo(){´üí Ò,º»óèîîFWW:;;ã"Voôåû>¦§§qvê,&'&1>>R¹Sê1z]ÝsÎ':;;èééùʵ×^»3ÍÒÛq߶` C×®]»n«V«/W*©röÇÂA C¯%׶¶6´¶¶¢¥¥¹\Lét®ëÆ<ÏCVC¥RA¹TB±XÂÜüÜÿ_ÝÙ³DqüiRÛ<-=Anâ BÁÅÁÛ[pô#ATD¨¸é$ÈJ+´Í5/÷Ò³wî&KÈúÿýxòBH (
+(¿Kèþ[ÖKÐç2. WAÜ#âe$×øõß³5Bn¦OÎëº>©ëjâÂìqyé]'ǯÅXÖzyº
+yQmº£ç=ÄÆØMÇWÈMÊÓ8z2läy~4Î&¼=å¼9¬ªj ÓC.
+]aøfúj?½z´*}ßÿ`.{vç.ÃÛ(±55C£X' lfY¶×4ͱhÅb_J¹+D»%¥H)<)«²µÖdFYY%,B8!¤¢ÒOJé;¥ôÕ¶íÆØãp8|ÂdàýöqE\WN IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_builds_history.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_builds_history.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_builds_history.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,159 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ câ IDATxÚì½g×q¯ýt÷ä¼y6g E"2@ sER(ÊV´$+Ø~}eI}õóuº-[J¤D#H$Aäì»scÏt÷y?Ìb,_b}Ýéî:çÔÔ©úW8o#:yr$#jB,ÃBÔÕQ&ù<Â&$BhTID"A!1C,õɲÔiµ)í2Ì._¾E¼]æLz+3ÍK©jÕ6Bl
+Ý(6°0#a !_1a DnÍϽ^pSa`Ì}_C!4à +ª(Ê´$sVåv»õ ÏãêÈ/ª
+½# ÿ4=3d¼¤z³0¸5J/ÍfÅm ÜaÜB
+apN¹wŹ· ÃÐI«l6ëË^wîÍÐcfY6vIQ*ó<F"uõÍwà¿f¦íÉdæ#â½!VQ8ÛÕ×ëÁ_R<¿(Ò¹Å5 @L,KȲ"ËYB$dLÈRÃÈ]«®i
+³uÛs|ü£w£iY´¬Ò9qB #']I !¼¸kOKsó¢G7®_}QqMêx4:ØaO]qôTïÇ
lº±¸¬ÚÛPS*wvv±»ÝÄâIj˨,- íc¡r*ÕãdÅ¥üä§ðíoý/¾þàÝM¹ÇÌý¿yPJÃ_µ;Þ}-.«SõFÃ;¶±»m·ÑþéSغ³³ÙÌ5i®+c ó½£³u)ÍsrN¥ì9p§Y1j&âÈ+}výêÅ?Û·{÷/åÿ˾çY~³1ôµoüïß>toRÍì|ÂWZõÁËóFåP8¦iX\6T£©q"ý}]n;Íú
+ËÄEcdÓY²ÙÙtl&KVM±ï!¦U¸ly3ý<ÕVIgÒ!~ñ7½ïÖ4#¤Ò*O>õ"®âJÔ±uë#£ÄY
+
+½XÍ
+EÓ²dµBXóäKæÍL~pltì Ùd9ø~÷Þ§|Ä÷ üúÁÏåìî:ýù%îu:?ÕlÖi2IÕlA`.H$㨱ù£Ã¤Ô8FVGQv;"å8IGLÇÂ@TÆÀPU³AJKË(pÛÏ%²tC`sÚpÚmsö 5HÇÃà 5ø±Ê°hi#õUÌôõpöl%¥
øò\ØmVÈYA`HÀ)ËÒjCÈ?Ç"{ÿæ_û|_Ï ç;0GþÏÿë¿þóÞºêBïä;lKÇ&'Ì)M£¦ºàø{´ X¸òLMMNÆ$ cn[ØX
KÉðó_ü 2<§r_>þ<=l^·§Ibxl`BÅì)Dd.§«6,å×÷=ÀÎCXe%®ZG4bhlÃæCÌqìdã4"̲Ûá ¨ÐËÔä,#=}>z¼Â¬;~Ééybbz©ÍlùÎàðä?ûÂÝ{üØó
+Ðß×.ñî&þ!_¦$ÀÐ
+tM %d$=ÀÀb±¡( f²ÈÍÔtÙ$a2ËdU¡<·k/Éd»ï¸5Æ@Æ0t,V3²,Q3] l3"÷@h´D-]Ãf·#
+UÍ"b±`4¡Îd
+]Ay73Î`%T=
D*A*¡Õ³ 4ÙÍhVíÙlúß%þ¼¬02Ü-I&¾câ&ÉmsÖuNñ*2ESP1§ªå¹÷HEHì9td2Íu×\$dÄܵÑr0÷·è4wIÒBADιïÌ}WÒsOÒüôIBó$$)7$ë¹'&M$æï+rð¡Çvû¶ê?iª²jxÛ
+@*Râø=º¦]Q-æs¯& »ÝÙlæíHñxééi"ÈEãB ËòÃáøû
þÜn·ëo;H¥REñxü>MÓ®,^Qìv;
?
+ÃLNLL%9R
+!0#ãr¹[¼xñ'ìvûÌÛB R©H$®Õuý{aTòüâ#°ÛìØívþirr±±±4Â0ÍCN§ó³,xá
+¤?ðâÛÄײÙì$ð¨{â(ü1S*btdp$|¦E}>ß,^¼øÛv»=ýT*eÇã÷kvH'Ȥdó(F^U6Ïyl$ر¹`á¡ÓT.n¦ßVcW^KÍò%¤Ã|ì×ÈLaÓûi¼¼îü³QÎS½¤Îm ák\âÍ9ó4¦¼åäUBvÞÇi¸â=èñ)º^xX8AÁ-4¬Y @bô½û÷V¡úÛðWzézñ!ÃܤÉnꮸâ3ý»¶2=4«j)ÍW_$e8±áíXhºêz¬VSgR¼ärdYúÚ`xx]×I%SH9è:ãóù[¾|ùGìv»öX§?Èϯçð¡Êh`ä
ðôÔµÙi2[LdaýÝDFÆÉÇðø+±y|(+ ½Ï=BÇÓOÄ>²U3ÐäVÞ~gþ/J×ï}Ù»
w¼ª¼9}z?YÃÅä¾'p®¸Å[®DíyÙt-©¡ÇÐÍUxKJ!3Äéç¥tá2ö|ï_h¸åO©_»ÉeÈÑ.nÛ˲÷~Å8ûØpWÔÑ¿ë~Öæ_¨^µËÖàÌ·1ð£èXvã0¾ÑY?rlÞqÖ|ðØ3ôã_PE õ ·§Ëñ²sær¹ðz}$qRéi5,Ë
+ÐnúÆ_ýõöï|÷?¢oz h°§ÝÔXßUv¯rz]Òtg;e¢e¾R¤# :F:¿®¸Á¹ú:ªê4ÝBMS-Ï°çûÿ@Jòa²9u2zúEß÷¯Lö]ôÜPç)<
+(¬¯càÅ9ýÂ3È멨yô59Û©¦Òd«¦;>OÅrÆ;wR¾ùj^'fwk>ö%<ùna0ÖvѶw ò**jyömÍ[NMS1vÌT?@$OýÚf@¦|M
+ý:^qî\.'HH_#%ÉUm§[v<vbÝZ v|ïï¶ÄÕôC&eA~i©d/(Gi,&
T8LaíÊ6ÜüòZãé§ Mà̶mÌ¡çlUW½-ùk\-¤à°þϲêÛéÝýÌÅu(ÏiÂݸå7Ü'ßÁØÑm¶Ù:o{`dç-#] ÙvÉûºA7r»Ðu¦cè:pT5³ìæ÷ïÏgºm=`ö°ôö?Á__C¤ÿ§·oÏÙ<+ÈNµ\ÄsÇéÚZÚºØà/**¢¨¨èQ -Öýݽ½¸íÉ-oJYSº|õÃn&Ϲ7ÉÉavr:F:"ܽÿe¯÷,ÚÄÆ|oùe\û¥oP^èB'FLA=¼p(gñÅ%t=EÛÿHÂDÕk¨_»xh{1ã=º xú÷2
ËÉôfv*ÐõÈÿ¥÷äYJlftßNbÑZt£?ú{3H²BÅÊÍT®ÚLÅÕØLÐõÄw QqÙ,ÚrñÀ4Ó-rj÷aüK6²ðȦcs¦"ÉãMKX¾j9E%EÌG~~>555óÞÙjGd¢5ýÓ±;¶æMeöznK8yØVT]_QIh¸¸\.<Oã7>K÷îíȾzÊëÊQµ,
µ°{s{ùdû><åLvR·i=Y÷ne¼ªM·RÚX:ÛÍ綣%7ÞÕn;-?óì+?ßàôóOÅðT-aáU×£ 2t`=½Øòëh¾á,vZ`öç·Ij4o¢aÝj$ "ÝGé>|Ã0ç]Oç¿&4z.ñÇDí¦[(©* {÷Ó'fp7°ø[14£Gg´«¯
WßËç%Ù³ZoYòsÍdÁb±`·ÛÑ
+ÎÎN2ÉÈ$Ѭ²âü)¿ßÿæææ½ÿÏ ¬K§Ó !jι0$ár¹þG]¼Ho*7m|óùzFçÖ)¿â6Ü>÷ë¾<HÐ~²
ñIyÅ8,2¢ÖÕÕÝUWWwäÿ $ÉÊx<¾Ã0-,ãr:ÿçý{=Mh"L^
ÿM·þÂÐILá,«»È¾x=
+LròTÊ)Àb±t¯^½úÇ3ò?. ©TÊǺ±Jä²+p¹]ôàÎíííd2¹$!GËÚµk7¼Qà
+ a¶H$ò3MÓî¤sªßëõ¾m9o¦8BKK+ç5.ë76nø¸,Ëé?¸ !h4ú·lö/%E:òx<XÖwV覦¦8uêÔ(0ÉÏÏÿ§5kÖü$IúT ¢Ñè
+i5ýÙ£ë²,ãp:q8¯q?40²¢ Iò¶RdB×PL&´¡(f+Ùt~»Ï¦M®ÍÝ[Ã22ZFE a²ÚeÐ2LÛÜsTLÈ¡eгYdLK'׳ô¬¤0Y,HèdRç`dÆl·"
+MÍ ,6dEa ©i!PL9Þ
EH¦ß _dÎè¹·s¯/¸
+ÒÓÓ=_ÓÍf£¥¥¥w®ZµjûëYOÓëüõCÁïÉìÁÐñ},Úrýk^|ÀP/c§S\ßD^e6·wþ³ÞÇÿ×Ú»Þ÷$u¢{ÿó¬RªÄÆ~«Ý02ìüæY÷
ïâñW\tïñ} W^Kªõ×Z6É·Õ7-a÷÷ÿ
+¿ô}vþ¦+©\XÍá~dÏCOÆ0¬`ím7íÛÏé]ûQlNÒÁ ¥ßG]ÝþÝ©]ó2{3k>p-ÛÁôL
+]W¬~V¾ï.¢'¦¯c!2hËïú4¦ÀqúÇÌ,Ùüê.üôÔ4Å%Å=r
+7¼ìwjjjH$E1yÂáð÷ë$IùoÓ{*pä¾èHwup|CÈèj
+»HÒzÿÅÒX}¬¸í.ÿò8:©hoûXqívþ±¾aÑ$þEéïÂYP</ ?úºNP44Lp<»¶Ãì!¿¦Ámà #ÃÀs?'bYÆKÓf´P#³VÖ]QÈ®Gúh~ÿñùî:»öiÖhûÍOpmüKV"Ô(Çv#Ç|ø
+Ud=÷Oào^ͺýùEjs´«ºÿÂÊ
+=¬Æpû ×½ÒºÒÓè)OÝzÖï-%?ÏöÊ0=MaQáÅø@d¶®)Vmf´ë,zA%ÍÍÍD£QÓSÌÌÑ
^ýËÀ}nÜnRä×´¼&$PKÌHéþ{²ZöúÈØ°ì_¶²
¨³Luîc6maÉMï'8ÃÈÈÙtÆwÍò{ÑÔ4}¬»÷+4oZP:TÏIôÚe¬¾
+_~7v3ÙÅfÃPsm¤ÿ³j>5+/ÅFgñ¹ækÞMßs÷³ç{ÿ`0¤¼t$¡`7ÕM¹"ÚM·"d¥8
åù X
+©^}y.~Ñv}?ü6{ømZ`ñu·3ºçv÷[LF-
+M7ÝM°u;û¾÷÷téÀì42æ¢bRãÃçç5« E"/vöÒ³'3W (tæhñâÅH8=òò
+äxpòú#ÝsÎ3ûoÑ ÍUb²¿X4!#+2îLl62ÙyOy3EÉó¹æD,g&;ɨfû/Ew·bÊ/§ë
ò.÷32&hØr5ÕMKì>IÒöÄCÄÄD7áÑ^V½ÿäUæB©¬MdgNI²ñÓß eïþÌeGl¤u§¬ ©1L¦<<®j&ÂxòZÎç áê»0ë"$öb'Fb}iXUDùòlþÔ_Îk -ÔE`Zbíü/t5ÆÑûÿpo!ÁáYV}ì«-Eï®Ç9~¦+¯BÈ^í| LͨÌLç´µÇçAz%@R(/+`b¨´âÆnËy[^¯q>§:ú°ZY±#á¯Ï ¿· ìþÞ?Jm;¶}Çä-«/ßÇXËA´Ñ$º«n{L2ÉL'Õ.
+öV
+¼fNþögDú[(jÞÈKVG}
+K×s&)X{˨cg8ú̳Î%³Óïþ Çþ [nÀ{
+à²KªjýGBÃG°:¬8üM\ÕÔ54Ñò³ïá-°+eå¦TÔ²ïGÿ@¬zF|¬¥ÅìaåWÐþÐ?3QQMb¤¼ËÞ,
í9MÛã¿Ì9²å·\K¸ï!Äáq!9Jp7ì>Ìþû¾»ÐG&§fË
+¹5ÌÌ¢XÎóìt:iXØðí'o^§Om§fÝí(ÈJ¿¾¡)²j)AÕôê}ûöGñAIÄïåÆGnMªÙÌ6[Vr)Ö64³IÂæñ
I'â^ìnéhhãOErëjd8d¶aµY1Àl³#+9Ì$¢¬62IÇ
+Ò ÍWÅvÞÅTãQÌvÇüµ Fr#í`í>HGIE£dlÞ,6+¦0tÕÕ3\³ñ©xI1c÷`2ÀÐQ£AÔTÅêÀîËC*ÑéÙ2Mxü¥èé8©hà «· g¨Î=K×
+Ì/vJÛ¯~@ý{?ËþÊXªªX,TUÅf³W¦¢?ÑÉÚ
+ë¸ÐºÎìl!K )
+º¦Åêëë?¼lÙ²§Þ° !Ì¡`è®ëkÎF:NÎ7MaËÅÆSÛvÒÎT5¿ùP¼L$óiXÞôã )Î:Õ[ICMÉË~¥··ÎÎÎy3Çát»êª«.$)û ÜÍfÛ*²l"/ÏÇ;ôæ¥ýû÷Fs(¡ahùºâ+~úº J9#È Ã0Ï¥.»\®?Ôí·2JØÚÚz.VÕjí¹úê«/³Ûí×åÆb±{uè?×dÁd2¿³øo*))ÉeÍÅ
+Ò©Tý¡Cî}]8@*òéºþ§Èç°~»ÝöÎì¾E¨®®n"$GcÑ?M¥R/»w¿,Ðü±»î¾Ûl³ÞsîósÙ)/1:¶_yÍëb.ê#1;ÙfÇçÂ=Qñ0ÓÓËëbhÿSôÚ&»pì<@ç[IdÌxKüÈúÍZ±~<
vúv<ÎÀÑ$ùåºvÑmØ\nÈN2xì ¾ä,=;g¨õªnÅçÏÉ.zv>ÍHû LÞR.¾½¿¥ÿÀÆOeâÌY,î:¡ýÛè?¸H(IAUÓ§÷Ñõâ6³xK+Q$ÁlWöÂòWÍвÁ@´Î¥½èªÝn'F
BCü`4Þ÷ë_ÝâU5 at p´×îkùL"0 >9ÌÔèÛdäÈ´·3râ l§g÷6fFF&;;:µ¾}/ÍjpÏ3ØÒÂlßY
+I>/Cû¥í¡_зÿi:}®}»¥Ü,y÷ûzáW¤f»gáõw<úÉ@à"¾g;[PÓ*=OÜR±¥·| ÓìQ;ûöÃD´[vͲ÷ûÿwÑ_ÿ¢§·2tvøÀq<þeënfÑ»®¤gëLM0ÖºæÛ>Îò;>βÛ>@~¥á]O6ûYòî»qgÎÐsbPÏFºÇYzÛÇ(ÉSéÚIQô
+¾¦ð¬ÈÃaR©óf"3³¨`v&~wbdt5û ¶¶CO&|>y¤ð3©TÊüª ìyWømh²9¬¤ÆºMpuZxþí¿$«¸ÐÆå¢}'iáE<¥åôn»àÔg{Ù¨Ã%söÉ1²i:~ ¯Ìp.)t¬ý(éÈùæZ®¼zÞòÓ¸Ê7PÖPÉTûÿü?Pe7O-M×ÞÂøD¢ Òé¡îPgú
xüÅÙÎÀÞ
¿Êóòhæ$¿ÚJl¾bßûJk;³
+Wáóá(®aõ>
Ëç@ðX?áÑ~"S£h³0Ù3ûé=z sõåT6`q:Q§»éÜû«Ú@©XYAÿîW]ÿl6ËÄÄÄ%ïcL
Âh© c3Yïý½cíNt5ÎÐP.9(??âÒjò¼6fg$ÔtÓÉíW¼ª d³ÙK&³I"8¦rÉ2ÊVnÁHæ~iÕ«ÖQ{Ý9ƦNè¥ÿÀvÂÃLB-
+6^NéeW¡eèY
+eÍ+©ºâÖøð®Df;éݳàøi»ú)ßô6ú/±5²©8®ÐxÕGÙxû:{øbÄÉóZ)Xu#Í[®@ÖÂôìx±3ݹóA FÅr~øÙ¤0fëyÍ$[ )!M!:3&À·h#K®½ «)CÿîG8Þ½¸åwÜÇgcôÈ6:vîÊ¡¡%«PÇ.Nßû]iá/G
EÌL¢°ªî HPàµ2=>A$9
TWVbH
+~)«áèíøø+
+ÀäÄ´]KÇn<¹[
+OÏà²f§ÈD'Ñ´
+ಢ³¢}¹`ÕQ¿iëîù]y=ÕÅ9ãB:çeJȬ&Qi¢ýG_v®³ñÏàñ¯àº¯~<'z6«ºW̱Aýè;¤*j<dÍæZ¤á¡á]·³ø]×Æîjf¢C:Î ¹á(XIº÷,ÁÙ0º£çѦãÐqJ®`xï>â±$Zl#ßÿ_Ì#Ë
+uo¢aóMÔ¹ Î>ômf¦Uê6½å7ÝNxbÉ÷sfÿ *×\Çò[>¼·<xå´ð3¿9=NLP&7°°¹²Âº<KH8`N§oL¥Rößi¾oãÒ{£À{íÅ
+·´¼²
+Â'g¨ý®¾
+WwI)ý;!¶Qä/¦bí5dCtíØ
+®J¡FÕç¯dhâ
Kqztn¤QBIuf·¿³-ɦ£x
+KQ³vëkpTè?A÷ÞÝT¬¿Âúf¼.Îç ò±ì¦÷`¶Ôø)ôÂåÔ-[ÌàÁmÙGZs°øÚðVT£¥{÷³DÝòlÞ<ÊëÊéÚñ£Ç°V^NÓ¦8*ðZStïÜÊø3o¾Òú*â3ìßËè¶Áì( zÍåLÚCßÁ]DB:Ko¾oÅ23tízÀxE×ßÍé 5¸¨Ô¿Öÿj9hY
+ÝÍf;e%É´ S¥
ô%allavcwØñxsQQÅæ"b`pÕËi·Á_þò- A©Tʶêº~ݹ¿¼¼ü·Lg¨ë³hܸîÍÇÐéÚúkJ6Ý/ßûnIGèêÇW½ßkO½K¥R<ÿÜsó=\Nçó×^{õ»íWæ¥[WÓôUçßl¶¼¥²{óá+-Sò&Ùj<yÞ7|l&Ç_ùºÿKX\R2_ÅV Có^bD£Ñ1W£nµ¼Å<;EµoJÖ$Å·¦ ù÷¨Âpz
+)-)|C×Ío/HRÁþGçcöóñTYnUe¾AÛãFeÞ¡·>ÕÔÔÐÖÖ6ßF×õ[Ï"ojjjÙ9«Àj±¾SÜñ6"«ÕJ¿ÉÉ)x<¾L'IRHH$Mº®ÏY
+ïä÷¿
+©Ô_ÛÛs¢âÎÎΦy
+JD6zZÝÑh¡kaï½Ûú
+Áîï+?÷õ×ÅÈì`7ã§[(¨ª§ ¦ç|§Gÿçê»Þÿ
+«ÖÒ¹ë)lfÞ{+§¹xFÂäò³æÎaµNö>w?×`¢?ÍÆ»?Ú4;¿ó\õÕ_ð³Ï~kþò©¬)ãøo~ÌÂ+!_R IDATo&Ù¾ö²ÉYÊeïûSí{iÙÆp[U+¯`ãÇ¿:ÛÇþöÏ>À?}úEÙ$Êõ¬½®~ò×|á[9¼?ÙÊù-Ê×æLÛÖÜu;ÇÑË6QQWúªs5<8¿ÌÏéS§Y¹jåïaª&ÆÃ@Á_Räß4ÄÆ6bµ+6bR$;
+a72´<ö0i5ÿ²ëY°n%3í;é9rCqh gyP «dKnzÇú6KD8BAóµ4oYËÈþ§îè&Ô(ª¯%<9:×&&Çdë¿I÷.
+FEqTT«ê¦
tïÝK6À³è&VnZÉñ_þj4ÕÞd'[e*Xè3Ñ:Íõ|k¾¿¦ð_äÜÑC'Z¨¼ê£Tì=F&¦vÃÕÔ^VÉÎï-ùÚüÞKÅõcèÅßP[÷Ú˯gõí&lgÏ}÷ÁuÞ9
+Ùôé¯]dü,\Eû½TÔÝùªñùÏ7· c}ô'\,i,¤³ý4%gÍÙjÑ©1º'BÃYXÅâñ'I&®ZCÿø8#ÃãA:Þ g2IM-vä»e «ÍNéÛ((÷3°s+ëogãïeððó ØÅÒ;ÿË®j`úì>¦&V¾ï㤦Z!¥úº{¸üÞ?cêÄóhjÑÓ§YsÏX°²tø £kç3¯XCé»X¼©ê«>Eyd0@*@SæÒ
,ؼäÈI°\Ð\j²½Â¦ßÜà®]Aå";^o½²àê[Ýù »¾û-Æ#ØÜ/îéIúNP¼är¤Èi"Á\p«ÿÀvöþàÛìüÞ÷°V¼|ñÆLï)öÿ(F~lßhÀ_Drjü/L¢¦ÕK|ø¸àÌ HpZÂg=?jÝP¨Y°ÆZ£½º!8\òò|XM2XUU!$P(ÓÜ!f³`÷T¹H,K¿ ÓIÊ1ÒÍØ\LeÀ2ê$©AzönÃê©ÂîvaR
+ç\MY aqb2[p/%é¹d`§ßæõsâ·'ñ®èés°ðºwSÝ´ðøº`ºãm{O°þ_Åvú¤²%0Ò&rkl¤1iÞÛÝô>fþógi\7A`ReÃg¾®Æ8½õÆÛ[©[»ö¾¦N"Ìð:ö¥© ê.¿Õ·ÌÔ vþèû¢îk²é_{ûçBË^Üë)
+âp:¨©{åðºl²ã5ï/9ä É Ò·ÇÅ
ºHWãLN§¨©©'8=ÊÈDxÜQbñø2GA¹Õ6y±3*ÁL@ßË>¸Å.ãØc÷ã+°a*Î9 Õ
+åzâAõ£HPTó.<§Àêö15Òíe\GÕBSæ̶Gwí'oÁºKÒÂÝ/cÁÒ
+tl·qùBzè$-/î&>páDè`ïÏLí5w2väê7]Ùó)AUåäÙg9ûÌ£h± ¬·8»Õü"½{?²íýÄwpøÁ|
>ÔLyyýËNøèÑ}¬ºãËøkËZmÿðîê¥ó'jxGÙJd Ý|ô§H²²ÆB¢#tîx<§d+
+®AQRM=Ã_êÇ_úûHÕ%Eêf]MódÔ4&YM è ÙDpºhZfj*ÓSaÖ¶¶¶eÒÔÔÔç2Ì¿jVc1¼v®¢2^`DU
+Ü¥Xm6ôLèÄ(X,2Î"?©ÀñP·OañIÜÅ9UÀ]\C¶º±»ìÀêr£s¿äTx³ÃE:ÇUXÓ£$c \%Ð Op.£"¿ºe.Y"hçø®QÖ½÷F²±Yb33`²áõW`¶Zæy@â½Øk at KGÓö¼\ùsƨ&6;»8W}ÃQ\ÉìøØÓBlfI3®
+l6é¾Á9°EÆ]PL"4}¾Û¤PPÓ@f¶³N°ò¶¼êZ'â N©TêúK¢?ÍêU.Úö45M,Ì©J»Ó9¯}´LP8ÆÖ§Æb5#¬¬ü411þ5Mÿs at RdÒ9ÔèF}»~gÑ
+zßÔ|N|£ìrÊkÞX'¡
8°ï4.[M±ïõ·Ø}òÉ'Åb ¢°°ð;Òèè裺®ß!æüÿÂÂBÞ¡·/íÞ³ñ±q¯Ï÷É02}®HS$4M{gÞÆä°;r}
É0òÏÖðüûö'§Ó9wN¢@Ó´|Ù0çÎð ¼ýÉn·ÏKº®{/~ñß ¬Z:JðôQ&δ!Ì\¯»Ñö#téx5JGCÇH§1YmóÍ¢¢-dà`N·Ñc;n=&;qçç#I ´³gOâ,¾8öêGUÔÙNz÷ì 06«ÀY1ÜvOiSg^Àâ*AV$ÂÝ-ôÜIx*³¨ÙÈÄhÝÃPË!â±,^¿ÔÌ)Î>ÿ,3]mLw¶µ_UD|â,}{w0=0#ßÅn#¥ïswÆì,ÀîqïoAsø1^=<=9ÓådrbÛõ{-v*fhpdÖÀ1稪J?ñxÅbÈB«1ÚÖ³¬Êå+Úù+¦Gf A û$#'å*´dÉöÃLtu3px`ëføØ^B`v @w+#
rIÈ4c'2ÜÖÆTgH2&ÉO´îãÔÃ?gðØNÎn{{ÎjÔ¬ßLÿöHÇbd]øÅÐ{x÷K,ã0ý{aè)ξð"U뮦 ÀÄÙ{ ;NÿÁçæÎñ1oy5clïÃt´öQ³áZlhÛ+¢m{ðß$Ô¬»up]O?FVÚM×S»ézÊV#Aû£à_±Ò:}ÃyôW¸VS}ÙJv=N,¬bñyéßñ\î¤ÑW£9¿ntdô¼{Jæú¥"¸pðÌLO21>N$~rhd¢°¬D`H(:¼@Xe!)Añâo¬Ç[¹ËÞ¾'ÑS/ÐßÞæÄS¹ xþ~"$Ñçr~ñà)N<ý"Óñä Oh{êW0R3~òaDV¥óé_Õ4¢gsòKÓÂec¤©4Ù³Â*?3g÷ÓúÈOÉHLVW}6|9T»ÝdäL¸+hØ°êå'YÑ×~E·Ü³ÈOåÆ[XrÕ&È01«R»ár\%å,z÷½T/Êi8CÏ¢gÒè4Â"çÒ]µ0£§OQ<4¾k²$a2ek?B,ªRwåØ&ÌÞ
+²ÉAÔ¤ú@`?F®4=Kww÷EíqfGÆfFγ
ºÆ$#ãÌcèsu®¼/
+cIFYi<ß¡Âä.ÆdsÐwªE×ÜHͦÐb¹®ÓS6]Å[>X#05ÀèÉF»Áli¾òZª/¿lj-%¥¨^³
ºkoyÿøè!¢áAF$<ÓÇhÏ þõ7±é_Å"«hé4fïBò+.Å)&Ç#øÝù¬þè±*ivýög·ç4ÍEd¡¢Á:W§/¬ØòKA"Yd9ÐG²z°zs¨]d´±ö#µ!
+$³ê_Ãí9¸Ö'Ã0àKø«ißMË£¿"#)V
+B=_935C[K§;^U(gv=ÅôTÕäÁyÁVâÍ÷!%£ ±ð%¨aYE«Ô0Ø
+L&.8²G`sW M §"´ÿòëôl§Ðgejxl|MÏKf
bÄsUF{eK¯dÝ=ÁÒ[,W»þÒ´p)&R|ÙAºê/gÓ½Ã]´ëÿê[ùH²$É(VÛkjh;ûû<5oaõ]ÂP`'P
ã5NdÊd¯£Ì_KÇÎBéÚÅ®ïþ-µg&ÉXW?ejß}úͯÉZßp'o¸ò²R´ìþÉo(»ìVÝùÌr=ÔÎïý;ÞºÕ¬xÿg(®*%æBqÑJX¾j9MK^[¿">ãg)*¼ F:mgN_³EÕXÍç 2 Ú·Êè` p¹³Ïáó_W,vÙfì{ñ-¸ê¯¤nõJ¼5µ|¡¶SÔm¾OQμ<ú^ü-3Óü¢<ªÖ]Gj¢îÝÏóð/XLrv
¹V(ÑÉQüMa³It>ÿ±¢ª*L6n{.=ÁS\F2¡Pº gHçzöïÆ¿âJ
+««sJâ37ÇÁ-©1F#VʯH]{·3Ù3@íæqúñxLtïÚÊh{ëßKam5y5õ$ûÒ½ûy³YÝðA\>7%µ{Á»I%,¹é6d-@ïþÃL9ÎhëCã¾³:D×¾ç8ÛAźëÈ«iÆíÈÒ½ûFZá«[Aé¢f$²Lm¥¨i&Ë+wåÇãÌ¿ÎGM:£c3Ô-jÂr®?$á0ËNdpYl80K¹Z
+§MÐ×ÓO(¡S×PÍj&ÉpöìYb±nÛzzzÒB«ÒÒÒ·d«W¡E8õè,¸ýCØ,o>W6è¡ã@Kß}ÓLÕb2iaéÂÊßH$Â?ÊÄdRU¡^`¾%}[Éä¥þÍdãé7%Z$Jãu7¼ñ¬`C'i¬ùý;¡«ªJFMáòø$Y5áB¼e Àé¯}ó¯u«~¿ÈVjëþ{ÆJ¥°ÚÝX(²4ɲüçbïty{S&O÷7[-Q$IAæ+]×ß©xS"@r':Mæ IBÉÈd3ïÌÐÛ¢Ñè¹ãIQeÜ$ÉÒÈfEx°C
+ÑÀâaÙmÀáüÝÛ0öÿô_Ùü'ñº÷1Ñq_iÕ%iáýOÿ'öew0zx;õ«VÓµó)²ì*eÝî&9ÒBëöPth¼ãÓVï¨ÎÐy¢F§wí%£¦²åw~éÃÿâf*W@ê,{ñ[>ù7}3½è²¥åï»]¥ç
ß23@Ϫ8üËXvýþ诬
+HHÆ+?×9ÉÙwLÄÑ5ew}·9F×ó FÈjuWÝEec)Û¡áÚ;±X_ÙËÊf²ÌÎÌJ§ðú¼¼áÅΦ£´µ³»·æ
UÃa e³"L
+dYîKÎi³³ª¹fÅF4Ô2~ø1 6$N>ñ µ7S»¢`ç!ºÀ0ç¡¥Sè©Ý/<ÂÌØîê,¹æzZý5V%J4¡xÅ,Z·ãÏÓ²5£PPUJ<0·¬zÙÖÿ='NßÙOh4¹ á©`Á²¥ÞöZ&ÃÐþ4ßýe|zG¶ï§ô#w¢t%¯r#¡hõõ×U9Bt*I¢Ïç9èhé$éAí9Ëõÿ*V«ÌtëSDÆ'Zå±écC4úw>D:E×2\ñůaº`ì}vÚå4¯XIvºÙ0ineå?H36E2USìUìgASõ+.nèÄññAóÁöÓxªëÉs)´égñ
çÜñÞ.&QY¡º~Åù¹ô1ÙdaÁ%¤aúCd³¥ó=³¦!Ñ'[,N59uúPU3¨Ür7EU¥íx×ÒY×èÞýtnл¡éO³t}#>»°Äú}ÔèaFFLôPzÅÝ\þÑO2zèi45Eÿ±#¬þè©[ä~¦Ñ2ç±ñÅ7n¦|Ë'¸ìºÔÝøê*
+õ2ÕÕªJÈ&X¢<ÂdÃg.¸@Wyuå4¼ë&&ö>Ìîÿø&]'Ç)¬Î{ SjäÞÚrl+b¦dÍ{©hª%4uå0[LÈf
+×ߧÐÍp`.ÅûÀß'¨jT®ÞD¬ã {¾û
+Nîí¤¨®_eìÿ¯orä©ñTúÕ+8|qsMÓÐ4í¢
6d"y`XÝ
+cÁ ©A²²s~ñÙNÓòeTx8!lx<â²¥gpl~ü¦eí6[§)??¿}Tñ©j,ãÒé4©2RHÊbÌnf9ÇTZ·àôºP\ë#¨©"C´<AÜ(v&BII®¬CÕÙbÅU³ÈÙ®Kxìg¿!á*äÀ¡³¸Os*UBó»?@uÓRÑGODZ$ÀÉ$²ùbÕMfp)F&Øð©oÈ0~lm?J/´d#EH6k-ÙãçÝ£©ÌαÙëO'`¡:½[~5²ÙÂå¼PÆûY~÷±Ødgvqì_°âÊ¥Tl¾¥wåî=ÆÑï㺯ü5½=ñèE<÷tô ª*åå¯Ú%¤Ø_Â@k/gd
«7^
+b6F±Xó®¼ÏÚ©k\ÛÖʱSçÌ=$IR·YoIåtxâHÞd 6pd×YÞÿy\Ìg¥¨Øëó_Q]LÇöíD r3ùÅI0Þv·ùR¨Ód1ã± zvo'xf®êKËòVl¤iéz:·?ÃÆTß1N<Hfz5kÅdwQ³|§x§>FÉ»»lYÔÌi=:J~
u6Daã
+UxqædhÏQ
+Ý»´¿ã9N<ý(N§Ìtûqjnù5ë¯ãðCp:3
8cìú`B×8ô"¹£d
+ë
+Òòh/EuµhQ¯E3´?þÊ_HÉ_Ã D²³cáE<7-}í}{
¦$à¹ÐYi¹52CZ:o·I »ýåeÅÌN騯v:ÓÀ¬000ðX*º=
+/Ç]ûÏJéä×4bw:ÑÓq=UÆ[QM|rðÔ4¶JòËÊ
+W.B#äUÖ
êC¶ùpû\èÝÉ2%fÆ°¸}$|åeAd¤X(¯j!.#«2Ûw]rP\ßb:ûî¾üWQÝO ¿T*Í[Lau
+±~â £âº:dEA¨Q¦ûzÈh®¢Jòæró3á ££èB&¿jÀ`©Èjd|õ8½.ÂÃ=Äc ,ÎêëN|bÈl Å楰¦³ÕÂÌþ_òm`ÁWtÎ/+2f³ù<4/¦ÚRÕ_ÆCAªÍîDVÀírÎ'í$bâI»ÓÍÖ§'H Àa·=þÑÝs044ôÕd2ùÏç¢Dµµµ´)kPjªÖ>VÞxÃ0V¡Òþäý,ºé#Xío¬ò:8ÕCGwëÖà´¼~L9òÛßþ6×CØPÑuñûüÿÅ`·ÛF£Ñ$KnÄb±·\PÈRXÇòëêÞp¶dbÉmÿ½â-ÞÂ:Ö¼[Ì5cĶlÙræÊÃÝnwÇÔôô´¡n!H·ÛÍ;ôö¡¡Át]G V«uº©©©#gÍä4@Èl2µKH$oéÀÐ;t1©ªÊèØØ\Àãq·Ûíöм ÌÁOÍE
+p®|èz;üúΧ °ÙìóÇÈÌûl%Ë3':ÛZÖ(°ø9ø|¯p:Lv¶áoZñú¤1!
+0pb¶ïn;äª!13Åæ`ª£e4^yèiFZöµª«.:M=ÅÌÈEU%µ ã*k¤¼©ÈÈqg
+®üBÐLvõòÿ·wáQ×¾ÿíéES4£Qï
+$hÂãÆ!1ccÇÀõq;i'¹ÉIÎMnûäÜ{Üç<I|b;ãÇ5lºmMB¨ ¡Þ{Ñhz½ïÁÆ'øÄëË<F{ö~×õ¾kÿú¯Ô²kCnêOô0æ. µ o:ÜÏHk$/\Ùªc¸á^ûôx7Ô²0¥(k<{|-¬òrD&{ÎaïîAiJ#³|
+
÷`ÆìË3
Åãq¼/r¹J
ZóÑézzzºø}huz$IX¿~ýÞ¿Íz3/>á©5CÎzÆGìD£Üýmµ#ÇC>&:Îáèë§ãè~@$`ïg´¹ÏÄàú¿üÓpò¨oñ¶Î1ÜXÏa¾p´ÖÓüÊSô=EóþtlÅILOb¤¹QѳçiÂQô¦ìjÄ5:JßÁÕWçܺ\7îÂ94¶ÑþÖNâÕú
+QµKVo¿ÀPçÁfªw¾Ü9ŹÄ;1JÇ᧱.ÄV¼[á|4#qØ$Ì#Ô}f;¾6ºÏÔa+\ài§²A&àh¬Áër_>b$DIÄî°ãóûfðxƦZº¼ßy$ägÂî`Âé".ªþµ6536:5üÒd2Õ îà¦oý$»]kMSJ¢RÉkx£'q÷¥n÷ÑôzÑînF+_úÁVj·?bÆW~ÇáæÌËOÑÕØgàõ¯nG
iÛó4®AÆ«§¼ÏàÙª9°ðý,Î
+Á} *½KN¾sd¬½ZÃé%÷¤.¹gÓѹaNk
+¦2!k P²VßÕzépÖ7~¯2ü%ËH*.gñ Ѫe°îÆ
kÈ*]HrÙ
+Ýq'AÐ-hÍtD:%Ã3Ò
Ï&ýúÛINÕ"Á>&XÊW]¬6:k{._ÀF¾-|l ñI7ñ¨Ö¾9Ðð¶¦v<¾ ±!úæ
+lkªÃ"W©$I4ÛµZmä" ÈÎÊzV&¹å#2ÎJ7l¦xÝLN¥oGÌ_wewÝ?ï?ŤÛk¸Ïx7}c#¨Ôåëo§hÝ6â¾~b(þ@Ñêõß²ùîîl!$úpv4øÄâÄ]ý¶»W>ž[6ÓÏþs»·ñ9æÀKìu[½á05Ï>cpôÐpq:æ@c:ï^T4&3±ý£]5¶<j
+b<NÇ¡´ÜIû7ñGERWÝFñòe¸Ú+©yæaF»û1æ.`ñ¦mF9ûüoé®ÚÆÔÙ×âï:>ç;[;inhfÂ1qYÃHJNalÌÍXw7Y
ïh%@Èç¼ bçÄ3,È ¥Ré^¿~ý³s²´þ ÕjçÎÖìm:ºMa'(Õ
+»(.N"Z,ün?rÏTR-1e·lÄ%-z¦)faá2B$L4!0Ò\¼¯)mX¶²Ñ·vsý=ÿ^§ÆÕá@7ÿ¼2)ßv#ÂøI"¹iU !æ£æÉ_½þk,úÂgpw¢«é,IùU&áëé ]1Ä
+¼ãuûÐëdôü=^mi97ÐxªôìBT©{îÿµz+2¹òÍ_Shzî'maá_!4ÖHÝÁôÁr)¿å~¢î>ª¶ïÖ {Çd÷Ü\$IÑ|71XmÐyNAÃuó/X?1@}×0+/ÁïÁ>y¾÷ »§§ËLæ%àHg¿V«
+¾« ô8üÖìM¶$½¨ÅÞzw½ÏLeØò®_Gûk¿#®0cINÃVrÃ;©}ñ1æLRkgÙA ÉiÈÕr.£þùßCGƼ4"ÈtñbÚ M¸ÒË1§sÔôóEVFË®§kmÌ_Óû6[
+LúäÌ¿åv¼@[4NBbóÖÞFæÃóÆN*ü%r
·lAc5±rãMÛñ{âÑ8úäBJV¯DQèÝKÝó#`· kf:k&§øÅt7¼ën%ÿ¦»h>rþS¯¡5X)»ånt*vsâÉjÔzE7mÚ§GÏ MËA¤¸DÝD&¡ÕjQ«Õ(ü]¦"=IM$q®Û©I7*éhiC«K@£M¢ØÚÛÛIËÒ
(¯[ªh sIDATå+?uQê¢j0¨ìèè8+æ
+ÎÏÏ»jEνñ-<!#Ë^}7'tì}ÄëI²Y>Ô%â±ýím¨ÈHÒ]öý£££ìÚ½{¶Üd4ÙºmÛµZvÎÉ Z6ªT)D):Ãìp8®úX7©d)ª«ÔH%1± D«åC_ÃïqÞö¾ÐØØ8|E1j4{§ò/馽¹¥¹åh,[8\õ^àS¹àÛ¿k×TROµZÝøÀÜ Õj]ï|ï%û´Z«µíq×ûk@&IÎ ?]ÝO466"˦*$Úl¶Ç/¥üwõ Óßz}ccc]4)Þ È/ÈÿÔ®réîîæÀýS¼ÐHèuú|p lt¬ ~µJý(I1i:Ìþt
¯r©®®ffÚ«(1Éôл)ÿ==À´P6k<
Ï@223IOKCDªþü+ïýæºÁÉÁÆÚ1ØR/
÷½ñGÔ%®9HJÑBºî1£¯õ?zGÝzÚÉËn¡¸¢ü|:t²öú
+4:L0àG®µR~ç~uú:2æ/P/ì`ÕýßÅÞpκsÄÂanÚN¡çènF{E¢r+(]½ª§~Lô9°ðDCoàu»A®£ü®¯¢Wúè8ô*ÎQ;qAMáMwk£ýÐkäÙê2ÝÁ3°ðp4ÑhÄbyÿÇÚÚZ*++gGÆêûî»ï=ÇÇ¿çÝ}ëÙG~f÷ÇþlÎg0&%ÒÕPMÏþNäºîIÄ®·^e¤«Äù«(¹îölG)Màr¸I»æ6
+Íg¼ñ§«Ó,(<® ÚPûÇÑY[¹±
+×À(kïä¯ý+Þî#´.A¥Ó3ÜÔDúµw ÒQS3Ç Æ[ª1$/£ëØ®ÙHzn®¶CL¸úÈÂÓd)BÐ=AÀ>@åþJnþÆ÷ÑhåT¾ÄDß o3=ÃpÝ=ßB)DiÛÿWa¿¿óÈ\Xø¾½hóPV¾ßQì}¢êQ|%ËïýzÇI/ÌÀ¬1Ø?J~á{s*H0$Ï)É÷7µ`ÌÊà ¹¥âÂYdðx_-ý¼qä0&K:µH$âÍÊÎúÙ{)ÿ=·I.]½»xÙ}ãÍ £³ í¢_>¬?w¡ñ×}å{ø:0Ô7½§¤w±ê¿=@ÏWt;ÌÒ{¾AvöÒÝ£DCçRå·¯%sÍgÅmü!)-Ľ4íÝOÑú;ÉRh;rö{ÐeÍTN´´c.Ê&ÿºéÙ÷$ý#zºB¤_mrUc,ÈEgÐ"S¨È¸þ^²Ë
+p%»b!j
+ZOÉí_ÇdKDF8ùäCâ!*_þKVà¨>Àá_ýæÚq2JÓ1gä ÷räWÿÚ§I.Él×,dàxõåãýéjà;E®tè%WÎ
£r&ýLz^×TA.##cßÕkv_îó{Cé²2IÃßn9yr¥$å¢!)¥@=¡@7¶ÿqhX at T)Q*¤eL-¼\."hL¨5E7à½ËfZNüöx4~»]É5¯øzGYÓ0ØÁ!/k¿ùcԢÿ{>·ò|-!Æ(22àúoþ)dðÔê·ïÀl4ÏÔ ¼H¹:ó<[IÈÑĤSZÇqïhµ)
+RÉÊû¿;í¹»}B)bo8HÕ3Ï°ôæÅ|þË,¶%0ÙVIÍ3`Ýw¾L_BÜûp"§±¾p(LVN)i)ï©Ô´dúë{iE(Z:~²òçZÚär$ryß-[¾-ô
+ çäþ1
ÚúSI?j4hT½½8[O¡F 1m¶ì(yËW0pæ0fõÅíd
+¥eÞê8êw£I+¿è=ÖÕ.XAûݬüêw0Ú;>ç<umf¦Ão¢0\;çÿõ*%«û8#ÃØrÒ
b²°l4?
^p·Ç4 )%Xdh:ü: 9ÃUGH[ûOä,¿Ê¿ü
và£çtK¶þ(2Ú\;]aÎÌÃ;\OOs'iózü$æñ
+Ótà-rV¬B
+¸0åNé)ØB7R~áâ
ï{ë¬eôaeÙK<>6̺³$%Y}E)òS`ìý\÷}ÃK½n¼§¿o§Çé¸ÕçIr
+¦
+«Ö~w+Á!t©
¤äæâèn!¹pêÁÇ;I.,%âg¤ ¹> Sx<Þ<;9Ô3ÜÆdÅ3î$)/wÚM÷«0¥¤Oc¼4Õô¤/XòUÏ¡§e¯';'Ñ:üþ:K&ióæ#ÅÙÝkl
!Èr¤à$M
+D"qL
$ådvô1ÚÕEL\´EÇXk
+>§ovç´.À`5bokÀëö¢2¦Qº Aáîkabt
ÎBêü¨5jU/0¦^NÉâÂËn>¯¹BR©¼`~½·{4
Ò¢óDY/¿ü2ý½Ý£q
+lÛûàÜ!BüÀtT`;sæLU4Ís$''SXXø7Ãm´5ô°äóW',üì«S°pîÃ!|&íÝ´´Ú)¿f9 ÓSB>LssólÆO«Õö|éK_Z!ýý^÷Ì>o·Û_ËÆ)a22þÖS;%âÑø\ØÕc±(2Å'ßÅ8¢éÒq}]='Nd:ÝG8ñÏ·åöM|ë~àÕÊÏÏ3?ìv»¿'J$º»»Ëå©ùJ^¥)ø¸·hT¤««cÇM¡¦="ÙÙÙnݺ7?èõ>0V«ü\§Óí¦÷Ihoo"øT>VáàÁ7g¿ù$IIII;6mÚôsVÿàfù!%*Î=[$I(JJKK?~Lât:Ù½{7Á@p¾/ÍæmÛ¶Òjµ±ç>ô4ÉòÃáâO Ñh(--E«½ô8HÀGÈ=$Iè-6óïu è3:GP¨µLt5Í>ɹf5ãm
+<Æl#tɾ?ÄäÈ$éVÆj zhsI)ÈÇ7ÒLÎq7ö~l
Ã^Æ[ Â$d=¥¸F°wuµhD
+ãmµøg¢ ¤Â
+VöF|NjK:©ÅóñuàBa°Z\\!Ã;Ú!-ÿB~ìwþÀlsèiÛífïÞ½x<îÙùÎ:¾}Ë-7'&&|X~$F¨¼òÌÌû¤h°7à ©=]
½¯ÉþnB)î¾XÐk ѶêNÅóËÝßIÛΧj9KÓ¾¿hÍV*®ãoK¨hÍü=§îs/îfì½½½õ?êÆ«v0Ôëa¤î%ýÓÜH?-¯?O<ä¡þ
ÿÄí¡ÒªèzýOô¶wR³ýÏ%
+Yú¿<ob½¢2ZÑhMfJãg0Ò3Æ`d²n7}mø:é8qÑB°¯öSç Ñø<o¶äÀØØØlsÓéäÕW_ÅåR~4E©TõVTTÜ÷Qÿ¡ïÜܼªW~ño÷fÛË^çDJjÙrêO1Ün!×ÑU[î¤}ÏHú4&[O89g«È[±nßÙváQY½G ye(f,É6ú^ïCQ£Î-FGè8²e·ë[«1VÜC°ºLÄ_DñD£
+¸oÿX3¥×Þ -7pLÎ@õhKÖ_Q@bF:J T´`*(ÈJAþI¶¢2
+7ÞCȯ!î
+"*¬$kõ&Âd
+²K-4×÷±ôÆ9äEF«ÓÎîùo¼ñC½](Ñ«e8]Þ±%Ë¨¨ú¨ú»"pw}ÿ§G¸1rMz=Èå`WF0µ÷D'±HoP¢týÝnº4,<âEÔkØût èiÒeçÀ¡Ö¨W¡3Ì
F9$%'·á«dd%ÒsèyNüþ7¸ÎKÂÂÅÈ0úzæ,t+ÑðFëùmI6¥VR÷Ò#Ô¼øõ»Ãɸá.òÎgðäNýöLb*XÄ¢
+wá8wþúÐä]¯mn/CoW/¸ÄjÐ××Ç®]»èôz¼¾ag,£ tãºo>z%twÅæ;¾òíê/>~wXo|& ¹²©{¢Qb(AÇ¥=¤Î lmãÇ°ô·£W)qN dÏ£¼ªNR7üKÄÉBÌOýsóù/±|ñM¸:+én>ÕRÈĸ,= ÉCm^§ëOø}´ÃÇÆ-_HRÆgh9GFNJÂ4¼ò¤¯ÚL¡¤âþe,¼õå_b\|Ëîù#
+Ô:Ö_3Ï¢»¾NÄÙCÕ}ÀÈ;/ %-IPª.nÅomm¥
+FJ«CîïÕÛòïÿç/ßS}¥ôvE³&7oýòÑæsM['Úëÿ$IRB¡w`5ÚgE$*#³´pX
ìسÒ55wêÒ¦S¿ñqli9½°"Jõâ¦Ù¢ÇwÝ4í}
+QЮ½ÜËä¾W¨|¢A¦¢dÝ=hTÜTAý Åã¨MYnXNÁ?¹3ÏþDcÞõ$¦g¡N°\Ï\y3ÍGvÐ}TD£32ÿ³[Iи}ýU?qµÖ@þõë§\»½MJÅÜZ§½T ûQªÔ³§}}±£4/å¾[êJêLàcÇU__¿Ãï÷Ï Ì7£ÑxÅ?s¬þ1¼¥®Â N¤kï*>GrÊ»Ïe´Ûí=z»}j\ÏLÅlN¬Ù´éÖÍVkÊÀ¾3áãzä`0¨8]]ý¬ÏëÝiv* ¢¢"²³³¯l²5ꦯyÜEeWa- ÂHóiR|ù»´744PYY$Is2|III;¶nÝzïóÿf0mºººµÛíÿ,WÈÓ5$¬Ö$þîF.ÊÊJúûû/èáD"ÜÜ7mºýçZöcãÁ>îÅbòúúúϺÝîGÃápÓ0ó-*.¦ ?ÿïRùµµµTUUÍQ¼$I¢V§ëKIIùú[o}S¡P|¬T-Â_ëa%I²<yò Ëõ9AT3Û$I
+IMMý»P|ww7ÕÕÕ³W3Ç#©©©¯oݲ夤û0éWUU=àr¹ÿ-åÌt.Äbý-TW³P[[ûÊ©}Q¡Tô%''ÿtóæÍO¿_0Ç'Î &ú{gsJÛã×aA¹^£O0Ì,»ç,2K>*¿ù0Qÿ6q\£C¬ûþ@`Æý»
|öIÏ?ºè8ÛKAI2Mo¾ßãAeΤü¶mÕüuÊÒK!ÜIõö=,ßú
+&ÛOÑqºp ÎVHÙ-·£VŬz¡ö.¢(Ió®£he)g{pÄ4Õð>
+·$ùh;´×ÆÊ¢Í÷£è~{ãýH*#Åkï$&ðæK«6#Éåb x322ömÙ²åÛÀØûÁñ]Iù«£'3r$`´»êȶ¸j£'ú¡ßï_2R{LáDm#är6§»h
+)ª¦|Z=½û^Å\q;iæ .gpnÕz¹ö7va[u'2S±×¿ÆH¨kÓ a1w|àÄ0Ç^9Àoþ ½NÉÀ§éìC餵ÕÍõÛ¾RÐôêðM¤àwqãw~9Þ±o/Ú¼
+Jo[»eCmãXtc¸2V>ø]ZNífû/Agd¸EÉ4úD)f2ê²³³¶zõêÝmÅÿÍ`FòW¬]$í?yòĽªEÅ?*Ó
+lisrzñÑAꪱêV:;Ûioí#MzÇä ÖÅwÏM75}Ïlúë©Úñí
+5Öù×Pº,îKD(§0bVHκ¯Ð¸ý䬺oº¥¦|Ûw æ@E©yéQdÈ̬ÛBfùRª·¿@ßÛ;0å/aÁÆ£´7V³gßn¢Dòç¡ !3¾æ!åÅbBBBÑh|hóæÍÏ^·ÿ_Ö .È|E'ßþß_|I
+hÿ±ÀþeÉ6ßyRpÄÒÔÔD¿_À:¥Ëé8°â¥³×qûÃqìa×íDnμNî½4F"ÓìRÌ$¨+Ó»ÏSÎ';p»¨Ôéø]磮ÉjTDdr¥·lC!A&C©áòG¸æÿI(äæìáüîGÿ,Q
¤Ï&ia6û ÃgkÉ[±InÊã]ßqÇO¾W»ÖßÌÈ?~ÂüçÇþß³bùµ~ÿ×½%
+S AÀd µ¦Î3n|A£GIMM%%%RA(&2Z·ÑÁ
+Rò²©uhµ©$44©%1ÁÀä¹S$ä¯#!¥}ø í§N`4*èû5¬ù"ÙKÖR¹s½:Pã¥õÐ!m½Ið;Æfû¢rµ^¡×¡"¬ó;ðGuünÃ^,Ù9HL4úÑhl1êck>·ãÆÍ]WÓÁTà*IÕ'öÝ8:ê{PTjnF#&)yû2LéÙÈS-ÐHþþ³Xo¤¨ÐFdhÊçSÉZ´QÆ[jp¡0g·¤¹RèwÐ[sP8%w©ESÛÃhÍÍÄ$éV 3«9wüuzFpz¼L¸¼ÈMV4:
+Þ±! rSZ:'àC~¿Ûh¶í/»fÕS7½éí¿µ«ÿÄÀ;A{ìر{ý~ÿ¯g`F·q7©ùÌt3'è0$$$ ×ëÑét³ü;*j'D
BAü~?^¯ÇËåÂãõpaó|fÑ ¢$NMæÁ°}ãÆÏ
+¼Ú×öa 3ÇUéèÑ£·BáÛ|>oy0LV($X,\¡äÆq©×eξ^@Z)]JÉ3 ÍþD$öêtºqÁÐ ÕjwmØ°a/àËåñk(x§8ÄÎή±±ÑkÃáȵáp¸4$¢¨A)ªs_gû.¿V4$¢bT°^¯W«5Í*µêdfFæɲ²Ò%iòºh¸(ÅÚÓ* Iííåw~8)Çb9ñx<=YâqÑ(Æãºx\TK¤$Q6ý
e2Y@&È<r¹Ì)ËryJê2LeJ G~Þ|é¿ÊýÛÀç$
+ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_jobs_overview.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_jobs_overview.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_jobs_overview.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,184 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ f° IDATxÚì½y´e×]ç÷ùí3ÜéÍs½zUïÕ<¨J*fÉeË°ÁjcÜv§ £!M¯Eè?éNÒIVw`AC
+¬Ä΢Á
+±Á2ÈÆF-ÛÊ¥¡æy|óüîtÎÙ{ÿòǹïÕ(#É3ÔÖR{ï;÷}÷ï»óï·
@ãéÏý^`1án#ÁvD6Yô¢Òh¢*±¢!`PPUõ %U´¡h
+taá2¢g%ÀyÐO<úcsÿÖL~'ý¥g?m¢°[xQTwªêUߪm¯¨jÕ¢E ÆkäÑPU£9PÔ£8U¬¢Jצªo¨§îÕ×Ô³ê=B9[,ÞHjdo}øIÿ´á" z{ÆîÑ·¢ºß+z z©zQ ñXuÆ«HT¼XTÅ ¨ñjj¡hQR«ÚL=6SM¯6õ*êÔªa¹ w>ºè
ÃAhìû<0|ÇÜüxçÊRý-Öú{󷩸ºB1m¡ÝF^-"^ð È(& !2/! ÄjzClK¤IW[ÆÔÒFBÚHIÓMfGÁ&³Åx%-Ç+6.,¹@fãBt¸\©¼4²~àù w±£gté Þà¹hi°2ô¼Í+"º#0²ÁH0äq% £ÅzD =å ÐàEC 11´^+1))ºmfçavVÁyðà³fÑÌ
+g©«%³4¨1ÐÖôá»*4cidN'ó§#_lk+?5ºaãQH<®»¿¿g<yl¿~À¨yP!ߤ Ä
+¨:¢PP¢bP"#Ãã\¿C iýëñ8,OLÀ6âzJ0q kPO at -8di¾û 4¡Ö¤ÙpÔHY ªÅ"
+h_~Ã0Íؤ4µé|G;*m^?ð¾þ· pÓ]®´RMߦ·)þvDÖ!#Úª(¹øÂ0"!4Å)O"
+xÀBB<! ñ¥³^ ]ñÓÐLA\=R>ÌAÓA½Ù@
+ªüýJ×LXj/³¸uåIû;±¥qªªuÙ¼Mݤ.·ÿfË汯^èïßÐøGÎÎ\¾þ=zô趥ÅÆO òHhÂíF>ECÅ)DB¬¢)àQ @HÚ"ñ<+ÃaÉZ+Ab) N<âÁÏLÁø<¬4sPÀ@Ú+YHSh ©WzÍ ©Ó¾°Ba±J{Veùoa1.Ò¨WD&ê
+Ò«ÈFùÈ˯z¡T,þðçù:\¾þ
+ú={b»÷ü¤¨<*¢ëD|PQ$ôä#CP0>Èwµ±-ò{"
+ià0Þ jpÅxQ µ£}
+,>Ä wW,ÑñÓ©YZûAÔz°iuX®Aµ µ,/AÒ$szzmeÂ÷üæ-÷²dùÚÕZUEU¬:Wˬ
+
Ã]ýì}ºopdá
+9S^Z¶ÿsþIÙdÄh»
+
+&ÂØP*¯pïìP ÅâZ;µU24Ä#hGx\n%´h'Â\
+桺
¶ü-ß
+8´&4k9ë¯&ø¤Af3R54Ò$úÑésD£Ã´íÞJ¹·Bue
eVk(ÆÎB!îtÎ÷]º|itnqîÞñ31ªg¶ÔÿAs§ïägB ÞªÆoVñ'
+SB"HMξCÏ'j
+d"W TPÒ §SÁå×84È¿zHÐüÊH¥ÙåSpù<¬T!(A ß,×Ô2¨%P_e´Z§æ3ïɤ©¦ÉwQxøn¢'&.juËÌü"µEDÓYêݲU´³\þÝí[Ç>Ñ;´¹ùÌN¾u`jòLX¯Û¡¼_QÅ÷*Ú(F!&Pñ*±cMõi.Ò|Kc|¾i³ ¿ªõçÊ»¼@ 9V
+¸Ð50y9×üÓ$ [" ¯ù *ÔW`¹od4,ÔÈh:ͺ³¤bQQÂéyäòeO.åJ̦ÊÍá>uï,CCCc£n[Z©þoGNþṩ3¿å%8Ø?0jæ¦ÎHïàfýÀ*ñÏ9¹£Z³?'ÂÆp(Úãqd(÷JX@VU÷ÖÏv¹ßP!Áa%ÿsÁçHâ¯pp!'¾Ñ|S¯ñ;^|³Sã°âò/IÚÒþM ë u¹eÔðÍ*¾dPShàI%±J
+Å!^`~£Û¹Ü× CA<*½ gOÓVî @¤8n«ÕÝ/x¥¿o¨ÿ§gÎ}n lñ;EüïpâÄ;ñúo"Ã^`Ô)¢ÄF¢ i³yãAàZ;XW-5-£u îÊN¿Sÿ°üFä@PjIÄ@$-Hþ%× [FO=I¦Ô¥'ó¹a¨RÔsqÐHpÕYú5¡¬ØAJnL¨BXÆF¹ç¾ÛÉÃ@_/\ ¼íÒÅÉÍZrðo`EÀÙ3§~õ#ÛAD ( .ïÔÌç;\[²Ûx³{Ñ|áÐ`%DÉĸ*xõ¨Ïwaf }&@¨J)QjõÒçÀY𧿶Υ4½¥îfÐô¦&dÞzOÓCêëÎ8L"A4$KPà²5g<©053ÏÑ#'ÉR¥ýÎ;Þ¶K39§@ÓúÈécÿÍÿõ;ÿ~$MíoýʯþÚá Ìj[nú_Pñ?Â>'ÚiUaB'R® hé® ¥EF-ié÷nUÇj
+ÖàÄfR¨`xQ¬CþÞ'
+
+dËh³¢YõY ¨¼U2qÔ%£á6©kFÔå>¢LÌ
+:dtµ÷RèèÃ9H²ïSp
+â0FÓ³ó;r$MØ08Hï[%®Ä\¸xÚrÅùxjrfãÌbýý,íúѼÿßO~òc}_àÜã½K
+÷+¾OTGS0Äylkêé*{Ï780¬
+©ñ$&mÉ ¡àbT4ïâPÓDDsJ; Ëo°êýsqq¤¡¢xúUE
+èîÆM\Æ6ªHXÎÙ¹±`%WTÉHÉZÁº:u<5²TÈpd&%%óqBÐÓO44Dø"â£|nÀD(ðê!0¤Å¶v68=~/Í3±¥þwl;{áWÿÅ=ùÜâÓÍïK =u|wúë*þ-ª2
+¾ $Î!6lØuAKM·à
+^
+)/Gh!ß³¹ËW±x¹b¿F.ÈõL«÷6\SÈÍ1æCâÞ¬ÉP"¥v&9yf½)F4%#QZ!Ó $¥é¡éëïiªª#UOæ§Í,¨%è¢8:xEÔ`%÷O Z 5\§84Ì.V<q5èÞ@ïÈFY×U.LcgOE~3<çëÝï}ÿ'ú?_ùvÐÌ|»êÄñÍÞó?ªú½º]ÞkÉyEMÁS¼óXõXUpñ ú\KWÈ,ÆøÜ}«h5XÄx0#hh®µñùRjøüsÅ`MñÆ_ëÀ*ØÑu$=]4ÂMifif©Ùͨ»ºµTeÙYeÙZjYFÝ7iøUÒ,W¦T <:Het1£JвIT<b<Æ¿zï)"JlËN.0>1Öod ¿ÞÒúÑ¡}ÝëµGï~ç?Õõ}S'nPø×>éѹ¦F1FÑ #OÁÅƱ¨[~w>"ÏÐÊ#ò!cEÍUÞ
+P#¶ó$Lqa³%7âOk¢a
+a»ÑVØWILlÑ(+ëºinC7Q#¥Yjj¤Ô4¥ê2ª¤Íª^¨9!MXÒHªRÁÛö2¸{ëRïIZñ 4SP!]``)
+°6æ¢3,{¡HÆ[(Æ6¿ô"Töt´þC[¼òøïþÞo´ÏpúäÑ^T~qzÜ:EobaPT¿Â Ää¶ñª½§E OÎRUòqe²Bì
+F|K>$R&×ÅD> ð|.sÔX¼¼
+G¤¹9-+ÑÎöÞNÖÝF£$¤^i¨¥æÒøoÐt·$X2µ4ÓSèaä¡û(nXGT#>ÌEq¸ CÅ]ì|®EÄSFP2¾ÒŦ[)#Ílèìèý5ï¿|¬ø=ÀÙÓ/µùÁ¿q;E " yü-ô¢iEësBø\º«É%³8LkQܪç+ %âø@Íò'>$ô!ÆG¨ò
q
+K Ð)F3¢Ñ
+î¸xû¤§+Jâ¦u4\FÃgÔ4¡NÌçVÕTÓ<îP(Ò3:Êðw0p÷hwjRG\»)Z LFf,VüF 8EǶîa¹é82Ñd15lîDÓ9l²bÄÚoO²àW\&wMO¯|O@ë¿ ö}
+£â¹-¬Ø^A}dÂqy& S¼òÝdDj0.&
+RüUN at YSú/$ÐÖýKp1"&¤«ÏTy¶OèbRáTµ8.f1¨SÚXaÝ;'èè¥và ËgNã
+"cH °Þh·oFPìédxÏ6v¿å1ú÷îÁ··á%XÆ°@Ö
+ at E> $@la
+ùËEuÞ®{îèeò@ÂéÓ|ùSci÷ ýËG35[ÇíCë(´·í~õÕ#¿u÷½»~xùÍÐ0xC&Þ©Wå·ç?µ²vÿz}?ân-Ä5PsÛiÎ
+®ñÅâ|§"ha4Ì9¦×'Òrùò^ü>â[l_P
+sepõÞâY{lKÓÀÿà#¼ÉZ"#Â"GDmd6´ÒN\ Ke"2çI4M ¸Ò@½£[Øx×lyø^î¸x°,hEhÈÃäú bN=ÇcÇpαiÓnß»È]âårZÙi¦æò¥9RS gpë×
+ÑÓQ¼mö,̯ô<ñCÿä'ÿràÿøÏË«¯øös±{àÄÉwªúè>
"xLà±·d¼ùï¼(IN4·3 qx¤µK4â±.Æ«Á9Mæ»A\ØÊàÑ+£-q®ð9ñ¸ÖsWå¬1`%ð¬:*ºc#Ý#Y·cgO2}æ4rn?=4k´·÷SÜ4ÄÈæ½lÛJÛXUW¥f1ÄÅ(i>@âÇP\
+X\Õ¤0Hyt»|]C:y³,.
ttõ1¼mF7Ò.JªZ\^®ýÈÊR}øW ûèèwL8yxjöoij]E;UÝ3Æp8/4dxÉZÙ54ò×*`´ ÏBJÛñä
+QÓ$-nA˾׵{X¤×(
+qF±âÀûö-
0¿Gܺ_*
+&(±ÚÀÆÐXßMØ·¾=èªy³:0(`
+1¦T XìÆ,'M,idrHÖzf¾.Æ8#hdcCJÔá½ÃxóKçð:vuµ±aÏ4ó°(K]´;h,G\¼<
zÛÆòÞ?ýøÏuô|äÝïüÅï Æ'Nõºÿ9#ìBÆÄaï¾ »¹qá^[ø5üÚU/òëÄå\¢Å2ók|+~å>ÄøHÈX\¬¦~Å.ÂÃÕ<|ë¹éûB{o|û
+DÑrBØC[( ªõ-¿FËU¬ÞhòaK\¹µ÷¢17KÔÓyλÌôÔ8à´Ë]ólcc1mô 0D
+j|Î*Y
ÌLOÍ¡béîé*?÷нw¼2·pîÞî1ûm·¥b} ÃQÀn×w#_¦yù,_ûò!¹DÆ¥AJíééAeßníP¸òî{FxþùçYY^AÑØ«n;pàä/>ðÀËÀßV 9sfª¾?ÂÛ@O¥RAÄÜy°½6¨Ãëovíë½æf1á×óìouμÆ\õÆ÷bÀèüµSÇ9vè$ç.Õ)v³ýîÇÛswëÒ\ù}#¿g×®]|ýùçsï8sæìT³¼Z,ß 4òÔäÔÏ#£ ªJ©T"Týk,ÈÍ>Ó7píë½æµ>{½ÏþVçüzæ®÷xGؼ-¤<¨t°åî»Øºe=Îg9Iõýööv¶oÝÆñÇQ
:N>õøæÍîk4/J¥ú·xáÂ
ÿ.ÌV¶(
+ikk¿ÅÙßèPEÕã|ì<^ ²æïx³ãàÁÌÌÌäa6k«ÏÝ}÷Ýÿ}©T:ô¦9@½^ù¹¹muOÆq´6E)K«)Îßd¼îW;îùý
+0¦ä¿×»ç=î[,Û¶mÓÓÓbLÐ699qÿ
¯×ëÅr¹¬o årY/^¸øQn2ÆtR.Uãk {=|W ù÷ôª\yDcÌ?.à°Öݨ ßÚm;::رcÇG¢0î8sæÌûÆÆÆ
+
§ß8vìØ61òhEc AÐÑÙùÙÞkíü,Ë°ÖæUºA^òõ|Æ;byyPêõúíçÎû ðÆ ª¥.ü Ì:vÚ*m¹Ò°Òú24jyÆl#É3$ P¶2ôvC©ôÅÜ¢æ· ^xTðýìÙ³©ê}À+"ÒxÝ z Gâ0¢°¸Só°8+°R¥4¹³%¡X6M£P!á°ø[»þÛ3`jj
+UeeeeÝ¡C~jÏ=¿
+Ý HÓômQmzOYÎ]_hHú¼tJ0!¤5XªCs./¡:|6n[aÓFèîºE¡ïÂغu+S aXøá={ö|âu Ñhééé} ·cúð2O¼0 3°\
$ɯÇ|óL;Ȫu¨/å5wSË03KËpÇ^èlÀÜ¢Òwpôöö2<<ÄåËã++ÕuGyLU K"²fsÜó ×ÚÌ(/À¥0?IJ+!/'º*x¾ 7ÛBZÎÃѯ½?çàßßñ±yó«¼/\|xëR n ÀøøxÞ?(bT!®×'¦`±Íæ¸,¯æÈ$zhJ^Feà«yí|açi8MíÀ×p+K?0x^òý §ÜdN×ÏSUéíí¥``Íw8¿¸°mzzê±ëiÞÄÙø6 !#ôh=¡4½ S³ù®Æ ò0§ÍÀÚ\ÈZåÓY&ÔÓ\)Lx`3O29Er0Ewì¤ÜÕCP)ñ÷º¿|úÄ9fÏfen¤ÑÌ#Éq¥þQºGo£o¨ üÎX
+"BR]æø3OÑ3²;îû>p&ås:ñÌStcþû`êø+\~ùël}ë»é\À¦±1¦¦¦@8zÎ=÷ÐÀÀàpþ¦ ÈRÛyþ¹GLÂŧ`q*y¦bð Øf^4s0A½Ë)4جIê-ÖÍzúéôÀ«¾*wìFsm ðÕ@L«$_fü¥ç8uàfÏS[ZÆ+r£w²~
+¼Áýß±õ®ÍÏð
ßù·ì~ü}ß ês|áwÿgv>ö$öÝÀļð±ßc`ÇÞ5 ÓV©°²² ããÛTuQDn ÀììÌ[1;XmFqq5¡¶*=$÷>͹@fsůf¡^jê
+|¢Ô½²L¸&º(á¥Iüù ¸}÷k
ö3_âï~ÿ£Ôdðþrï{ÖÓÖQÍgòàW9ýÿý¯Ìÿ4cý({÷to\]9|½ x¾VëZïÛ8§(D®ÓÎÇdãþh¾æÚÑÑQ:ª4Íâ#G~d÷îÝfé=Al¡@RêRÞ"%sWæÝZá$©Ë»jÕjP¢:Yb¡á=õ¼ÄT!ñåÉ ¢Ë´©¾f$ªzòç¿ð7\-Ó½{?£w?ÌðÖ¼ÚÀî¤,+4Ï?Ãøäq¦OBwïãjjºx'#m¦q
BÿzG6ÐÕ×qí"ø¬Aõüa¦¦¨-×QB:7¸FÑu³tT/aqü"KUÔ*A±BïFú·l¢½½tEÔê;ø2mÐÑ3uaFµb
+´
+o¦wlÅÂUZÀÛ&ÕóY¤ÚSǦ;¨/¯ WÍ)©UY§ÔÝKT,¯}¾aýú*
+c
+ÓSSíÞ½ûSÀ¡ `3w[GC@[O0>++y:ÔsÖ/¤-¹oså/YÉ=Ë©KóZyÖa=dXR§Xê3S¹ ¸ WÞ]|áU^yêeÿ{¶¼ãQF·^çMÛé¿û<Ð3ÃÁçRÒÆÐÛ[,J:G¿ÄÉ¿þÇ¢º\¥Pé§mÇãÜöw±ÿ±û¯$õ©Syú£9ø2Óã³X
+ôßý>
+½È ¼Zy¶¸êy.<ûqN|åY._Á5=QÇÚ·?Ⱦ÷}-wßF±õþæ·±Ñ]w
+sà_gîòHibÝ}O²ãÝ?ÁØh'¥«²üS§8ûôG9}ð%¦Çç°Ó×Rè%k¦Ñòxæ³|éþÞÿÿÑ»Þru<ÁuCLO`çæç·Ã×è Ï~ù3fp`ëbd ¡¤
+Å4É HM¾³$߸Rºe¹â6Ñ4Ŧg
Wj>¥a
+Mµ¤äµóiKðM²ùú¶-ã<K˧Í<;ndpËk¸Ëë·~]Ê´:Eúürúù).$·s×OýÝìâ%.=û .?1m`ÿ}Côtçßqÿ©çðù
+#þ,ûw@²Ìü¯sñ
£É2ÄWsì9Æ?÷ äØG±P»xåØ_ÀìéwñÈûîF¢4Es¿ØM¸å~öü³ÇhëìÄ5hù,O¿ÌþÏtüô{Y¿}$g²G>Îä_çÐù#ü,ûw@ºÌÂáç¹øâ!YÊ['®iþçìM=ª#ëG@UqÎ=z·ª~
+X\
P$Â[H×js¤¢uy'¬&¹æOKã÷÷lëj¸lµ<¼¦õT½#Ѽ-cê|î" h|ß$ö) Ø$éi2°®Dwñµd£t\çÁ\Yâüß}¥tíûíÝK¥è"mÍ9ðü4G¿ðwlßòNzº <ð%&£¸õÙøð;Û×Yôç±Ïræâýv1{úU=óE²Ý¿ÀèÛ>ÈZ¸c®â8ÿ³C^2Üùî}tF!':to£²ý!6?¼ò*í¶,ýñ§yùÙ§h¾ï~ ¿×Äg<tâÖ_fÃÃ36º:§E²Ég9}\ñW-£ ¸ÜD¯^ª211±s×®]»W¯TÙ/F:%.ÄåMuX^Ìûè,àæÉV¦Éj4
+m^,Yµ)¾Ê²M©gPwsÔR¡æ,Ì¥uÄØî\ܨ8°o¡ÝÜ|ÿ¿¶RÕh8^9¼L´qûß/
U ICïùÖݶìèá/_aÇ©¹ïÇ`xã"¶;cëû¨®+L/Lsl)fÝ;dì«1ü®IÇ,|
©]«hrNÙ´w÷¼c?¥øª >AyÓÄrÑ+¿'N,0S-pßû`ýèUsÚ÷6¶ýÓ$nïÀ§ÉëÒ'ã8fphðO`~~#¦?° IDAT°È
HVºUu í
+
+( ³73×qFçñêIQÄ;¬·Ô$Ã:%³Ê¦$¶ÕZORRõ¤äÖ+F2:»(u¯[ÛÇ7x¦Ã>¼iÃé$©wØ\óxÝ#ó0]÷ô
ëopyìľ֮ýe®æh¦0Ð_÷¬õûÁ®í1i²fÊéÿòÿÒDzUÁHÆùo¼ömaº°¶5¸£òÍàZ~+[z¾æ¨'Ðß_Ï©ã.0ETÝë^uCëUêµZÏâââÞ®®®?söH¯´«zâB*Eüº>ìÙó¤ÍYÁäÊ¿Luë+:%uаD}^3ïòâÉ°ÞY ýýFk 䤷R(úcÌL7èÝ7E@ée&Ï,¹2ëvì sûV=ðk Ä·*®rªÁßD~z*×q×/Ïf®ÝGLDÏØ^Ú¶í§çýWïjüÍÓ~Ô¯ê@W?' Ìu9«s*Ã7ù7´j £¨}bbbOWWWKT\â(··'ûÆËdYJH½yGFuÐôªd$^ó `&¤â¨Ô
+©W¬d¨pY^Pë×Ú¥èéØÈ`(\xu¶7AÄ^ü8ÏýÞS¬dyßøO´· úâ' z×ß8
+vâM`®ìÅþBÄb2Ù¡®¨u$=·/Y[°®¸óçÿv<ô0
FmU#P_@½Ò6ØN T¿T7þµ¿²
L6
¡øº9e§ZszýiD]]%ê:"-..n
+æoþÓ^U¿SóLDq¾Ø¦§pßí¸íitwPËjiBÍå%ÓURsI¦d)$,iƲwT3¨êj§
+%IPèÞ´{î k×æ\½#®Ãú}»Øùö,¾ðÇøÌqéü$×dËg³Ì=ÿyÿð_0¿¼âæw¬eÝ[+dÏñòçæmhróÏü ÓÇÎmù'ʺµÛmÛÝÉ@WÂ+~©ËWäjvþ\~ú#dõe$\µ¹7ÐÝ6ÄÆRÊåÃg¸t1#*Uòÿ{á³þÔÿÃKOý.³¼Ù±uW'Ý)/ÿå3L^ºjNáòÓ&«-!Qá
+ݳ¯¯¯ÕK/ëC`¢[PTÂõ Â
+#½·á¦fh=JZm©'5ÔkÞ Éå»-ñ¤$N[¶¿C¼#ðJe]?#wßÃàÝÛ;Z¬ïæ,±²c7cúÇÿæé/rækí$Ûiïnl7sËÏàÜOÏýïfÓcï#sÚÚÙúÐ,¼Råü³Oq¡³ÎÀHéìiÎ>{Fc=A©wà|×]$^9õÒs=mû·[aþÀ\~õÚh+ íÝÅ;oçÐ8a
+´¿e¥¶dâ%¦_ø3}mhø>ög¸/¸·ï_Cf{ÅÙkM¸á»öxÇ©c¢äiwÛÀ·æôÊI|£qMT]½Ç;ûMV½½½\8#`44&ުݴ¼ÑÕ/UJ;vÎÕ¨.TqçÎÔêÔ¢Ì2çI}J¦J*JêR¬S¬DÔ*N ³¯á½·±ùáé¸já_s¶QÙÞû>ÔËùç¿ÊÉ/~>O£à% Pé¢sý.Ö=ù¯ÙñðC¬ÛZYÒ9Dùü£¤ñô§ùòÿù§4¨ÒKiö¼õ ö¼sm
«äí¢¿r'w4ÿ3ûMýÑ,ÎAÏÞwü8ñK¿Iì®±;÷¿#CðÂÈ_þõ"YLT!ìeä_bËR.×L/%9nFïpYrí¸í'¨ÜÉröó¿Å¡Îà,tïyÅÿøào\3'ï.M^sSôôô´¬|ÅZo
+ ¶«÷mkk¬t5òÑv×^lZǪ§Nagh´<ê<)·ÍhºY¶
+Gؼ[|þ½»(´·½¾ W©¶³±8D8t;ËK4)j¢Rmèݼ
+}W5Zh)SÁ {Åz/ÎЬ[Âråõ;Ú±UâçÉùP^¿ÑßEaýNgðjh»b÷c£wÞvÕäÊ÷2öÊCÛ]Ê·õldpï½ômì^Û¡m}<òóÿÛn»éoÙ{oû¥ÿ¾±m׺¥õ;}äÝFv20}íFGËnß½võÆýòè/ý:Ý6¿ævww¯qÌüüü|áþX±Ø±«·whg¥ÜVìíë%ãkS´ìܦ^~©_báà1Vê4}uÛùª
+H%HÑQFî½÷?ÈÐm»(t_k²]áµàûîÙy]52kyc9×®¿Çk¾ýsRøæϸj|êSbeeç\sûöí"²NU˯E8&Ü4ÆðÈÚ÷îgrç×Y8}¥X¾0$ÍêÄÝtöÓ¹aMÙ°o£wì#îèÄc¾Çë$êêÝ |Ýï_ÿä
+̳££c-<Üh4úC^Å ák?$8¢cǤѵ{+ÙjsKÔHmJP©Pêê¤ÒÛCipîõ#º{någ}öööU£Ó4ÍÎè@)ªª¯£<EtlÚHǦ·VópT*U=@Ò4m7¨ ZIßÂ[Å ßQ.WÍMɲ¬*QU VCß\ yïoQç»0â8Æ{¢$Iƪ*¬jþÖÚïúÄs8çnQè;<1«ë,fA WÛÙþ£¨Î½Å®8§ò#ÔEQTDäu¥¾K븵&rm{Õ53·Jþ¾¿Fk:¢&ÔUj½Ðâ_¹Eå´±wÖÊMcÏWv½Áz¡ÚÅe©î¨Õzâ°ÎB¡(ôT"ºÞŵÂÅþN¾çÃ^tÑÕ<5Îy1æÆ\]Ep. :Vùå<ce¡æX®*ÕFFú¼7¾1D1´ú[
+r@!¢@¯p[ã{2Ò4]åâãCE-ª¢ñÞcÌuÎ Q¼¨6"Æ3&ïóS.¼ËDQ#Ô2KÚye.Mè<'lï/²}S
Më"ú;4?ï¾g#IVO*Ð
ª*ªZg%ëÌ3ÃRÝqiÞ2³hY©)Íp^ó Þ{¬s iæXÉ2Òºgjű²1¾hY.²gLo% `ä8øF£Ñ:ÏC54mäØPpÖu¢4ôÿ2±`¹8Q¯êcÀ#SE|uJê4oaê,©s'ÔÊÌRÊä|F=M)Û¹sSJ»!µ¯ÏÜÉÝk ÔµkúF&P¯¨3~
+Y»cínäkLAxók®¾Ö`zßAÜ4%ü*µ/O×VsiÅIZSUÕ,Ë®1õP¸¼qnʱ´³| ñ1©ºü
+Õ|J#ódM¡
+ukh:¡VK8uÎÑ6÷Duy]ÁëZ¼ ®2:Ô£¼5üwJ¦´<&Qq8ïÞ$L mx³ùAÂQÿ÷<GÖî§BëZAL¸V%¯Eï¨Uk«V
+ÅFê¢z
+A5ke·@ KUerÊ2;oóÂÖá0ªà!K,ÒêRoæÂÕ¦%I-ê,ËZhrðdcÝííåÀ¼e`ò&t¥ó':~
éYÕ:^Sì¤2¼]ûÚÐO[[L|û½a±ÄÊô8¯|ê£ôoÝŶ·þ0ÞÙousú¡Î±|î(¯<ýÁð}¬»çîuÄÇ:@bqK§yù3_$ zÙøøèê(«9AÎ%B½ÌÊåüòôAú¶ÝËöGÅdG¹xàUN~í$¥ø+ÜÒç-øMÛ::6ïa¼QÇK >Ñ\^Q¨xŧâ#°(³ÊÔ¼e¹ÇAÞøHÈzÅB)i¦4ÒøÕ&ÔO#±8OµÔ&¦3.2ÜWàm#xwcß_!ÅÕæX<ùu&¿ÌøÓ,ÎÌÒ¬ÖðÖcâvâÁóÌÎ.Ãý0¼epõÌg½N| WµØÕ6T¸²³äXz(Ð\^äÅÿ»Þñ^v¾ý=¨+ sÅ vÃ3ZâláþîcÔú&Y
+Féxhîî"8 <éìYf_þG?ÿE´o}ü¹»ågßLÒzúÿ²ý±ëíoǤ§zù|ý¾Hçàz*]WÄU«³¹2íçÏs±k#Q¥D1È|9YA/£:@KxïBC½é¹41&,{G¥·<§uú]ÓÖyÒ4¥aZ"T«PK<,¡¾Iæëh¡³åÒô2&ËܾõúFÓiBä+§¿È~ÿ£4
+c¬Ç?ç[èìê¬A6_ý>ó,Mü·l~ìrûþâB³¾E ùÒW9?¼³8ën¦b¹¶
F
Ä¥2A_ëü #L ×\¯ª8¡JY¸ö±yüÇóÕ§¿Áé?ûwlýßz6S8ãü7þç?ò'Äûÿ%c<Ép_8pø°G%@L¨X!VlBÔC±³~ñß°é¾Gðåh ²¦¿ôÎ>ÿ"çghÏ^cÚÑ^ÁõÊvUõ¨$ ¥BZâ¹<±Ru¤6ïû³hÞ&³J(µÔRK¤!$©ÃgÞ5p¶Úç<ê-¢ñ.ÍTPâ1H0÷#ûÛ/0/;èÝñ0îÜÏÀÈðZ=ê
dlê Í,;î»(Wâú¥cÌ?ÀÔ¥ FBPè <¼¡mÛX·y.s9D0Å"vigúÂyVðDtï¸4±8§\-eâ |¥£_föôIfgð{)
+oeýÞ½tõ£Í&ê
+aÇ}÷}YyöN=õí»ûøÂÇ9ÿÜK,äý°yïF
+aÓÕ_S96Á
+ÙC&i_7Jo?þk2
*~SÓÇH^:KV[jïíi»è õzKZ$ "eêg|!¥ÚÈ¡Lòs¼Bæò¢¼@Xh¤>¯ýËÌ¢6!s5¼ÍHZðÀ¦çR¦*P07øñL¼r_:JåÉß`ÓÛal¬s i³ÐvÓ·ûºÚ8üâ2Y°WêH ¾Öæ;üUN~᯸|áÍZ¨ÔEyýiÒúã´÷õBÄŦKÔ/áü³åâcÌÏ-á|HÏù9¢ö>lbV`4§9s_ùç~éÙ%|¢^ÊwáL:é(Ñ
+Øu0rß9Üâ$/~鯹Xéé¾#þ43]¬{û/³iÏú;ÍæñåiF^
¤PG±¯¤½
+.AºÁþ¶s!pѪÞÒl6AFæZÎÙ{$BܪówHcêÎÑpÔ
+Y\:úø:iâ]>C}ãîbj5+×LºEUÄ70ÉqëXÃÞÝÝn¬àlr²¨.
x ³ñ½lësù)aà'©é?rö¥e¦åîûЯÒ7ÜN6Ký3ýÂgjläG6²n¤´Ù¤ù2þÙÈæwý0Ü>$óÌ=ÿYÎ?ûÇ.£&?©ÌÂâ«Ïqñ3À+}´mû OüâC*µ³Ï1ùqú¯B¦O4xû¿x¨½DX4:÷½å.fÎþsÏý>~¥>6í;÷ýðm´uIÓ7§Ì®:w¢BÐB|e
}¿{ã_½fÂzz:2ðCà$ʱUݨÑhäÝ)¼¥$1¤
+MçH4/ò9GêÎû¼èÁµî¨mâmwâRÄ%8V\~NßM0Bv,&3=½%:ÚÀ7¯ïåP#¥aò®õ¤@Zrî«ÏÆw°î¡w²þÎýt·. ®dé+ãîo¹mÏ{0#yÊøË>{îý`øîÞÐ8*îéüË<;ÁªNà½pQxø_1öø{Ùt{«ÊhCí
9ÎþÑ¿ô4?v=ímùX>Ãûhß´mwõóò_åÄóKTnû]û¡¯¿
+çi¢oªu|Æxqòo?ÁÒ
ÃhÚÀy ¡vò23Y=ÛvPîí¥·»+CçÎO<þÏæú짩úgÍfBdR`¨&J#õXMÉ\nÇB¼"Nâ]JæSÄe¾A¹OáÿoïÌ亮óþ{ïõë½{}ÇÁp ¤Hq))´¬åX#9¥ÄårìTâ%UVÉ.»lKV²èHÖF¤D¤` A û2}ßzfzºgz{˽7tÏ
$HQ"ióT5z¦·ûö;çÝ{î9ß9°QÂE"p=6%Ae!ÿk,aÜT±<\ÃÔõåê7uùÿU%ò¬öç o zûÒTÝÑʦ»¯Ã§\lK¡S}Û'Íü÷ð3Èô@C?Üb1íåú»?@¬4mYHt¢o¢^·ñìïAA2cÌ/ÄÉÜ°£ÚöédÐ1Ì áÃ9Lrò8Ó9Hñt"àØ·URÒÃ465ãª$oÙõ-±tÓD
+¾ý3rÄ
+ÇÊa;i\³·²ºÖV¼>±²²´R³ã
òpSt]R*03é>3H4ìex~má<Bä£\rФr
+
+£ÍF}¤6tQZ¡¡OjTUF¨ùG¶Õj fÊ(G¨x±ÃH¡dô
+¢àécI¨\p%ÌÙÕº"fpR
+4Í :PzØ 3Ëo´À²å&4
+äÖH ü[@[*wÁîÇÐç¶ÍÅÿÑ'þ7ºpW<n\&ÏA¯ßD<kSá@¡#1ð©)2³Ç8ü,¸>?ØÊø+ßbXÎRßöï)õ*<Ê.lwJ¡<^ᢾv°ò¦ÿöhÚ¾M¡æ{=zSûaùjñUáõh
SSSÕ
+½Àï×ç5]RVåéÅÁ@ÚNרËcx¤T(é"ÄFJ)BÐuJ
+ÂA(4
+ét4jÊýÔW
Ñ4í(ºå[ß[ß=ÇÌxòFèhMΣҽÀv"¬Ù¹ÏWاJ.¯,Ú²iJ×UÝÉÑU<Ð]blKɱåª^,1×V®BØùåª$ÍðÒº§_Óz*B^¼JÒ®^IòÂQFþtÛ:X·«Ùû ùóÏÒ½+wn"VAæ-tüB©Ñ~Jjê WÖãº
+MW
Jr«û H)ÐtêÎëiÞ°¥0{¡gngÉIE¤¬ÒÒh²´$Ú¥R8KgÇcç
+Ú
+Ã(_L§)¬ NuIf8Øä#Lé W8Hi¡Il©ò8*fk VX:¥#^5Zj¢èËV ¥(³ÒÒ*ý&g'ÆâÔm-¹b»PÙqrýròÛÏQë©ÝºHLC£*¨£\I<eÂÔu´PùH{-°ÍX)Q
¼¤\ñM7H@Ó
+µ²r¾Rv1àã³ ©J0}>6<ð{´ïÝiÛs*V<§sW£
+¡gþçÜS¯ýгö®»YÛä¸å8ç?K×?üå_$Z¹0IOqþ±X{ûÇ ×4(á Ü|ÁgZU¾TâäÒØÌçÑÌev²Ííç'ù'ÇñUÓØÚ>¥ëZ·(ty,ózÍÃë¦
+!ÁCm!Ú[¼ rÎ"e¡968\Ûµ?K'ídpD[X8ÒFA#Â"cg0:kjÙ±µ¶µehºvE C×_·Îo&}ütÿô!z»'È)>¿¿ßbúð³ûÆ3¤ä&ÂÛïÇë-ð úýë;¢äÇ9ù#ä]^¯G·ß÷mf/öãíøzd¥<|ÝærªK-N=ö3&ûgñú|øý^gcä§ßÀÉ, f-Eë¨Úô>F÷qL¯¯×YR§äÿG¾õMr9¯×ÈføÞ_Ów¼LåmlÞ³
5at3Hí¿CÃÎ=ø9÷Ì\xi Ó,ø>*¹pÑ1`zuTbLW¸kÐ=ÅUà5aid*´ò2ö³§ÏÊëf pAÓõ ¾¾þÙ¾ßYª5ËeÓ44±¹5ÊÌ\Óé4éLÁ³<B(\é¢\a©M*rA9hÅׯG§©¦ÛY·¦ÒP +¤(×%²¦î¤¹ï{¤gzyÙÑ:B¸9db¹®nâ©:jvßEÓMÄ4=ÀDiØ{'ã3üýÁIæª"ÔÓ¯ =í´Ý¼P¬"}4UÛö`I?çN0q8>×"Gª·ÉQ·0M"$±ÖÍ´ï½Ó}=ÿÞùN|ö\ϱ 5µ ѱ33ÌÜÇù}É
¶Ñô¡ÑØ^KاÈ[
+_í6êvM°8ró=èòx)¯{êH¶â3ýôþüÇØ~ÄðKÌôd)é¼
ÒÖ(é*Â\+iBÚH3À@Ü¡¤q
+n>Çäh7LÏLw§` {oºW'NJíÖЩ
Eby-MeäsôgI¥³xpÒÁ6tÀUVzCÙÂAsÁ |:-±7v4³gg±há¼^ÊÒÅõ6ão.çÖÏÄ<v®£sâéirB7 +(Y³êþ»·RÝF¸.nÞBTºý÷hñýwßã~ø ²é,ÞHµ·°öֻ鸿®áæ±M½ã~ÊØýǾIÏcÓ¸ÂGÉöãoý4¡î¿ Pd®¤tÓNµ¨'¿ÃÀÑóâî/ÅW³¶²Pö±xìÛ?ÿ´ßz;»¸SÚXÅ϶mAlýVvüöçÿÅ_1qîNû ×û¢Ô¯i¦ã3Æ~êIz¾ûÌ8ØF áµ;éøÄ}ÔoÜt1äJèûÒcF:`dp`ãZMá̾¸p¶ÿ#¿û .w){{û>HÌý©Çã©×мUU2>åDWÏÆ9ÛgjzáÚèºPùBËGä±
mJÂÖ6ײçºfvíXÃæ&Â/º®½~
+W÷ )
nͱgn||:ã¸(MÇã
+â/%T»²Ê~¿ÇFCC3=ä§Yée~6
m;Þ ¾X¥
+
+×£B¹²p0ýܹñó$§&I§2(åÁW½3\3~Ò&bë¶8~=:HÔÐERã¤Ò(!Ñ=<jÊÛVUãÑ]ø9ÆI
(o]GU{Ø6+°a8('ÉØÉ㤳üM×SY%H+ÁÜ`ɱqG 0Þò:bíE"xÉ¡ËifIR·e'ªZ[Èì:ucÇ¢{ùŽ¡ªäD}Û¶õæÝû®0 Çq7=vô«^ÓÜ©ëzÄëõÒÑÑmKâsyN÷¦xõÂg.²°Æ²r¤óØyå
+]`
+×Àôê¬k¨e÷æµìØ^O[KåR©«&9®Ð
+C_è® )+A!Z!QãÑ/é¢S¸]Äå
/J¡ºéE×VA
Ïèè¸
+D>·
+¯c\%yT at Q¹Å y|è
+RâÚW6É-$ÁL¯QȸKáÈí¼îÁS|}õ(á:ÅÆ
+ÏÀÔÀq]ã,ÏóG!J¡ø|
/üοûð}]Ó®lzãy¥Ôö¥ÄP""Rós[eÎuQN¶Eè38:ÇÄÉìô<y'K(꧶²Öú*Ö¶T°½³Íëjñxtß9é"lv6Õ×gñ®t5\íƽwaå/ý¬å£v:~°óWÎí2½r-«!iAµ×ø®N¾H´±<ÏÂëîÒëW|ø¯°ÜÏ(ÎshhT*µü^ÍeF©Ñå÷êi¦'uþü
§©ägt¯·¥´D"AI4Ç£ã3u*ø¶Ö²®¹äbéEl&ë:H0 at Y$DYiªò¡$®øE;oJüVÆ]eÌüQF® IDATÛƵÎC½çÍíêêZÝ!Tutt\D©ó@ uU hm]Óuþüùó®ë[\LÎd
BHK`hÐP¦©&RÄ i«j!¥DIÞqÞGb¾255ÅèØØ2F¡¶¶vº²²ò(0u êé*ce8~*·ûý(fgguåÅÁ-:O¬µ-é_ÎO½ü}ÇäìÙ³+È$`ݺu'ù:ihnn~L×ôóJI JÉd.Ùæ
+D
âc'¿+õ¾òßé»pp°"VTUU9û ^× óhd븳RJW)Åt|úý+ûS§N¯@Jévvv §À| o´ ÐÞÞþÒ' !nÖ
+½d!µ@2¤äÍr¿.\ú_{ø¯@^îÅÖ¯_ÿ¨Zåù_¦9¿µ°¸°Éc%(E<§¢¢}ØV[]'¾äËÂ¥Zw\-Ï-XVº®ëï÷'xääÉèE¨ìر£Ç4Í#oÖ rÀ_=þê§]Ç0t=bYñjjj¬¤Zö Axw:¯K®º=ÜøE9Ôÿ
Ë'G×t¦hllLnÚ´é¦i¯¼Ö7ìÌX]Uýý}ýÍÁPp³B1::B^!?é´b.ë²hÙ¸®ÂÓÔð 2i¬2)¾ßüéW!óóó¼üòËËØ@bÇÏ?½q¯k ÅÞAÿ4¾1·F4gK¦/´ËHæò6émË7ß4õ²¶ÁKEÔ$ÐñÚë®ïË[^zi9`¥-[¶Ì466>
+SJi¦©7m ÅAóyÇ}øÀ/íÉfÅƬ¥
3NÏB 3C)/
ÇÊK¬ÆBVÑ5lp~ÄÇukBt4ù©©2y¿ÜÛ/§Of¸Ø\)C·ÜrËÓÀMÓæßò
+°$3óÎ@V¾È$¾ì*3бÒ#A´ øÄEs¼8®KFº¸®ÆBÎ%±IÙÄÃì%ÔV\AÁ÷¾¼eÇã:xð ÜîÝ»{7MÐXÈ>òâìcfÝ+l¡y¢J)ìÔ(Fdc¡Jh;ÀÕ°\
+GJ2yAÊvI¦#û RazÞ#÷6¿òÂ/,·GÁf;::ö¯h£ñ×|îºÿæ| ÜùUChG]á
+)$ÂÊIõw$¶ia*råb»åh,¦lúGéf*Ý_ïnåïß¿x<¾¬üÊ
+÷C·}èÛÀ¯Eù×¼,%ÅIå¯ø¿"=Ö*ñ6H¥y;«û±UEBØd\A:¯
+EÂEe6)¸Ð#8Ó¢<à¡6æ¿¢6ð
+±gHö`èä1fG§È.¤hèÁrJZ¶R·í6××áõýòâéÙi~ã¯hØ|ï}à-¼Ã½Ç9ô'ð¶ÝÁÛ?As5°}Àjö/ÿãdÍÚÿÍi,%Õ}
|j]¿t5N,Ò; Í2ÖRÒPcßwß}G§×:»7e _øhµûÕÇ'~.ôFO~V(o×ÃB'ãI[l^³à]åAÙX n).ö'iªöQSîãµã>6baéìíafrl*Ï#¥DK/b§óäfÓÈüÔoì Ô~)¦Ks~ßÑ4í-´d2>eó5Qz÷6Ê£+íó©zþÝèe´J
®ÅI¿Ìþ`y=UkÚ
+¤Ý
+â®tDy6¯Ýq¡±±ñaึÅ~»
+ à÷?^þìK÷ó\ëR©¨-&Ü,«lÖGÖ[¸H[+pFfF¦ì&þZËö±xá§<ÿà÷%[Xÿñ/²cëzÊ*KÐì<ötCÏ=ΩǾÊì\|9»>P¹L÷¶nº?\é¼Åw¨ Òzw}þ×yñÑè{ôK4mü¾PÀ,£Çösð"|ÇgÝ÷Ó+`û¤2ñC\÷©ße×oü6ʶàGO>É)^¿R6l¹íö}_Ó´o¾ÙÙ½)øÆ´/¾A$ôö¯Üs¥R{¡GáwûvØ^Ì¢DÍup
@H©l¦g$ñÙhñÜu?KÏSHWÜAÃõ·Ò¾c#¥áÃâàiÞJã®I´ìzâq²Cç`×-¸4ÙñÓL?À`ßÙÅ,f°PëÖlßF}kírìa)áæ̾ú3Æ.v3Gâ#¶õN¤áÇqÄeäÑ
UjæÔ>ÆÏdjtaKÌH¡í´ß´ªª¬&²ý·XÛÄÙO×#cÜw?·×3þÔô:ÕtÛn¸öõ
+åà
+1¹Å4?ß¿¿Pådèh at KKKæö»nøéêøÍkû!XR>Àß~±åüoþyßÿ,q/¶â:®«JØĦD
+ëk!QD+é2;ç0X\jY¿:è°üãäÅô¼:@ôSÿæÛöR^q¹WnYw=yı¶.V¥#lÈ?uÞKb[oc*
&Bå&51|g
¾Wé=|±q²Bêdm/xB¸V}5 3zÁCÏ1Òut¶öcbø}pè¬ð
+L`;M»îÔ/>{áRÒè
+ùÙV5÷~Ö
+Í+ÈA)\É$O=ýÙlv©!/U{ï½÷9à1MÓÎ_¿ùål«%³¨÷¦UÕÆô¡¿V®Ü¦\¡òÄü}L-Tà¸GfA. ©3]d.µp/Û Ð|æéÜ0)ÓdíÆU
+¯á{*¡î×é¸G¡00GK$óÌWè?ÓÁ;¸åswSÛ\5ÝEÏ÷ÿï>Åhz-¼»ÚBK4ëÈ7<vÞùmlùøçØ´«-?Ëø³ßæâ3ßAs/aê^8}Áþ
+݉
+_÷nÿÄ"Reàé¯Ñýãï3yqþãñtÜIC¸Ö?bâ¯óôX3DöÞÍ÷lÄ4õ+¡ ¹<Oþä',Á(Ey,Æ=÷Üó®ë ô½UþBæ_iÍÌfÍÃãéò¯J?먼r
Gä©b2r-\C,ÃôH¼W k Ø#¸ÎJ3¨(õS¢½Öù\#ÇÄô¯(æ39.9ã/¥å®»¨ZÛénÞHûw0uäIòó+ȨÁÓ]LͲæÛhض ¯¬Æ׳fïvL¿ï¶2Ócï%ºó&Ú?ú1J+Ë0ý*¶ÝÁÆ_û¦1ÇL×>EòèÕF¬]ÏÆ=uúSÄÏàiÛMÙö½ËÊ¿ÐÖðU~ôoqæ¹0øÊó¾ò<Óg^R¡±SO¿ú÷_þÖoüÅ MÓ2ï úÛíùTÖxb"þ²-¬Q)m¥\2G]hA¸97TiÊ#%~®ÞЬE t
+|ù&ÏçyKÐ=ìn`Ó®&¼Ë[wÈöûiAþY¸§Id½lùà
+T\³éÔÝúëjÙ ÆI¦gI{ÖGðHM%3ÊvúÓ9+4_À_$+',! ú2Nkõ7ÎÐ5HÎÄI÷í'7Ù¯*S§çÎúzÿ¡gþéÿ£_(°ò¶ä^~èÖÅ]¿ñÔ>ÇTUù?QBlq)t®-¢¤AÜئ¤µ,B}Yà*0o ¼õ`"ä8ÛÁÞÿí*y¡Ó ì
+£©Di%hbTneIw4,%~ xitæ]e¬Ý94×áâÆÐwhEÐCa¿Ì
+âo¿DΦFAxù»Æq¦óÜNâøtÞµ®dȧ¥ó+å'OöqàØ(Rj6Ý@mçVÊ"An½ù¦gb±ò¯KkQݽm1Ù#ß½7¹åþÉeüðÂÒt{* R1Ö©,P[.^,uø@ï$ì¯%*N11¥´¢W
+Ñ@æç¿@Î.c˽÷áóè(L$J3\N¯,Ñ´
+ÿ%ñS¨ßÏé&ËHùl!\áAi:u;n¢²¹Ë²0ºÍã§m·¯¶
êÒÀ%Æ:{Þz9s;M7ncã®*äÅ¿"Ùó§ÝÂ
+wßDYyýû÷sáÂùÆ
ÓÐÔ¹ç{F£ßj¶øvèím
+Êyä³>òµÇû|Ãõ¹¯z=î&)ñK
VêWDýk46 ÛЬè=¼ª5ÔW8ÓG¤¼ÆU
f«Í%5Àb×9ýØ!r¬¿ã^|>ÓШzp,4(n#6äád¦Ñ£Ñ<+VU[êgNäLÑØPÊ
+a{ö8JX«N)kѵ
+~/-wý»n$x-LÎ \IYY°¸Ò¹`ÑóÂÙßMì×¾BÛ·Sß ðÝþ
+'~ïý?üaü³ñøÊv ª*fî¿ÿþ%ïĵy¯EÞvN¼ç7Ü~K"µ`¼1rÓp-áúMÓC],J[õmÕÄÊb!½bÜ%HX$Áãüsϲ8=¿ºpUeß1ÝÇøOpäáGHo§öæϱ~K#GÇ°æ ýé¸`d¶¦Î5ø< süðoè; [s?»7QR^¸?Ã/á,Nqæ¢h¬ÊÂëéS?¤÷ÿÃPÏ4u[obÍõ{ îhÎ
Cfbؾ&g~1ÉÜÁ¯sàߤ÷TÍ»öàõÅyþcºÇ±ªïâæî eM
+`ËFd.͹ÃÏðBש¼F¤4 j\b¦ff>öÀgþ®¾sÓÿº4M˽úú¥`°}Ï9³ÏMk±½Ý¦!= µÑh ÐÜPa4ÔYX Lðx<W qçÆÐródfã$/2Ýws¯0qê=C,fÊ©ßû Ú÷ܦ¡+BaÔbòñAÃ8yá3ÝP¶[µCØò 4/ñ¾¬A'ú:ÿ
+ÝýÌ'¢aË
+4ßxK!0cߧgq¬ôä ³}g;ú<#§3
+iÝNëu;ðäÇ8ø(¯>þ4nå6Ú>útlkÂ(&æ]^9{áÙIægfÉç\|%x{s½8?ÛýRúîºïì¾ô¥·½ÊæWîúWýÊïw® a]KU{EYØ0B!´¶¶^É,]8ÌðËÏsöÀ+LOL±É"u@´öhÚu»¶RRq¹ zõ1ºþ.}gH/ØøJjn¸
Î;îbËM7^aùÖìcû¢ëÈ+
+#NåÿpMÓÏü%[ïû$;>÷_V¶ g¾ý==^`xx
+iÙþ¾ú-´ä3´ß´0dþ==ûåà ø,{?ù±e7óÄEW²t8ÀBÖOî»z ùHEþÌÃÕ»¾ôÍ_¦n~%ð×í+ýÀöë²#_̦o7#*RÅIA$aýúõÔ××_æÒ/b',&æ±ò®+-Z}xÃ%J«ECèÆ_ÃÉÌ$³Åu%ºÇ ®,{ntr\&BÃ[ZÇÂ&\QI¸¦é#ËÏOË3hÝ%\UO°4©q²8©pM-¥åpìØ1fggA¿.H°¦¹mö¶{øviû²Ç½Ñä{Ö þã~Gû»ÿù)°°÷D"¾í½½}íïï»Ó±j4²Ø_×ujjjhk[K,ö+æ¾VVð·À¾Z&''9qâ8ÃÃ#«6AA(Zؽ{wOÌñcàäRVïÍÄößõ¥ØyôèÑ?ߥëZ
+P SÔÖÖÒÚÚJ,ãLNNræÌúûû¾â@)6oÙ2SÄð=Ì5"yÞ³P¼ A µ¿¿ÿÎg2-¦iFtM+×2a´¬i¡®¶î=©øÁÁAÎ?Ïèèè¥w|ñ¹±±1¹cÇçèÝ#À¦iÙ_åßQÌmÛe®ëÞ000pÿèèèL&Skx<¡"Ùò]
+hjj¢©±@0ø®Vz:¦··/L&¯PºÒ¬¬\غukOggç!
+¸ýcoÞýçj ×ëU ®ëî¼xñâg&''ï]\\¬Õ4ÍS¤³[6¥ ¦¦úúzêêêiPßi±,¡¡!
+uy«V±ÕÏUÕÕÎÆ:;;~ºT±óËÜãßÕpÙEhÖ4^¼Øõ¡±ÑñÎ'çÛ½^o9ªHn«V¨ieÏTWWSUUõ¶^ÌÏÏ3>>ÎØØc«1\e©WµµµÓëÖ;ÙÙÙ¹8#^¯7÷N_÷w%ì5ÍùÐððð©éé5÷ëîÓ4Ý»ÔbµQøý~b±åååQZZzi\áÇqH$ÌÍÍÇ&Í.ßÝ+]aûýþ|[[ÛÂúõë/;sÁùwÓµ~W@.[êª5ÀÆîÝÏÄ÷ÌÏÏ·!WsªV/½
+E("
BAü~?>Ó4
+Äu]lÛƲ,r¹ÙLt:ÃÂâ©T
Å
î'jµñ·¨âg{½^Ò
+
+
+çÖ[÷\Qéç)´e¸¼>ÿ}¸6(z ®»»ûúéééDb¾)Ë{<¦iæ¯puãXý|ùþ¼º6Q]MÉËǶåßB8¡p8YUY9ÕÐÐ0ÐÑÑqè&q`tuC¦w£¼'+õr¹\9Ð lH¥R§¦§6¥©¶ùùù`24
K«ÇR+ÐPM¡´¢25ÅÊ^]P®,°'-J)%ÇeeeNEE¥SUY®©©é.))éº@W H¼®å{Õ t
+YÞÕ_q
hZH$ZÒétm.«´,«Ä¶íã8×u¼Â¦ÂPJéK at S]×¥aÂðxl¯Ç´¼>oÎï÷/ùp$ÅbcÕÕÕCÅ;{¸ølÎêÇ»m#ùÿõ®SÂÔ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_artifacts.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_artifacts.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_artifacts.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,179 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ 3`»{ IDATxÚìw|W÷¿gfnÓUï]¶eÙm¹÷Øé$qbR!$, ,KÙw+KÛÂî»ï.,%@hBzâÄK\÷n˶lK²zïºýÞ9çýc®d;¶!fr>}$Ý;sæ9Ïó§üÎ9Ïh4Ê»¤y #
+&)J©j¥Ô)e¡R*[)©ò)©<RIÐP P°8BÃB^!D³âÇãiÎÎÎîÆ?±wÓDSÓñw*íkÛrm«¥R©Z%Õd%U1¨,
ðÊ0Jã£PÎg'¿C©ä¯ó¾WRÊRhBtkºhÑuýÇãÚãóy|G*@wwÛ;æìX,~êV)åi«LiJ](ÔñÿI
+~\þ7¿q)eP×õQÃ0ê5M[û0üRwðÙ@à)å½eÍUJùAé 4±ÎÌMÎâ¤t]G×uÃHþ¡i:¦¡iBY.¥Ä¶mlÛƲ,,ËÂ4M¦iµ o²ÉgK¥
+Ýn÷Ã0,//_Tè{
+ð»µh4zM"øiY+PªÐÇ
ý& i.kâÇ04M{[RÇÇâDcQ¢Ñ(e] 49ÊÐéñxv¤§§?·57¼§ o¡ùC¡ÐeÝcYÖ,!DÖYaçËÇíÂíñ`ÆÈx<N8!
+/PÈñÿmÛq»=ÇSRR~]^^þs ü\< K÷Ù¶ýÛ¶+vQ¡{Üx<·mÿomÛAÁ Á`èeA¤2îr¹ÚÜn÷w¦Núücÿ 7ßgæÇ¥ÓãÍ&U×4<^/]×ÿ¨Ó4cttx<~6>IÆR*Ë0ôÓ©©©?4iÒÉâOR<Hä&Ó4¿`ÛöB!DÊý©ax'¶@ ÀÐС`è¼Ô¶´#n·û@FFÆOb
+ Ì`0ø˲nÒ í\á»Ýn¼^/.ë]P
Ãa;J&Á[ÚÁ´Ô´
+ÕÕÕ£©Æ»TÒÃð[¦õR¥ñ>ï]#ø7·P(D?cccd¦u¦§§ÿgeeåc@àݨ Á`ð¶eÝþó|¼®ãóùp»Ýü)´ÑÑQz{zD#ç!¶mý~ÿºY³fý=pæ]£ HdeYßR®s:×ÏçãO±õööÒÕÕõfÁt¹\©©©YUUõê;]2ÂáðMÓü¬õ&sòGÕÿ¾[4¥³£Ñ±ÑóÖ,,ËËÌÌüö3þë÷ "ý>
+=bYÖ*>Î}>^¯÷ÚùÖ ½½ý¼ØÀ¶íhZZÚ«µµµô½c@)U
+
~fK{9
+ý\_òGíÞ9AbÖÖÂáð¹ íñxvÍ=û#aùcW H$Çâ±J[Öà |©ßïOÊo¡577Óßßn(
+Ã89iÒ¤Oæççïz;SEÑÖÞô¶.%×*©~¢ÔY¦t]{O²Ñééî=o¥SÓôÖ¼ÜnyÛ ñäa¤f!ÐA
+¤æ¬ré lÀ aa:´é6
+MéHMúuÚ¥¢@¢Ð@BFò:Ð¥Ò, I[³ÑpúÔ,`Fò]éXÂD(@`KHÍ¡Ë ¤rLWçô
+(i`i³}»¤BbJH%&Æê vJ(4t¤JÒ-4PÎ=ÐØMBÃÂáì_Ó#4g"Îá3V¥YH¥¡£@éIºu4©ak&Á@Î~
+DÉËÉþdaqîæñ¾$¡4¤fãpHN|f{bì$ù=qÔý-èXÄrÄÀ&@ ¡¸
Tå!LӼƴä£Àd©ÐTRø>@ÓuH¥·rB¡,$ÉA$U ±$°hGt$0p!±ÑÐÑ0±ÐO±ÑÏØ6:
Ba ¡¡H p%9á HKÒãÐ¥÷èè(Ì$°©üO¡IëH$` #Ñ°±ÐÐØ\D &6.
+A(ãTS#i%ã!ª¥´¸àåee[m¤Ò³«Íá¡Lªä²Ã{
plIhÎ"É>t|.."yÂFC ÄmsyÜR?P©£öðxu4ÝÀ¬äCm6
+p¡a$í#BÂÂF%¯µÈ¤ sè±H q%.Ð1УÑ1P÷T
r,nÒQ ¶0'Ä}$yb!¸ÂNÚ°±!I¡¤èÚ9cUHÎFD\
T"9A¹HNFIjZ*UÓ+ñz| 4 at h(QÙÝ;ø¾þ¾åIûT°ä*dRyô$ïZI9(\èó>ïè
£\($2FDKvg¡Ôøl° ²nýFNn¨DÌ'ÇÓ,tR<&IñºÇ¥TÂð;Ô0Eb¬ %ÐpÖFuá°jßÞ¬o`Êr°VÂQ<+ILt%°
Éï$J
+Çý(g6 4°JÃ&zÒI+ξ¯E)ÈËGb£ÉÎMè@nN:>Ü t¶ñúÎ]é%¥ Cwl(!Ñ¥-$w
+I$TRMÇ8|à(S«ÐJÊÀ±"l4e ¸
+©éé«;³±µk+5mCvFÚ&DRÁAHK$IªÄHÊ¡··M¶R[f
.-¤²Ñm
+[YhÒBH¡ùkS$R1eý¦Í)þô¶Y3Ô×ű#Giârck6²0%Î~[i¡ÙÔÀ¶P2¥,KXHib+l¤F<#;(P¶¬äÒªtfe\I°&&ÂÖ&J!
+©0 Òræ°-±n+d¾hXòÔtva+n+P6piP
G)ÂĶ8º
+[ F#å±--PÒDX&&¤ó¿!¥CØ&Û)Ù´m/{×£¤DI
+[Ù(e¡Ù&¶´Ðm©,wÊÆëq12ãGrº¹`8ÊPwGͳO¿ô³£õí¶²Ra* 4ÛÀÄ¡¥q´b°o
+6322á²½³¦ CB\X¸$X:èRa9ñ.éDôà²eÆâE©2yyqafÅÆ8zô/=»êO_
+²kû^Þy¡iOÍwÞ@aüâIèdFF¤h'îJ§2/ÎÖ1®ºí~Þ¿¸ú§éìîáöUïÃؾy6¢i:¥Óæó¡Û¯'Ã+øÞ÷ÊÎQ*r$LZÁGV/&ÝаµC½M<öøô" |\÷þ»¹nQ?úé/hhdr¾Ä.]ÊHóÂQµ70½ªüâ|Zê°vóCqêÛ¹vÕÌ.ËãØñl~} Ó"ÔÝN¶ÑÁ6~úógè
+£åï»Õ+§AxÍë7ðƱ&Щ¨YÀÝw^Ç];9rìR*Ö¼ò*7ßr§^_ϯ·Åþ2îýð=LÉt#50¤Ä3¯o¦u À¼%+)Ép!MK;sêôò¶öæGfU}t «alýº×hèAKÉæºkobñ¼Iø¤¾î
+^X÷ =ìÜ2'ºRÍJÆe
+[)°%RJ
²,i·-b¶
iÅÑÏ322W)ië¦m£½#Aú»bYqNÙÏË[ö2}É
+n\¹þæì{½¸ ©P*HÞÜ+¹ye©^ATW3ôTc;7OÄ°¥
Rx"α}¯³a÷qf/½÷]1¶úݼ²«
x4-%(å¯äå¸-H"1ÖÑGáä©\wõx8v¾aÛ60¥ó¯äeSY}ÓJ æÎ/5
V6¬Ûʬà¦÷]_
+ñÒº=ô
)(Îgjåd\.+Çtô[6ë®^AºWrhçFu»Þ`ë¡zæ^u7_==ÜC×HêªJ
+óÉÊÊ`öjbÑ8ëß8'³k¯^Æ,úzÇÆcÑ8ÑXD,ÎήX8»Û2&WOÕÓÝÚª£G꾸íÅ8ñ²jÕÌ,¬Y¿æ~FFyíå
+2n¼n%¹Z§»6F<G]jÄÑ*,.ÐHÀm»05¥t¤dÚg¥mû,[aÛ&À
+IÌs¢{áIûéãôpã{I\U¥,<nËÌ$U@ZeóçqâÐ1¢ñ ¦í.
+
´mNt E9YG;6á¨IÏ©½KoC)>Vίū)¤0
+¤Ìt¢u'h M(|V¤øÜ\±`~
+Bn'ãÈÉÉÂãu3ÐeÓØ%6ö
ú3¨ÃJ,&3=T4¡QPPT_vñP=§GÃã+´%'úØ®Y2
+¯LeµÂ¢ðjø½)H[&%+ײù@ûQ@×@*¤©É]E¥©éiÐÞÖmÆ.o`xø³º£»g/-xµvVÙÙ[÷?Ch´PJ
+C1nZ13§¢«oiÇRq)¹2èJ¥ck&Xcâf¹Ð4»ÒRúwmeg(ÀÅ !<ØMVùB°ÝäzÝø3ªIsYLª('³°ÐÛ& U'É[8"ÂÉu©©Sä3ðºujfÔbTO&¿¼l"¥Ô4
Ws,]ºÂÉsyi+}JãÎ[¯ã¥áAÀÙM®4tÀ¯w+jc.·$Û«SX^Á´ÒFQ¤ËKº;M(téMÒ1Q¬Yû:-£aîüàm¼¶v=c0Pä38´(¦í2çfø\@ÚDã |^ô¦³lÅ
+ä¤ÆÙµn»·¸¨¾g¶ftä°xJ>§:ØV×ÉS²Ñõ8»ß8HÎJ¦åedùÜßí$nè
+ öu`x30\º¤0E§{4Êp`àHò,Ô1t©c {y¶°Ñí0_8 T©ÙéRêß²dÈ©ÓMléi'#]9¼ÿÆZ4ͤvf%->\OW11YTXã$8"rÎa
+1S at 2Û·×ÙÍìyÓhêéáPÝ Ò
+±àÊÉs&²Ù³À¨À2ì@qA:'Otðòm¸£!¾HªSëH]Qíã`ý1¦ÌŤìlV.ɧ;
+É«Z%t´´
+Ìd?ÅùYéèåÕõÛpF¸²óæWÑÔÓË'"U·FµW;Éá/otu²çè V,EWK3um{ÉÊLcÌö0kRJ8@I9T,YÌâþ!ê·£ý X`#«Üô4M1yJyYCGË7^xªÿ¡h(·tee
ø]&W-eÝÁ<×ÛDñj&ÍMÇAH2. 4¡JC RG )Ô?c)þM ý±ÅàÐ ÁâvÝí!7¯Ü4Ð(ÀÐ ÝØRáKÏ`Jy9nMq¦½X0Juí4 NnÄ¥¹ZUNcC;¶²¨VEsk3Ñh55 tÑÕ7i»ðgfQUQ¢¡¹ÓLP3½:¤X$rlãmýè^?Ê¢IS§Ñ×ÑB4cfÍ#³}í§éYVUB4¢«»±ÄãO¡´¬L ½£áÑ!æ×Ö"xhÆælͦßJP>m:ºÆp_Ý}Ä5E^^1¥9":ØMc×Ùy9ä
hiï xý~**&êNú&$BjH¡ ¢¹³@$føHÏJ£¯£Ç¯e366Ö\®(TñÒâRâf$@G{'!Ë '=ѦNhm>6î¤4:4lWTªN)QêìlÕÐu]Ô¸6.¥9Ù
#\Th¶
+
&urN6
+%2i^M¡p)- ¹*V6ta
+h}83éB%XBéÍB(IBÙhÎSIEB%ó&l¬$ݺұP8B8R· ¢4´ññ&so.CÂVïä÷.uÖb ¡Ð¥´Æɱ%Ý1B"4eÎïql%ù]oO?íîÂдÎEçÏÖ
Q8|MHΤV&¨)
+ÑÓÕê] ÙhIaÊ$xbqõ}7
+Ç$éÛ\©ÒÎ2UȳDksÆû6 +y¡´¿{pªÂ©qá&uîo¡Ï;+hGºÔ±5ÇÈú¶ÐvnÍBW:vRt¡¢Ãë¼g; C·!u¬$=ÔqÒ=>©Ïq !ĵ¤GÒ@3Ï
+\¤DRXö9üÑ[ÈäúÔ?ÍððPÒ©JRSÓ^0oþ;~.
+ïí 9üÖåàh$r[,ÿ¹@dééò;yþØZ8fçÎÎf¦2¥òÁ3f¼ôîûmk´¹¦i}HK®LãózßþaóûýL:uâD®i½½½_ rWÐÂáð}¶´&m(¦ÿÉnà|'´)S¦6!¿H8¼ðð¡Ã÷ý&9ÿ&H³,ëã@ÊøѦ÷ÿÇßÆ
+4]Oü8ÎáËS`0x-åôñS,áúÙ·ÿNnäååMEÇãÓwîÜyßå*_JùÆxÅ
+ï½]¼ï$W0QE#|ð¿e
CÚ¶U1¾=Ùív¿kk½[vv6
IW D"|ð*@eZ÷ðïåoÿ;¯M<9C(Ð<CCC÷àTQûÍ
+F¯±-kRhJ9'xÞýïL+çlh`pVCCÃ5¿M|DâhZÖxð÷Þìç¶IO]ÕÕÕõ¢[TlË)Èã9Þ¡ÅÞkPXXHªß?qÔlltl}I·*ýï ÿßÊÊÊ&b
*ݹsç-ç~Þ!=)å½>~Bõ7)2£zÛë@J
+on)9e¥èÆ[ZHË/Âí¿8Na{èë"gJ
+^¯²£´6¢gy騫GZãµtRòËÈ*«ÀÐÅ»^ØÊNékc¤¿i*Ü
äçæS?^½ôX4z/ðèÅ,@¶eÙsÇ
ïr¹/ù++L×îg9¶á:Úi9ÁñçÄ©}'/àëa¬·óßÛá~×<Bã:li3Ú´#k'8¹ø
+ÑãìüÑ?3ÒÕN §±FN=û=:5¼û§ºÔ¯çðóÓÓÐÈXW+];_¦ùÀ1rró'Ü@ {®0Î1ÿw(¿µ¥ºº£¬Zµ>+ÜÓÅ×O0åöO0eæd4i2zìyN×å³@Y´o}ºm[ñåMgÞ]]\ ØìßıMëPþrF{z¨P ë6S÷ê+ÄM/Þw7UàÉÉ+¯âàº_ÿ
+ϾHÞÊ(ª(º$\>?3o} Ø1_ú"C
+{4w:ëÿåoÉòÇM»
˦Qÿì#ôuöW{#?pB1þâÿÒÙÜMöÌUÄzríç¾Î¾_?{ôªÚÕ73¸óYZO¥Wþ9s¯GÃö$Ú÷Ð×Ü^´òÊÚ÷¬GfÍ`öNv®ÍÿïäeGén¡â}@yæ~*Þÿf.®;H󫿤~ï!<ÙõQTVHÃ[ ÛÀpHcê}ÿÀÒÔóÆ-mº§×à¿æÓÌ]QË¥nàôá>
+ói:ºiÛdLòïܹóöÍ?a4)í[Î诽öý}ý|ò¤µµõ¢LmCf¥QZ3 ]ÃMÖ¼{XzßØòSN¸ñKßgþÉìxâYqÑ£ë9y¸
þWÍÃ:ÀHýnö¿°ê{¿Ìµú8;¢ùÐ1f¿üNªgæ°ñ?ÿ»òVj¯þ̹4ô<HoýAºëvÐuJZ2þ®f
+>ð%®Xµ¶_~ WÕÜü¥ÿ&GaÛ³;è}úKD
+®eÕ¿IEÚ)[ëm;Blæ=\÷ð§ÝNÀ7[þåÇ\û±ûi|á?QJhàÌh
++ÿú䤶Rw¬ÅùwJJ%]{7¡¤ëÌa2®ú7|æ~>þ¼Ëâ¿ú§ýP¿þN¶ëÜôå°èúvþÏ·áþf2æqÍ¿Byqê
´ÞMå³q¹
+"-Çé[䧴¬3ÅF7ÝèÑðäZ=cç®(úúâÇ?þñ%ÌMMµv¬Ç¶3ÓÞ¤råR\nYsn@4§¿'DîÔ*RÓý¤M]BFÍ"À&4zP"H÷9õÆ"£ttcKÀ ´l-FÜú͵m3AwÝ:±ò[>Å䥵 øýÊKs14Öî8Õ+磹S)¹þ~bMN5ãG{Ã
+tÃGÉ
+A3ÎÆA5ÓÐAñ¢å¤8úâã4h a|aõüi¸R²Ð³çSUS/-#»l§îSzv:eU¥ùËñ§§Q9#wB=Dw6ÄW~N[C7Ñ£t
+Uù¸ÆÅà;DàNNÈétÝÃ|;"3Ý?h`pÉeb ͱm;sñ¢Ålß¾þ¾~ÒÓÓyà.nfýH¾B`87/ÅaüÐv>³
åøºÀL0¾ÙSJ^z¡OÞät©E¤× þºm44Ì¿û4=ó(-¥eL_6q #àJIeÞ>í¸7?F¼O`ãåvDr¡K³Ï~Nsâë!NmyVLEu
+nÓϦÖnâëßL¦.ÀÒü ·t*9%% ,þp%ù>Àøó/ÑDÊBÜ_Ñß6Bje¹«>B.0Ôzd§¥284ê@á±Ìþ±Á9`Ç
+DZÕ´*®¼êJÒÒÒxôG2mÚ´>,£l*§jÔ½øSºêé;¶ý?ý5vör
+*k'ѲmýͧhÙô,¥²éeÏ ëØQ:v®eèØ>:
Kð ±+Açîõ÷l©ãð©ºñnÊjS{ç}4{ÿuÌT3§£/¬a°ù8§_xÜe÷0ïºìò)ë9ùÌfâÍéñÐÒ?-Hó>d |j6yL¾Üé¹ÈÀiNo~ï[È`4O6óo]LãsߦåÀ!Î aíEch.
ùDÆF öëkKë8Y·Tпô¥/y#ÈÃRÉÙBrssùÐ>tÉ @¸RÈ<#>Dçá=u÷Y{s¯_nèxªHuiÚù:¦«Y«nÄYJZ¦Î[FüdO]@QõR'YIoÝNÚ{È+å³ç8½×äT..þ¼BÜîcñ
+Êò/êâQÂß4³(¬ë¸ÊÙD[÷Óyü8þi×Q{µ©¬©0|κc¸Kl`Æ
+·È2ÃIv~¡Ãô45a̧´´}êl\vn)Y¹Ø8ÞÌlRsf·?ôR
Õs. Çù{Sgà¶iÝ¿PÄÃôÕ%+7+#5·¬KE#½´¬Lý'÷ÒÛxé/cö%-;¬Â\ZN0ÔÙ×H/28oÉÒE4-èE*¢Ü?33óO89úÓÿkÙ=̨.`h÷÷Ù³7[>ß»bl{öì¡££Ã)¯¯ëîºë®ÕaÛ²x< {',ü¨ð!ÖþÛw/øÜ7éV®¸o5Þß½Õô«°ýÉoÐRPÅÜöG5öPÛ:¶=úì§ÎøWß·ò·.u´·£h4VdkC¡Ð+BRììì÷vþ¼KÛÀÀ [·nuû[vtÖ¬Y«iNï¹ßkïÎ9Q¸K×tïàÐàMIYÓïÒùÃ4mÆPR1cÅÇßƦ°qÌX3Ŷ¬poÌ×´°ã1ÌX+s
+I\Oqõ.ÀNÄ°myòja%âg·^]µÍ8ÖcXñèîUH+|Ó8ßjç²-¬X+qa?.äê B Ë´ªõÏþóK)kÆkùýMb°A IDATÁvþÆ[Øñ½ÏáÊIzN^^Ï_ùgjn¸pË~=÷¯¥iÏVɬǫ´ù½r69é:ݸ¦m¯Ò²w'cAIVi9.×[[FØüͤêÊU¿ 1DÝ/¾ÆS ÊfLC'Nç¶q`ýA
+ç,À}dFYao¢~í3Þ¼[h?ÝLÎäYx9Á+_ý$eËïÄív/|иîËô¶_5ë²Ùùâßÿ957ÜIÇÖ§ØÿËï1:\DɬҮëíí%R¸=>C)U8nþu]çäÉlß¾{ï¹´ôKí&¶ w¢õà^â1Aní2J¦W£¬§7®%Åo3Ò3¯xå®Àï¿|·râŧɹþ!ͪF&ÆhÛð]Ú÷S»¢%ãtÕsK6¾Ë©åþ²r²tÖqìå_3Ø:²öÒ¶ç5£aòf^IymMû йk#Ãc¸ó«Î]¢õõWêÁSFÕÕ7áuçR{ÛÇØþÈ¿szw¾íîcñ'þ¿÷âJ6ÖpCvQµúAÎ
+Ò´æ¿iÜ{
W§¼e>Ô¿öY)!ºÛzñU1}ÅUèsvàÐët5ÁWE<#ØÛÆáMHÉ-¢èÆÚö:mYU¨I)³Ç÷þòµ¯~Ç~ö_ûú×.=yû;9ú«ÐóÉ+ϧmýÏè<Ѳ÷Å'ù)¬]D¨qÛwünþ*ÇCËçiÚ¿pL§ìOR9Ë9äbn y©¢Sûö2uõdçf!øKg2ïÞ¿ ¿"eÅéXó]F^¦O§sóOi8Ö@ßÖÒÙkSP=ð¡''Ûþü·9ub9Þ7Ø÷ÔgräÍ`Τý¹åõ^cÆêûÈÍ»µT1ú[öã<Òê*ýKÍeÚíEõâéÅÓ¢î`75s±_ãȧ°g¨îEï=InõlèÝ5Ö;5´ÂRò+§î½x6ç÷ûÅ&eekÎëT/¿üå/O,Þµs_ùòW.®ÝýèK(r¦áÍ)ÆFóC$¤"§´Úo¢¸v!%ËÞO¬÷È¥à$.JÏ:Åi÷ÿ33TÑñúãlúêÇxí[ÿC0à,w>¿
²»®³9FNÿ<XÙY;ÅmÙ´é§öö»(w5S®¿k³ã(³?x7ÅsV0ë¾û{ÍNìÞKùÕKñøSÉ_| ?æÐV4ì<;µÔ¢ßÞıâ¤fz1ÎqZJ>þÜËObÌÿØG)»Ú?ûms,éºe5¥³Psç½øóóñ¤f_Lö¤iT Ïwn1êLC)åsâ Å
hll¸pé²¥ð £$ú»èÚ·MeºÉ-äÒÀ=ù¹dY[=ôTböÙòqvlô4d°ºJÝNÙ»0CCôì]Ãg~Éýgó¸6/T)<ºÛGÉ6ÁüÁS[±Ýä`)p%¡T!Ò@¶8nÝÖ'èîÂä½!L0|ð
+I¹U,º
+ *ο&s=evõ¯®åûï½8>¯¥àöÕÐÕÂ4mt·ã&¬C4Õ1maÖeé@ªÛYFÈH~
+÷xÀîÊí¥îã{<
+Û¶}RÊ3þN¾|;î¸/~ñ¬Zuñ È6ÌÜb*®¾|ÌðK!.c×CnF9gvîÇJ ñ öã©\ ·<Îñ{±ã
+/GÃQB¢aFÍt
+Ð3¨½~
+Ïý>¤²;µ#O?ËئòRmZë[Pv¾}ëq8J=uJ:
+{!8ݯ?Ô×
+òòñN¾
÷}é§`¢dºuº_S'%>ô)|àaâÇ7rbûñKaåUÏÁêØGãÃXRlæØÏ¿GW·9±eG1#ÎO4qitòõØV¾7~
¿fµ³28=Æ°L¡£kô¼%¶{<£c¶m{DSS
BW(°,H$BFFÆ%SBeÇé9¼úMëGd͸Y7ÝÇ-ÙóØ7¹êÓ_vÖßÓ}ì sïüóp/'×þÖºã yÉ<Å÷<Çgè©ãðËÏÑÛÞ
0üV/¥öÖ»éÛö$®ÊÅL¯Nv o÷Û¾P DJf9S®¿És«ÑuA y/Gÿ5ccÜÎÌoÄëÒwrüÙÐ×ÑoòJüv?ü%Ì@;ûùÃ=ýèþ|fÞõä¸:Ù÷ÔsLÿð_S\R (¢íÛÙüøkÌ{ào()M½´¢nÃúÛ»ÐÜiäÏyóV¯Â%Øòÿf¸'4±¤Q~µXz-fÚX{|µûa&WM¢³½ÊE,üÀýøR½(3JÓºqæà!\
sItÕ±ê_åØË¿"·²¢ó.ñD£<ÿüóãnÀM2Y
+âââ?1¾×öÂß|ÛÿãoÚ{ñ»7Ó4yꩧÆÝ2&J5©ßÓÛÊÌ^N¬{áÎþóW>Ó&SyÍ䥽s¥cѺk-uç îJW<@EMöïzJRÞ¢¡±Á/ü]\RüöP "ÃCñó}нø2sqyÞÁÅ&E,0L<|~!<xRþ÷°zh Լ·äh4ʳÏN,&Ù@X
+¥+W¨¿í
+ ܤä½;í³0ðfäãÍøý=âí>@"G¿Ñ4ai âçä
ï9ÝwysÞgìd}BhqDTzòÅ
o¡.ýò¿Ì俺ÿH¬!Nÿ
+;N&_á´ú'\mk9´fk*Ð}yTÞþU³ªÌ8tº%×OÃj¡ñµh?q¥§¿d5óo¼ú²£×¿÷uV>üçÑq®)ïÝÿ§aÁmwêÂkbÿã¿`ÊÝCA^êÅñè={×Ó¸w/á`Ìê+µj5-oüÛ7Ê¥WMÀ]rl;ØÎñO-¸Ó[^&-¿¼²rýüßéNçÊOßOJfÊeõFÐB×µ¨!`T)U `Ù6´··3sæÌKR4ØCX±è·1ÒÙGO`ù
+È.*@?w/2 ´PsûG©ZzÕ9Óx´²e72÷¶ûа=ú¿ÿU¦~ûçC£eÝ~òo]F´«]=JÎÆõü<öh;~òUö,ß8P: )YäW$
¬öwBóe2pæt²
+v3Ú?Ð=¤WàKK%úR:wÿ;u[RYxÍ|êþ9¢üzòrüpÿqN<õïôSYôð¿êUyåìùÕS\ó±»·a§Nbâ5"2Géh>¯ðÐ0VxX8â
+¼þ@aëíÆÆÅP[+îÚôÑ5eɧoÇqùwápx" Ô4mÔ@áñò½ï~íÛ·óÑ}zè¢Ë¸gêõ248Ⱦoª¥ËñO_Nz~þù
+pÍðy Éh;f!ËünzöÀ*XÈô¥K040²ËYôÏÑßïXÑmzu7þÜ4Ì^=@ÍéÄ»Q÷ê~vhp¿s)ÜZÇѵ/¡¥å â#X¾É,¸ýx3*¨¾õAvÿì;m±àÊEhé éø ¾øOdd8J2õ¦{I;ÓÁåQÍ»·Ñ¼ã5
+kjÀ
+â.Ïë®GOôsæµBFé?º¢ÏÔ`¸¿¬Ü<.Ý¡Ph Ôu}ØBôD~úi¶oßÀã¿|Ëž¹°Îô÷Ý0\T×TSçTßñq2Ó<4ÉuÏüæ-Ï8PdÕj޲סÿÄnLËÆåõSuë'ºN¸þÞIhnHDNU´·çlDmäΦ8 ©7¼ú%ש5Äz¶³ág/R³äoiÛ±_ÍÌZ¾³o?íG·LÐ~d;¼Jß~/Z¬|îkZJêäÅÌZò,ë^;À²ÿÔKW=òd³¡ùK(]öe¼èSEñÍ\ÈÜ»?ieÇ/n!1ñOâX¡ ÞGCAªgÕþN-Ll
+1£×B4']Ây¤¡ß>su¬ôß\C`æm¡rñ
+'pÖ\ºV^}snþ };äÄ¡.ò««Øôt(ÊÀíö¡¹ËضDO.¬¨x/C}9å¥ô$¸²"¡éø ¿ ``ÄdêÂ\4¡á)á/ &i£g×6ßêXP1Ë$±ö=9<Ì´eUtí|²Éî»Dr3io$KêIº
#Ýd\Ö_V^ÛãB¸'¡ÒÚèn~!ðÌ}[À±@`âUt®5kBSÉ-"¬^}, àöÛoçÓùé·
+½ØßíÁåMÁåMÁp»&îÑ
+7/ÒwP¦îå±=$Ì Fî4æ!¯|á¦St54#Â
+
+Òºöì[³¥ ¢ÀGs}RÚ7£g;hIQ
+íH[îØìÍ/ueËïä}ÿø(7þõ?3ûæ2-?Ø`;}¼gÉêOéäÄúÍHûâ»t5
nßØE,@÷¿Èö|XÔÙ#ÍV,`Çã\jûP{SñXx_=¶È@ódæACFÃ.ÂÞ0[ºqÊðx<Íáp8&ðù¼>¾ðÅ/ÐÔÔÄ+þpé´/ÊU÷Ðü_ÿÅeøB!²JY9m.swиé1μj#¤D¸óXô¡{ÑTÞz{þÛvH:3ßÿqgV|?#¯<ÇöïlAj~¬°á¦|ñ½ú<;¾÷O`Ç0²§Q</Në+?ÂL¯bþÊy¸ýfÞyÛ~ü3NU/`ÆìqÍåaö¢~Ëfv|oJÚèZ*Óoú(¾ÇjZÿ4ݶ'?kYtsÒR&9úâL½ísN<Ñ´]4£»ÜͽÔ,ôi䶢îÿeëuÛTü/ÑàáááÕY˲bùùùÍ"NkjjÚªiZ±Rßz. at Z&f,'5èè¾ÌKVP6H ÍáöIXÑ1$nܾq?kAé)ÂÆð§Me'HC !4o*¿o¢¯Dp3n¢¹¼xÒÓѱ
+Dlì\'ºHD" 4\¾4\7fh\~ÜãåðE,0ðdâñ^ѶÓW,RÝíÃã÷£é`FÄC±s4Æ/ÍE"ÀJ,0;=¯ü
+ÇCÙ+ºOjZrÇÈDx8T:®ãöùº ãI»|ôéÄìÛ·Äñî~øÓu½[JYÅ~kGáÂêl8ðeæ3Ðx@ÿðVEÓÉ:pá˼ ¸ôf\|³ÐÝxÒ³ñ\¹Ӳq§],³HÃð¥]p½ËëM»Ós.òåmâÌþÆUsçPZSËË¡0\¾L\ |Ée{oFÞÙ{ýøs.<餹½øÜÆW¿ðÁÙ>þ>bÏ×
+Àa-Db¡RßíeÒ+!>?hÔ<:¶%y'7)@K7ßþka¸ÿ0
¸úz{'F¥¦¦¶+@Ì0c±XìV!Dz,âñøåÕÒÒ(}
+E³ß}Щ7{57Íø½õ3iÚd####P mOOO?Ä4 ¿ß¿Çvp!D"ïæï²ÖÕÕ\PÄñ`EEÅHÖJOO?j®Qæ!ÿþ)²iÝù4Á³Å8ñêSÉ0Dû8üä÷9ðôÏh;zü¼ r¬y=íA'ï>Iã«OpèG¨{ùy{//=EiØúÊÛ2¬/cÅ£©g¨ùÔ%Øéõ?'8ëFâûhÚ¾á÷Âje4ÜFÿ©CtÛO¤¯g´0;ÿè .Q¯¤(/þ½¯Ú£´ï{àð9Â7qz³óöNw¯IqíR
++ËèZ÷CêG_ËìÝô ¯Õ¿í?þQO
sâaý}¾Î·ÆYñ(gvn|[Õ´c#V<?;ì¼K(@/
+[Â4ÏÞI¦eÏß«ë_bßæmàÎÀW$3X}ݺ5±øD(ièÆZuøða®®[n¾
«®¾êâQ<HûëOsj÷^,S=ó
+fú nÃ楿û%ÓëÀSAÍmQ6õò÷t¶6Í2RK'ãñ×S⢿;
+daG[i.aUÆîû)þ+?Ç쫦;o>ÌüñAPiÙÈu¯Fɾ9·ß?ÍC¨e?G±Ñ ʳ«eÙûÄO cþLfÞýEʧ³éÿIzJá®.l[»ìÏXºú*ìpk¡õÄ t!CmÎ;ùZ÷¿Ð4ª¯¿ýòfk´?þ&Ýݸ½^¯}Ù+çcvpjíã´jBÓS(^q3¯ºö»©ñǸ}>J?üYþæ%KÖ?òkRª® ¯(
+ÛvEÙ5URO¾lÚAÎJJ^8zähøè£(©xꩧرãâ:'8¹¯ÙýVýý?ã7Òt`?RJLÝ¢âÖÏqó¿þ)³
+éÚó»µ×ÞHçÖgÙÿøwØÿëÓÙì¢xv±óü¿&mÉ!ÑÌP¸)³'ÐEáòS°äò++8Íëaêþ[¾ú2½x}3S_~Ü?ÅM_ù&Ó¦%w+Éûþã¯ÿeï_Æþ_<JÔèCU^Ã
+_yëÿê3tn}ÞÝ/3$r¹þËßaÙWà÷w¥üÛì¬m47´2ÿ¡¯rÅG>ËNÕµ¯ÐJåúø>×|â#ôìzþa°£¸*påß}êÉév;NK(LF~ªs¤çL¸Ä¼Ðj?XÁó
+E<xð¦iW+¥HIIaãÆEã¡cô·¦îÉo`ëm'%«)RAIyB at JÉ\è¹ÄÉ ¡9?ç©Ê}
+ªëí$ØÛÆÀÞ_RÌÿÙÑIõgË6 at w^vN| ¥
+ØR1Õ_UÐ gÖuìÚ¬¤£+ÊM3&£i»ô8ô-0[éijãlÙb0ê¸ÃêÙÓÐuÐóg¢iN ÜÓ¦lÎÝ µò
+¼o!kÒ/¡;îÀ(ºi9ñø¿¡Üø3AcÍ6u±ý»-e1ØVOW0L6P×ë½(*ÇÙ8§ÙùGÒËO½ö"ùU³Ï¯z÷î~ríÚµ+Ãá°Çý¾ÿâô»
+)¾Å|¯GìmÇH/Ä£´ó
+ýÆz.O}Ã#+Ê&ÔÞ:»o7ÛÛÀ>MQí
+j¨Æîç7¢Vhø®`ß &SV<[wËRÜ+ØËÉþQò~¦/[FÁP¬4æH3Âël±Êô{í%1Ò¤)·×ÏÜ{þÜl?vt¡aý:'9[Üé\á¥û=Ç¢(¥>d<ðÖ¾Kp»³èaJ¡,h©Ó %gæTßO¤ó [~ô-f/ÿº;ÉW,bæÕïCÈ(ÃíídÒ3ØxÑ3Vã±ËOªÛËP[/
eyvFÅô'Kf- ýÀ;÷â%K¬
+ÃMM-¼$*V8¬ôC4l{ô4è;uò« ¥jò[·uzUóVrxÇkíG'ÆàÑN¦Þüyô¼l
+¦îäð_RP^îÒIôfÒ?cpÿF
+ÏP°Y÷ÞÇö=Æ¡5¤g¤èmedl
+³®_á2¨5ú~INqÃ
+ßð¹n%õ/þá²<ëw9Â5{Í
+|õ9J§é:HÐLÉ
ÆäÅ8¸î
+NG
+戌}
+Ãì×qüùÇIÔLCúê«oÅ ñåµ.\ 9UKZ
+å3¯äðæm4ïÒ ÚIOs?KÊ~û9Ã&
+gÏ¢ûÔ ú"¹×V®=öÒÏHØêÿ·wæÑmÕWÿ¼§ÅÚ[¶$[ÞíØ!qÈÒHYHK )
+9LiçL3Ó9Ì´ç´³ôtJg`(PºLJ§mNé0iB¶ÐØ cÇk¼ÈKd˶,K²vé½ùC²ã`húþ£#é§çß½¿»}ï½?4V;Ç{leyyaQá2¥BA*F£ÑÌI
+)µ¬¥É(+·ã¬]R©@[ÉáA
+6;úÜs>®°k
xd
+Aö|3Ë«2(`åb´©d9äV¯§ôêjÒ¢üRÔLUÔ9pVVC*3/@符jÓ6rL¢}ñ"ÄH§Ek¶SXéD rµhTIÉ4¹K·R´h»sÅ´ªéD
+c)5o!'GÖlÅä,A¡Ì¤ÀuV¢R¦",ö\¢ÁI´«(^¾ki%9zÆB4çIÛËkÑë¤qµ¢k¶QRSÂRµ°D4h( üºÑêµhl
ä:l$"S¨NÊ6~K
+µF¡ yn ºÛí¦
+
ÆÎbÆjÔî-wýJëXªºîÌùùs/¿Ý3<ü#
(Zeôeee$%"L½ËP¡Òf0þ+ä$±ÐÔì! ÈAÓ#Îç k)A4õ§^åôÈ
+x<æ߸qãV¬Xñâ¬Ãüîul6Ûk>ïd2Ü ¡Ðáp8ÓV|Q /í{_`Ü=[5*ÍUÔlß
£Ôtå
+ at bã¿ü9ÉÙXº`5Ë>q+fÛü
+ã"íÔÿç3ï'#1Ý#(LÖJ¹VëÉ+V¼6Ç?ø388ø°ròß-ÈL&JKKò©<x¾¾>dRédtQõ¢G·lÙò½9ý¹¾\\\üµRÕ?&=¼@óB###æg³ÿF±Ë-?9§?z5Â*µêÉD"ñ(eYÆ;ꥢ¼"kn¢ú»§LT"ÏË B#}ÆgNUW!Fñ)$®
+&}6#æÁ4k7"'"¼CDAUääbµç_Цõ´_Q°É2â÷!K)tVþrÏ
æÉ)Âã}È
+étp:ÈXo/ùÕË?¦KÑIüAÑo¼ux4Z$I)£Ñø$0ç÷¶W ¨¬¬|¾µµõát*µ `¶ ÒôßOc¹êNlÅçÔ]ûÇ7n!ÏUvf²³À±ïÓñVÂÚe²DtÔM\[˦ïCE
+ÏÓsë,Iú^Ûw8LVãósÕEQùûo¾<òÜ·¸õ~¨ø`ýzCÍ
+$ÂS,Þú)&úO[ ¤0ý"m¸¥[wdd.ÖÎOý#ú÷ù|¤ÈiÚ÷3üá&ã1:;{I'%ÌUËÉË3vîرãùs}Ï×Û9W êëëùõ¯~ÍcÿðXÈ`0<711ñÏ(ê@fxd³EÏágþÉ!´7hyíï`Órnbõ¶Ð£Ù³|ãÍsC@Ñk3!Lbø {¿õ²ô9Òt´L±èã'ÓÞ4Æ»îÅQZ0Þ?<§åmÊ· ):ö<»£k%kï¼µV¤ñ¼¾¶£h3åÏ&hä#G÷ÒòÆaDMÕ·ìÂUU·³ïÛ¯
+xMÄ(Xû j¯ÛF#2ån¡}ßaY³¼ Yðõ÷Puá¡þ¶zZö½H<!StímTßZ ¡þw8¹wAÂ
+·R»ñzT
+8ôí¯aÑÅWßʺÖϹþÆóÆ~:lýϱïÐËØES#§O#uu5Ïyî[¡
+þmF8¾ç¬½çÆû:gû o¾ù&_ý»¯rìØ1¸ÿIV?¯V«eYÈV³úî/Rºú:Ö¬]Ëh÷qt×ïfíöMhÔçîòáëëÄ××ßëCÊNÖLxpw0Ös·ZPç] (H%n].GÄç©ÇTSA~±3eÌÑãüøYqËæL*vÏ7°éKß ÌáçÐÏ2¨ÞøáÑÙåÚ/}ªr 1rd Ïë{h|ý$kîÿ«¶¡õÏâ÷úN¦½³òO>ÂÆÝl±ÎVãýtìۦϳá¨3ëKécÝm~Z§èÚ÷Æe7³þÞGO1Ñ îâçºæn6ýåWµþßδ 5IDATDa¨»Üí_dÕ¦5s/ËHÑßó¥[ÖÓÝßodxpA'9æÆ[·>ïíjC3ϹÚÇÛÕ2[|óß$Ì`Ô^¯§zj|÷îÝ{G¼W
+Ñ,#ãñxÈÏJ
+%U5%ï9Ë~¸å1ßéLTr-u2sðÆOµÐ%'ð÷ ¦,fÃC"*D&ÚÉ-µ¢Ô(@¢R+fâÎ[{ë+¿|£×÷ðÖ߸Þ/Õï@£7¡Yÿ t/ý¤0£ÞNÐÊ5@$N4ÔËÀd 32UW/¦ ØÎ^
+©¡ÇUSJHR¸év÷Áé98GÆ¥²Áæ$Ç*É«Y¥Ð@Â[7Æ:ÚBbB¡ÑjÒ×b4j(«p»H!Ka¤DÆæ¤>CýL!]©ëqà=#f À>Àwÿn&Se4²sçN\.×þp8ür8¾3[PƨÿÖ.ï}@õc JÖÝÈòÛ>K¤û{^À76Ý*ÑéB©Ð¡Ñ/Áß$K¡Ôª²pú+4¾2ÄÚÏ~Õ/¥g6^ÈÒ4D¨8+à1èÍh͹@í¶»±ä15ÑJþpæó"ì ïÃÔ ²N§I#£D @L¢ çÕ;1ëÇýÆoP*r Vk0óP`_r®rTâ¹.8tåÜÃ"¯ü¼"JääËBhÿ\ä?¸cÇ}ôQN'O<ùuuu ñÝ¢ eg1çk¡òjÖ¬¢ó'OìïGùÑ hùjôÑfìÅ?2¯í}öyûZÔ©¤ùŽL÷Óó¿?Ÿ4¿/^UIÏ«¯2édàõßvÂݵX(ÁYÁÆóö«(ç¯6ZôÔqÜo5âïmfðµ=¼FÔ`³_M ©o{7Sº÷5¢©ºthÞ½Ïð§°×,Ãb1AJFmZÍj")XÈ+-'Øõ
+S|ðCª¬±ÎÃôöHFªRÝ»srKâ ù-o71åéÁýÒÓ³i "¯ZÌÎ;±ÙfhÇ#H*ºNµNe$~êÖ¯ìÄT½}1\Û,G(De,ÃRX KËIÚ±µ8j®B@¡³áZ´)w3=G^elpüõw±bS&ÒU¯FzSG^'e¨aÕí[P)¨KÐÊ£tú±«Ã
kåÇ0T¡WG9õÆ^|C~J®ß
£¢t"R£ÁRIxÅCùNÎ
+öBFïg°cÍVì¥Eèí.¢ócÐ;]2=õû8}ò²m ëvÜÚÖjæô;¯qºÓS²r9yeÅ¿}Áãè+7SuífÔjS>ïy÷xltWÇ\`#:6Àø`OX/ßXyÓ×nÞBü<Gö1p²
+MÕvòòj3åó;x2lmýA4¹2èt:,Y²yùÒ={CFFJKÉܼÜwݵë ø¾ôïöT655H&ÓÄ6b='~ûcg_Ш0SûÉG(_j»2w?5AÇË?¥»þÄlGÕ-²h}q
Aþï?À{êÌ}IÞ #qµ+1æjÐj4½÷ÞwßV ç}àméî>uÓØØø
+
Â<}Ëhqq1
Çñ#¤æ¦f6-õÇ555»nºé¦}²Îc±UUÕû,Ëé´2=00Ïç[àÊGD==½4m©óO¥RѲ²²'.ù% /þÑhØ'Ër2]]]Áî|È4<<Ì¡CÉ}IÒcßí·ßþYïb«1K.}XV×˲,MAggçjø!ÒÄÄ@d2EDzd2ê?óÏ<>J ð.[¶ì>¥RÕ>í& :::.²ÁtÞóÄìß¿h42ójµÚö;ï¼ó>À{±ë~ z,¥RÙSZZòB¡pOA4¥µµuAÌóÉß»w/Á` ;ÎIF¥R»×¯_ÿPNNNÏYûäÔ;ûè6ÑhÀ÷æÁæ¿ôÒKÁµ/BO]]Ýýµµµõt}a¾Ôuooï
+çYY+§}¬ÃH~~þ'/ÆÛïíåÐÁuúdº¥umܸñùø
+a>íµÛíÞìñx~J¥ÊÎò
+K8z!q~s3
+
+gâ|dP©Uºû×[7o]¤B 89Ï-~ÌÝç~6H,§M,cwØÏ{ùͦÃÓÙÙ9ÓZ(˲¤ÕhÚ×]³î¡zÎ{ÏE0¬©ùȼÿétº²»»ÿÇDòcÁRe@«É¡Èå@§Ó.pùääwñû'gN½$Ki½N_¿mûæûT*UÏ|ÿ¦ð!löÆÆÆïQÐf#ddª««)))YàøYtâÄ ¦gøAæZ·¨ÃáØó½Æï
+rÌn>~üøWÆÆƾ¤P*ÌY¡Y&/ÏÆ¢EÕßpr
Ðää$
+
+
+ÌøL²Éí=Íð}háðQ$mN8qS øÏX,V,jÚ$ TUUQ^^þgÉü¦¦&;6£î³æ3©Óëvû/&·I
+@*þ%Þ,¢~ÚȲÑh¤²²»ÝþgÁx·ÛMccã6IM&Ãùùù¿ßu×]_å ÝËE LÍÍÍ÷ú|¾¿I¥R®xfl¶|**ÊÉÍͽ"?22BSSÓu
+ñ\.×··mÛö_¼ÏbËQ Sqi9zôè3ãã¾mJ¥ÂH6\³wÚ:ÊÊÊ®A¡¥¥
¾¾¾¦gÕ¾ÇC.WÑËþô»Éùñ.U¦¶¶¶í^¯÷¯#ÈjQuåËdªJKKq8%ãÝn7ííí
+
+Í>ñ@2L¦ÆòòòÇ7nܸÿ)Q¸;ÛñãÇïöù&Çc5¬ZvtzÅÅŸ\.´ÚK;éî«ÉÉÉYL3ø}J§Óu:Îç¶nÝú<¤nÿÏA È c}}ýÝHäH$R*
+B f]Åéúìö
+q8¨ÕêKéñxþþÜî¾Û×ÏÖf,Két:n4û
+ÃÙ^½ÓÝ"0ôï¼óöç}¾»ÁàRJeÍî#ÓR0=𸠻ÝN~~>f³ù#}H¿ßÇãahh¡¡!Î~Æ3+ÇýV«õ¤Ýnÿe¶EûÂÉ
K¸xÃ|êÔ©>}úÉ@àZdÙd»Q²ÑÃtü,Ëäh´äååÕjÅb± T*çåAÉ$ûÆÃëõ9;»y¶e9-ËòP^^Þ*++ÌqIbãÂeP½£rëëëoEc»¡Àr9-é2ý^ïv®f42z£ÑÁ`@¯×£Óéf^©TªI¥R$ âñ8ÑhH8ÌÔT`(H
+rvóÓ§
Q$IJ¢¶Z¬M:î
o¾y/0\Ò,\å[¹õõõ;b±ØÁ`èªH$lQ*FQsÎV½ïv¾Þý*¿ËN}y¶|.&ÏhÌ»t:Çã!Ñ8i6Ú´ZÝÿlß¾í·Y¦_6$\Æõ{"`s»ÝW{<kB¡P]8.F£
¢(ZEQÔ,©ïfúÜWYN¦Ò±´òë´:Þ`è3-¥%¥G-ZÔõä/Ë1+¨SsKKk||¼"LÕ¦¥tE*r¤RÉÜtZ²¤Ó)m:-åH¤eYÌrY!%b\T(¢
+AT(
+¥rD!½J¥²£ ?¿wåªUCY[ bW¦ý?PÄt¯ màe IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_builds.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_builds.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_last_builds.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,94 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ ¥qA1 IDATxÚíy\Õuç¿÷½WË«»zßÔV«%µfÇb1c°`|2Nf8qó'g<Ø&Û1Å $H¥7-½©÷¥º«k¯wïüñªJ-Ä"@¨ÓþÔö{Ïù½sÏ9÷Üsç µ´¶TzLÏr!ÄB¥Ô,¥TRªT)U¨ò)¥ÜJ)RJ¡P
+°"&!Æ
B.MÓÚ
+ÃØUTT´Õ4ÍعÄ+q¶wàwÞö\/¸BIµD*Ù L
+
+R ( 7êè÷Wû;û>û*èÞ¯éz¡ëÛ\n÷ÚªÊÊ×ó 8ÍtðàÁÇJ©ËQ4!ðf
Ê óù~H>Ö«Â0Sa¼ít:_,//ÿ¥iCy :Ðq`©Óå¼O)uµ¦iÓ{²3ÂÌ>ɺ®£ë:adÞkh¦ih"w
+)%eaYétt:M*"LJ¥r z/¦Oh.§sÓåz¦²¢â!Ó4Cy |
+Ú»woq ¸OÁº¦-}/çÖ4
+Ãû7MÓNJ;¤$ ñ±xX,F:þ(ÍÓéÚèõz~2cƧó ø´oß¾@ ðm`¢j:c³ÃµR
+ÃËéÀéraÆimc" "¼¯FȶÙí6¦ùhCCÃßæð!´ÿþ&¿ßÿ \Ð
+ø ¡»¸\®öZ²,p8L8<I8<5
+Ól.kÔãñ<ÚØØøí< ¦»m-->ﻦݼW¥êËíÆår¡ëú=¦¦R)B¡ B¡qÄûxàv»F½^ï?666~ïs
+ÖÖÖrÇó_5Mû¦iïO
+ÃÀüÙH2BMó@²ZÁãñtëëëÿõsÃßeÆ_躾ð½O¼ÓéÄívãp8Î`K$axx£`çð6Í=ûë¦ivó hkokôïëº~àxïoæ9#ø÷ÒÔÔCCCLLLç9¸\®d ø»¹sç~ï@çáÃw9ïhºÞt̯ë¦Óéäó@¡Pþ¢±hFßïcîܹw¦ÙwÎ ½½½ÒívÿÃ0þ#Bx§GáL·i|i``#GKp»Ýá`0øÇ??ëÐÞÞ¾Ä4Í:ã
+õuïñxÎx«þTS,£·§ÐD(Îzâââ.\øͳ ®7M÷tÝ8ozÞ4MÜn7y:VtwwglnjjºÚ4ÍôYá0.×_
+!j¦õç´GíÎ#1Bgça"È1T>¯£©©éZ¿ßßyÆ ££Ãët:ÿÜápü"8ݵóz½y) :t¡¡¡cDÇ3RUUu[]]Ýëg, ::]NçwNçÔÜyÿ±©¯¯®®®c·Û©¨¨ø³gÏ~á@GGG±ÓåzÐép~pÚ6¾Âëñ~nÜ»M£££´µµ3ær¹åååwÌ;÷¹3 ::Ãù]·ÛõJÙÂðù|ùñþSÒää$$É\ôÐår%+++o3gÎÚO{}íÓ?ù¼Ãñ§.óþ¬ð
øýþ¼ðO,X`¡á ;ûûû<tèÐòÏ B×µûN×7Â
+¡iø|¾Ï½2Éëõæ@µ b±¯··÷·Õ êvÛõ-!(F)×þ) Ó4?>#óDÊ_þL ÐÞÑqÇôü7MÓë²Vª×þ©ÖóçÏÏ>|Y¡éÍ7ß|é´ ½£}ÛíþsÃÐÛÉ
+¯×óOÐAÆ;¿fÇ?:- hïè¨t8ÿÅi8®¶ï¯>W3yg2kÖ,¦§Ë
+
+
+ýÑîÝ»ï<å Û]Nתl¨ÒIÞÈÓé¥ÚÚZ***sYáááÿŧ ímí×nó>!D®åû!555á÷ûrk!¢±Xé[o½õô)@{{[£Óå¼_×õó³Ë®<O^
+1Í7/cÚa÷Phüê;vüéI@»Åét^½iy£ï @ ÀÆ9¡Àþû«X,VpÒ ÐÖÚvÛtÝ!>¥Àá0òãþdÔÕRRRbkñx<°cÇ_ØýÂo-·¤õwR%ï%»öN¥@S%ÐoÖ"ÕÙt4¥}'uô¦êVØJL d*ó6ImìCBi(!a#v_ì{æzh_LÌ5TæÜ}ìßsíÊ,?%¤Ý×ìù=^¢2OÈ7¯Óúí°ÝÌÏJä®wL_
ÍÛ,;2gÚ.lfÎÊîq,gï¾6P~£(-+¾å¦¿üüÉ÷#u¸R\aº]k8.§éÊu_!èe¡@:T 9^fz¤2Ó
+-Ã/»CRÈPuûºJ!JÒPÂB ¡
Eö¾Òr ¥@¶ÈÁ¾!JaÃW°ríËaE)Ð3P4 4ÀB`Ø\P ýa ¹å4~)\Z6H$¡$Ìõ}®°Oï«Ý]88x°Óæ
+ý Ïâ! µµµÑph·k³T¦1NÈ(=ÇJ
+A,%eÉm¡ZdN §¦RL²"YJ©©)¤°Á¡È0ÖDa E2"<!Læ¨@¢Ù×I+E$Ca_e&s"Pi¡Û|H4AÚ²ÅHZ)ÛÈzÎØÒrACaÉtÉHh,J,@ex E<Ó^ËJ'@A:À"Ãik"¡KØýD«@ËôÙÖ²RÀº¼>Ý6$ápä¼Öþñ'Rj
¦«RI;«ÇÐQ*
+*¦$H©ÒHi´øñÃÐÒÚR
+KY()ÑT%%B¥Q2Í¿?ù¡püÃCôtFÉJJFFùÞ÷ÿ¥$²ÏRL£2×ë?Ä#ÿ?~øþ糧<woMJ,FH!%RÂî={xäç¿D*¥R ¥ý¤g¯ÒHýWLþáGÿÈÁyéåtwu¢I2
+>9e¡X*M{û^Zÿ2ï¾½¶#e%¥$mÍÍXé$ûwíbçîfâiÅáý-DbÉL_%B¦AÙï5%ÊËn
+,%-¤U
+Mfd Ò̬«ÅRiv¶··ûO>ÑÐÒÒÒÔÝÓ}S8X0.»Þy×·n£rþbÜíôMDðUÍã÷¾t
+=I¥Ø´þezæ9\v=W^PÏ_~ïoù¿ÿ¾õçßáï¿ÿ]ÚÛT$ÓvmçWk6S,G¡E#<þó_2¬]̽·ýfëñMÏ<OíWqý²9Ü»x:N¨ÿÛsL%Ó,¾äZVÏ;×±v{;n··ÒS!Ö¬~½UÔð;¾ÄËk_¤»{©P_¸é..àg¿|£áÑ $î^j«+I+
+Ê~bÒY=ùliæÍÇÜú~ûÂëB!þå7k¸ùê+8´4$Ûûéií ¸~&ßyÃãQº¢3xá¥×XuÅrheJ*ªg/fèðéSQ®½æJ´¾Ã¡Ñ)«æPç`wï8ÂUÀóYóÆaL!«®XJY0ÈÐèJ)±xí³¿ùÕ_Üöå»ÿçÇÒ J©å`-OedtºyMÜ~åùLETÔÔ1»¶t2A2 #ť˸ãÖ«yóÄR ¤TÄRq¤T$âqRÄI¤R¤Rq^~ý\ÉõW,¥ÇãDb)jji¬.#HÆHÆtTDª3(/0yuË6gÏãþ{oeÝçD"¬Þ´o¿eg`IÉáÎ#ìØw9Mséë¦ywéTÒ2¿#ywOYÈ_¾¿D,AZ¦'Ä¢Q¢ÑÑHæ5>E<!ÅÇb$Ivîxu^£¾i6xyõUúؾÿ TÄÇú(¨®bæ*¶6w`¥%Ð éDsêqû4èB¦!56H:aù²ÅTWN
88âê+/gA}9¯ïîÀDx´®¡¬¦Ò2MeM%%EZ):{z¿ù±}û÷5ôöv]H$+ý~/ RêÑqê:õ
+s©(àW^! ±$`$%@syÐÀ008ñrö²=z)
+¯S#<Ï-«64ÉÌFjK|¼þÒ:ÉJ ,`Auoµv384ÄÏáÝöLH4ÎÔDÝeb^§Îx8B|Ê^·¯
+C@:¢¼²âB7JXºu%. N011NÙc»²ÇR¥ì¡CCaÙ:K¥lÛ%--Eæ±ò²K]]DÚRè
+êò2êÊQ®=<¥$µeA*Ëp
¤D*ÊJQîÇ2¼Hi¡,IZ*¬t¡±o+»[S[R@°¸'@,&XQÉÀn¢±(·Â i+
J[¸®º5«óÀ Jq¡!äÒ©ÈÏ?àÃë1hXVýíaªæÍÃeºr>O°¨5<ȶCa®¹ú
+ÎeÙ²£úòRtMQRD3tÐ+V\¶/cFY±mÄ¥ÆÙÛ¥áüE5õX~õlzåMV¿ø%å4Öã,w3°þß8È·Âaè\ý¼²u%A?åee\vÑ"Z»0E¼¦Û£466ÒÚ~Í[÷P(ÄåpRTPÛe£ÂRY³S rþ*ªËÑdü|^7Móæ 4,f(`nMéeñ²¥¨QËø=>n,=pƺb*àp:;{¦i²èÂÅ
©QG/¥¯ÕxüNêbÔV\S·ïª
+FAÉPCÉØ7|d`ß¾}Å(ëûº®¾ 0-ç¤jÓ)Me¬Ms覣e¾×2ö·õ
+rKÒvqÈÄÝx´4Zæ{+sͬiOBeb B4 at KÒÐD*-÷^eür=Ó1íUÓF[¡eújTKdÜÓiýïQ¡êvªÜ»c©t´lÜaÇ2î4GºcÔrîBæú*v4æ P¶÷ék6T¿»¹
±±P.FSYYzùWݾåC5Rj±Óå:ßÐ4 ÓíÄáÐsX±&ÑÐñáÉEÄ1ÌeÚq¼Ïï¶ï¬ÿ>ýé
+´! ÐÌe:óä±^ryúôHÍ´lcös6d_óX¼_vÜ ÷õs¦÷õè×HÍ:Á¾ $³ç°ëÝ=F¶´ÿ| ä"ÓíY$ M× ùXëYJ>_]]ýÃa R)uÝ{÷4ºÝîE¦îÞÙZ#OGiÆ9Ã.Lú6mÚô
o¦ì
+Õ< Î~ª©©9fY4½ã %óÝv5®|çÙO¦iRV^K'D"¼/ vïÞÝàv»)p*.gþé?W¨ªª*kàN§7nüOÇ@)9ÛápÌÎNù:]ù$Ïs
*++YdÅnz 0K×õz83¦c>=9NÊÊËrñX,vÑ1 x÷Ýwýº®7jB+%³?OççrÆâñxÅæÍr JÕ:Úìj< Î=*++#»H)Åb7ª1£ì¸x>ÙóÜ£\nw.©%L^R²JÓõÊl&E2$HL¦2éTï9B©\íýédYÖ´:Þ¤e'RXéc#©$V2i'F 2ÂJ&°Ré¼tOD|r«
¬
+Çãó§@Uè¨ 8|øðG^,ÛÏü?áß{ÿôG¬~éãÅbt´wðèÏ=æûµk×Òwäk lùÝ}aÞ}òí¬ Ô¾ÿöï>ù0»×9Éú.»~oå¥{"¬. ê¹ P<¨Ðv¼õV0KTlÝþ3HÑÒÒBt|ýø!þé¡øÍÍò§ñ OlÜ»àÜùó¹÷ë÷r×íWräðÞyçvïÞ
+À/~ñ¢Ñ(¹ã_{á)~òÓ°a棲&yóÍ
+¤3
+¡oÛzÞ|ñuú×ýÞæVÂÉ̦é$7¯+1Ejl>
+«ë©[Öî >°Ò*í±ÓZ¥åÜ°aÃRM)URXXXð:I%ãD#QZZ¶3óÏçèO¤iZ¼;®Êy´ìÛÃOþ)ýä×ÔÎËm·L$QJJ¥rÇ·v
+ñû÷˪%=À¥^ñòUà©®§¼:@Á¼¸ÛD±(â*ÊjëHFÓ(ÍGÅâ%kªÙ·ú©¼t³üöAäêMÔ0=(KbH¥RK5,2HÓL>½Rìu;ñxü\tá2<:»\^>@Ó
|óßä¿qýíï ©D+1E26~Üý-R)õÁã¿V^í!f.»_8£lne!ä$`V×Q8c6R%òÏÒÄ^±má >mï*+d&ë¼.ÒqT*5ÏPJj^hèºaàõyiZp {Û˶mÛñÕã7tÜæÑ@B8è9|òS¬Tó_Mcm!Oüö9Ú÷íC&¦azL¼>{ñèy³øå#0Ð;Ìå×ê¹!`ëö\tÜAÒ9ig梥¹ûÕ,ºÝk¥ïÞÃa0òÖZúw8(wI^ðÙ!µòZTÿ#8½]¤#ÈòkÐÖ#<DS
FÁ{i¿9SlݺõËEEE:<'Ïb2^Bu¬Ä5𢮣t·wO±ÿ° Jm5>!ïÄ]À<É.»mjþÇõÕ(ÕÒ@a ;
+©1Jcy+
+)ñ!<@ Bû÷í§»§Ë^ÿ(4jëjij:q¤¹sçcpä
+¨,tB3QÂÆô¹3t¬/`(p«ÌÞ{½½½vÁ©«¬»û¨©«Çù1æb£=èîbÑ$¥%¶}`¨£47%sáÐ%GßBI§´¢ÒV^QH`ÍÆÜ~ÛmD&Ghïè¢ ´µUtê&
+Àɹspê-ûIh^ÞØü*sëéhic2¢fÖLÆzP^;² ¡AtöP;keA/ÚZÇaNÓ\¼.{'ðd ˤäÒõ>¦Æ8:×çFé20MÐì,çôè_¿÷+¬TúªTF0¤·§òò2ÆéÁá6Ñô÷ö0øL at 1ÐÛÃÐh·ÏO"EJaâñxOÓÛ×Ãiârêôéet<?à#dë¯axJ ú¦¯nL§ÝI%cMâÍ¡é¤mõ¿D8ÒÙMEc/>N\øS]£´"ÊÎß¾Fi}-o ¦ÿä,c÷x<x\tt
¹ê_À4üêGp³këåõüê±Ç)(d¬{#S:²o7;ûXC-O%(3l?0WLñÚ¶f\ç_yålØð7§zâ²b6¿¶3ÖëûðÉQ¶í`áüY `)ì}%ñnÐtÄÈN÷êChh@ F¨éd¶a´iJ)ct,dìÝÝÌd8ÊÖ7·2ÚsÇx}Í;yìÕó¿þù1ºFHìåÑGÿ=;7óÚ[¼ûî»:t§~óÉ©Ï=ó4m-{xü©·lçùW¶óÆúÕlÝ?Èê'$&L6¯}¶¶þýÓ¼§×½1-$ctl<7
îy1=û0¤?Jôì|η·â«¬&ÒÖF*d u?ú)Ìi©~¶µ µe=ý=즬ØÇ¿³ó/^ÉÔx7oìéäæ/^ɵ7ßþ¢Bää
+÷²¸üE\tée8$áXW .º;÷
+ÞnÙÁðp]}ìëÚC8ãBûüÚ
+x=ô2ÉgУo b ¥PV%£`ÅV
+£d§Ã²×¸)JÕP¯%SqÒÉ( íÞæÐÐCÒÜq%Wà²æ³ba£miAD9Ð;Á
+í=6´;2Æ_ZÅ¿x±Hg|;¿v/>"áÏÝϼ¹Ñn¶é#X॥¥eßpTEÌk,Ê}w$êÂå¬ÁRöS£°ðÎ?ÄÝGË®V*.½¥_½¿k]/½ÈÅwÞuJ EÌ®Á_½o¿BIi1n/g`N
íý4ªvlÚòKndqaýu' ÎÜñ·!ÀJÅxòçQPIéâ\6ÓÅ·âÓO×%=ÑQGM#·Ò b`h ¼¡@¥pJ%í¥RiÌeL¥\°¬/_}¯¿±*§ oÚ½c!^õ.hÐyüµ,;}¡õ¡#LÁãÔ$óÌo_¦1èfo×(³Rmì
+ÐPUËøê=xÍàHb 7ß¹ÿ设ô¼÷e¸Y»/ÉÀ8ï+÷ ¢eÍáB3Æ:[4â-¶À8¹{9Ü,:/Ëa÷üÇÛXóįÎhâüÒÎ?ÿ| ü~?õõõÌi¼kf³rÑÅÌUó/¬g²b6-ÿ
+ÊÊ15ûzç>"®½|)?ÿùc¬¸fMõŬ[ý[hsÕ
+75Ñzßa"UÄÜúÈ¢%öÑÒ{ÑRÈ´¦bXXhzÂ^2.ÒXDX
+±éMUS]ó`__Þ8»]»wqùÊKÙ²i=]4]°E5tt´sá
fbó1}âIFã×ÜȬ"×®%tQìqòÅ[VѼã
+vìngé«XÜXÎsO?C(áà/ÝÌÔ@;·lÇ]XÅ
+×~[Øs ÆVð
Ll_¦ðæÛ½\¶üb0ܺ³¨áÔ_r4H¢eíÓXFù7~5ÆÞ!
y×Ü·Ðÿ¹óX¾
+æ(º#
+ÐL
+ A|2Á¯×' )!eYbÓ¦MY]]ý બ¬<g÷ìû\Í tÿÃØëÍBj:B³¡
BÏnLAJ$¡)%JÊ$ÌÉÓY,üÔ$ªp bÒrT :"F&¨¨$6i¡ÊÒÑ]þ&q©T<À§³ôñÍá!UqÖ¤fÖ£=j"ÂrîAQTCʨ2
+¶,v¾µóoÖ±ïmöw?)51A[[ÛIéÐÐþÄGÒwðXO#1ÖËDg+ mßÁÎÇÊXÿÈç ZºWcä¬ó~H¸˽%ü(WSq/ÒÕ@Ú!T]>©ß}÷Ý#ÃÃFâé²Â¢ѥ´ìÚÁÖÍxJ14xãK0«ºÑþì_¿Ò
+ªÊKÇyuÓFCq\-/½HOoST2Òw7l!!LòʦMSTW!h¸=£ÙîßõO²Ý3´RÊyhBíÛɶÿÝW@ ¸=keé÷³í³T4-BÓÄçSøÿ¦$´eÈêß!À?XU¶
+«ìFNV1< J7q»Üíj2X\éë$4bÛÖmtî}Wv÷°p~O>þ#lØßÅÂ9µÈSGñkV~ñFZ·m ½wÍ«¦¤¾©Þt%èP,½èb¶¬yTö/\Æ«9<0Φç¦bö|Bô&pyÊ©«®Êu¨bNwதaþ2ô`]Eu̽å÷loAîõ¡;$ÇÚ@~~seÍ-$ËnË2ÕÆrÚÐÏ0¾KxhO&=Ã0*äp!·×O* ô µ³>>B89ÅhZ²¤®²Û¥ÉZ{ºÙ°îÆÇÆH%貸zn²&HW_åç5P]UÇg"}´õö°þÅÕB¤Å74ÎbNe!8ìÆêºÏ4×½å5L8*ío%í¯%X[CèîRÜÀéóQZQÈÛOü3_1ºÊ 9IDATÑÏ`Cô3©Ý¬hj&BqP
+ÝÐ;5¥ÔX*CõªJ;gW]±¹3ê(u¦Ïj
+ÍjàW^Ãy³ëåóRp±«¹
+k^ g,Kó²5U,jÅUW_Ëüzê½*½÷¶ðòêè·³z¬tÉL ³áBVÞ{?®dñ57ãxÕ®R)RIÆK/§°ºOiù®$Þ7ÉdÚo£Uÿê]_U.
+/6Ý&UÕUÌ9o^=É¡®AλðRÊ~ü~?
Ùø³0ÓXCëþVJëæ3gæjêëéêh¥¸n>f(((ÀëõRZVÁÜÙÕìß×BEÃ"f×V2£~&ÛÛ(k8¦
+
+Ñ?<Eqоávã-à*¬Ã[äO(ÖË_,Æ0ÒêfÖå7fjåé8÷P*FG"´÷Å2_EIqñ_5«×üåÌúßÅÅÅG§söíÛÇ;ìòµH>ðÀ.{] r N
+ Äãñ<§ÎQάP¸Ýî.È-¡/Lõgç9uÒàÀ@®RÛíÞ²7õ¤Ói|ªõ¹FãããD¢Ñ\M;§ÓõÆQ
+ Ýá©©îì½h4çØ9FGôåêÚÛÑkr ¸íÖ[Ãñx¢#N+¥D"yk èíÉ4MsànhÉÀ¶ä¡D<q8³%i~bè¢D"Aï#-ggGÎ>)P¦"S²E"²ÅótöSWW×´AàñxVÛoÿòÁñññf%eR)À9DÙ%ÿJ)COÞzë?ËþvLÜTIÕlu9]~~k¸³"vä4ÇS¸uúïÇHW¢öÃS-Z¡XÑÑQ
+y.ÅÔÖÖF:Ù÷HËåxòpçW¾ÒñØão//¯¸QáUJ§¸¸2Ïų^Ã4}(¥p¹\Swß}ï§ÿ~ÜÂ,%Us$iF)y.¥ÔÙÙÉÄÄDîsAAÁú÷s< Ú56>¾[eLƱ±±<'ÏRjiiÉì,nÿþè#p÷Ý_x5P at 8<ªÞÞõ,,Ü}Ã
+7lùH dNØ
+M¼-?2O¶<ÛhÏ;õ+»â+XTôðû÷¾ ¸ç÷î98<8´>Jöå×g×Óøðá\QH¿ßßuóÍ7ÿäq ·
ÆCÛ²ãÇàÐ`³g íÚµ+çö¡EÅE?ý c? ÷}ýë-}ý}«SÉä @x"ÌDh"ÏݳÀòïîîÊTýWøîÛn½í~l ØÆ ¯½FìèÏsø§;wfÛ ´¤äÿ~Øñ
+ß¿ÿ÷;úúÇãÈd
+ä¹|«þÑÑÑ\ÒGQQÑÞo¹å>1 lc@½:48¸9«úúúòyg ؾ}û´Í5ÿý£ÎûH |óGFGO¾5*z3þeÎÚ¶mknÅ*++W_wÝuÏj üáüáÆî®î'-ËR at h"Äà`Þ+8S¨¹¹îîîÜf^gò[o½ûDÎ=á"mñxü¹¡¡¡²ëîîÎÇÎ bëoNÛAQUUõ7¦iËvÂ!×®];véeMøýþ
§£ì¹f{+<}V´nÝ:"ÑhÎﯨ¬ØpûnàDÏÿX[ýñ·¾µþСC¦Séñlòh¶<\N?½úê«çðûo»õ¶/}k|ì½áøSGyÌx3<<L___^§vïÚMkkk®ö¿êfÎüikþþc^¿þ¥©K/»´Óét5x<æ,¥¦ÇãÉKæ4ÐÁؼesÆÝ·Cõ
+
+
+Zµê÷Z¨:ôË/½<°téÒ@ °ÐårU(¥µw¦Êo8}J©¿¿µk×æ{¥ÕÕÕ/ß~ûí¨"æ'.¾aÃC-+..¾È0B¥ãããæ÷<E466ÆÚµkI%S¹º¥¥e-_ýêWÒk~ªýaâ©Ã;ÿ_*H&´¶¶æ`ݺuÄbÑÜ4oaaáàM7Ýxͧ¹î§Ú `ãÆ\zÙ%{,Ëò¥BG*b||¼&8ÉOþääà¡þ@`jÉ%«fÍÕò `Ó¦M©e.{W)å!ôT*ÅÈÈ~¿·ÛàIó#S2 Zøüþä¾tñÅ¿úi¯R¶yåWâ\pÁNÀç÷û!t˲Äãñàõzóü$Öþ¡CÓÆ|{Çç÷'îX±bÅq¶GÌ«¯¾[¼xñ6!Ûçó-B8R£kz~3ªëçïÞÍæÍs(D,Xðå+V¬>Y÷9©mÞ¼9¾hÑ¢7 áõz M3Éxñx¼dOìaʤuet>,
+,½`éMË.Z¶ñdÞë¤ïµeËÔ¢E6'É°×ë=ß0R©©©]¼?
+³nÝ:º»»s~>(ÊÊÊ;n¹åßY?³ùdßóVUüïßùÎõ.üÏï;ïhÈRÑØØHmmm^âÓ¨¹¹[·æjøe9ÔαùÆo¼Ú4ÍSRõÕü³?û³%óçÏÿaiYéGA(..aÎÆϽ
+
غu«=[Ão¿Î=ûáo¾ù§òþ§|£À7ß|s`öì<¦Çcæ|!¥F£ôôô iÁ`ðs)ü]»v±~ýzB¡\RÂ`0<Á?¸îºëþæT·á´ÖýßÿûwUUUÇçó5e¥~¿ÊËË?ïììdçÎvç´'^)EMMÍ7ÝtÓ¦i)ÖÓ^Yùþè?7.Y²äûEÁàmBÃKaJJJ5«¢¢¢sRðìÚµëxu¯ PHÎ1ã﮽öÚïÎ6}f¥µøÃÞU\\ü§3CÙÙ¬Ì9óÂÀÀ {öì9¦TËô;3jk7Zµêë¦ivî¶}¦µÕøæåK/\ú_½^ï×\.W%ï±KJJ¨««£¢¢â¬Uõ---ôöögà)¥(++ë¬}påÊÿúYµñ(®ÿý¿ßxÉ%}×cºoÒ£éÍö«ÇëaÆÔÔÔ`æ-ôH$Âhoo'
+'t`08ZYYù§[ݱ ÈÒ}÷Ý×´råÊ].×õad§«\òQUUEEEÅ3ÛH$èê꦳óp&sTM
+?zÝu×}ûLáù¹½Æ=÷ü^î¸òÛV¹ÝîªÿÈ¢@U¡SZZzÚçÆÇÇéë룷·7·PæxÀÚO|iié¡ÒÒÒG¯¹æ¿=Óx}Fï¯òµ»¿V|宼OÓ´;Ün÷Òé¹ïjÚR¸Ü&ÅÅE),,<i%îR©ccc0<4Ìàà héÑÍ÷ªy¯×K0ÜXUUõåË?}¦òø¬Ù`çûóý¥uuu÷¥ôÕ.«ñýªéªW¡ðz¼øý~|>^¯ÇÛíÆåráp8r I§Ó$I±Xh$ÂÔTÉð$L'Å<*ô,í{;N
+wÁgV®\ùi¡3¯gåKÿçÿ碲Òò;¤+%t]÷fïtÕûa¯ïմݳÕû 9§mrìÌ¿Êçó½^\±bÅ/MÓ:xyÖo±uÛ·úoûÝß½Þ0+,ËZJ¥t]/³z´FR,Ì÷
+ýøWû(Ã0ðx<ýnÓlñxÌm¥¥ek]xáëg3ÿÎÉ=Öþú¯ÿºrÎ9Ëu]_(¥%¥¬Ò*µ,Y(¥ôI)ÝJ)RG @(!¥ézJ×´®ëaÃ0Æ
+Ãt8].«Ýïóíº`éÒ¦iS¯ÿÒícÄdþ'Ø IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_my_jobs.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_my_jobs.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_my_jobs.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,184 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ f° IDATxÚì½y´e×]ç÷ùí3ÜéÍs½zUïÕ<¨J*fÉeË°ÁjcÜv§ £!M¯Eè?éNÒIVw`AC
+¬Ä΢Á
+±Á2ÈÆF-ÛÊ¥¡æy|óüîtÎÙ{ÿòǹïÕ(#É3ÔÖR{ï;÷}÷ï»óï·
@ãéÏý^`1án#ÁvD6Yô¢Òh¢*±¢!`PPUõ %U´¡h
+taá2¢g%ÀyÐO<úcsÿÖL~'ý¥g?m¢°[xQTwªêUߪm¯¨jÕ¢E ÆkäÑPU£9PÔ£8U¬¢Jצªo¨§îÕ×Ô³ê=B9[,ÞHjdo}øIÿ´á" z{ÆîÑ·¢ºß+z z©zQ ñXuÆ«HT¼XTÅ ¨ñjj¡hQR«ÚL=6SM¯6õ*êÔªa¹ w>ºè
ÃAhìû<0|ÇÜüxçÊRý-Öú{󷩸ºB1m¡ÝF^-"^ð È(& !2/! ÄjzClK¤IW[ÆÔÒFBÚHIÓMfGÁ&³Åx%-Ç+6.,¹@fãBt¸\©¼4²~àù w±£gté Þà¹hi°2ô¼Í+"º#0²ÁH0äq% £ÅzD =å ÐàEC 11´^+1))ºmfçavVÁyðà³fÑÌ
+g©«%³4¨1ÐÖôá»*4cidN'ó§#_lk+?5ºaãQH<®»¿¿g<yl¿~À¨yP!ߤ Ä
+¨:¢PP¢bP"#Ãã\¿C iýëñ8,OLÀ6âzJ0q kPO at -8di¾û 4¡Ö¤ÙpÔHY ªÅ"
+h_~Ã0Íؤ4µé|G;*m^?ð¾þ· pÓ]®´RMߦ·)þvDÖ!#Úª(¹øÂ0"!4Å)O"
+xÀBB<! ñ¥³^ ]ñÓÐLA\=R>ÌAÓA½Ù@
+ªüýJ×LXj/³¸uåIû;±¥qªªuÙ¼Mݤ.·ÿfË汯^èïßÐøGÎÎ\¾þ=zô趥ÅÆO òHhÂíF>ECÅ)DB¬¢)àQ @HÚ"ñ<+ÃaÉZ+Ab) N<âÁÏLÁø<¬4sPÀ@Ú+YHSh ©WzÍ ©Ó¾°Ba±J{Veùoa1.Ò¨WD&ê
+Ò«ÈFùÈ˯z¡T,þðçù:\¾þ
+ú={b»÷ü¤¨<*¢ëD|PQ$ôä#CP0>Èwµ±-ò{"
+ià0Þ jpÅxQ µ£}
+,>Ä wW,ÑñÓ©YZûAÔz°iuX®Aµ µ,/AÒ$szzmeÂ÷üæ-÷²dùÚÕZUEU¬:Wˬ
+
Ã]ýì}ºopdá
+9S^Z¶ÿsþIÙdÄh»
+
+&ÂØP*¯pïìP ÅâZ;µU24Ä#hGx\n%´h'Â\
+桺
¶ü-ß
+8´&4k9ë¯&ø¤Af3R54Ò$úÑésD£Ã´íÞJ¹·Bue
eVk(ÆÎB!îtÎ÷]º|itnqîÞñ31ªg¶ÔÿAs§ïägB ÞªÆoVñ'
+SB"HMξCÏ'j
+d"W TPÒ §SÁå×84È¿zHÐüÊH¥ÙåSpù<¬T!(A ß,×Ô2¨%P_e´Z§æ3ïɤ©¦ÉwQxøn¢'&.juËÌü"µEDÓYêݲU´³\þÝí[Ç>Ñ;´¹ùÌN¾u`jòLX¯Û¡¼_QÅ÷*Ú(F!&Pñ*±cMõi.Ò|Kc|¾i³ ¿ªõçÊ»¼@ 9V
+¸Ð50y9×üÓ$ [" ¯ù *ÔW`¹od4,ÔÈh:ͺ³¤bQQÂéyäòeO.åJ̦ÊÍá>uï,CCCc£n[Z©þoGNþṩ3¿å%8Ø?0jæ¦ÎHïàfýÀ*ñÏ9¹£Z³?'ÂÆp(Úãqd(÷JX@VU÷ÖÏv¹ßP!Áa%ÿsÁçHâ¯pp!'¾Ñ|S¯ñ;^|³Sã°âò/IÚÒþM ë u¹eÔðÍ*¾dPShàI%±J
+Å!^`~£Û¹Ü× CA<*½ gOÓVî @¤8n«ÕÝ/x¥¿o¨ÿ§gÎ}n lñ;EüïpâÄ;ñúo"Ã^`Ô)¢ÄF¢ i³yãAàZ;XW-5-£u îÊN¿Sÿ°üFä@PjIÄ@$-Hþ%× [FO=I¦Ô¥'ó¹a¨RÔsqÐHpÕYú5¡¬ØAJnL¨BXÆF¹ç¾ÛÉÃ@_/\ ¼íÒÅÉÍZrðo`EÀÙ3§~õ#ÛAD ( .ïÔÌç;\[²Ûx³{Ñ|áÐ`%DÉĸ*xõ¨Ïwaf }&@¨J)QjõÒçÀY𧿶Υ4½¥îfÐô¦&dÞzOÓCêëÎ8L"A4$KPà²5g<©053ÏÑ#'ÉR¥ýÎ;Þ¶K39§@ÓúÈécÿÍÿõ;ÿ~$MíoýʯþÚá Ìj[nú_Pñ?Â>'ÚiUaB'R® hé® ¥EF-ié÷nUÇj
+ÖàÄfR¨`xQ¬CþÞ'
+
+dËh³¢YõY ¨¼U2qÔ%£á6©kFÔå>¢LÌ
+:dtµ÷RèèÃ9H²ïSp
+â0FÓ³ó;r$MØ08Hï[%®Ä\¸xÚrÅùxjrfãÌbýý,íúѼÿßO~òc}_àÜã½K
+÷+¾OTGS0Äylkêé*{Ï780¬
+©ñ$&mÉ ¡àbT4ïâPÓDDsJ; Ëo°êýsqq¤¡¢xúUE
+èîÆM\Æ6ªHXÎÙ¹±`%WTÉHÉZÁº:u<5²TÈpd&%%óqBÐÓO44Dø"â£|nÀD(ðê!0¤Å¶v68=~/Í3±¥þwl;{áWÿÅ=ùÜâÓÍïK =u|wúë*þ-ª2
+¾ $Î!6lØuAKM·à
+^
+)/Gh!ß³¹ËW±x¹b¿F.ÈõL«÷6\SÈÍ1æCâÞ¬ÉP"¥v&9yf½)F4%#QZ!Ó $¥é¡éëïiªª#UOæ§Í,¨%è¢8:xEÔ`%÷O Z 5\§84Ì.V<q5èÞ@ïÈFY×U.LcgOE~3<çëÝï}ÿ'ú?_ùvÐÌ|»êÄñÍÞó?ªú½º]ÞkÉyEMÁS¼óXõXUpñ ú\KWÈ,ÆøÜ}«h5XÄx0#hh®µñùRjøüsÅ`MñÆ_ëÀ*ØÑu$=]4ÂMifif©Ùͨ»ºµTeÙYeÙZjYFÝ7iøUÒ,W¦T <:Het1£JвIT<b<Æ¿zï)"JlËN.0>1Öod ¿ÞÒúÑ¡}ÝëµGï~ç?Õõ}S'nPø×>éѹ¦F1FÑ #OÁÅƱ¨[~w>"ÏÐÊ#ò!cEÍUÞ
+P#¶ó$Lqa³%7âOk¢a
+a»ÑVØWILlÑ(+ëºinC7Q#¥Yjj¤Ô4¥ê2ª¤Íª^¨9!MXÒHªRÁÛö2¸{ëRïIZñ 4SP!]``)
+°6æ¢3,{¡HÆ[(Æ6¿ô"Töt´þC[¼òøïþÞo´ÏpúäÑ^T~qzÜ:EobaPT¿Â Ää¶ñª½§E OÎRUòqe²Bì
+F|K>$R&×ÅD> ð|.sÔX¼¼
+G¤¹9-+ÑÎöÞNÖÝF£$¤^i¨¥æÒøoÐt·$X2µ4ÓSèaä¡û(nXGT#>ÌEq¸ CÅ]ì|®EÄSFP2¾ÒŦ[)#Ílèìèý5ï¿|¬ø=ÀÙÓ/µùÁ¿q;E " yü-ô¢iEësBø\º«É%³8LkQܪç+ %âø@Íò'>$ô!ÆG¨ò
q
+K Ð)F3¢Ñ
+î¸xû¤§+Jâ¦u4\FÃgÔ4¡NÌçVÕTÓ<îP(Ò3:Êðw0p÷hwjRG\»)Z LFf,VüF 8EǶîa¹é82Ñd15lîDÓ9l²bÄÚoO²àW\&wMO¯|O@ë¿ ö}
+£â¹-¬Ø^A}dÂqy& S¼òÝdDj0.&
+RüUN at YSú/$ÐÖýKp1"&¤«ÏTy¶OèbRáTµ8.f1¨SÚXaÝ;'èè¥và ËgNã
+"cH °Þh·oFPìédxÏ6v¿å1ú÷îÁ··á%XÆ°@Ö
+ at E> $@la
+ùËEuÞ®{îèeò@ÂéÓ|ùSci÷ ýËG35[ÇíCë(´·í~õÕ#¿u÷½»~xùÍÐ0xC&Þ©Wå·ç?µ²vÿz}?ân-Ä5PsÛiÎ
+®ñÅâ|§"ha4Ì9¦×'Òrùò^ü>â[l_P
+sepõÞâY{lKÓÀÿà#¼ÉZ"#Â"GDmd6´ÒN\ Ke"2çI4M ¸Ò@½£[Øx×lyø^î¸x°,hEhÈÃäú bN=ÇcÇpαiÓnß»È]âårZÙi¦æò¥9RS gpë×
+ÑÓQ¼mö,̯ô<ñCÿä'ÿràÿøÏË«¯øös±{àÄÉwªúè>
"xLà±·d¼ùï¼(IN4·3 qx¤µK4â±.Æ«Á9Mæ»A\ØÊàÑ+£-q®ð9ñ¸ÖsWå¬1`%ð¬:*ºc#Ý#Y·cgO2}æ4rn?=4k´·÷SÜ4ÄÈæ½lÛJÛXUW¥f1ÄÅ(i>@âÇP\
+X\Õ¤0Hyt»|]C:y³,.
ttõ1¼mF7Ò.JªZ\^®ýÈÊR}øW ûèèwL8yxjöoij]E;UÝ3Æp8/4dxÉZÙ54ò×*`´ ÏBJÛñä
+QÓ$-nA˾׵{X¤×(
+qF±âÀûö-
0¿Gܺ_*
+&(±ÚÀÆÐXßMØ·¾=èªy³:0(`
+1¦T XìÆ,'M,idrHÖzf¾.Æ8#hdcCJÔá½ÃxóKçð:vuµ±aÏ4ó°(K]´;h,G\¼<
zÛÆòÞ?ýøÏuô|äÝïüÅï Æ'Nõºÿ9#ìBÆÄaï¾ »¹qá^[ø5üÚU/òëÄå\¢Å2ók|+~å>ÄøHÈX\¬¦~Å.ÂÃÕ<|ë¹éûB{o|û
+DÑrBØC[( ªõ-¿FËU¬ÞhòaK\¹µ÷¢17KÔÓyλÌôÔ8à´Ë]ólcc1mô 0D
+j|Î*Y
ÌLOÍ¡béîé*?÷нw¼2·pîÞî1ûm·¥b} ÃQÀn×w#_¦yù,_ûò!¹DÆ¥AJíééAeßníP¸òî{FxþùçYY^AÑØ«n;pàä/>ðÀËÀßV 9sfª¾?ÂÛ@O¥RAÄÜy°½6¨Ãëovíë½æf1á×óìouμÆ\õÆ÷bÀèüµSÇ9vè$ç.Õ)v³ýîÇÛswëÒ\ù}#¿g×®]|ýùçsï8sæìT³¼Z,ß 4òÔäÔÏ#£ ªJ©T"Týk,ÈÍ>Ó7píë½æµ>{½ÏþVçüzæ®÷xGؼ-¤<¨t°åî»Øºe=Îg9Iõýööv¶oÝÆñÇQ
:N>õøæÍîk4/J¥ú·xáÂ
ÿ.ÌV¶(
+ikk¿ÅÙßèPEÕã|ì<^ ²æïx³ãàÁÌÌÌäa6k«ÏÝ}÷Ýÿ}©T:ô¦9@½^ù¹¹muOÆq´6E)K«)Îßd¼îW;îùý
+0¦ä¿×»ç=î[,Û¶mÓÓÓbLÐ699qÿ
¯×ëÅr¹¬o årY/^¸øQn2ÆtR.Uãk {=|W ù÷ôª\yDcÌ?.à°Öݨ ßÚm;::رcÇG¢0î8sæÌûÆÆÆ
+
§ß8vìØ61òhEc AÐÑÙùÙÞkíü,Ë°ÖæUºA^òõ|Æ;byyPêõúíçÎû ðÆ ª¥.ü Ì:vÚ*m¹Ò°Òú24jyÆl#É3$ P¶2ôvC©ôÅÜ¢æ· ^xTðýìÙ³©ê}À+"ÒxÝ z Gâ0¢°¸Só°8+°R¥4¹³%¡X6M£P!á°ø[»þÛ3`jj
+UeeeeÝ¡C~jÏ=¿
+Ý HÓômQmzOYÎ]_hHú¼tJ0!¤5XªCs./¡:|6n[aÓFèîºE¡ïÂغu+S aXøá={ö|âu Ñhééé} ·cúð2O¼0 3°\
$ɯÇ|óL;Ȫu¨/å5wSË03KËpÇ^èlÀÜ¢Òwpôöö2<<ÄåËã++ÕuGyLU K"²fsÜó ×ÚÌ(/À¥0?IJ+!/'º*x¾ 7ÛBZÎÃѯ½?çàßßñ±yó«¼/\|xëR n ÀøøxÞ?(bT!®×'¦`±Íæ¸,¯æÈ$zhJ^Feà«yí|açi8MíÀ×p+K?0x^òý §ÜdN×ÏSUéíí¥``Íw8¿¸°mzzê±ëiÞÄÙø6 !#ôh=¡4½ S³ù®Æ ò0§ÍÀÚ\ÈZåÓY&ÔÓ\)Lx`3O29Er0Ewì¤ÜÕCP)ñ÷º¿|úÄ9fÏfen¤ÑÌ#Éq¥þQºGo£o¨ üÎX
+"BR]æø3OÑ3²;îû>p&ås:ñÌStcþû`êø+\~ùël}ë»é\À¦±1¦¦¦@8zÎ=÷ÐÀÀàpþ¦ ÈRÛyþ¹GLÂŧ`q*y¦bð Øf^4s0A½Ë)4جIê-ÖÍzúéôÀ«¾*wìFsm ðÕ@L«$_fü¥ç8uàfÏS[ZÆ+r£w²~
+¼Áýß±õ®ÍÏð
ßù·ì~ü}ß ês|áwÿgv>ö$öÝÀļð±ßc`ÇÞ5 ÓV©°²² ããÛTuQDn ÀììÌ[1;XmFqq5¡¶*=$÷>͹@fsůf¡^jê
+|¢Ô½²L¸&º(á¥Iüù ¸}÷k
ö3_âï~ÿ£Ôdðþrï{ÖÓÖQÍgòàW9ýÿý¯Ìÿ4cý({÷to\]9|½ x¾VëZïÛ8§(D®ÓÎÇdãþh¾æÚÑÑQ:ª4Íâ#G~d÷îÝfé=Al¡@RêRÞ"%sWæÝZá$©Ë»jÕjP¢:Yb¡á=õ¼ÄT!ñåÉ ¢Ë´©¾f$ªzòç¿ð7\-Ó½{?£w?ÌðÖ¼ÚÀî¤,+4Ï?Ãøäq¦OBwïãjjºx'#m¦q
BÿzG6ÐÕ×qí"ø¬Aõüa¦¦¨-×QB:7¸FÑu³tT/aqü"KUÔ*A±BïFú·l¢½½tEÔê;ø2mÐÑ3uaFµb
+´
+o¦wlÅÂUZÀÛ&ÕóY¤ÚSǦ;¨/¯ WÍ)©UY§ÔÝKT,¯}¾aýú*
+c
+ÓSSíÞ½ûSÀ¡ `3w[GC@[O0>++y:ÔsÖ/¤-¹oså/YÉ=Ë©KóZyÖa=dXR§Xê3S¹ ¸ WÞ]|áU^yêeÿ{¶¼ãQF·^çMÛé¿û<Ð3ÃÁçRÒÆÐÛ[,J:G¿ÄÉ¿þÇ¢º\¥Pé§mÇãÜöw±ÿ±û¯$õ©Syú£9ø2Óã³X
+ôßý>
+½È ¼Zy¶¸êy.<ûqN|åY._Á5=QÇÚ·?Ⱦ÷}-wßF±õþæ·±Ñ]w
+sà_gîòHibÝ}O²ãÝ?ÁØh'¥«²üS§8ûôG9}ð%¦Çç°Ó×Rè%k¦Ñòxæ³|éþÞÿÿÑ»Þru<ÁuCLO`çæç·Ã×è Ï~ù3fp`ëbd ¡¤
+Å4É HM¾³$߸Rºe¹â6Ñ4Ŧg
Wj>¥a
+Mµ¤äµóiKðM²ùú¶-ã<K˧Í<;ndpËk¸Ëë·~]Ê´:Eúürúù).$·s×OýÝìâ%.=û .?1m`ÿ}Côtçßqÿ©çðù
+#þ,ûw@²Ìü¯sñ
£É2ÄWsì9Æ?÷ äØG±P»xåØ_ÀìéwñÈûîF¢4Es¿ØM¸å~öü³ÇhëìÄ5hù,O¿ÌþÏtüô{Y¿}$g²G>Îä_çÐù#ü,ûw@ºÌÂáç¹øâ!YÊ['®iþçìM=ª#ëG@UqÎ=z·ª~
+X\
P$Â[H×js¤¢uy'¬&¹æOKã÷÷lëj¸lµ<¼¦õT½#Ѽ-cê|î" h|ß$ö) Ø$éi2°®Dwñµd£t\çÁ\Yâüß}¥tíûíÝK¥è"mÍ9ðü4G¿ðwlßòNzº <ð%&£¸õÙøð;Û×Yôç±Ïræâýv1{úU=óE²Ý¿ÀèÛ>ÈZ¸c®â8ÿ³C^2Üùî}tF!':to£²ý!6?¼ò*í¶,ýñ§yùÙ§h¾ï~ ¿×Äg<tâÖ_fÃÃ36º:§E²Ég9}\ñW-£ ¸ÜD¯^ª211±s×®]»W¯TÙ/F:%.ÄåMuX^Ìûè,àæÉV¦Éj4
+m^,Yµ)¾Ê²M©gPwsÔR¡æ,Ì¥uÄØî\ܨ8°o¡ÝÜ|ÿ¿¶RÕh8^9¼L´qûß/
U ICïùÖݶìèá/_aÇ©¹ïÇ`xã"¶;cëû¨®+L/Lsl)fÝ;dì«1ü®IÇ,|
©]«hrNÙ´w÷¼c?¥øª >AyÓÄrÑ+¿'N,0S-pßû`ýèUsÚ÷6¶ýÓ$nïÀ§ÉëÒ'ã8fphðO`~~#¦?° IDAT°È
HVºUu í
+
+( ³73×qFçñêIQÄ;¬·Ô$Ã:%³Ê¦$¶ÕZORRõ¤äÖ+F2:»(u¯[ÛÇ7x¦Ã>¼iÃé$©wØ\óxÝ#ó0]÷ô
ëopyìľ֮ýe®æh¦0Ð_÷¬õûÁ®í1i²fÊéÿòÿÒDzUÁHÆùo¼ömaº°¶5¸£òÍàZ~+[z¾æ¨'Ðß_Ï©ã.0ETÝë^uCëUêµZÏâââÞ®®®?söH¯´«zâB*Eüº>ìÙó¤ÍYÁäÊ¿Luë+:%uаD}^3ïòâÉ°ÞY ýýFk 䤷R(úcÌL7èÝ7E@ée&Ï,¹2ëvì sûV=ðk Ä·*®rªÁßD~z*×q×/Ïf®ÝGLDÏØ^Ú¶í§çýWïjüÍÓ~Ô¯ê@W?' Ìu9«s*Ã7ù7´j £¨}bbbOWWWKT\â(··'ûÆËdYJH½yGFuÐôªd$^ó `&¤â¨Ô
+©W¬d¨pY^Pë×Ú¥èéØÈ`(\xu¶7AÄ^ü8ÏýÞS¬dyßøO´· úâ' z×ß8
+vâM`®ìÅþBÄb2Ù¡®¨u$=·/Y[°®¸óçÿv<ô0
FmU#P_@½Ò6ØN T¿T7þµ¿²
L6
¡øº9e§ZszýiD]]%ê:"-..n
+æoþÓ^U¿SóLDq¾Ø¦§pßí¸íitwPËjiBÍå%ÓURsI¦d)$,iƲwT3¨êj§
+%IPèÞ´{î k×æ\½#®Ãú}»Øùö,¾ðÇøÌqéü$×dËg³Ì=ÿyÿð_0¿¼âæw¬eÝ[+dÏñòçæmhróÏü ÓÇÎmù'ʺµÛmÛÝÉ@WÂ+~©ËWäjvþ\~ú#dõe$\µ¹7ÐÝ6ÄÆRÊåÃg¸t1#*Uòÿ{á³þÔÿÃKOý.³¼Ù±uW'Ý)/ÿå3L^ºjNáòÓ&«-!Qá
+ݳ¯¯¯ÕK/ëC`¢[PTÂõ Â
+#½·á¦fh=JZm©'5ÔkÞ Éå»-ñ¤$N[¶¿C¼#ðJe]?#wßÃàÝÛ;Z¬ïæ,±²c7cúÇÿæé/rækí$Ûiïnl7sËÏàÜOÏýïfÓcï#sÚÚÙúÐ,¼Råü³Oq¡³ÎÀHéìiÎ>{Fc=A©wà|×]$^9õÒs=mû·[aþÀ\~õÚh+ íÝÅ;oçÐ8a
+´¿e¥¶dâ%¦_ø3}mhø>ög¸/¸·ï_Cf{ÅÙkM¸á»öxÇ©c¢äiwÛÀ·æôÊI|£qMT]½Ç;ûMV½½½\8#`44&ުݴ¼ÑÕ/UJ;vÎÕ¨.TqçÎÔêÔ¢Ì2çI}J¦J*JêR¬S¬DÔ*N ³¯á½·±ùáé¸já_s¶QÙÞû>ÔËùç¿ÊÉ/~>O£à% Pé¢sý.Ö=ù¯ÙñðC¬ÛZYÒ9Dùü£¤ñô§ùòÿù§4¨ÒKiö¼õ ö¼sm
«äí¢¿r'w4ÿ3ûMýÑ,ÎAÏÞwü8ñK¿Iì®±;÷¿#CðÂÈ_þõ"YLT!ìeä_bËR.×L/%9nFïpYrí¸í'¨ÜÉröó¿Å¡Îà,tïyÅÿøào\3'ï.M^sSôôô´¬|ÅZo
+ ¶«÷mkk¬t5òÑv×^lZǪ§Nagh´<ê<)·ÍhºY¶
+Gؼ[|þ½»(´·½¾ W©¶³±8D8t;ËK4)j¢Rmèݼ
+}W5Zh)SÁ {Åz/ÎЬ[Âråõ;Ú±UâçÉùP^¿ÑßEaýNgðjh»b÷c£wÞvÕäÊ÷2öÊCÛ]Ê·õldpï½ômì^Û¡m}<òóÿÛn»éoÙ{oû¥ÿ¾±m׺¥õ;}äÝFv20}íFGËnß½võÆýòè/ý:Ý6¿ævww¯qÌüüü|áþX±Ø±«·whg¥ÜVìíë%ãkS´ìܦ^~©_báà1Vê4}uÛùª
+H%HÑQFî½÷?ÈÐm»(t_k²]áµàûîÙy]52kyc9×®¿Çk¾ýsRøæϸj|êSbeeç\sûöí"²NU˯E8&Ü4ÆðÈÚ÷îgrç×Y8}¥X¾0$ÍêÄÝtöÓ¹aMÙ°o£wì#îèÄc¾Çë$êêÝ |Ýï_ÿä
+̳££c-<Üh4úC^Å ák?$8¢cǤѵ{+ÙjsKÔHmJP©Pêê¤ÒÛCipîõ#º{någ}öööU£Ó4ÍÎè@)ªª¯£<EtlÚHǦ·VópT*U=@Ò4m7¨ ZIßÂ[Å ßQ.WÍMɲ¬*QU VCß\ yïoQç»0â8Æ{¢$Iƪ*¬jþÖÚïúÄs8çnQè;<1«ë,fA WÛÙþ£¨Î½Å®8§ò#ÔEQTDäu¥¾K븵&rm{Õ53·Jþ¾¿Fk:¢&ÔUj½Ðâ_¹Eå´±wÖÊMcÏWv½Áz¡ÚÅe©î¨Õzâ°ÎB¡(ôT"ºÞŵÂÅþN¾çÃ^tÑÕ<5Îy1æÆ\]Ep. :Vùå<ce¡æX®*ÕFFú¼7¾1D1´ú[
+r@!¢@¯p[ã{2Ò4]åâãCE-ª¢ñÞcÌuÎ Q¼¨6"Æ3&ïóS.¼ËDQ#Ô2KÚye.Mè<'lï/²}S
Më"ú;4?ï¾g#IVO*Ð
ª*ªZg%ëÌ3ÃRÝqiÞ2³hY©)Íp^ó Þ{¬s iæXÉ2Òºgjű²1¾hY.²gLo% `ä8øF£Ñ:ÏC54mäØPpÖu¢4ôÿ2±`¹8Q¯êcÀ#SE|uJê4oaê,©s'ÔÊÌRÊä|F=M)Û¹sSJ»!µ¯ÏÜÉÝk ÔµkúF&P¯¨3~
+Y»cínäkLAxók®¾Ö`zßAÜ4%ü*µ/O×VsiÅIZSUÕ,Ë®1õP¸¼qnʱ´³| ñ1©ºü
+Õ|J#ódM¡
+ukh:¡VK8uÎÑ6÷Duy]ÁëZ¼ ®2:Ô£¼5üwJ¦´<&Qq8ïÞ$L mx³ùAÂQÿ÷<GÖî§BëZAL¸V%¯Eï¨Uk«V
+ÅFê¢z
+A5ke·@ KUerÊ2;oóÂÖá0ªà!K,ÒêRoæÂÕ¦%I-ê,ËZhrðdcÝííåÀ¼e`ò&t¥ó':~
éYÕ:^Sì¤2¼]ûÚÐO[[L|û½a±ÄÊô8¯|ê£ôoÝŶ·þ0ÞÙousú¡Î±|î(¯<ýÁð}¬»çîuÄÇ:@bqK§yù3_$ zÙøøèê(«9AÎ%B½ÌÊåüòôAú¶ÝËöGÅdG¹xàUN~í$¥ø+ÜÒç-øMÛ::6ïa¼QÇK >Ñ\^Q¨xŧâ#°(³ÊÔ¼e¹ÇAÞøHÈzÅB)i¦4ÒøÕ&ÔO#±8OµÔ&¦3.2ÜWàm#xwcß_!ÅÕæX<ùu&¿ÌøÓ,ÎÌÒ¬ÖðÖcâvâÁóÌÎ.Ãý0¼epõÌg½N| WµØÕ6T¸²³äXz(Ð\^äÅÿ»Þñ^v¾ý=¨+ sÅ vÃ3ZâláþîcÔú&Y
+Féxhîî"8 <éìYf_þG?ÿE´o}ü¹»ågßLÒzúÿ²ý±ëíoǤ§zù|ý¾Hçàz*]WÄU«³¹2íçÏs±k#Q¥D1È|9YA/£:@KxïBC½é¹41&,{G¥·<§uú]ÓÖyÒ4¥aZ"T«PK<,¡¾Iæëh¡³åÒô2&ËܾõúFÓiBä+§¿È~ÿ£4
+c¬Ç?ç[èìê¬A6_ý>ó,Mü·l~ìrûþâB³¾E ùÒW9?¼³8ën¦b¹¶
F
Ä¥2A_ëü #L ×\¯ª8¡JY¸ö±yüÇóÕ§¿Áé?ûwlýßz6S8ãü7þç?ò'Äûÿ%c<Ép_8pø°G%@L¨X!VlBÔC±³~ñß°é¾Gðåh ²¦¿ôÎ>ÿ"çghÏ^cÚÑ^ÁõÊvUõ¨$ ¥BZâ¹<±Ru¤6ïû³hÞ&³J(µÔRK¤!$©ÃgÞ5p¶Úç<ê-¢ñ.ÍTPâ1H0÷#ûÛ/0/;èÝñ0îÜÏÀÈðZ=ê
dlê Í,;î»(Wâú¥cÌ?ÀÔ¥ FBPè <¼¡mÛX·y.s9D0Å"vigúÂyVðDtï¸4±8§\-eâ |¥£_föôIfgð{)
+oeýÞ½tõ£Í&ê
+aÇ}÷}YyöN=õí»ûøÂÇ9ÿÜK,äý°yïF
+aÓÕ_S96Á
+ÙC&i_7Jo?þk2
*~SÓÇH^:KV[jïíi»è õzKZ$ "eêg|!¥ÚÈ¡Lòs¼Bæò¢¼@Xh¤>¯ýËÌ¢6!s5¼ÍHZðÀ¦çR¦*P07øñL¼r_:JåÉß`ÓÛal¬s i³ÐvÓ·ûºÚ8üâ2Y°WêH ¾Öæ;üUN~᯸|áÍZ¨ÔEyýiÒúã´÷õBÄŦKÔ/áü³åâcÌÏ-á|HÏù9¢ö>lbV`4§9s_ùç~éÙ%|¢^ÊwáL:é(Ñ
+Øu0rß9Üâ$/~鯹Xéé¾#þ43]¬{û/³iÏú;ÍæñåiF^
¤PG±¯¤½
+.AºÁþ¶s!pѪÞÒl6AFæZÎÙ{$BܪówHcêÎÑpÔ
+Y\:úø:iâ]>C}ãîbj5+×LºEUÄ70ÉqëXÃÞÝÝn¬àlr²¨.
x ³ñ½lësù)aà'©é?rö¥e¦åîûЯÒ7ÜN6Ký3ýÂgjläG6²n¤´Ù¤ù2þÙÈæwý0Ü>$óÌ=ÿYÎ?ûÇ.£&?©ÌÂâ«Ïqñ3À+}´mû OüâC*µ³Ï1ùqú¯B¦O4xû¿x¨½DX4:÷½å.fÎþsÏý>~¥>6í;÷ýðm´uIÓ7§Ì®:w¢BÐB|e
}¿{ã_½fÂzz:2ðCà$ʱUݨÑhäÝ)¼¥$1¤
+MçH4/ò9GêÎû¼èÁµî¨mâmwâRÄ%8V\~NßM0Bv,&3=½%:ÚÀ7¯ïåP#¥aò®õ¤@Zrî«ÏÆw°î¡w²þÎýt·. ®dé+ãîo¹mÏ{0#yÊøË>{îý`øîÞÐ8*îéüË<;ÁªNà½pQxø_1öø{Ùt{«ÊhCí
9ÎþÑ¿ô4?v=ímùX>Ãûhß´mwõóò_åÄóKTnû]û¡¯¿
+çi¢oªu|Æxqòo?ÁÒ
ÃhÚÀy ¡vò23Y=ÛvPîí¥·»+CçÎO<þÏæú짩úgÍfBdR`¨&J#õXMÉ\nÇB¼"Nâ]JæSÄe¾A¹OáÿoïÌ亮óþ{ïõë½{}ÇÁp ¤Hq))´¬åX#9¥ÄårìTâ%UVÉ.»lKV²èHÖF¤D¤` A û2}ßzfzºgz{˽7tÏ
$HQ"ióT5z¦·ûö;çÝ{î9ß9°QÂE"p=6%Ae!ÿk,aÜT±<\ÃÔõåê7uùÿU%ò¬öç o zûÒTÝÑʦ»¯Ã§\lK¡S}Û'Íü÷ð3Èô@C?Üb1íåú»?@¬4mYHt¢o¢^·ñìïAA2cÌ/ÄÉÜ°£ÚöédÐ1Ì áÃ9Lrò8Ó9Hñt"àØ·URÒÃ465ãª$oÙõ-±tÓD
+¾ý3rÄ
+ÇÊa;i\³·²ºÖV¼>±²²´R³ã
òpSt]R*03é>3H4ìex~má<Bä£\rФr
+
+£ÍF}¤6tQZ¡¡OjTUF¨ùG¶Õj fÊ(G¨x±ÃH¡dô
+¢àécI¨\p%ÌÙÕº"fpR
+4Í :PzØ 3Ëo´À²å&4
+äÖH ü[@[*wÁîÇÐç¶ÍÅÿÑ'þ7ºpW<n\&ÏA¯ßD<kSá@¡#1ð©)2³Ç8ü,¸>?ØÊø+ßbXÎRßöï)õ*<Ê.lwJ¡<^ᢾv°ò¦ÿöhÚ¾M¡æ{=zSûaùjñUáõh
SSSÕ
+½Àï×ç5]RVåéÅÁ@ÚNרËcx¤T(é"ÄFJ)BÐuJ
+ÂA(4
+ét4jÊýÔW
Ñ4í(ºå[ß[ß=ÇÌxòFèhMΣҽÀv"¬Ù¹ÏWاJ.¯,Ú²iJ×UÝÉÑU<Ð]blKɱåª^,1×V®BØùåª$ÍðÒº§_Óz*B^¼JÒ®^IòÂQFþtÛ:X·«Ùû ùóÏÒ½+wn"VAæ-tüB©Ñ~Jjê WÖãº
+MW
Jr«û H)ÐtêÎëiÞ°¥0{¡gngÉIE¤¬ÒÒh²´$Ú¥R8KgÇcç
+Ú
+Ã(_L§)¬ NuIf8Øä#Lé W8Hi¡Il©ò8*fk VX:¥#^5Zj¢èËV ¥(³ÒÒ*ý&g'ÆâÔm-¹b»PÙqrýròÛÏQë©ÝºHLC£*¨£\I<eÂÔu´PùH{-°ÍX)Q
¼¤\ñM7H@Ó
+µ²r¾Rv1àã³ ©J0}>6<ð{´ïÝiÛs*V<§sW£
+¡gþçÜS¯ýгö®»YÛä¸å8ç?K×?üå_$Z¹0IOqþ±X{ûÇ ×4(á Ü|ÁgZU¾TâäÒØÌçÑÌev²Ííç'ù'ÇñUÓØÚ>¥ëZ·(ty,ózÍÃë¦
+!ÁCm!Ú[¼ rÎ"e¡968\Ûµ?K'ídpD[X8ÒFA#Â"cg0:kjÙ±µ¶µehºvE C×_·Îo&}ütÿô!z»'È)>¿¿ßbúð³ûÆ3¤ä&ÂÛïÇë-ð úýë;¢äÇ9ù#ä]^¯G·ß÷mf/öãíøzd¥<|ÝærªK-N=ö3&ûgñú|øý^gcä§ßÀÉ, f-Eë¨Úô>F÷qL¯¯×YR§äÿG¾õMr9¯×ÈføÞ_Ów¼LåmlÞ³
5at3Hí¿CÃÎ=ø9÷Ì\xi Ó,ø>*¹pÑ1`zuTbLW¸kÐ=ÅUà5aid*´ò2ö³§ÏÊëf pAÓõ ¾¾þÙ¾ßYª5ËeÓ44±¹5ÊÌ\Óé4éLÁ³<B(\é¢\a©M*rA9hÅׯG§©¦ÛY·¦ÒP +¤(×%²¦î¤¹ï{¤gzyÙÑ:B¸9db¹®nâ©:jvßEÓMÄ4=ÀDiØ{'ã3üýÁIæª"ÔÓ¯ =í´Ý¼P¬"}4UÛö`I?çN0q8>×"Gª·ÉQ·0M"$±ÖÍ´ï½Ó}=ÿÞùN|ö\ϱ 5µ ѱ33ÌÜÇù}É
¶Ñô¡ÑØ^KاÈ[
+_í6êvM°8ró=èòx)¯{êH¶â3ýôþüÇØ~ÄðKÌôd)é¼
ÒÖ(é*Â\+iBÚH3À@Ü¡¤q
+n>Çäh7LÏLw§` {oºW'NJíÖЩ
Eby-MeäsôgI¥³xpÒÁ6tÀUVzCÙÂAsÁ |:-±7v4³gg±há¼^ÊÒÅõ6ão.çÖÏÄ<v®£sâéirB7 +(Y³êþ»·RÝF¸.nÞBTºý÷hñýwßã~ø ²é,ÞHµ·°öֻ鸿®áæ±M½ã~ÊØýǾIÏcÓ¸ÂGÉöãoý4¡î¿ Pd®¤tÓNµ¨'¿ÃÀÑóâî/ÅW³¶²Pö±xìÛ?ÿ´ßz;»¸SÚXÅ϶mAlýVvüöçÿÅ_1qîNû ×û¢Ô¯i¦ã3Æ~êIz¾ûÌ8ØF áµ;éøÄ}ÔoÜt1äJèûÒcF:`dp`ãZMá̾¸p¶ÿ#¿û .w){{û>HÌý©Çã©×мUU2>åDWÏÆ9ÛgjzáÚèºPùBËGä±
mJÂÖ6ײçºfvíXÃæ&Â/º®½~
+W÷ )
nͱgn||:ã¸(MÇã
+â/%T»²Ê~¿ÇFCC3=ä§Yée~6
m;Þ ¾X¥
+
+×£B¹²p0ýܹñó$§&I§2(åÁW½3\3~Ò&bë¶8~=:HÔÐERã¤Ò(!Ñ=<jÊÛVUãÑ]ø9ÆI
(o]GU{Ø6+°a8('ÉØÉ㤳üM×SY%H+ÁÜ`ɱqG 0Þò:bíE"xÉ¡ËifIR·e'ªZ[Èì:ucÇ¢{ùŽ¡ªäD}Û¶õæÝû®0 Çq7=vô«^ÓÜ©ëzÄëõÒÑÑmKâsyN÷¦xõÂg.²°Æ²r¤óØyå
+]`
+×Àôê¬k¨e÷æµìØ^O[KåR©«&9®Ð
+C_è® )+A!Z!QãÑ/é¢S¸]Äå
/J¡ºéE×VA
Ïèè¸
+D>·
+¯c\%yT at Q¹Å y|è
+RâÚW6É-$ÁL¯QȸKáÈí¼îÁS|}õ(á:ÅÆ
+ÏÀÔÀq]ã,ÏóG!J¡ø|
/üοûð}]Ó®lzãy¥Ôö¥ÄP""Rós[eÎuQN¶Eè38:ÇÄÉìô<y'K(꧶²Öú*Ö¶T°½³Íëjñxtß9é"lv6Õ×gñ®t5\íƽwaå/ý¬å£v:~°óWÎí2½r-«!iAµ×ø®N¾H´±<ÏÂëîÒëW|ø¯°ÜÏ(ÎshhT*µü^ÍeF©Ñå÷êi¦'uþü
§©ägt¯·¥´D"AI4Ç£ã3u*ø¶Ö²®¹äbéEl&ë:H0 at Y$DYiªò¡$®øE;oJüVÆ]eÌüQF® IDATÛƵÎC½çÍíêêZÝ!Tutt\D©ó@ uU hm]Óuþüùó®ë[\LÎd
BHK`hÐP¦©&RÄ i«j!¥DIÞqÞGb¾255ÅèØØ2F¡¶¶vº²²ò(0u êé*ce8~*·ûý(fgguåÅÁ-:O¬µ-é_ÎO½ü}ÇäìÙ³+È$`ݺu'ù:ihnn~L×ôóJI JÉd.Ùæ
+D
âc'¿+õ¾òßé»pp°"VTUU9û ^× óhd븳RJW)Åt|úý+ûS§N¯@Jévvv §À| o´ ÐÞÞþÒ' !nÖ
+½d!µ@2¤äÍr¿.\ú_{ø¯@^îÅÖ¯_ÿ¨Zåù_¦9¿µ°¸°Éc%(E<§¢¢}ØV[]'¾äËÂ¥Zw\-Ï-XVº®ëï÷'xääÉèE¨ìر£Ç4Í#oÖ rÀ_=þê§]Ç0t=bYñjjj¬¤Zö Axw:¯K®º=ÜøE9Ôÿ
Ë'G×t¦hllLnÚ´é¦i¯¼Ö7ìÌX]Uýý}ýÍÁPp³B1::B^!?é´b.ë²hÙ¸®ÂÓÔð 2i¬2)¾ßüéW!óóó¼üòËËØ@bÇÏ?½q¯k ÅÞAÿ4¾1·F4gK¦/´ËHæò6émË7ß4õ²¶ÁKEÔ$ÐñÚë®ïË[^zi9`¥-[¶Ì466>
+SJi¦©7m ÅAóyÇ}øÀ/íÉfÅƬ¥
3NÏB 3C)/
ÇÊK¬ÆBVÑ5lp~ÄÇukBt4ù©©2y¿ÜÛ/§Of¸Ø\)C·ÜrËÓÀMÓæßò
+°$3óÎ@V¾È$¾ì*3бÒ#A´ øÄEs¼8®KFº¸®ÆBÎ%±IÙÄÃì%ÔV\AÁ÷¾¼eÇã:xð ÜîÝ»{7MÐXÈ>òâìcfÝ+l¡y¢J)ìÔ(Fdc¡Jh;ÀÕ°\
+GJ2yAÊvI¦#û RazÞ#÷6¿òÂ/,·GÁf;::ö¯h£ñ×|îºÿæ| ÜùUChG]á
+)$ÂÊIõw$¶ia*råb»åh,¦lúGéf*Ý_ïnåïß¿x<¾¬üÊ
+÷C·}èÛÀ¯Eù×¼,%ÅIå¯ø¿"=Ö*ñ6H¥y;«û±UEBØd\A:¯
+EÂEe6)¸Ð#8Ó¢<à¡6æ¿¢6ð
+±gHö`èä1fG§È.¤hèÁrJZ¶R·í6××áõýòâéÙi~ã¯hØ|ï}à-¼Ã½Ç9ô'ð¶ÝÁÛ?As5°}Àjö/ÿãdÍÚÿÍi,%Õ}
|j]¿t5N,Ò; Í2ÖRÒPcßwß}G§×:»7e _øhµûÕÇ'~.ôFO~V(o×ÃB'ãI[l^³à]åAÙX n).ö'iªöQSîãµã>6baéìíafrl*Ï#¥DK/b§óäfÓÈüÔoì Ô~)¦Ks~ßÑ4í-´d2>eó5Qz÷6Ê£+íó©zþÝèe´J
®ÅI¿Ìþ`y=UkÚ
+¤Ý
+â®tDy6¯Ýq¡±±ñaึÅ~»
+ à÷?^þìK÷ó\ëR©¨-&Ü,«lÖGÖ[¸H[+pFfF¦ì&þZËö±xá§<ÿà÷%[Xÿñ/²cëzÊ*KÐì<ötCÏ=ΩǾÊì\|9»>P¹L÷¶nº?\é¼Åw¨ Òzw}þ×yñÑè{ôK4mü¾PÀ,£Çösð"|ÇgÝ÷Ó+`û¤2ñC\÷©ße×oü6ʶàGO>É)^¿R6l¹íö}_Ó´o¾ÙÙ½)øÆ´/¾A$ôö¯Üs¥R{¡GáwûvØ^Ì¢DÍup
@H©l¦g$ñÙhñÜu?KÏSHWÜAÃõ·Ò¾c#¥áÃâàiÞJã®I´ìzâq²Cç`×-¸4ÙñÓL?À`ßÙÅ,f°PëÖlßF}kírìa)áæ̾ú3Æ.v3Gâ#¶õN¤áÇqÄeäÑ
UjæÔ>ÆÏdjtaKÌH¡í´ß´ªª¬&²ý·XÛÄÙO×#cÜw?·×3þÔô:ÕtÛn¸öõ
+åà
+1¹Å4?ß¿¿Pådèh at KKKæö»nøéêøÍkû!XR>Àß~±åüoþyßÿ,q/¶â:®«JØĦD
+ëk!QD+é2;ç0X\jY¿:è°üãäÅô¼:@ôSÿæÛöR^q¹WnYw=yı¶.V¥#lÈ?uÞKb[oc*
&Bå&51|g
¾Wé=|±q²Bêdm/xB¸V}5 3zÁCÏ1Òut¶öcbø}pè¬ð
+L`;M»îÔ/>{áRÒè
+ùÙV5÷~Ö
+Í+ÈA)\É$O=ýÙlv©!/U{ï½÷9à1MÓÎ_¿ùål«%³¨÷¦UÕÆô¡¿V®Ü¦\¡òÄü}L-Tà¸GfA. ©3]d.µp/Û Ð|æéÜ0)ÓdíÆU
+¯á{*¡î×é¸G¡00GK$óÌWè?ÓÁ;¸åswSÛ\5ÝEÏ÷ÿï>Åhz-¼»ÚBK4ëÈ7<vÞùmlùøçØ´«-?Ëø³ßæâ3ßAs/aê^8}Áþ
+݉
+_÷nÿÄ"Reàé¯Ñýãï3yqþãñtÜIC¸Ö?bâ¯óôX3DöÞÍ÷lÄ4õ+¡ ¹<Oþä',Á(Ey,Æ=÷Üó®ë ô½UþBæ_iÍÌfÍÃãéò¯J?먼r
Gä©b2r-\C,ÃôH¼W k Ø#¸ÎJ3¨(õS¢½Öù\#ÇÄô¯(æ39.9ã/¥å®»¨ZÛénÞHûw0uäIòó+ȨÁÓ]LͲæÛhض ¯¬Æ׳fïvL¿ï¶2Ócï%ºó&Ú?ú1J+Ë0ý*¶ÝÁÆ_û¦1ÇL×>EòèÕF¬]ÏÆ=uúSÄÏàiÛMÙö½ËÊ¿ÐÖðU~ôoqæ¹0øÊó¾ò<Óg^R¡±SO¿ú÷_þÖoüÅ MÓ2ï úÛíùTÖxb"þ²-¬Q)m¥\2G]hA¸97TiÊ#%~®ÞЬE t
+|ù&ÏçyKÐ=ìn`Ó®&¼Ë[wÈöûiAþY¸§Id½lùà
+T\³éÔÝúëjÙ ÆI¦gI{ÖGðHM%3ÊvúÓ9+4_À_$+',! ú2Nkõ7ÎÐ5HÎÄI÷í'7Ù¯*S§çÎúzÿ¡gþéÿ£_(°ò¶ä^~èÖÅ]¿ñÔ>ÇTUù?QBlq)t®-¢¤AÜئ¤µ,B}Yà*0o ¼õ`"ä8ÛÁÞÿí*y¡Ó ì
+£©Di%hbTneIw4,%~ xitæ]e¬Ý94×áâÆÐwhEÐCa¿Ì
+âo¿DΦFAxù»Æq¦óÜNâøtÞµ®dȧ¥ó+å'OöqàØ(Rj6Ý@mçVÊ"An½ù¦gb±ò¯KkQݽm1Ù#ß½7¹åþÉeüðÂÒt{* R1Ö©,P[.^,uø@ï$ì¯%*N11¥´¢W
+Ñ@æç¿@Î.c˽÷áóè(L$J3\N¯,Ñ´
+ÿ%ñS¨ßÏé&ËHùl!\áAi:u;n¢²¹Ë²0ºÍã§m·¯¶
êÒÀ%Æ:{Þz9s;M7ncã®*äÅ¿"Ùó§ÝÂ
+wßDYyýû÷sáÂùÆ
ÓÐÔ¹ç{F£ßj¶øvèím
+Êyä³>òµÇû|Ãõ¹¯z=î&)ñK
VêWDýk46 ÛЬè=¼ª5ÔW8ÓG¤¼ÆU
f«Í%5Àb×9ýØ!r¬¿ã^|>ÓШzp,4(n#6äád¦Ñ£Ñ<+VU[êgNäLÑØPÊ
+a{ö8JX«N)kѵ
+~/-wý»n$x-LÎ \IYY°¸Ò¹`ÑóÂÙßMì×¾BÛ·Sß ðÝþ
+'~ïý?üaü³ñøÊv ª*fî¿ÿþ%ïĵy¯EÞvN¼ç7Ü~K"µ`¼1rÓp-áúMÓC],J[õmÕÄÊb!½bÜ%HX$Áãüsϲ8=¿ºpUeß1ÝÇøOpäáGHo§öæϱ~K#GÇ°æ ýé¸`d¶¦Î5ø< süðoè; [s?»7QR^¸?Ã/á,Nqæ¢h¬ÊÂëéS?¤÷ÿÃPÏ4u[obÍõ{ îhÎ
Cfbؾ&g~1ÉÜÁ¯sàߤ÷TÍ»öàõÅyþcºÇ±ªïâæî eM
+`ËFd.͹ÃÏðBש¼F¤4 j\b¦ff>öÀgþ®¾sÓÿº4M˽úú¥`°}Ï9³ÏMk±½Ý¦!= µÑh ÐÜPa4ÔYX Lðx<W qçÆÐródfã$/2Ýws¯0qê=C,fÊ©ßû Ú÷ܦ¡+BaÔbòñAÃ8yá3ÝP¶[µCØò 4/ñ¾¬A'ú:ÿ
+ÝýÌ'¢aË
+4ßxK!0cߧgq¬ôä ³}g;ú<#§3
+iÝNëu;ðäÇ8ø(¯>þ4nå6Ú>útlkÂ(&æ]^9{áÙIægfÉç\|%x{s½8?ÛýRúîºïì¾ô¥·½ÊæWîúWýÊïw® a]KU{EYØ0B!´¶¶^É,]8ÌðËÏsöÀ+LOL±É"u@´öhÚu»¶RRq¹ zõ1ºþ.}gH/ØøJjn¸
Î;îbËM7^aùÖìcû¢ëÈ+
+#NåÿpMÓÏü%[ïû$;>÷_V¶ g¾ý==^`xx
+iÙþ¾ú-´ä3´ß´0dþ==ûåà ø,{?ù±e7óÄEW²t8ÀBÖOî»z ùHEþÌÃÕ»¾ôÍ_¦n~%ð×í+ýÀöë²#_̦o7#*RÅIA$aýúõÔ××_æÒ/b',&æ±ò®+-Z}xÃ%J«ECèÆ_ÃÉÌ$³Åu%ºÇ ®,{ntr\&BÃ[ZÇÂ&\QI¸¦é#ËÏOË3hÝ%\UO°4©q²8©pM-¥åpìØ1fggA¿.H°¦¹mö¶{øviû²Ç½Ñä{Ö þã~Gû»ÿù)°°÷D"¾í½½}íïï»Ó±j4²Ø_×ujjjhk[K,ö+æ¾VVð·À¾Z&''9qâ8ÃÃ#«6AA(Zؽ{wOÌñcàäRVïÍÄößõ¥ØyôèÑ?ߥëZ
+P SÔÖÖÒÚÚJ,ãLNNræÌúûû¾â@)6oÙ2SÄð=Ì5"yÞ³P¼ A µ¿¿ÿÎg2-¦iFtM+×2a´¬i¡®¶î=©øÁÁAÎ?Ïèèè¥w|ñ¹±±1¹cÇçèÝ#À¦iÙ_åßQÌmÛe®ëÞ000pÿèèèL&Skx<¡"Ùò]
+hjj¢©±@0ø®Vz:¦··/L&¯PºÒ¬¬\غukOggç!
+¸ýcoÞýçj ×ëU ®ëî¼xñâg&''ï]\\¬Õ4ÍS¤³[6¥ ¦¦úúzêêêiPßi±,¡¡!
+uy«V±ÕÏUÕÕÎÆ:;;~ºT±óËÜãßÕpÙEhÖ4^¼Øõ¡±ÑñÎ'çÛ½^o9ªHn«V¨ieÏTWWSUUõ¶^ÌÏÏ3>>ÎØØc«1\e©WµµµÓëÖ;ÙÙÙ¹8#^¯7÷N_÷w%ì5ÍùÐððð©éé5÷ëîÓ4Ý»ÔbµQøý~b±åååQZZzi\áÇqH$ÌÍÍÇ&Í.ßÝ+]aûýþ|[[ÛÂúõë/;sÁùwÓµ~W@.[êª5ÀÆîÝÏÄ÷ÌÏÏ·!WsªV/½
+E("
BAü~?>Ó4
+Äu]lÛƲ,r¹ÙLt:ÃÂâ©T
Å
î'jµñ·¨âg{½^Ò
+
+
+çÖ[÷\Qéç)´e¸¼>ÿ}¸6(z ®»»ûúéééDb¾)Ë{<¦iæ¯puãXý|ùþ¼º6Q]MÉËǶåßB8¡p8YUY9ÕÐÐ0ÐÑÑqè&q`tuC¦w£¼'+õr¹\9Ð lH¥R§¦§6¥©¶ùùù`24
K«ÇR+ÐPM¡´¢25ÅÊ^]P®,°'-J)%ÇeeeNEE¥SUY®©©é.))éº@W H¼®å{Õ t
+YÞÕ_q
hZH$ZÒétm.«´,«Ä¶íã8×u¼Â¦ÂPJéK at S]×¥aÂðxl¯Ç´¼>oÎï÷/ùp$ÅbcÕÕÕCÅ;{¸ølÎêÇ»m#ùÿõ®SÂÔ IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_results.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_results.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_results.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,94 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ
+µ;v IDATxÚíy|TåõÿßϽw&%û$!!$aß"B\ZT¾â¸aQ[ÛßÏnÖ¯Ô_µZõÛjúUqǪ{TÔ²ìd%HÈÉLf»÷>¿?fî0¬²D Ã×LfîòÌ=çlÏ9çB´kWy
+
»ºÑÕ²²XJ'¥ÌR¦JSJ$¥Ô@*HHSJt $¨BTå"¶Úl¶ín·«¨íܹ¸ñTyfâdü¶Í« .ûI)'S¦4<¦$)T)%"ARJL$"ö·)ØHdìÕÄ!1Li¶bÒJ¦¨[¡¬ü 5%eCÏ^CÌ |TW»3YBA 5òcÃ4ΦYb2PMLEH¤2z/c%Hâ%Æh )!* LDJÀ}.¥>¬èùÒÒT¤4ª6¨ºHÓÔ;åf~n"*³³ hCªÜ0lWIÓ¼H7Ìþ`æТ3Ú1FÁÀ eºbCQ%ª¢!T*PP.%BJLÓ@7CÑu¤n ¤q@ DX1iaJS7¥¹Çf³·ÛÞÍÍË]ØØc¤íéÁ°>|ÅÒå7$¹ÓÆôìÞ#]"m)¢³RË)U$@(IªÆ>ÎÀý9ÿÜsP¥Tt$
+ªB¢H=_H
+01¥ hnià¥Ï3ñâËÉÈÊ"Ô DtÓÒ)BFÅTRJSU(M6mþê_.Y¶â¯÷=ØÔ³ÖÞôÜϸº÷tMSKøººú!»ê]ÎÖ0ùópªÝÕ54úØà´©Ø4
+UJºÝe¬üz.O!µõMDZ(RâmÞõ_ÓÔbÐ¥{/÷*ÀD²§l«7cªÉô4.¹iØ$J_,XÂ×[v½|W\~ #ÂÆu[ØVUOJF
yy`ê¡ ;wí&6;-ÃÞ)'3§Õ¸jý7Û'êR[óþûs^9|ÐkÙy=ýíéy«íe oO¿Ë3æ©×§ØÔçvUÕ]Ù5
+Ú««k°Ùläd{¨«©eéÊ"-¬Y½
+é.¦³ÇnÑußÌù×,¶5IT5;vVÒ¹°ÂNY|4çUmkÄ¥X¼ä+óúíTxêxu`K_WFè_IØ00"eeelÞº®EôéÖË?æ¹ËINv²mý
+Êé5¨ÒËøfGÉÉ
+{jIr¤£iÕU{ìa=ÒÅå9×ïóOîÚ¥1Ûþùüùíá¹+'z ;¶®KÙ²ùë_tvö
+s<Ø}ÂaEZz6
+ÓËaÇfúiª¤¦ÞKçÂtÏMÂ4¤!º ²±
u;¸è±L¼p)).¤iÒÐàËÒ
+ÜnÝI(äë¥Ë
+;g
+p¦ç2¸w©G0#"FAý0d@?ÂFÏWìÀl6ArR
+_/\DP×ÉJwâon¤Ù$ÃASŦ¨¤g¤¢©ªÈÌHsu½Offê#ª"þóØô'~ñÞÜÏR~° ýækö»î¾ëÜÖñ©)ùçÆÛúùÂ͵ÎMPV¶ÊÝåØHNsÑwð0ô*¢eëZþ³xUªÂÀ!45A/Ï×a@U$B²¦a·'ѯO?zõ̦{ïA>t=ÀçïýH0 h2j@(l`"pÚ4EâH²ËÈ3ú"¬ìJ¯¢L¶.YȺ:²=Q÷SJL3j¬fz²µ¢ÎúÙ#ÿ\ºè?.^øÙ¹eÛJí?( lÛÚâÝ{þÖâm¹pÛÎ]ÎîE
Ømõõ4ü
+uÔGdÙdh!ÖoÚ Ӣ46³rÙ$¥¦áINËÎCºÐAfvgéɯÏfu®·ÓÉù£0S5ÞZZBP<èt0m¬[»=AIbôEg
3
+J~z-ùÎÝùqÉv~°mÛ+ [Èéu:ªi§ªª¥KÖîÆowãNËÄéJ&+EeyU;÷t%ßAUÕ.Àp:SÓG´ø[ÞÕ+ÂïïܺþöÂýËOi/à?>´§¸3¯KIqM3#F÷_jÇír øhj `Ógç<ÒíêjÙíõÓ)?T»BumÍ~=¼¼\*èRA&º0 ø¼T×4`s¤C G¬¬t"5µ5´%E9ÙBnö²»¡aj¸³ÓÉr§"D]1 at 7¨©®¦UW),ÌGÁ¤iO
+õþ ª=ÜLÜv;¦ªªHÇévC@«Ý5µ8R2q;íÔ¦±Ãá$Ù®aJi
+m§í®ó_.ì1(|J`çÖuBBH). 1ÿÝ UE9_B©F¿Yª¦0R
+Sª DP¤)¢EjQñ-t@E*Dý÷è/ Sº}©F¿D¢T¢÷)¢ç*±÷ÑÃ$©D% ) (1WRQ×2vEDÝV/@C}áp(}4
4
l{·{QáïLŨèÖm<% PUUyaI4cºDd·dO$Ê(cK¦¡>à( ö2(ú~ßkyõ1 ijÞ'DreÌÿÛÿ¾ Æöý;ñ:cJ¼Ç>K¨©¡ªjñç!%Rº¦j[\n÷Ãøè¤@ púýþ?E"ß
+pZ±x MÓp:¨j»ñDO*+*ijn£c`0£5==ýѾ}ûÞëp8ZO: Ôß¡_Âa!ÀápLí¥êêjvîÜ[>'Ã0N§sÎ!Cnv8Þ ýü>ߺiEFMRJTUÅét¢iZÇB>òòíøýþ¨êºÃáX5pàÀ©n·{C»@SSÓàP84K²¯
d)%v»ËÕÁå#qËʨ©©)ãKØ6mc^^ÞU={ö,m· hjj:7
+=-¥ì]=*µäÔ´{÷nvìØAÂ$¢lïܹó/z÷îýi»@CCÃHä5)eD+ßåta·Û;8zT__Ï7ß|A4ÏAQ
+ÇsÍàÁ¶PpScãOÂáÈKRÊù )îæeee1`À l6[tµ9jÔÔÔ¼´qãÆ´ ÐÔÔ4(
+}8ó
¸Ýî¼×Vä÷ûÙ¸q#@ nSiVQPP0¡wïÞkOhmmí
+_RXq6¡(Ìocr¹\ôïßäää¸MD
+***^iiiéuB Òý~ÿ¿¤iR
+biRn«ùß9úõëS$"Z½zõ¿@ú÷
+@ `oiiyØ0x°ZJËÝÁüïZôë×ËÄÆ|C,Yòp °/ ªßï¿Û0Í+£)²ÑËåêð|F_Qï@øýþ+׬Y}w P¿s ø[[ÏD"7I²%E:kÿ{¤ìlºuëè&×ÔÔܼfÍs¿S/`öìÙElÏ|E(Ýcz@0ÏçëàÊ ü~\¡lëÒ¥`Ìå_¾£Í0cÆä¼Ny/i6íR)¥p$
+YvÐ A$he®©ê[ÙÙÙ?½ám
+æææÿÔ¨»/IOOÇf³upáRss3K,«)M#;;÷×#FüèÉ6³¤
HäV@µâû.«ùíÄ(ìÓ§Où B««½UJYØ& R&755=(¥Yl¡Ìn·át:;~;¡ââb²³³*aFñ¢ER~ë
+Ü·úm>oL$'ªy.;þýo¼Áºuëö9ç¶Ûn#55µMäÓO?Mee%7Üp]»vmWøæoxõÕW¹ã;Nتg>}¨©©AJµ¾¾n\iiéàßÇ,¤ÉápøpÇV¦qíÐñÖ[o±páB&OÌäÉ)++ãÆoló8hÐ î½÷^ÊËË Û¯~õ«#¾Îo¾É#Útl[¶láÞ{ï%lÛ¢àÇ &ѱn·^½zaë殽ãÛ¤Àa%×ë½Ñ0Óbp at Uµ&u¤¤¤0`À ºµtéR êêêxá
>|8?þñãLHdäøñãq:¼ùæÜ|óÍ8Njjjx饸þúëñx<î«ÒLÓä¡âO>!óàòßü¤¤$ ,XGZZ7Ýt3gÎdÎ9òàrñÅÓ³gO yä5¥nº´´´C>ëþ ½{÷Þç»'|ÏÇãáúë¯`Å|þùçñcúõëÇøñãyýgywÞyµk×òàríµ×Àºuë;w. ^x!}úôàÃ?¤¶¶]×ÉàÁCN{íÕ×n8j ¥ôD"IÑh¸ÏèY¼x1£FâsÎaáÂ
üýïÇçóqÃ
+7PQQAÏ=ùå/ÉxçwøÍo~CII %%%hÆ/~ñÖ®]Ë´iÓâ1
]»v1mÚ4öìÙsp÷EJJJðx<dffRRRCoÙ²
[n¹
nݺQRRÂã?Îc=Æ AèÑ£¢PRRBVV ÷Üso¼ñF|L[¶lá;î8$s ¿ûÝïXºt)%%%<ðÀ Ãaî»ï¾øµ~úiyävîÜɤIHII¡¤¤áÃsûí·óÕW_òç°°äädJJJHIVUVVrõÕWÇUÍäÉ©««ãþûïçµ×^cÔèÑt),¤±¡ùÍORTåg³gÏöµhnn¾Æ0ÍVV¼Ýn')9é Ǧ¦¦2xð`/^ÌÌ30` ·ß~;+W®dܸqTWW3hÐ &MÄìÙ³q¹\F33fÌ ¬¬ìè"XBpÆgàñxðûýqÆûXÆ?ÿùÏ©¥¶¶¦¦&ÊËË0` ݺuCUÕ}ïÒ¥~¿?>¦¡CrÍ5×òÞ³fÍ⩧"ÖoÜ~ûí\xá
,^¼?ýéOüÏÿü¥¥¥;[n¹
ǶmÛâ×xôÑG9rä!ï1tèP
+
+
+p8ûõºë®#55ÍÍfÃn·sýõ×sÅWØQ^NSc#9¹90@ØíöÀ5À£G )¥Z__ Õê¶q8«àÀ<ùä<úè£\}õÕÌ;7>Àl6S§Nåúë¯ç3ÎàÅ_G°/^Ìe]Æý÷ߦiñj½
+l67Üp¹¹¹\qÅD"C®QX÷¸ækÈÉÉ÷Ì3Ï°lÙ2fÌqðY£i¨ªJ8Æn·Ç¯£(
+¦K~~>EEE¼ýöÛ6çòòrE!2eÊÞxã
+F}D¿-¢ª*III(Baa!ªªòç?ÿììlÇãAQrss3ç-vìØÁ%^ªú}¾ÇãT×ëý
aèݵ礤¤#õÿö·¿åsÎáK.á¯ý+ç{.3fÌ ¾¾Y³f1cÆþóÿ0eÊêë멯¯§¥¥·ÛÍyçÇÓO?Íøñã9sf\¬Z´páÂ}^-=z4UUUqÉóÙgBkk+õõõ¬\¹¦¦½½zôèAvv63gΤ¤¤éÓ§óüóÏsçwÆÇã"÷`tÝu×q÷ÝwsöÙg3sæLüq Î>ûl{î9~øaêëëY·nwÞy'[·nåÚk¯å«¯¾¢¾¾#z¦
+BQfÎÉ#9s&³gÏÆï÷óùçS__Ïý÷ßÏxñÅùãÿH}}=@P(½~´0µû9çó#J)SêêêÞ7Mó,BJÈÈÈ8ä`¿úê+Ã#yõêÕ4440f̼^/óæÍûãÿÇÃÂ
©®®>bÄ xÿý÷ 5/¿ü±cÇÊüùóihhÀn·sÑEí39sæ`&999}öÙ4440þü¸±UUUEvv6Ⱥÿ¤I xûí·cÆSÆwØ,fÓ43g@|¬_|16>ø ½Ó¯_?ú÷ïÏæÍã* ¨¨è¼?þææfGÜ#(//gùòåñc.»ì2EáÝwßK£@ @rrv Òëõ.p:^qÅ-Ïç»Àçó½ ÂÑtîhËIH¿üÑuÿ~ý&
+0à£ÃªP(t
+"Ê|3Ò:è䤮ÅÅñºUQ\UUU×ÖRºu]ÿ/+°¬©JG>ÿILùùù¸]®x¡Ïçû/)¥û^@SSÓ)ÍTbQåääÙÿmôòË/³zõêv;¾p8L$¶$AêG}4xò @JTWW÷aèc¬ªìì¿o¡+¯¼ßßú{´hĶDõß±w5^¦n ¢bÄ»È}^÷Öß&&::6lñûéè((ûY±b9 0¥)Éù§
+:aøÐá¡ý%@a$¢÷"Ê|»=©ùGH]
+º ÚÔ8#f51ãJÁÀÀ=ÚØ2ö·c
£¥D`¨¨Èh£[44¬ª0t½_Q¢B`Ë> hll<ANL]tèþ£ kÆY³ÏbHUeáH8>äp;èÝ).LÌø5,àñï¬Ïg÷Á fgÿoNn{öì¦)JÎÒ¥KÏ: aL YeÉ 8°tìhSP¸ìò_°mÛ9#¤I»>}z0ª!QE$þxÅÜDcÑþ*%¯SkK×Æ,;´P04x>îH)Ã0ËX9²=É¢(=JìÏLè<xÿ÷Åg²
{ü1®r?ýéOÙZ¶
+m[À²î¡ÄþYÒ`YçØmv²³³ãÊ¥¶®nø}÷Þ§Äàõz¦ÙÉê}k-©vÐÑéàýp$I4Ü*Ê+øçÃÿä¥^âÞ{îÅÀàí÷ÞæÕ_¥¶®`îÇsyé娨¬F5,äÅ_dûÖíH$K-åÕ_eý×ëã`H²³³RPWWËÒ%K:=j` Hä\)ãý¯: p³ß2¼,ܲÎg7X ±Ä¸A0$Ʀ<é2=<ö¿ñé§R¹»N¹xöÙgY¾t96l"''Y³f±tùR¾\ô%LÞ}ç]*«*ãôx<dgEùESSÓ¹ RÔÖÖiAÑìyFàþF\Ôå;<h,ñmG øÓÂdãoû[6láwß¡ÅצMøË=á>Âî»ù¿ÿçÿÛ)Òµ¥,Y´~#|øálúfStWi©iØìÚP"ȵµµÿÔÃУmöeñw´¿¾¯ptäÁ<H'g{~#Û·ogÓß6±à³L7ÓÁÓ`Â
4d.À³Ï<ËðùâÊ+øÙÏ~÷:ȬÌ,
+
+)]½FtïÙ½X"S O×XNqÇì?N#ÐÙQòÍÉÜÿÿÜø±ªz÷íM=)®:¦Ý6W^~
ææf.ºè"Î:ç,Þzû-þ|çxÑD
+Æò¥Ë¹ý·3úÌÑü×¹ÿ
Ýfç§?ý)ÿþ÷¿÷qI54232IOKãÑ£ùrñ9@ðz½cßPH2j,tØ G |øá±ÛìqXêàí÷ÞÆïõÇ£:zü]{0bô4´ÃÚ
+¤DcÙ´ËDUA¡¾¾>O
+½C
+¾B
Ãݸd8®Ùo1IE[õN¼4nJd\ç[L±<C¨R,©b½ß?bhI¶}®kò1RÓRã{"ÙTÍUßPßM1
+£±#TEéðÿ#¸¿õ°±\æZ °f°ÅÌD7sÿµ}q$ÇaÓl8]®hq@
+
B=4)eq,Ö1û ̶f߶-Ûqf((D ¡JAAAi¢=qv[ëb}ÿ0°uåNîDUâv»ñûüÑ]Ô³X3M3/±o=Y»ýgï-S®alB&ðÞ@0l4éÓ§ÇeÅý÷·öW
+û36QÔ'ZýÖ5¦ ÚeÄÑ#y2˪ùkÏ«º.Ù¹3pÀÜÁßÿ¾?ü¡×>EW4U
+
+¾{·ÖÒ¿"û,Çfwäx?05úøÇCÿ tu)ªPTTÄ=÷Üù
+
+³ßMÏ®=|ÚฺI\´B4Á)§««iYiÊTk°= ±1Âx½î¹g7ÃÞ4#f¾ØyæòØçfìÕ S§þû¿IKÓøÙϺ|ç Ø?N¸X@¢¶¨ºªGytOzé³þ5ÆF.¿ürضéÓ§3~üxøäãOؼu3?ùÉOHII¡¾¡A±ô«¥ôéÓ[·²tÙRÌèQ£q;Üñò1]×S5)M§e´ øý:ë×û¹õÖ
++WÇfvgàÈû
+WW7óßÿmá¥fãÅûªa··½±¸ä{$¡`kfZº_ ¸ù×7c·Ûyè1wÞ\RÓSéѵ3AVvOMiÓ¦1ýñé\8ñB*++:l(¯½úgy&8O?ù@kÏ|ÎÈ#ùâ?_F^NÞ^©jèN-¶2ÑÚ¿W_ÝÅË/·ðÉ'*0ì8¯íaÑ¢@';{#¿ý/Nás²Ûñ&_ÿ¶P°ËH{ì±XÜvWîføðáôîÓþ#{î9~wËïuú(zò)jëkIÉLaÔé£5sº®ÇU7àeáÂ
ø¼¾¨èHEµk±mr%ÒIÕîEÆÖN~¿âÕB:~ZH8\|ý4` >ÚÄìÙõ¼ÓOOãOê¢ûo·2+àcéæo;'q%Ðú G¢¹ý"ªÝLÝDë<ñä8]Î}Ö
+ì°¦5ÜSîq¼ùÍ|øï:l(cÏËï~ÿ;45ºun8LijR* :1×_¯â'¶³pa&Ðç{ºk:»v¥³k|øáÔÔ´2iRÎ>;ó¸]ÁÄl&àõbïR¢Á6lÈ0î¼ëN
+
+øóæî¿ÜMå®JnÿãíTl¯ +;døéù`â<÷Ìsüêæ_ñÓ©?åÌÑgò¯YÿböÙÜ6í6F&üúæ_sþyçsùcÓ´ØÎéSÛ·om¿+)**ú^AðÏnçÖ[+î@>'f+ã PO§NxåÓ8÷\Ï1
m6Û>k&&ú1¾Ö}üë.]º0tØÐ}ܹýøVÀR1QÃD£ÓzoÝÇZ.bb8Yè¼õö[±Tq!54¨Èh¹Ó÷ Ãüñåüãi at 1'vëd 3ÕÕy\pA9| ;6ë"¼&&cÏ»±g¹|L´^íØÙÇïOT#aàÄÁý#vìq%Æ,W5¬ãu ME tëG¦ù½<òÞÁ¸1ÍLÚÏæ
+ºÞ©S[øä£k}Øè
+$æ&h¬îÄp°D÷0qæ&FóTT"DObri$±¿BèR&Eg¦ñ>⺺0}û.ÅëídÒ©ººK.©`Ä%|öÙGtΪe«P5uØ»HÂXÌHd¤åX¹3x
+±"QXÀÛpÊëõ²»rW<B i at +*¥üÎðÂÔÕõm·Ì·$ß_ÄúõðÉ'5w^Îa¾öÚkY±r;+¢±Tt±oItÏ@DXÆCd"fGÄ6ÄÈè¹ûIĵ¸äMj±Í-céi2:Û9ãmñF¯ D«(//ÿF×õ^íïÞæ46yàÜw`0L22*xýõÎ;ïðÞSÍò¯GêÌè.§1@ÄDBG5ÕØN¥±ÙóÁ3³{g¹")âUP¢ïc:\èqª©bE({¿ÝßQCÒ&BvíÞÅö²í$Û7kBz«ógb¤¶ÕùÜy§8YE\uÕ^ÝdÌC{n^½{íÝb6Á·R _c³Ûb5ó. ÞIDAT%2º³hÚ°Àcí8*Et6[çí¿`#¶º:õÙR%áõz1¥Ûé®×¢X$0iû=}¶»ï®J8©¾>«¯^ÊüùÃ0àà½Ýn7½ûô>)~OùÎr²23@FFF"QnY
áP¤^·ÞÚC 0ÔÔòúë»8¨©© KâkV®(²iHDÂmê
+þìgë;×yT8í:óà<úè¶úWD"¼^ot)XJ#))i«\fÒoÕ¶e·Ë
+` p²W'
+
+eÛ¶ÀIý+êë뱬ÏH$âÏÍÍ-S233Ë¥~Ëh+ ¼øb%»vqê÷ßOfíÚöÔÖÖZæRJÿi§V® U¦ÕXîÕÝêx¨¡!Â;ï´â÷§B P)/Oá½÷êNÚ_°w?bÛí®ª EÓ´r¢ÛÓÒÚ ØºÕÏ»ïªÀ©V_ËCÕ´£¯®®¶ZÅH·Û]´(B©(ÊB)£Ö·¸òÊm at 7NEjnÈ/¹æ¤w|¡¨ø7ívûB!D4Æüi4O0ª¬6®ÇJá°wê
+ÈÉW;±k×®XÃÿ(£=줄 ³NUÕêèǵØÿ¸ªª¾ºdcæÌÔ£^1<ÑTQQÓÿ\=jÔ¨uq !LMÓVX[Áù|¾c^òùLóÔ®/B!yÒ7
+QQQÛrVâv»W!Ì8 4MûÀ4MÝZqòz½G}£¯¾jàåëNYñ¿ìÜ|óúf´åååñE"Ó4uÓùõ]
¤5VÑ@ssóQß(47w;ÿý©UU)'Íh}
+¤èº^3nüø ؼ!1LKKË1¬JÒþ¥CÊù|>vîÜiI éñx6 ; "d³ÛßRêVX¸±±ñÊ¥¹äÉalÙ²%.þ
+ÃÐÓÒÒÞB&(.*zE(710¥ICc#7×óì³+¨®öñ¿ÿ»ìy0ÇOÊ̾ð¿hÑÞ~{¥¥{xã
+m6ÊM6ÅÅ¿Ýn÷?þCþ
+!/s,(gýúBÁ ï¾»ªª ¯¼²'éoþ@ pxU·bE÷ܳU«ªúýÖÜsÏBæÏ/à÷°bÅn>þxéém³ûöíÛ÷Ù-%55u®bÿ í¶¿vÖY¹WUù\_½ñã2»îZÀìÙöÿûvNLÖÏÊð,é£Æ$~¢ð¹ðBbEñÞïcù],F50zh·ÞÚóÑlÞ\ÇܹùýïOçgVD·n n¤ÎôéK67ßÜ¢n¹e>_iÓæqÛm£Ú䩬_¿>.þ#¿¸¸øµý9 ¥¥-.¿¼ÛPÈ8ëoêEKùówð·¿ó7üú2o÷ `Ø÷~GU]vPæ45
°Ù4:ur#Isó¾¡uÃÔÖéÔÉMA]»é×ÏÃÓO/ç¹ç.jñUUU±³¢Âÿ255uÅÈ#}«"{ûíkZ\.צa)MZZBf>ø¦Ã<üÜ9JRO`Â5UtíÁ/¬jÑ--ÅÚïÑ0p~~þB#²dÞ|³êé¶YÄgSXhCU
+{nE'ýßON§ZFQQ*G»{îKüæ7sq¹ì\wÝzj7î᪫ðüó+DtEã½÷6÷ìßVVµÝ¯ÛíÞ6vìاÆÓ¦2Ö®ÝøL$ÒúÐi§å¨Ýºe²cGK/~Ì?x (ë¯Ê¼y[;v¯øõ¯G5¤Ï;¯¦¹
_þ2ºsØ7cìØÌWÆرǷºjÕ*,W^¦ùÂ8ªhÒSZZú¡ë£]D¡[÷nÝAìóÏëøÉO¼ªKÁd³-#ÑîÆUVVÆܹE·}BJ»Í^zÓM7'¨;*gVQçv»3¤²wïÞ}C¨9¬x<5¨h§öGË/ÇÚíU×õPçüüçÅüoftïÞýù¤¤¤ÕÖ.b쮪:äñ#Gf0eJò -<ñD÷v7ªU«VQWW×Âé«ÇOðü1³ÁÔÔûÃðYR ²¢âyJzúÃÈËk_MµY²dIB§°¯ à>!Dð P\\<ßâþPJiXuÅ;wî<äñ·ÝÖm§0ëu&NlàÌ3ÛWëâÅ)~L)üÎ?3fÌüo;ï[ öï×ÿ6!Dyìú465RuUÐ¥õÄã´´öôRZZÊ;âuÿª¢O<ù¶oýGv¦¦¦>4X)ÊËË:vÏ=]ݧ$ûÝî2n»ýèÿ-\ùJi]ºtyH±óHÎ?âìÆÞ½{¿ìpÌ1MÏ*++;è±çÊÀ§ 1èãüó}ú´R·/¾ø"ìi1gâÄ/éùG !DpðàÁÓl6ÛXj1>[·pl·nN&L06`:uH:~ýë¬v3Ï>ûxÐÇétîríiG"ú 1ìp»]7ëºÞBLßìÙ³ÊÊʽÿþÞôêõõ)Äþ ¿úsÎi X½z56l_ÃápKnnîÍBGs£NpïÓ§ï§YOÆ$åååQÿó »N lm?#ÙºÅÇE¿®ëÁîÝ»?1qâÄOöZG
+ !Ñ¿_ÿ»äY$RJ6nÜx@"é{ï
+¥GoFÎNfÚÎùÇ?úðìÞ½yóæ+ñAJ)322þuñÅßu¨x ððáÃoq:köZ
+6ìSUÔ»·ë®Ë'!ñ$¤0PÅ_þÒã;i0}4T__óÒÚ㬬¬5S§N½EqLí]ù !
+t¥¦ik-Iùúë¯÷ÞrK.½Ô$Úìä£äd/<ÐÓNK=¡ãhjjâßþÖÖVkWÚìk'Mt¥¢éX¯{\¶Ùl;wî<EÓ´ÊÄòòÒÒÒxÀíÖ1£ãÇW '[
î¸ÃÏm·uÃfSNèÌïý÷ñ67Çêû%IIICO:%))é¸ûWÍËË*ØnI@ À5kâ ii6^y¥_\A´UòÉ0óëøë_}LÖåc÷îݼûî;x,æ#Qí:bĵÇíÚ¶Õ@7nÜxfMMÍkat±lZ
ÉÍ]á»ißVTÇi§mfÕªQ't[·neÞ¼yQ3úMèÕ³×5çþ¶¸Gɵ¾}û.ìÒ¥Ë
+ªª%zëÖcǨkicùòþLPsÛ%%Õsç-¼úêíl¶zõjæÎÀ|¤f³
+6ü¶b~J ÊËËWTTÌ
+
B}vd yùùôïu£Âa/ÜÌÇw¡}u«çþûøÿïÄÆú?ûì36lØ@âós8rÕ~ô£Ò¶¼×wRàDú-_¾üEÏ7T¡Zê %%
¾}ûFuu©S·3o ôNÔ
ÑZ M[÷z¸çÂæîÕÔÔðÅ_D{ùÄvrÒ4222WM<yjRRÒ¶¾çwVá(¥LýòË/hii¹L(Âa
,%Þ½{S\\ÀÔ©kX´¨mÛÝìû¦uy¦.êÄ·v=a³¾´´EÅvôÎü®²=9S¦L¹Yñ\|§%®RJçÊ+ÿTSSó[EUÖÞDHÇM>½q»Ý¬ZÕLIÉ2ÁL¤ô=IZØÁÈA^}]º8NãY¼xqt=?!¨DZ»víúè%\r¯â;¢|/5ΫW¯º ¾¾á¡H$ÒЬV% ½zõ¢{÷½:÷Ö²h-[Òhû23¨aôè=LÆo[|BuýªU«âi\Ö1MS·'%m)((¸õ >ú®Çð½ @J)./~Äëõ^(ñˤ$5%
½zÑ©S´båÊf>ú¨;ïô4p#IMUxüñLÆñâX±|ùòøZ¼{¦Çãy÷ê«®úP!§ `_ºtÙu
+
+
+Ó¤ivGHÅJaÈÉÉ¡{÷deebÖVÝ»CÜ|ó&B!
U ½ÅÅòåvodäÈdrrxúé~!p¹N\ÒjUU«V:@ÜK)MEQ¶ååç?pé%¼|¬qýv /Z´èo
+
+
+ªªêÜïaG·nÝÈÊÚ»öî÷ë¼ôR{«v¬êÞg)ç¦@ Äâ*W^YpÂ˪ª*Ö®]»O«KìëHk^~þû'O¾]Qþ}íõ9RÚW®XyV³·ù¾¢8I°%Mq×bòóò{0vÚmß¾õë×ïíÐ î#Hkffæ×çqãÆ-ø>g}» @R.ýêꦦæßÁ^¡YéÍÖ,q¹]RØ¥g{!G{òlÙ²
M6Å×Bo¦îr¹6{<ÿ8qâÌUìþ Ï¢E&ûü¾_ù}þ"UU¥´¶UVþ:åÒ¹sgòóó±ÛÛǬ
BSVV{ï'ͤ®ëÁ©©©_vÙe¯®\ë ¸.]zMccãu---CTUuÅ#ñ,ØlÊÍÍ¥S§Näææö½³¡¡]»vQQQíÂ0ƽD"zzúìììÇ÷¢]¶Û^gRÊôµkׯ«½¡¹¥e¤!lX%¨¤$ÙáÀãñEff&éééØlmPD"Ô××SWWÇ={¨®®Æßê'1º æ¥aMkÊÈÈ?£¤¤dÅñ$mü °2¾\üåUÞïEMýU¡ä"¶¿~M½Ûå&55·ÛËåÂétâp8HJJÂn·£iÑê]× ÃA ~¿¼^/MMMx[¼$F1÷2=6ã¥DR=,ÏúôôôwÇ7KÑØÞíIÕÓUJ,Z¼èǾÿù¡P°¤µµ5P
D
+ä 8Ø«Ü_OKx6QR¦a.·»!9)iQjjêÇ\pÁç@åÑäåw àø ¡¬X±¢ÏïÐêZ{ú|>¢ªªSÔ½áÌ<éû¿JÓ4½Ub¶¤¸SêNç˵ÂòÁYg¹Áj¼|2Ò)ÕÕYJd¯_¿¾[MMM×P(ÔC×õb]×ót]Ï2#Õ0t§aI¦ijRJ%ÆeS¡E )ªÚª*WUÕzUÓª4U-ONNÞ»}È!e@íÉ Úþ?ØqÅ
Ì@Ç IEND®B`
\ No newline at end of file
Added: trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_trend.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_trend.png (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/plugins/coclico/hudson/www/themes/default/images/widget_preview/fr_FR_hudson_widget_test_trend.png 2011-02-28 22:33:41 UTC (rev 14987)
@@ -0,0 +1,137 @@
+PNG
+
+
+IHDR Ã>aË sRGB ®Îé bKGD ÿ ÿ ÿ ½§ pHYs tIMEÙ /$ñtÑ IDATxÚì½y%Gu'úÈȼ[íkïû¾ íBB4#cð}x<Ï/ÏóÙØ=ß¼ù1m 0ØFa$! a dÑ-ÔZZVïÝU]ÝUÕÕµowÏ8ïÈ÷¶Q·ÄrùPUߺ732âÄs~çwÎaø%zõõíwj«Tä
+"µhB'Z@%B ND ! P¨`1LlÀ c8ÀÛÛÜ``3«WoöYæý"~rü¤(ým2®DWBÒF©¨HµÁ!0Iôc @ðïJ¿¯?¨Rø)RÍ9eäÜÙJ¹O¶µ5ïíî^üZ Þ` OÍ*¿ EÛ©K¤¤NÆ"(V[¼j¥éùº;[õÂ*áëÅW818eKcrb--mp§
@¯;&ÇFÑÚÞÇqPP*@ÄH¬ÅÉ PÏvww>°xa÷wPéêYN¿×ðuüÈsméÜV.[rÙÌÄXn|zÝÑÙ <
j¥öî9â¬Yµ
éqôB×¢åèh8=2qôôtá«ÿô¿ðGþÏøܾnxV-[öìÛÔõ«á~/:-i§'ÑÔÖEÝZ¨dµþ/UI ¬\²'N¼töU«}³<=òÀïØ>õf[ñfØÿ¾fa÷[¸¿wààÀõ³ÕLM3/ÅìèiøÄ!æ
+hκ N:
¦Î6õÀËýà Â4
+Õ«PíÇè|%ä Ú]<t§ HBI Í¥ÐÚÖüô8fægñì?ÁÅúÌÎM¡«³ûap"n¸X¶°
+Õª'O èi¡ ¤ÂÑ£G1ïS®zzôºv|èäû»»þþÝß}Å
k^²|³z3Î3Óíö¾½Î'ù`wççá=îºî=át$J§à T:lZàdß1xG:íàÄ`ºÓHQ¥Ræf47§ÐÜÚÞ®~~\F+bfzXÛá¤]ÅR/ï;yßg
+iá¢T*#ÝCw{Ý
¶æ&ôtµ!ͪE©à¤©t
+3Jgºs)çcCyîéO|ðñÇt~}áµs×SÞöOѧ©5c£ãÜ
ç247å06>p½=(ç§ql`KV¬ÂÂfcÇcáÂ^d2)=tEÂyW¡4?GO¢wér,éÈbßÁcÂÃÂ
Ý8~rlÛÓ(-)>9,ªX¶y+fûQæ,hËáÀ>t-\å»F ©ppÿ!0/¦¦ZsÍ8Ö? â)tu¶¢\ÇÄLmíÈ¥H1ÇÆÆ'¾táÅ~}íÚ¥_ S}¢Z¡JÑz"ÆM\Áapà¹9 S¡AÆ F`Ä@Æ ÆDb¤ÿ&F 1 9 ¦54'ªF ð{ ¢{ gÚHô ùù"ææóªTh
r?ì¹îK-úÆ¢E«_I(J,Ï_¡úr+ QS˵B¤Ói¤R©_HknnÈÏçA øØ!@
+ÒéôËã|jݺu;3ýÊ@©TêÿB·pÍE'"xt:
+×u)ÀB¡ññqÌÎÎÆ t))?Í~wãÎd2c¿ÔP*X¾ÿ¸äD´¸ÑÏd2¿4|åóyavvI¡wg8É|výúõÿôFjö.~K~~þ@ʸG&çyøUxÍÌÌàôÈiKEi$ÍfݼyóG2ÌÜ/ LLL¼SJù5Rj B&A&Á¯âëôéÓFRº®;Édn{Ë[ÞòØ/´ J%'ÏÿYÈ&J¨ûl6¬¿º¯R¹¡Á!ÌÌÎXq)e¾¥¥ås7oþL&#á T*yù|þÞ Þ0ÉdN§ñë
+N<´
+d6½Û¶mÊd2Õ_(
+
ÂýR©K(tkg}6
â×+ÞÐH,``à8
+
ö "J§ÓÏnÙ²å}---§Þô0;;»¡êWQR= Úµkjjúõ*¿W__FGG-mày^_WW×Mëׯ?ô¦¹¹ùÀD)µ°¶ð B6C6ýõÊÅkhhÇ·D×uGZZZnÚºuëî7 ÌÏÏ¿µZ~Æ`¡¥¹åÉûy¿ÆÇÇqðàÁP4ì8ÎHGGÇ[¶lyúM# ÿú¯ÿzÁ-[)
+3é*~J)t´u`zv=]=D6
pfgfÑÙÕñ ´w´£Z©¢T)¡³½ccèêìÂÜì¡ñ©©)twwcbr-Í-P¤PÌÑÑÙñ ttv _ÈÐÚÜÉItvwbzjéLBÌÎ΢««K¾£¥r ¿Î¶N£«»³3³p\´¾gOwÆ'ÆÑÒÚb±öv}®äóy00ärBWW¦§¦Éfà8æfçôsNL ½½¥r ÒhmkÅøø8º»»15=
T*
t*©é)twucrb ccÇÌÌ2,*2ÇéêêºéòË/ßýsÙÙÙ
+}}}?ZºtéB¥c`¡©© çAJ Çq ×q(¥ô{áßHC¢pxüRapóøRóÆ×hôy%ggü<Îê¤Üá¯êu×W1pvæç,ËØ»w/*J
+0çy#ÝÝÝ×nÚ´éÐÏM ¤fçæ:yâäêÅKDࣵµõù÷§gÊPJq¹´@kö>=SÆîþ)<êÈ¡BDI§Â#>è»Å6 ZÆäàQ~( 8Âëë]¹åª÷^¶üÔ. DäÍÌÌ<%¥¼thp,c¯ÈÍ#þ¿Çl! @ȤÖ-Ρ»9
+f<850ààCAhâÍë ~Xk^3þDüÍÚ¿*úþ7Ã|)À¾³È}ãÛd,!K<yÕ8èLáý5FBÂÅ~ åñ~@]ÀÔ®ì¢MWÝ~Ëúê& DäÌÌÎ~SÁ°ÁÁA,Y¼mmm¯8(
{~<b`
+Ä\ÀÚx8q^ï*'ü]¿+x4ÜZXn,=RO?
Bðh&G_C&¶ñ$Rxµx÷ÆÂ;1CTTô7óªḍͬ<v,2
+ D\d¿Û´hÃþàõg%lvnöÏ4ÂG¬Æmii9«(Ræ£RÝ°â^
+ý}ÁQ2 ÆN«ý7Vŵ)'(cñk:K_[&]pÀ%bÅu®"QïÒ0ãÉá0òT©ÎDLUï9øgç²üìî~ÕÿCFpj¼ygíê)¤±HÌzl2Ä¡~zÉf¹¦§hò©[f-D%~³Çè<ff$TxJìÔX¨(Rðį¶üܸ©îm1-Ø"Û¯m1j:,Íýá_õw¾®@D-2¾ÆkªA©tR=áUª(òMyzëÿƪSÆ£TvàÖd;Æô²àEÔDÎ4ÎT$Ó¨ bd®o*qû|5EBh£ý.YWMSÔ´×Ò
+·©+BZÁ&Y-~íóiy]àôéÓ¬ïXß=KN>ÀàÍÍÍçjDÌ
+7V⦦"àÆpKo(kG!ZJnì;=.Ev7¢{©Ðz@ø»yàPt%ÓF© Ìaìv%6¿ÐÖAµ÷qdQt'f£¦ 2¤;{HTP]2?ôò=ÿó¡Ãì5^xáã¾qvfÃÃÃèëï{uØ>;Æî$ËÖï«IĬïAÒê&ÃlLÚãÊøè7m
+Ó* Ç Ëc@äÕ¶+Cýå}pë1
+¬ Hw.ùåü³Ã>þJáãçææzN8ñ-Îx[6«C¹GÁùçýû÷ãà¡X¶tN ãããã 8qB
+¢Rª R©`hhs°§
+"RBjÄ8|¿¢\üj ZõµÍ¡¾×ï1
À4¸CAµ
+b
+ï | 0_Ñó¥|cð«ú§ô}}àûU0Æ¢{KéÃ÷%8Ócd TJêýèW}é1* ªUA_©à>ÀªUsPQS"
ZÕó«ú|¿
+®Ç1Pzüj ázàf¡RÊ!)/zç'þüÞ}ç+
µ¶?ÓaÿÝßý]61>ñ
t:½¸P( m®gwañÅ Í7£/¡µm:mª³£3ú~[{þÙÖ½×ÕÝ
©|Le_ZÀi ®vZN]áÆf«wp´ñIN|æºÂÑ»Û1vªOë0®V§ÂIé{9N¤sðÜqÂ}.Â{2d@ öz\G 8N*²*ðÂ÷kw æfL¤ep{põÁÇEhý÷Â_4w/"üÂL8rqu¬ïèð¼ýõôªà/þâ/®Â½uãdt:·½ímX°`AìÓ³à EµÓg¸ÉRÞ,áffZìnÁPûñÙͨɿ#²´aøë,q0ë2=|f-¯ef0l2lÓfç=¬ané\
+ båü³ûî°ãm "étúKp]ÏE&F.Ã%K,´$UìÞÔ_Y."Ã0þ_lhñ¨¢³WEF7LªÃ¾¨¯,,Ñ#ç¹² ^$ÎrÓuãÑXl«
"Ë"ÑeÿaWÌÀ
+áUØB,¼ÒKL×ÐUÿ¥;:,ÎY fgg?ÁÖë8¹\î5ÁÐ%$)8µ
+XÈ° ÈðoÜØCjfxÌ2²f\Ò´dg@LãQßAû±&æinXí,Xâ:ÆcŪ=´LÃLÇ"¸^S$A¥°uöä¾ Q&Ï µÔ¦\öµY|êk²¹
äÅv0»QY²Ï,ÅD
+õM8yTÂe«sC³fåQ¯·}wnàõË«,%Dfàt¼ vd¹!Ðú{éÎ%Í RüÌɵ ÌÌÌ|B*µ¾&ç!nö1:û#@E:¸u³QÏèäOâMN3ð<Þ@½Æ{"À¸ú8oê(n?öάwÛÐ dðÇ?JÆøc§1ÕÔ/Û®7dPY?3ðÒ'ÎJ ÈR~\»bôïRºÑ9i ¥`íf{&o¬.Ud Ù>¹
P´c(ò¿môM¶)6*qEJ Å*TóªÓC¾IBضÑgbTwP1Ãæ²õ_-ÎíX"^Æ}¿ô©Ï?tÄyÅ0=3ý[JÉ5SSSسgH|ðA|å+_$~èaÌͽºÄ^Õ6½¬2ÒÉ©e1Kerëü7ñvØ3>Ǽ3¬vö!³ 'eTÌûÇ8K,gmiT²KfY,1bfÙ8Ìð)Lø©¦Exí¸ÙV¤;£ÌdåWÖLöïþW$ DĢϵ··¡½ÄÑ£Gqë·âè±£PPøþ÷¿ÿªÀWÊR¨&¢Nux¢°/%Â-zresã|µw
+7+2º$M% fY6éÖÇYúª¯c@6g#K$ì&Ä4B2í£q)|æ>tÿL`nnîïo®-K¾ Üð®p÷ïÆMï¾ =Ý=xéÔK ýû÷ãرcX¿n=FO¢«§ù|$IsßFÇÑ» ccÈ¥sð<SSS(vÊexB P
+¤$\×ô«à® Pp8À8GÕ÷r=T}Np\¾ï#å¦QU(\ÇA5p
U0ÆápjÀqÈ p<(%!IÁ¾ïÃu=Fî.P
+ªp
@ê{*"0©À
jP
çº&¡8ÂEůBW_ú^@ ô³ø©oà ¨B*A9ú9´ëÂ÷+"}T
+!PVáy©p£ÝçE81A¸Ä3pÒ-(ç§5zZß<ÚÿÒ[¸@ Að{`,"LMMaÿ¾ý¸ôÒKqbà8çX²d þîïþ7¾ûÆ ÌòhkkÐ> loo%¬!ûgI§µ{ )-í£CNlIËD(®ºp\ )§«w®FøDl´:B#Â=éÀ÷`
+©Y ¿çı@W𤋮áçc%®@Gð(ZH!ú(Â{*#Ê tø·ttxBhªWø7ÓàL|ÖlÇÑmÚ?Ë
þ¦ã0PçRøŹµ<åÿ^R XBýw"¢nÁººº¦:v׳¸äÒKÎêØ{rO¼4Ú pCu024 lÙA#nQ¬!ÌäV5@U5
2²È¡ãp¬ ¯ Fñ(Hÿ±äác#Êø+K¥°°JXív}A¥ S4_¼åª
+·ß²aª¡
+0==½ºjöf:ýʲvÏÍPÖyÇõ@Vg㫺;Fk ö°Èþ·q ²¢dðL^JKLÂ$~ÄWÉ"æÂÃâ-Æah$8
0Äױ̱4L[o:(Õ5Þ·g{C#Rò ±Z|ù¦msâç d#A@=WÍ1%$ ¬YÄ°®4ÑØç&c/á2S°:ª©MåQfÃ8d °FcTû¿T[vÓ¯àN¬ýȶõÚ)¿òÏ?t5Ò © Ź|©Wº-ÙÙg/ûÒ´i
öÕgLp4æëQ8)ÜÂý¸±Ë¸á¨î;¶Í,Öc£H,?v>7«ólPEËÂÎ ,1´\LCôR#8n©æÎ/P.ª©©©ß$¢\-6éÛ碩ºÝl:]±ræB3÷°2x=dí¤:Õï;´D¬ÀºÅ7,àÂ"¿²ÂD¦ÙG-t̢êÀU¢Ñ<÷)âLéw³-Ý RaƱÊÝýu ÚIóY
+À¹Ë+$¸yö¤ÇË¢"àÔÞèÝ $)ÔæòØvv«[RD±Äx¸»Û´TIðNRØQgÂ5¦·rnRf ɸO>IÂÉJ·v4<@ÊêvK HH)/¡°^òÀ9G__¾þµ¯ãäÉxú§Oã¡B©TÂ?~ý144ôªbd1â¥D¨è¬§ç yçVÀÆ ¨,C¶@íìL¯ÍnÁ³¶ÀM³õ5>ÚG¯;(qFqSÛÊ5·a,G ÝÜ¡ÿFÀ¯^òùH æçç·I);k°Qâ½zõjxicãc8°ï Ñß×eËá'
+:¦ÎÁ :ëØ>XÛ¤^Öãëñn³%|¡,¢)³¼u1}ëík$ØaãÖ}U"l*isß²:B&bÏG춪::¾rº©3J5ª¥ÎS}Û" ¨Z^ÍÀRµ39þ\p9
+Iº%çyð}?BûûúÏbaïBLLL IÃó<LNM¢÷P.Á
E
+®ãÂF¹T #ï\£w®+àûU¸RJxn
+¾/!T
+~Þq]øÁ9ÀüÀGÊMiÔOH 4²ø>+àKÍ2Ã$<×EÕ÷5ÅÂg.*!2éK_ò$ãÂ83j~Î÷!"_'
+7DñRÍä îrH_BDªÒ(bÕ
+ L@¾ïC¸._s´ÅHÏuáû¸`¡·EÙ"rHågƯ°[çÿvU`E>}}}xìáæoF®)S§NaÕÊUøÊ?|7ß|³Å <$°»»Ç_A:-Ã&"GË t" DJ+6'ÜÈZxÇ18"âÝÕvñít¼Þ«ï¢ä(|+Âk¤/²Ü¯
+ù¹Ô{Pãúú©Ðr,C¸at){'Ä%2@!íd¢øÉÝð1r<;dì¥àerÕ2à0¨+|{úôé½R©
+ íûwtt:?$ðÑNãÈ©y^¥,õtÆD)Û·¯O
E÷6C4ÑÅÐ Ü(ÌßLàE&;f /¨ç#±D8H£#¯#«¨Ñ!Ë7!Ãg?¾
©ÓZðwhùyWoã Ú¤½kÔ=¨ÃÎ%3HEÌU·øÜðëɲ¨ã#1³klJÀ2ÈØ
üÞF}Ú¶
+¾F¤,
+3hÆ69êÓÜÈ ÂQVË~°A¯39f6$Ä@He[#aªå^ m|zzz-57á\ªu:töµþj|ÀúcydqÊʸgÖôs#Gú§¼Î«çï±DZ7KøÜv1KäR´`ÜxyÌ¢[H
+Ï- p',AAZ*
+-ʵjGc0-cý/¯àÛt¢ç«êóãXr/P=Àî©`Zżá :&Yا8k6ìÌDS¬xÎBË"5)+heoÓáÇa{fج&`^¦É|fǯ¶qRjSí±Î£Ò$gçÓ]0H§×`þ
+áë,huôéøÔÆA³ K¹«º¸F1
ÑÁ0¦Ø*c9êKR¨0µY¦nâÖò´$µ 7eD+Mç'ðEî8^6Ìê'()7+ÆFÇÐÒÒ|>
µ -L 0)%Ê¡À
+¿PÜ|[ #ñYt.fa¬-\Oµ¿'r+2HÖ8j;SÑIÍh Õ=ybóG êî«ä³ÂAʲTb2OPKÝtÕrABÉ"å¥f³(áÃ|
+àÁÄ5ï¸ß{ð{èííÅoà·q×ïÂ{n~6mÜt0f+mØ[¸h¼çe´yd0»Þ¶.l:·4 DÚYõÛöu}EÙT
+1{ÙÇd¡wæ¾×<F¨¹5 ¬ÞD¶MVÎDp¿r¡H¥RCÔU«VE_¾|9~ãßÀÈ©T«U¬]¿Çðö+ß;v`ÓÆMÈçó(ðÕJç!®p5)åÁ¯úàH*Õªöc´©â0Iéö.k 4ÔÌtHÎt×!×Ý\@ ÓGcEÐ-eÀÂ÷$TÈ_PDàÌQ 0¦Ó졯ˬëûs´ÃÄ"c*/À¢2`:QU·Ñ f\Cgµô8Î$)=R w.±ðú¤«¬ÔËÎc<Døq8ãP¤+¶©Þw$ áfô{Dà*èä Z]]]X¼x±µ/ÆÇÇÑw´×¾ãZÜñ×w`çÎp
¹¹¹(G`jr
+³3³¨T*B¹\Æüü<æfçP©T0==J¥ÙòJ%ÌLÏ ð)T
+RJ(
+ e m)!)â)ø:£Ò¦H%ÃkdàCή
+$!ªú^R
+¯Cá÷ôð!¥© UèÝ@Bê¬Ûðú
+RúáO="Òï)a²Rý£ÒÏ$u&°
+$¾f8~èryAPû¬çCARãøR
zô}d6¬¤TºúJCIIúsÜõ d8ïAÐ"ÒétvÛÖmP ´$=áÈÑ#8xà :ßr!V¯Yv¿ë¯¿ °lù2 )צ¶2Í¢µµ¿@®¹ÎÉax^¢l1ãÖá6¶87øvK{":ÙD°á9N¢® <OÿèñÐÔrj@ÛãmIs7ºR
+áy©HÖø]eWñjã
+.@ò IDATFw6ã¥tjßð´¦ù£'@çÁóÂ+p)wÍod`ÌÑØ!7ÇÝÓLeÀyÍm§¬ðýjª¯ïRØõܳøüjËÖ-زu `Ó¦ø¼ÿð?WûªU,q×,jn¥zÀðߥA¥HfÇÞ¬n
aßN^¨£¤pçD ØR7¹Åcç°Ä=XÂ0t¢ªd<zÚýÌQ?Å3#0Æ
+Ñ SÖõ©¡R1.::t¤hÍ5xC^TϾO,°Ha6D[7#Spø[16eDú!0¶/®,ÚJª§&
+Åúà®ÝÄ,úY&Ìô7ÒWbXG~YnάdiÔ8Å7®R$ç·w´ð[ïÿsZϳuµØÜðþãdïdå@eøų̀'swb<FQ(X©I.ÏÖSµjéN]Ö1%ÜÎØÓ`ÑÅ,BgQE=qfdùÀp3'Ù¬(WZzļxN¸Ù @q^©TpèÐ!ô;û¿{ÿ9 ÀÙ"
+5ëF.íg³ LΫY«ÕÅÌ]ÎN$¯Ûû0¸BÌBTJ_s95*i¡ëxÿå6Öçþ3$ë{fÚ9Yé$;
+x6ÀN³jõÔ[J*©á ¥µ5nlx¶-HÊfò%³jЫ¬cþ*Fäåùô6¤ÌQ_|
+J´ªNÓ.)AÓ6ëzñ0AÍ´xN°Í'#*Ið&J ,Á¦ÁÖÓÂêãJ@¤ÈesÁÍ[J¥Ë.»¬>hcTô¦°´RÊuöÁ ¸d§7"IR⦽
+ʬeÔ©u;êk÷rK´ X¦$KD%µÜDs$v,Ò&
hÚP%b ½!0Ä96°µ; fÀ§§§*ChmmÃ}÷Ýg-ÒñãÇñÅ¿ý"|òIÜsï=øÿÃuv>½óUÑÂÌï³úè~2ÎncgÌÀÁUé¡BCÈÉì"npþ±ûXX¤Qi½P]<!ȳ4CDܨ!d¡Ì:M+«KA$ê¬N48dP-æTDKKkqhh¸åùçÃÍ[¬EZ¹r%.¿är¤Ò)ò%475cøÔ0ÞyÃ;±ç¥=¸âWàÄ=5|!é´¶¶¢\.C*æ\3¦f¦ÐÞÞ¹Ù9¤R)!093_EµZ1ú\îÀW8)u95
ÇáÂÑH" î8B*R~È°q ¥2"aíþ ôg¡ßs`!((.Tàk?;#çJ*8TÈ>ä\ÓÐÂë2¦5õ¸dàC8D âÓ47á"
+Fô¤2Ð$
+GSθ`J{*Wµç·ÒUÉp|
+Às)%*¾ @PQ¸®;·yóæ ÐÙÙi @?æçæqÉ¥`ï½/Ì#ËáXÿ1tuv¡ö6ݦ½½çÁu](Rðöx)mmmÜ°q8Â
ÃB;ÆQÆ î¸ZBs îΡ¡_ýeòþã00Æ!Zo Ls!à0b!q¸BèûÔ Æ4Í &\
+çAc$pæ@q½«Æ4»18ÌX¨5«Õ²Óð,ÒÏÁBnáØÓ×b"Á!=gLp-È<$¿1&ýìϸ¦á_
+³PÈÈj¥z;Î`MÖ×f'pìØ1\uÍUÂê5«Ñ¼o»âmÒÉfà
+7âÝfñÖþ 9¦'Dp
:ô¤éÁbÊÃB. c!®EpÐÜ:æ0#]
®S´âZ'z6§·ïÅQ
''³pj0¿`Nø80ÃÃïñéÍpü"N4
+f'ܲñÈÔïq8
uµ êk
\EfúÆ8¢#(£FMã±cÈA¥¤Pk³IÁÀFj%ß«~µîøä'?ý{ÕJ(ºá7ÔçgéH {¬sµ³Ñ4²²mL &" £ÐªT
+ü¶yª;%i(#Ro[ìõ5«POsaòDNÕ êÊÝ%³QMØþG¥4¦10.F8ãl L@µâ¿1@ R<
óF¡B·VèuöÿI$ZÂòÇ3Á¬ÔcCNÌÊÀIÞ
ý8Cw
++1K¨Ù`ñå75êtdpoëñËj±°ãÎ góáûÕ¨±ÑëÂZYÂ
7ë^äFÖÐbÀP_ÇÅE¤2¨çÅÖr¼8*âÔ¨ v
sðþ¤MÞ UL%*1³×ñ,mÅ(¤DµGìcì wg/ÉZýÿr¹üpc|OE¤(3S°¨.Í*vª¸Åbüh¡³Aa£[â«ã0i;AÕñ¹qðeåÍlÇxÜÈX"£K ³\JPAY]β¦*çg£´ n*³/X°`æj_88k´»RÛK*Q⨾¸cí=Pd¢°:$ù8*q²ÚÀ««JL@]³¨%ÕÁ8,1è¦DàÚ:¥gÍBõDZBãBùÉc
+Åùéu!5·dã¥Àb´J¥è"A`jZ3
>¬KÆ¡¯¯Õjl0mr¨.$-L\X§!K$E Aµ¾x
+hK7?¨A¾A}¯ Xl=22 T]ÝQ(É,Ö/!æë«'¬qË<LÕë+ÚöGy~2BtÝTff8cÌwç`ma 9
o|ã o~ó¨T*Äc=ÿøǯn#qN¢ºO2LÊs2o`½Ô ¥
ZXÂÿŶ@ª:ªùKG4
+ØØôonÂàuÅpìb&;Q'EÚ¥æ-f&£á 7uðö[Öû:EóDô^ ,ð}Ëe¤Ói,[º"Ì;[½f5Þù4®¾æjþùxi.wpßAôõ÷EÉ¡Ý=ÝÈçóTÖ¢wA/&'&uëxO`xdÕ¡RÖåФ$páûU8®
+$Àµï/¥N¬úU¸£MÉ nì)\)5GÏ.¤¯I@\w2R¤ ©ERxt7u¸)Ãl!ÂÇHÓÐëêdRá"PU08p¸ (C¸è;SPÒ¥éü ",§ x\£®+P
+tãp^Ã>¯BM)]~ήî4²ty;ÊUYJÇy®hu²R@±0Ær$|fg2'óù|
1B¡t:ééi .ºð"|ï³<òHDݸe#fK³Vr¨[بaD:×ýH¥3;FmË8-¤aé6
+"
Õ° B°ÉqRíêÄþ°iY<*qâòö5ÖJ±2ex·¹®þnÚIGc®R±Òú3ÈD{ÎÙpܵ£ðÂà6¥Âvµæ Â2qºÖaìÄyÐI§aY¹àÅ¢çKIL¼e¿ Ç
Âäøx8"T;{BðÝÝÝ{
µc ÏGõþ÷¿?¦}ôÃXºt)®»þ:\{íµçlÔÎR²B:¨«ÏlÌO&UÙ %èfì9I&_5 l³º~¬îªv
+"¨dRÿlfø@¢òy²ÂPýLP¢tÒGH6©*/3¹pÕÖ½ 0Æ!ijµBBù|RJ´··ã¢.Ò;}ãF,^¬Ûî[»ÎÊ!<q3(;ÎFuÝL3_²æ~6a1æR°Ó³QÁú.eì«ÅÁm»|+%
+QSÂͳmfdGÙ Kxü& %RÂë*¡ éW075ò ^*óìí·¬`²8çÔ8«bÐgV-´LeÔ1ófì¸8o"$K³ÄÕ?ld×&ËáÆÝl,Á :hÜØFL1à ó5Èb"«²NWµ¿ÍNGS Ç} À+¾Ã+ tfgg_7(XQØ8ÒÀå¹Ðdú
+8Cy&Ôù¦:$«o³ïFfÊW̳ºÝÌT3>VäF
+Ü>D)pÜjÃYÆ<fÆOEc¬°æÂk¾ëÑU\×}¦R©¼ÌÏÏGVæÏzÉÀA¡"a·|BBvãW©*:&kຠQ$¡QÅÐdâ]·%GôQe´s±2¬Ön4q
+ at fàV1v46Oqíp8X¸á¼ÕÈ(:if£Aj%8Òú>års#úÙð2¹g ªÔ cúûû¿Y©T®%ÓÓÓèééùðÓ»þµÉRdD×â JSãÆ£²ªÜdS¢&ì\=X5Íì%`uµmºW}eÐX{ØÔ. ´_VT2¨e&òx§6(kòYÃ"õXæìèIÅ*ÈõÒß¼ý
+TwáßÀØDíBcããèïï ô`Ï=JâÇÊÈk ÈÜqÜB»`:y"fÜed3H}°ÈW°'.É,$NÕEÈ`
+ªtLulDsQ)ë2ÀJTA]Ícu5VYìb0
+øç[É'°`95àäO¬½ðÚìM JyÞ)üÆôÔ4|ðA ÀãO>ìø úõczf?xô
+¼xÁxâ|"˱a Fì%Û4v['JÐ"9ì~cd²ØcMûH«¡9¹ÉvP*a`ñº>æsP]¼Ñvìw1ýÜäX2£Æ%èp«óPíÈD¥0Yÿ©lóo¿eݹæuýR©ôÝ
Bá?0ÆR-ÍMÈ£ýªÁò
</^={÷ Ðeâ
+
<rÍU¿
+Ox:qH^ó+H¹.ªÎ¦K©yÂC9˾)" !*¢r:»qê¹*~ æhÑ
+d Ïu£&Ö2,>-U£yw\pFPµf¾ð ÃÒtÂqQ
+¸®æ2®6~ ÃÒt¸ÂÕ¨Ñu
p!¥n%ËÂm)7¥ïíÓÈ¡WkH!\HÒB«~U£xANXä?F0ý*ãôyxj$P ¶\ *}xBèÆ<<ò$»¾`ìäQ2 TqR¹»ë]' Ë-}ºX,ì/WÊÌÌLcøÔòù|D]´xîºë®(9tóæÍøÁ¡ ÇqAaãÚF²ÒNü¢Z¡fÝ
+¶¶¯k(^Ô-ëzPPðÂI7RÌY'«ùt ÆõuF¨}Nó)lûêHZ¬YKF+[Í/JÓ
×MÈd-=
M* À
¥z¥ò Ý@N6Òv.j×ÐÊ>í¤#
+tjeî@«GTFaf\'¾!iÚ¿îü·=Ý("S÷:räÈ
½J2 at gg'V¬X"0h)àÎÿó2çYÕ¶¨Î6¥UÙ§&«âØMßuÜ¢Dé3ÍÄìT_6éÓ¿NSÀ?Þ%«ÍjÂq?ÃFuëÙDT÷Þr#¨A¢Íã{wbzl°vQ®¥ëC_ýß¿¯ÓàµvíÚo»Â=ÆÞ}333(Qz´ëºÑâ×@n¤1¼Yß(Ìün-]«9Ir%+×ÇÐ(ÑÖ,\Íf=$i,%êPÂÿOryx¶*aP6¼)Ñ90áC!?3±!ý$¸^öØK®ÿvc^V£@-cÒMy_""U>}úgb2ò5¿M¤Å eÅƴ̲FÝÄ(áµ×
+G³Æ¬$zAµ+ø%°Û$²¤ê´ujÐIÔLþÑëÍÁÀ]õqÛûg îÃèÀXTÉ~éö[ÖËW, °níÚ¯!×òfgf1==}ÆȾmeÛíë[èÿ˨ïËÇÊcêâ å9˼YÅÔì¡(%BBvmp[³ºTõ¸&@<n¿$[N"QÁêp}fAÑI=§)K`õ13;6ÙS5ÃÂKÞpñu_?33óLt
+ÆJétúNEÔ¤éÔ©SgP ÜRHT×¼ìJ/(AÆTªû<Ñ=cqàÎ_=sNÞ;%ÈffCuÆhd²)Em»#7; ö²Dê:ª>³;ÇäúSýûbÇTʵÜyû-Jg- °nݺo¤ÓékHB±XÄ©¢DO\ Q[ÌHÍêW<ÑrÙ6âß ®¤;_ßÞÝÊ*g+Õúã É2´{!É®#&OYYkf3«:;êòÉdp;=p¥ü4´X¤s/o¸øßø÷¹ÙÿiK?EüvïÆóÏ?ÇãÞÿu/N6Sªº:¼Ì1íÒ0&¯.#ÀµïéA_ÓÚ¶;n¨Dò²8ºµvð¡È7òåàXIèqÓLÝ4
+B³
Ñ\ÊàQÜý4¶¡j3X)ÌãÔÑâ3FJ_¸©OÕ¾ç$ °aÃÙ\ö»SÓSX½j5¦¦¦à¥=<þ¯'ÔiõûÕ9ª!#_þ@Îv¨ßm6s04³ø¶,AûLMº¦Tå¬.ÙZ[f¡mÚ³ÊëÐF`ðèKmíøîÆK®Ûù³ÖWüLê&cDD½j÷»¯]·±5´ÿ~Ed
Fì/̼Õ_Bg¤2q'Ê®Õm\EPäÃ)H¿×uui5®Ñ2ÍÅ«¨.}¦ùvÂa)4ÒhYÅ@'[r)u6®ïûQ[V©$á!ð˺ùDPÕy|tÖqÈ·s@W¸:¸&ú¾áyP~Ì©¡>ëéÏW7r&][Átó@J).HÍôrÈCda r3yëaäøALIÁõ¼áUç_ói3èsÎ
+ÁØ=÷ÜóÙT*õåöö6w×3ÏbÝuÈçó!¸#"¾Ùo5ôN£1Ç¢ÖúÔ ûyiÌäÛywO!#ÒB0.YGÀ
+wW&,½&¶w½ãHh"\ݤ"DÓN:Nó*$_¦â}êjmVk1ë%á¡=H Âg'c»µVq
+_9Ô;^DmbE8±ÎÂEqn§¿¬DÀ?ÛÒñÙÿòþóÆ^Y~Ö+|}øÃþ§«¯¹úQÏKáÊ«®DOwO)DRF²,²P fu½¶kó'5oP
+I<A(KG0kn¨È¯PV# 3AZý@TT5¨fDr$2ã4n©v)YHë : ª¬ì ÂÏż$"äZ;ÝxÉõÿôJ×õ c¶nÝú×u4¾ É£Çúg¦7¬kfeðPo=É$[r3c7ÄU·y´ÊJÚäaª¸²uT]¬
+ÞÊrÒ½m5ÈUªÏFâV1§$eÖÞfÀýÏ¢87UKíÊm¾ü]¹ýõô@(s¹\ö¶ òAB§-o×ÆÄEêàʬû<aT± Zf·OeU
+ÓÀRLê0¤Qd
+¹d"òä.(«^¬q£Ü$35ð%@*XÄWf¡,á.æ;Âøp_ÈÊTä3-í·Ý~Ëú¹³YÓ³NëݸqÓcmmm#"PíPqª< bÃêÿIVSŸ]Sº"AÈ>SNQ¼Ë,\ªëaZÙ6WÈ>E`iÔ~:YJE]ÂMzxH#O\
ëm,²¾Þ5 §rLaè¨ÇåudKçÏ}ù/÷±³]ÏsÉëÆÖ[ÿ&ËÝOµB"ÈÙS jÁR`IâF2ZÀD×PäÅeCÍðP²÷`o¢v§^sÄI'PYéL
+V)ã(P Æo²@%7LýN~zÇ÷îZÁ*eÛïßxéoü͹¬¥8/1Æ$}è
^XV,/ëÁÌ Üö¶½ÍúÚãädçíyNµF
+ãdÇríÙÑ P5˹±DíL»¬ª
YY æ;%¸»æÌIfñ-nZmqmWr³ÈnȨkPÉÀPÌO¡ïÔèûÒÙg·\ñ®)Øóº@(Õjµú¾_|ñ)VëàCêô x+áZ6±XÆû-áÊáÃØ·íjL6wcbÁr´Oc²sNª®`kí PVÃW²(áÉ&ÌèLumåQùCVö¯iÔÙÁ FM"Là'¬vSë!è¤1\«öÍP,ÎáبVʨèD:Ó·áÒëßwû-ªçºç, àyÞ©CÝD`?bJ.$ $˨Nh[ÇÍ*/FÀRA KNìEÀC ¨°å¹âA*Q-£ÔÜã+¶¡È]©N.ßrXp
+Ïk²júØUM62Ðâ±èÄ>TsÍX¸%¢1ëÖí#I%@è-L¢cè(f.Ç©EFê¸Í5Èý·;¡Áx`ÏÏ ÿ¥(òÚà#ë¥FÚ»ßô'·wêÕ¬!ÃkðzäG.(H©Ö*P8EK!Í
êoU+5k~¦ö'UëbþÍ,±¨»H}
èûµ)7>Ë)ÆÌÏèÎ!Lwù V7äµrjL±è÷FsQ»G4þZÁ/bÀOù)Ê¥²bà®3² ·÷¦ßÿ¿~÷«]»×D BHøß
+`aÍ:-[¶¼¢Ü_¿ê_ÇÃc=RT#w at xîÈå+n½ñÆ~-îÁ^Ë?ùä<yòÁÁÁ
³3³è]¸ K,Á¡Ã°~íztvubùòå¡Cô®r9>yÛ'q×]wÁ÷}TÊlÛ¶
+«V¯ÂøØ8ü·'J¥ð¾ÿð>b×®]8>óÞr>þ±ãî»ïIÂoÜðxê'OáænÆ®]»06:ññq¼wû{166=/íw8FFpÇ_ßr¹JE'È:t]v>÷¹ÏÁu]¼¸ûEüÑÿ1<4+ßveÿ÷wý=Ò©4¤¸æêk ¤Â?z \*ãþäpß}÷aíµØùÌNôv÷âcûþöïþ'Dï^¼ëÝïÃ<øàX½f5sÍØ´iøѸöÚkqßÿ¾¥r ===رcÒé4üªÞ
½#W_}ÍMï¹åݯÕñ×R ®¾úêÝ-í-×rÎûVZUà\±|._çB´´´Ý£°«CWííéÅ»nxþøOþù¢¦bzfmmÈesp
Î9®½æÚ¨-Í¢EpÛ'oÃàÐ ªÕ*ÇÁOú J~ç¿ÑÓ£hiiÑÅ(æVý½G~ßþö·ñýïÏ=÷c¸ò+ÑÝÝmçmÃ-[Ëåð÷¾Åb÷Þ{/Êå2:Ûu5Õt:L6|èC¿y+.¸ø2À¶mÛðÔO`.ÐöãaÁâøØï|pÞuã»ðö«Þ_|ÂÕôî/ßýe¬]·ºyuJ/~&é[µjÕµ¯åâ#ü¯o}ó[ïÝþÞﺮ{åÊ+g³YÖÔÔjµuëÖaéÒ¥hjjÂìÌ,¶oßt*ήNø¾ééi,]º®pÑÝÝÓ£§qÃ
+7àó/ ¡»·³Ó³¸æÚkËæÐÙ©;ÌÌÌàÔð)\÷ëÐÙÙl6-·àå}/㪫¯B{G;RX¶lV®X%K`ó͸è¢N§qã7 .]U«WaåÊX¾|9r¹Òé4Ö¬]ææf´··cãÃ\ ÏóÐÙÙþãýH§ÒX¹b%òóyÜ|ËÍÄÖ[ÑÚÚÖ\rÉ%عc'ÞýîwC*ÞÞ^ìß¿K-Á¦Âª!.vîÜnd2¤R]»öÙ-[·ÜpÛ'n;þZ¯óz]?xôóétúáº6ìÞ½
+ãùçG±PÄóÏ?/¹?~òÇxægæ!ùð ðIDATpåWâ¾ûîÃõ°{Ïnìzvzºzprð$fffðÒÞ Â3Ï<mÛ¶aÇÎø·'ÿ
+oûÛqÿ÷ãØÑc¸ìÒËðè£bÕªUØõì.ì{yÖ®_Caÿ¾ýhmmÅàA¼´÷%\vÙeøâ¿»¿r7~ðèÍf±víZ|ðÄ÷àñÇÇÆ1>1O|üؽg7Þù4.¼ðB<üÐÃxñűí¼mØóâô÷÷C)
g{ç±yóf|û¿ãX±|~øÄqé¥âëÿøuì?°_z9~øÄá
+'OÄ¿=õo(ý÷Þ¡¡!3<qK.ýÇúÿÏn¾í¶Ûf^µr^/æÀòÃùðýË.C¹\¾híºµ^GG'rÍMÈf3ö-ÛÐÜÔ«V¢»³]`Ä°jÕ*¬^³pñEcrr[¶lÁõ0??Í7ÃÖ¬YÖVþùÈd2X¼d1º»õιîºëÀÇÂ
ÑÝÓîlÞ²Ý=ÝèííÅå_HáôØiüÁ§ÿ 1\ÝõËÏ¡¥©Û·oGOw¶·c§ÇpÃ
+7`Í5Ø·Ö[+V §§K.Åc=k¯½«V¬Þ£GâÒË/ÅòåËÑÙÙãÇ£»«ëׯGww7¶nÝ@óóóEgg'FGGQ̱nýúüªU«þß|ô#ÿ÷u×]¼^ë$^O+ö#þðWüä'Y²tÉ×Ò©ô[¶blô4{îy<ê<Õ"~æ
gðãý¸ã¯î@¡PÀ×þákX·n àºw\½{÷âÎÏßînü§ßýO5AÃß{í¸ã;@D¸ç÷ ³³¿?ýþÇÃgÿâ³X³j
+ÞùÎw1yì_ðï~ííCsS3¾ø·_DÕ¯3 044ÿþßþ;Î;ï<LMOpbàFNàégÆÿ?Gÿ@¤Ù.»ì2lÚ´ ¥R /¾ø"úõáoþ«FhGFF01>Ý/ìÆ_þå_bxxÿð@sk3°iÓ&:u
+}}}H¥ÓC7Üø®ÛÞÿþ÷?×ùÅñ¼¾úÕ¯>V*69rø{
bÁ?@©XÂC=<õóEÌÏÍãè£Ø¹S3RÅS?y
+ÃÃà ª~ãããøÖ·¿ T|>ãýÇñ£ýH»Ñ01>çv=¾£:b&}±±1üówþJ)0ÅP-V148yô_"çôÄ4ö¾´ûöî ¤ÂèØ(~øa
+(¥019_x# 0:>ûï¿Õj8JåñðÃGcÆËû_Æ÷¿ÿ}<òýG0?7|>#G¢\.C)å±ïå2ÙÍÿñ|ìX7ðõÃÇÈ\á~¼ZÞ166¶XJJ¹
E J.Ãâ%±nÝ:A6Å®çváâ.F{G;úúûàpÃCøâÊ+ }}}E&ÁÆM199 Î8v¿¸·lÆÞèïïG&Á¡Cpõ5W1þþ~äçó ¶mÛùùyE9z+V¬ÀÒ¥KÑßßÖÖV¼´ç%\qå(Jð}öÀuk°xÑbôõ÷¡©© û÷íÇUW]!úûúQ,!óÞrÅ">'|¥R B6Åðð0V^5¼páÂÏþùÿ´zõjz£Öä
+¡#êÙ±cǦ§gnå¹qPQ.\U«VÕ5°øE}`ïÞ½èëë3DL~Ooïwû·ûÓ±±7zlìç5)¥RíÚµëjµú¥|>¿@Øè¸ö³««Ë/Ç~!~`` ÄÐÐL!· ½½ýåT*õ©íÛ·ïÌd2ôó#ûyOR©T»víúh>ÿL¥\^OºvØÙLÿÌæ²Xºt),YLX¯àÍú*
+8vì9kÑC
+§²Ùìᶶ¶;o¹åod2àç9^öf¸R©ùéOúb±ø©R©´ ZF}îÞÞ,Z´,°jþ<_J'NÄÀÀq<y²vÎYÚDÍå577é=ïyÏ×3LéÍ0vöfÛA¥RÉÙ¹sÇoU«þgæææ63ÆRá<¢&î¦ôöö¢»»oè8§§§qêÔ)
+
+iðÆc,°)e¥££c¿çywnß¾ýÛLF¾æûM' ðÝ/î~ëüìÜïÍçó×K)»(×qD©tèììD{{;ÚÚÚ¢Ê"¯öåû>¦¦¦019ñ±q¢P,DÄÝ%ÛP÷Ä9hkkûaGGÇÝ×\sÍÓLF½çùM+ aèرcÇöJ¹ò|!R*4ª¢¶·³üsÙ5ÐËåÍfN§J¥àºn$ A Z¢R© T*¡X( /`n~³³³«u[
iD;>¼7ã¬ÐÒÜòL&ùæM7Ýô@&z³Ïí/ ÔS?yê7ýª¿½T*]R,;9ç) ÌT½Ã2Æç´Ñ7-r¤mâÉ ¨d³ÙÉl6û¬çyÜtÓMßPùyYô¿ôÐÈØ·o߶ɫýªe¹\ÞX,{´ p- ¢JÙ3¹èõ?5õZËår£étæ çº;z{{¼è¢öþ¼-ù_YH¾út´ýÿÝÑ!@Ð?$@E
+·à@Ô5Üÿ^"! éþLOÑ+¼7¿ÎëE¦>5Éä3Òr³~ÑID¢ @v(VU]T5(0e1
+Ã;8綶é¾ÿbvDZ;X·M|Z IEND®B`
\ No newline at end of file
More information about the evolvis-commits
mailing list