Pour réduire les coûts et profiter de la richesse du "libre", l entreprise Coramy s'est engagée avec Nexedi dans le développement d un ERP libre. Histoire d'une réussite et d un consortium industriel libre... en devenir. ('jp jp',) Un ERP5 en toute liberté (Informatique Professionnelle / Gartner) text/html None en None 2004-04-28 16:58:33 2004-04-28 16:55:11 () 0 sommaire L'Informatique Professionnelle n° 206 août-septembre 2002

D O S S I E R L O G I C I E L S L I B R E S E T O U V E R T S

Arrêts et tendances Une liberté sous contraintes Ouverts ou libres, les logiciels restent soumis à des règles imposées par le droit ou des groupes de pression. Le procédé brevetable peut aussi constituer un plus

de... liberté.

Benoît de Roquefeuil

26 4

6

OSS et Linux Avantages et inconvénients OSS et Linux ne conviennent pas à tout le monde. Si leur coût est faible et leur fiabilité grande, ils ne sont guère compatibles avec les produits Microsoft. Mary Hubley Marchés Open source et brevet du logiciel La généralisation de la publicité des codes sources est inéluctable. Reste alors à bien définir des modes de protection pour que cette activité reste économiquement

rentable.

André Bors

32

Etude de cas Un ERP en toute liberté Pour réduire les coûts et profiter de la richesse du "libre", l'entreprise Coramy s'est engagée dans le développement d'un ERP libre. Jean-Paul Smets-Solanes & Thierry Brettnacher Economie Le business du libre Avec les logiciels libres, le modèle économique de l'éditeur disparaît au profit de celui du prestataire. Alexandre Zapolsky

9

...ET AUSSI... M A N A G E M E N T

Organisation de projet La baguette magique ? Pour organiser un projet, il n'y a pas de baguette magique ! Il existe pourtant des bonnes pratiques et des

points de repères.

Jean-Marc Berlioux

36

13

Intégrer Linux Les entreprises aussi ! Linux et les logiciels libres ne sont pas un effet de mode mais une tendance de fond qui va bouleverser l'indus-

trie informatique.

Gilles Briard

39

Infocentre achats Méthode et pragmatisme Construire un "infocentre achats" demande de la

méthode et du pragmatisme.

Hubert D'hondt

19

22

S'affranchir de Microsoft Le mode d'emploi Il ne faut plus attendre ! Pour Louis Naugès, éliminer Microsoft des stations de travail et des serveurs est possible et rentable. Même le premier pas ne coûterait rien ! Louis Naugès Serveurs d'applications "libres" Une alternative possible ? Les serveurs d'applications en code source ouvert apparaissent comme des alternatives aux produits propriétaires. Nous expliquons ici quand et comment ils peuvent être exploité dans le cadre d'une stratégie globale

e-business.

Mark Driver

42

46

Achats De l'importance de la méthode Le poids des achats informatiques devient de plus en plus important. Le besoin de méthode se fait donc sentir. Jean-Arthur Pinçon Grands projets Gagner ensemble ! La réussite des grands projets d'informatisation passe par des prémices organisationnelles essentielles. Elle est aussi le fruit d'une alchimie particulière entre les hommes, leur cohésion, leur mobilisation et leur volonté de gagner ensemble. Christian Jaguenet


Edito

Libres ou commerciaux ?

Le monde des systèmes d'information nourrit périodiquement quelques grandes polémiques qui occupent les "unes" des journaux. La dernière en date est celle qui oppose le monde des logiciels "commerciaux" à la mouvance du "libre". Comme toute polémique, elle repose sur des arguments objectifs mais aussi sur des adhésions ou des réticences relevant de l'affectivité. Pour un responsable de système d'information, il n'est pas souhaitable, aujourd'hui, de faire trop de place à l'affectif dans ses choix techniques. En revanche, il est tout à fait légitime qu'il fasse intervenir à la fois des critères économiques, techniques, stratégiques et aussi, dans certains cas, politiques, relationnels et humains. Choisir un logiciel suppose toujours une prise de risque par rapport à des moyens et à des objectifs, et donc une estimation et une gestion de ce risque. Le critère "libre-commercial" n'est jamais qu'une des dimensions à prendre en compte dans un processus de décision. Les choses se compliquent un peu quand on s'aperçoit qu'il n'existe pas de frontière tranchée dans ce domaine. On rencontre différents types de licences se réclamant de la "liberté". Certains produits gratuits sont livrés sans source. On trouve de l '"Open Source" payant. Microsoft lui-même se met à divulguer ses sources à des organisations, notamment gouvernementales ou universitaires. Enfin, un produit comme StarOffice comporte une version gratuite et une payante... Pour Gartner, logiciels libres, commerciaux et "intermédiaires" continueront à cohabiter dans les années qui viennent, y compris à l'intérieur de certaines organisations. Bien entendu,de part et d'autre, des produits survivront et d'autres mourront. De part et d'autre, il sera bon de surveiller la pérennité des développeurs des différents produits,même si les modes de surveillance sont un peu différents. De part en d'autre, pour que des entreprises puissent se développer, il faudra qu'elles soient rentables. Il existe évidemment bien des différences qui seront évoquées dans les pages qui suivent. Ainsi,le coût total de possession ne se calcule pas de la même façon dans les deux mondes. De même, le support nécessaire pour permettre au libre de fonctionner efficacement doit souvent être plus technique que celui qui est à prévoir sur du commercial... Ce numéro de L'Informatique Professionnelle vous donnera, nous l'espérons, les informations vous permettant de faire le point sur cette question. Jean-Marc Berlioux

J.M. Berlioux

Mensuel publié par Gartner Tél.01 41 35 15 15 Fax 01 41 35 15 10

COMITÉ ÉDITORIAL : Jean-Pierre Corniou Catherine Leloup Jean-Claude Maury Christian Morfouace Jacques Pantin Pierre Lora-Tonet André Schwob Serge Yablonsky DIRECTEUR DES RÉDACTIONS : Olivier Le Gendre DIRECTEUR DE LA PUBLICATION : Norbert Miconnet RÉDACTEUR EN CHEF : Jean-Marc Berlioux (1502) RÉDACTEUR EN CHEF DÉLÉGUE : Jean-Michel Atzel SÉCRETAIRE DE RÉDACTION/MAQUETTE : Céline Holleville GESTION DES ABONNEMENTS : Sylvie Garofalo (1518) SIÈGE SOCIAL : Gartner Immeuble Défense Bergères TSA 40002 345 avenue Georges Clémenceau 92882 Nanterre cedex 9 Tél :01 41 35 15 15 Fax :01 41 35 15 10 TARIFS ABONNEMENTS :

France 410 Etranger 430 (tva 2,10 %)

ISSN 0750-1080 Commission Paritaire 61050 RC 350 624 102 SARL au Capital de 162 000 IMPRIMEUR : Imprimerie Moderne de Bayeux 7 rue de la Résistance BP 133 14401 Bayeux cedex Tél.02 31 51 63 20


DOSSIER SPECIAL

LOGICIELS LIBRES ET OUVERTS

ETUDE DE CAS

Un ERP en toute liberté

Pour réduire les coûts et profiter de la richesse du "libre", l'entreprise Coramy s'est engagée avec Nexedi dans le développement d'un ERP libre. Histoire d'une réussite et d'un consortium industriel libre ... en devenir.

Jean-Paul Smets-Solanes Directeur de Nexedi SARL, société de services en logiciels libres pour la gestion des entreprises industrielles. Il est également vice-président de l'AFUL et fondateur de l'Alliance EuroLinux. Thierry Brettnacher directeur opérationnel de Coramy SA, PME, leader européen du maillot de bain. CA de 10 M environ. e projet ERP5 est né lorsque Thierry Brettnacher, directeur opérationnel de Coramy (cf.encadré) a constaté qu'il n'existait que deux approches raisonnables pour son entreprise en matière d'ERP : le recours à une solution générique adaptée ou le développement sur mesure d'un logiciel libre générique. Une solution dont Jean-Paul SmetsSolanes avait déjà évoqué l'éventualité dans un ouvrage L

Le logiciel libre peut être une solution économiquement pérenne

"

"

récent (1). "Le logiciel libre peut être une solution économiquement pérenne lorsqu'il répond à un besoin relativement générique", expliquait Thierry Brettnacher. Coramy a alors comparé les offres des principaux acteurs de l'ERP propriétaire avec une solution libre. L'offre propriétaire, pour une solution adaptée aux contraintes de la confection, revenait au moins à trois cent mille euros tandis que celle d'un ERP libre revenait à cent mille euros. L'offre

propriétaire intégrait la comptabilité et la gestion du personnel,ce qui n'était pas le cas de la solution libre. Celle-ci permettait, en revanche, d'assurer aisément l'interopérabilité avec les systèmes existants, qu'ils soient de nature industrielle (conception et production des maillots) ou de nature organisationnelle (comptabilité, paie). Un ERP spécifique coûte cher en maintenance Dans la mesure où c'est au niveau du suivi de la clientèle et de celui de la production que sont concentrées les principales contraintes de Coramy en matière de système d'information,et en prenant en compte les risques liés à un développement spécifique, la solution de l'ERP libre fut donc préférée, d'abord pour sa souplesse et ensuite pour son prix. Mais Coramy n'en était pas à sa première expérience en la matière. L'entreprise avait effectivement développé, il y a dix ans, son propre ERP intitulé "Cognis". Ce développement d'une solution spécifique autour d'un environnement de développement rapide n'avait coûté qu'environ

1/ Logiciels Libres :Liberté,Egalité,Business, Jean-Paul Smets-Solanes et Benoît Faucon,Edispher.

26 L'Informatique Professionnelle · 206 · août-septembre 2002 · Jean-Paul Smets-Solanes & Thierry Brettnacher


ETUDE DE CAS UN ERP EN TOUTE LIBERTE

ÜFigure1·Lescinqcontraintesprincipalesauxquellesdoiventrépondrelessystèmesd'informationdegestion

Le système de licence libre GPL favorise le partage du code du logiciel tout en respectant le caractère privé des données

"

"

deux années-hommes. Le risque d'un nouveau développement spécifique a donc été calculé. En revanche, l'expérience de Coramy, avec son ERP développé en interne, a démontré que si une telle solution offrait une grande souplesse lors des réorganisations internes de la production ou de l'activité commerciale, elle coûtait relativement cher en termes de maintenance et créait une dépendance forte à son concepteur. Mutualiser les coûts de maintenance D'où la solution de l'ERP libre. En effet,l'un des principaux avantages apportés par le développement du logiciel ERP5 est de partager les coûts de maintenance avec d'autres utilisateurs. Comment ? en favorisant son adoption la plus large possible. Le système de licence libre GPL (General Public License) a donc été choisi pour favoriser le partage du code du logiciel tout en respectant le caractère privé des données de l'entreprise et en permettant éventuellement des développements spécifiques relevant du secret industriel. Reste la conception technique d'ERP5, qui doit faire preuve d'un caractère générique suffisant pour pouvoir s'adapter à la fois aux contraintes de Coramy et à celles d'autres utilisateurs d'ERP. L'innovation technologique De fait, ERP5 a été conçu dès l'origine pour répondre à cinq contraintes fortes des systèmes d'information de gestion (cf. schéma 1). · La mondialisation : les PME disposent, généralement, aujourd'hui de plusieurs sites de production dans plusieurs pays. · La désintégration verticale : les PME travaillent avec des personnes ou des organisations qui doivent avoir accès à leur système d'information sans être pour autant des salariés ou des filiales. · La personnalisation de masse : afin de standardiser l'offre et de conserver en même temps un large choix d'options pour le client, de nombreuses entreprises optent pour un système de "variantage" des modèles (par exemple les tailles et les couleurs dans la confection, la quantité de mémoire dans la vente de PC). · La maîtrise de l'information : de nombreuses PME qui ont vécu le bogue de l'an 2000 et le passage à l'euro ne souhaitent plus dépendre d'un fournisseur unique de solutions informatiques propriétaires. · Internet : de nombreuses PME souhaitent exploiter les promesses d' internet pour offrir une vision de leur système d'information à leurs partenaires. Le modèle d'unification des flux Afin de répondre à ces contraintes, ERP5 comporte trois grandes innovations.

La conception technique d'un logiciel libre doit être générique

"

"

Jean-Paul Smets-Solanes & Thierry Brettnacher · L'Informatique Professionnelle · 206 · août-septembre 2002 27


ETUDE DE CAS UN ERP EN TOUTE LIBERTE

Le modèle d'unification des flux informationnels repose sur cinq concepts : ressource, noeud, mouvement, élément et chemin

"

"

ÜL'histoired'ERP5 ERP5 est né de la rencontre de deux entreprises : Coramy et Nexedi. Coramy (www.coramy.com) est un leader européen dans le secteur du maillot de bain. L'activité de Coramy s'étend du design à la production et à la commercialisation pour des grandes marques ou des marques de distributeurs.Avec cinq sites répartis sur deux continents, Coramy doit faire face à l'échelle d'une PME aux mêmes contraintes géographiques de gestion de l'information qu'une multinationale, mais avec un budget réduit. En outre, les pratiques du "juste à temps" dans les relations avec la grande distribution,le nombre très important de modèles, leur renouvellement annuel,des séries toujours plus petites et la nécessité de produire chaque maillot en plusieurs tailles et plusieurs coloris nécessitent un système d'information rapide et réactif pour assurer le suivi de relation client et de la production. Nexedi (www.nexedi.com) est une société de services spécialisée dans le déploiement de solutions de gestion d'entreprises industrielles fondées sur l'usage de logiciels libres.

ERP5 utilise la base de données à objets Zope

"

"

1. Un modèle d'unification des flux informationnels de l'entreprise. 2.Un système de bases de données d'objets actifs. 3. Un mécanisme de distribution des données fondé sur la synchronisation. Première innovation, le modèle d'unification des flux informationnels de l'entreprise permet de représenter avec cinq concepts simples des opérations relevant de la comptabilité, de la gestion de production ou de la gestion des ressources humaines. Les cinq concepts sont : ressource (resource), noeud (node), mouvement (movement), élément (item) et chemin (path). Une ressource est un descripteur d'une catégorie d'objets tangibles (ex. tissu, eau, électricité) ou intangibles (ex.argent,compétence, temps).Un noeud définit l'identité d'un acteur d'un processus de gestion. Il peut représenter une personne, une organisation, un stock, un compte, un atelier, etc. Tous les noeuds peuvent stocker et, ou transformer des ressources. Un procédé de gestion est alors décrit comme un ensemble de mouvements entre noeuds : mouvement d'argent entre comptes, mouvement de compétence entre personnes, mouvement de tissu entre stock et atelier. Lors de la transformation d'une ressource dans un noeud, un mouvement particulier, ayant une origine ou une destination vides, permet de représenter les apparitions et disparitions de ressources. Ainsi, l'ensemble de la représentation de l'information peut satisfaire au principe "rien ne se perd, rien ne se crée, tout se transforme". Afin de permettre une traçabilité, les mouvements de ressources sont décomposés en éléments ayant chacun un numéro de série. Par ailleurs, pour assurer une planification par simulation, des chemins entre noeuds permettent de définir les sources d'approvisionnement en ressources lorsqu'un noeud agit,par exemple, comme acteur d'une transformation (cf. schéma 2). ERP5 utilise la base de données à objets Zope La deuxième innovation d'ERP5 est son modèle à objets. Au lieu de stocker les données dans une base de données relationnelle, ERP5 utilise la base de données à objets Zope (www.zope.org). Celle-ci qui soit dispose de son propre moteur de stockage soit peut utiliser un moteur Berkeley ou Oracle, constitue à ce jour le plus grand succès des bases de données à objets.Alors que la plupart des systèmes de gestion stockent leurs données dans des tables et représentent les données sous formes d'objets ce qui nécessite de la part du programmeur un effort constant de va-et-vient entre deux modèles qui ne sont pas toujours compatibles, les objets dans ERP5 sont tout simplement stockés comme des objets dans une base d'objets. Le temps de développement de nouvelles applications se trouve ainsi considérable-

28 L'Informatique Professionnelle · 206 · août-septembre 2002 · Jean-Paul Smets-Solanes & Thierry Brettnacher


ETUDE DE CAS UN ERP EN TOUTE LIBERTE

ÜFigure2·Modèled'unificationdesfluxinformationnels

ERP5 a été conçu de façon à permettre une répartition des données sur plusieurs sites

"

"

ment réduit. Pour autant,il est possible d'interroger la base d'objets d'ERP5 au moyen de requêtes SQL grâce à un procédé d'indexation innovant développé spécialement. ERP5 fonctionne de manière distribuée La troisième innovation est son fonctionnement distribué. ERP5 a été conçu de façon à permettre une répartition des données sur plusieurs sites. Chaque site synchronise alors ses données avec un autre de la même façon que l'on synchronise son agenda électronique avec l'annuaire de l'entreprise. Un tel modèle de synchronisation va plus loin que la gestion de données réparties. Il permet, par exemple, à deux entreprises partenaires de synchroniser les commandes qu'elles se passent l'une à l'autre, en ne prenant en compte dans le procédé de synchronisation qu'une partie des données. Ce procédé, équivalent à l'EDI en plus universel, permet à deux entreprises de mettre en commun la vision qu'elles ont de leur partenariat. La combinaison de ces trois innovations et le caractère libre d'ERP5 en font donc une plateforme générique pour s'adapter à la plupart des entreprises, de la production de biens matériels en lots à la production en flux continus. En outre, l'intégration au sein d'un même modèle du tangible et de l'intangible permet assez simplement de développer autour d'ERP5 de nouveaux modèles de gestion financière plus proches des contraintes industrielles. Le consortium ERP5 Pour qu'elle soit acceptée par le marché,le développement d'une solution d'ERP libre, telle que ERP5, ne doit pas dépendre exclusivement d'une seule entreprise.Aussi, Nexedi a-t-elle cherché à partager l'effort de développement et de promotion d'ERP5 avec d'autres entreprises. La société Mind Over Matter cherchait alors à développer pour son principal client une solution de CRM qui intègrerait à terme une dimension d'ERP. Cette société néerlandaise, membre de l'Alliance EuroLinux s'est donc associé à Nexedi pour prendre à sa charge une partie de l'effort de développement.Au même moment,une grande université au Brésil a souhaité également participer au développement afin de disposer d'une plateforme expérimentale d'évaluation de méthodes de gestion avancées. Ce qui n'était initialement qu'un simple effort de coordination est rapidement devenu un projet de consortium européen puis mondial. La principale mission du consortium ERP5 est de gérer le site portail ERP5 (www.erp5.org). Ce site offre une vision mise à jour en permanence de l'état de l'art en matière de méthodes de gestion, de technologies de l'information et de logiciels libres pour la gestion des entreprises.Ainsi,

Le développement d'une solution d'ERP libre ne doit pas dépendre exclusivement d'une seule entreprise

"

"

Jean-Paul Smets-Solanes & Thierry Brettnacher · L'Informatique Professionnelle · 206 · août-septembre 2002 29


ETUDE DE CAS UN ERP EN TOUTE LIBERTE

Le portail ERP5 héberge le code et la documentation

"

"

Plusieurs développeurs peuvent travailler simultanément sur le code source

"

"

ÜRetourd'expérience:lesprincipauxoutilsutilisésparNexedi Nexedi effectue la plupart de ses développements au moyen du langage python.Ce langage, qui bénéficie d'une compatibilité forte avec les composants Java, permet d'effectuer des développements bien plus rapidement qu'avec des langages tels que Java ou C++ tout en forçant le programmeur à produire un code bien structuré et documenté. Les développements effectués en python couvrent à la fois les applications d'entreprises avec ERP5,les applications de travail collaboratif avec Zope et les applications client-serveur avec la bibliothèque graphique Qt. Toutes ces applications sont, bien entendu, multiplates-formes. Un même code python pourra tourner sur un système Linux,MacOS, Windows voire sur un PDA tel que le Sharp Zaurus ou Compaq iPaq. Tous les ordinateurs installés chez Nexedi sont fournis par Storever, la division hardware de Nexedi. Ils sont installés avec l'environnement KDE/KOffice et la distribution Debian GNU/Linux ou Mandrake qui servent à la fois à la bureautique et au développement. Le réseau de Nexedi est un réseau sans fil IEEE801.11b de PC portables et de clients légers pilotés par un micro-serveur de cinq cents grammes, grâce au logiciel libre linux-wlan-ng.L'infrastructure web de Nexedi est assurée par des serveurs en rack 1U hébergés chez Claranet sur une liaison à cent Mbps. La compatibilité avec les logiciels propriétaires de l'environnement Windows est assurée à travers Crossover, une version spécifique du logiciel WINE qui permet de faire tourner directement sous Linux des applications telles que Microsoft Office. Nexedi utilise Apache comme serveur web, Postfix, Courier et IMP pour le courrier électronique, MySQL pour le stockage de tables relationnelles, LEAF pour le routage, Shorewall pour son VPN, rsync pour le backup et l'achivage des données,TkVNC pour la prise de contrôle à distance de PC sur réseaux à bas débit. Les développements de Nexedi sont hébergés sur le site Savannah de la Free Software Foundation et utilisent une version libre du logiciel sourceforge pour la gestion de projet et le suivi des bogues. L'ensemble de ces solutions ne présente pas de difficulté technique d'intégration particulière, si ce n'est parfois le manque de temps des ingénieurs pour apprendre un grand nombre de technologies très différentes.En revanche,l'intégration de ces solutions avec certains logiciels propriétaires peut poser des problèmes lorsque les formats de données sont gardés secrets par l'éditeur. Ces problèmes d'intégration ne sont pas spécifiques au logiciel libre. On peut même affirmer que l'approche libre permet de réduire les problèmes techniques d'intégration dans la mesure où l'ensemble des informations pour la partie libre d'un système complexe est disponible. Inversement, d'un point de vue commercial, la facilité d'intégration d'un très grand nombre de composants oblige dans la relation entre société de service et client à freiner en permanence toute tendance chez l'un ou l'autre et qui aboutirait, compte tenu de la liberté offerte,à des dépassements de budgets et d'emploi du temps.

l'ensemble des solutions libres ou propriétaires de gestion sous Linux est référencé à l'URL (http://www.erp5.org/linux.html). Le portail ERP5 héberge également le code et la documentation d'ERP5. Grâce à la technologie libre CVS (ConcurrentVersions System), plusieurs développeurs peuvent travailler simultanément sur le code source avec une traçabilité parfaite et un contrôle fort. La technologie CVS permet en outre de savoir d'où proviennent les contributions au code d'ERP5. Elle intègre un système de signature électronique et renforce ainsi la sécurité juridique du développement. Vers une offre commerciale étendue Déployer une solution ERP5 présente en termes de compétences les mêmes types de difficultés que pour déployer une solution d'ERP propriétaire. La capacité de réunir les compétences nécessaires reste évidemment l'une des conditions indispensables pour espérer un succès. Dans ce domaine, le caractère de logiciel libre d'ERP5 et

30 L'Informatique Professionnelle · 206 · août-septembre 2002 · Jean-Paul Smets-Solanes & Thierry Brettnacher


ETUDE DE CAS UN ERP EN TOUTE LIBERTE

la base de connaissances libres du portail ERP5 constituent une aide précieuse. À travers l'étude du code du logiciel et les nombreuses références indexées par le portail, un consultant ou un programmeur pourra rapidement se former. Le code d'ERP5 étant modifiable, le programmeur jouit d'une liberté absolue d'adaptation du logiciel et le consultant peut s'adapter aisément aux contraintes ou "anomalies" les plus extrêmes de certains clients. Bien évidemment, une telle liberté en l'absence de certification des consultants peut conduire à une offre de services très variable en termes de qualité. Le principal frein au développement d'ERP5 pourrait donc venir, à terme, de l'étroitesse d'une offre commerciale de qualité. Or, il est dans l'intérêt de tous qu'une offre commerciale de services, diverse et de qualité, se développe autour d'ERP5. C'est pourquoi le consortium ERP5 devra progressivement évoluer vers un rôle d'une part de certification et d'autre part de

promotion. La certification des formations ou des offres de services autour d'ERP5 doit permettre à chaque consultant de valoriser ses compétences à leur juste niveau et à chaque société de service de pouvoir garantir une qualité des déploiements. La promotion doit tendre à faciliter l'apprentissage d'ERP5 à la fois en tant que logiciel et en tant que solution pour la gestion des entreprises. A terme, des sociétés telles que Nexedi ou Mind Over Matter deviendront de simples membres certifiés d'un consortium ERP5 contrôlé principalement par ses utilisateurs. Une telle perspective pourrait sembler relativement injuste pour les entreprises contributrices. Mais c'est à ce prix, et à ce prix seulement, que l'on peut espérer qu'ERP5 devienne un véritable standard libre du marché, c'est-à-dire un standard contrôlé par ses utilisateurs dans leur propre intérêt. Jean-Paul Smets-Solanes & Thierry Brettnacher

jp@nexedi.com

Revue d'auteurs, l'Informatique Professionnelle accueille des opinions qui n'engagent pas la rédaction.

Le consortium ERP5 devra évoluer vers un rôle de certification et de promotion

"

"

Bulletin d'abonnement

OUI,

je souscris un abonnement d'1 AN à L'Informatique

Professionnelle au prix de :

410 HT (TVA 2,1 %) (France) 430 (étranger)

Nom : Société : Adresse : Code postal : Tél.: Fax :

Prénom : Fonction :

Localité :

email :

Je joins mon règlement par chèque à l'ordre de Gartner France et je recevrai une facture justificative Je règlerai à réception de facture

Bulletin à retourner ou à faxer à : Sylvie Garofalo · Gartner France Immeuble Défense Bergères · 345 avenue Georges Clemenceau · TSA 40002 · 92882 Nanterre cedex 09 · Tél : 01 41 35 15 18 · Fax : 01 41 35 15 10

Conformément à la législation en vigueur, vous disposez d'un droit d'accès et de rectification pour toute information vous concernant.

Jean-Paul Smets-Solanes & Thierry Brettnacher · L'Informatique Professionnelle · 206 · août-septembre 2002 31
sommaire L'Informatique Professionnelle n° 206 août-septembre 2002 D O S S I E R L O G I C I E L S L I B R E S E T O U V E R T S Arrêts et tendances Une liberté sous contraintes Ouverts ou libres, les logiciels restent soumis à des règles imposées par le droit ou des groupes de pression. Le procédé brevetable peut aussi constituer un plus de... liberté. Benoît de Roquefeuil 26 4 6 OSS et Linux Avantages et inconvénients OSS et Linux ne conviennent pas à tout le monde. Si leur coût est faible et leur fiabilité grande, ils ne sont guère compatibles avec les produits Microsoft. Mary Hubley Marchés Open source et brevet du logiciel La généralisation de la publicité des codes sources est inéluctable. Reste alors à bien définir des modes de protection pour que cette activité reste économiquement rentable. André Bors 32 Etude de cas Un ERP en toute liberté Pour réduire les coûts et profiter de la richesse du "libre", l'entreprise Coramy s'est engagée dans le développement d'un ERP libre. Jean-Paul Smets-Solanes & Thierry Brettnacher Economie Le business du libre Avec les logiciels libres, le modèle économique de l'éditeur disparaît au profit de celui du prestataire. Alexandre Zapolsky 9 ...ET AUSSI... M A N A G E M E N T Organisation de projet La baguette magique ? Pour organiser un projet, il n'y a pas de baguette magique ! Il existe pourtant des bonnes pratiques et des points de repères. Jean-Marc Berlioux 36 13 Intégrer Linux Les entreprises aussi ! Linux et les logiciels libres ne sont pas un effet de mode mais une tendance de fond qui va bouleverser l'indus- trie informatique. Gilles Briard 39 Infocentre achats Méthode et pragmatisme Construire un "infocentre achats" demande de la méthode et du pragmatisme. Hubert D'hondt 19 22 S'affranchir de Microsoft Le mode d'emploi Il ne faut plus attendre ! Pour Louis Naugès, éliminer Microsoft des stations de travail et des serveurs est possible et rentable. Même le premier pas ne coûterait rien ! Louis Naugès Serveurs d'applications "libres" Une alternative possible ? Les serveurs d'applications en code source ouvert apparaissent comme des alternatives aux produits propriétaires. Nous expliquons ici quand et comment ils peuvent être exploité dans le cadre d'une stratégie globale e-business. Mark Driver 42 46 Achats De l'importance de la méthode Le poids des achats informatiques devient de plus en plus important. Le besoin de méthode se fait donc sentir. Jean-Arthur Pinçon Grands projets Gagner ensemble ! La réussite des grands projets d'informatisation passe par des prémices organisationnelles essentielles. Elle est aussi le fruit d'une alchimie particulière entre les hommes, leur cohésion, leur mobilisation et leur volonté de gagner ensemble. Christian Jaguenet Edito Libres ou commerciaux ? Le monde des systèmes d'information nourrit périodiquement quelques grandes polémiques qui occupent les "unes" des journaux. La dernière en date est celle qui oppose le monde des logiciels "commerciaux" à la mouvance du "libre". Comme toute polémique, elle repose sur des arguments objectifs mais aussi sur des adhésions ou des réticences relevant de l'affectivité. Pour un responsable de système d'information, il n'est pas souhaitable, aujourd'hui, de faire trop de place à l'affectif dans ses choix techniques. En revanche, il est tout à fait légitime qu'il fasse intervenir à la fois des critères économiques, techniques, stratégiques et aussi, dans certains cas, politiques, relationnels et humains. Choisir un logiciel suppose toujours une prise de risque par rapport à des moyens et à des objectifs, et donc une estimation et une gestion de ce risque. Le critère "libre-commercial" n'est jamais qu'une des dimensions à prendre en compte dans un processus de décision. Les choses se compliquent un peu quand on s'aperçoit qu'il n'existe pas de frontière tranchée dans ce domaine. On rencontre différents types de licences se réclamant de la "liberté". Certains produits gratuits sont livrés sans source. On trouve de l '"Open Source" payant. Microsoft lui-même se met à divulguer ses sources à des organisations, notamment gouvernementales ou universitaires. Enfin, un produit comme StarOffice comporte une version gratuite et une payante... Pour Gartner, logiciels libres, commerciaux et "intermédiaires" continueront à cohabiter dans les années qui viennent, y compris à l'intérieur de certaines organisations. Bien entendu,de part et d'autre, des produits survivront et d'autres mourront. De part et d'autre, il sera bon de surveiller la pérennité des développeurs des différents produits,même si les modes de surveillance sont un peu différents. De part en d'autre, pour que des entreprises puissent se développer, il faudra qu'elles soient rentables. Il existe évidemment bien des différences qui seront évoquées dans les pages qui suivent. Ainsi,le coût total de possession ne se calcule pas de la même façon dans les deux mondes. De même, le support nécessaire pour permettre au libre de fonctionner efficacement doit souvent être plus technique que celui qui est à prévoir sur du commercial... Ce numéro de L'Informatique Professionnelle vous donnera, nous l'espérons, les informations vous permettant de faire le point sur cette question. Jean-Marc Berlioux J.M. Berlioux Mensuel publié par Gartner Tél.01 41 35 15 15 Fax 01 41 35 15 10 COMITÉ ÉDITORIAL : Jean-Pierre Corniou Catherine Leloup Jean-Claude Maury Christian Morfouace Jacques Pantin Pierre Lora-Tonet André Schwob Serge Yablonsky DIRECTEUR DES RÉDACTIONS : Olivier Le Gendre DIRECTEUR DE LA PUBLICATION : Norbert Miconnet RÉDACTEUR EN CHEF : Jean-Marc Berlioux (1502) RÉDACTEUR EN CHEF DÉLÉGUE : Jean-Michel Atzel SÉCRETAIRE DE RÉDACTION/MAQUETTE : Céline Holleville GESTION DES ABONNEMENTS : Sylvie Garofalo (1518) SIÈGE SOCIAL : Gartner Immeuble Défense Bergères TSA 40002 345 avenue Georges Clémenceau 92882 Nanterre cedex 9 Tél :01 41 35 15 15 Fax :01 41 35 15 10 TARIFS ABONNEMENTS : France 410 Etranger 430 (tva 2,10 %) ISSN 0750-1080 Commission Paritaire 61050 RC 350 624 102 SARL au Capital de 162 000 IMPRIMEUR : Imprimerie Moderne de Bayeux 7 rue de la Résistance BP 133 14401 Bayeux cedex Tél.02 31 51 63 20 DOSSIER SPECIAL LOGICIELS LIBRES ET OUVERTS ETUDE DE CAS Un ERP en toute liberté Pour réduire les coûts et profiter de la richesse du "libre", l'entreprise Coramy s'est engagée avec Nexedi dans le développement d'un ERP libre. Histoire d'une réussite et d'un consortium industriel libre ... en devenir. Jean-Paul Smets-Solanes Directeur de Nexedi SARL, société de services en logiciels libres pour la gestion des entreprises industrielles. Il est également vice-président de l'AFUL et fondateur de l'Alliance EuroLinux. Thierry Brettnacher directeur opérationnel de Coramy SA, PME, leader européen du maillot de bain. CA de 10 M environ. e projet ERP5 est né lorsque Thierry Brettnacher, directeur opérationnel de Coramy (cf.encadré) a constaté qu'il n'existait que deux approches raisonnables pour son entreprise en matière d'ERP : le recours à une solution générique adaptée ou le développement sur mesure d'un logiciel libre générique. Une solution dont Jean-Paul SmetsSolanes avait déjà évoqué l'éventualité dans un ouvrage L Le logiciel libre peut être une solution économiquement pérenne " " récent (1). "Le logiciel libre peut être une solution économiquement pérenne lorsqu'il répond à un besoin relativement générique", expliquait Thierry Brettnacher. Coramy a alors comparé les offres des principaux acteurs de l'ERP propriétaire avec une solution libre. L'offre propriétaire, pour une solution adaptée aux contraintes de la confection, revenait au moins à trois cent mille euros tandis que celle d'un ERP libre revenait à cent mille euros. L'offre propriétaire intégrait la comptabilité et la gestion du personnel,ce qui n'était pas le cas de la solution libre. Celle-ci permettait, en revanche, d'assurer aisément l'interopérabilité avec les systèmes existants, qu'ils soient de nature industrielle (conception et production des maillots) ou de nature organisationnelle (comptabilité, paie). Un ERP spécifique coûte cher en maintenance Dans la mesure où c'est au niveau du suivi de la clientèle et de celui de la production que sont concentrées les principales contraintes de Coramy en matière de système d'information,et en prenant en compte les risques liés à un développement spécifique, la solution de l'ERP libre fut donc préférée, d'abord pour sa souplesse et ensuite pour son prix. Mais Coramy n'en était pas à sa première expérience en la matière. L'entreprise avait effectivement développé, il y a dix ans, son propre ERP intitulé "Cognis". Ce développement d'une solution spécifique autour d'un environnement de développement rapide n'avait coûté qu'environ 1/ Logiciels Libres :Liberté,Egalité,Business, Jean-Paul Smets-Solanes et Benoît Faucon,Edispher. 26 L'Informatique Professionnelle · 206 · août-septembre 2002 · Jean-Paul Smets-Solanes & Thierry Brettnacher ETUDE DE CAS UN ERP EN TOUTE LIBERTE ÜFigure1·Lescinqcontraintesprincipalesauxquellesdoiventrépondrelessystèmesd'informationdegestion Le système de licence libre GPL favorise le partage du code du logiciel tout en respectant le caractère privé des données " " deux années-hommes. Le risque d'un nouveau développement spécifique a donc été calculé. En revanche, l'expérience de Coramy, avec son ERP développé en interne, a démontré que si une telle solution offrait une grande souplesse lors des réorganisations internes de la production ou de l'activité commerciale, elle coûtait relativement cher en termes de maintenance et créait une dépendance forte à son concepteur. Mutualiser les coûts de maintenance D'où la solution de l'ERP libre. En effet,l'un des principaux avantages apportés par le développement du logiciel ERP5 est de partager les coûts de maintenance avec d'autres utilisateurs. Comment ? en favorisant son adoption la plus large possible. Le système de licence libre GPL (General Public License) a donc été choisi pour favoriser le partage du code du logiciel tout en respectant le caractère privé des données de l'entreprise et en permettant éventuellement des développements spécifiques relevant du secret industriel. Reste la conception technique d'ERP5, qui doit faire preuve d'un caractère générique suffisant pour pouvoir s'adapter à la fois aux contraintes de Coramy et à celles d'autres utilisateurs d'ERP. L'innovation technologique De fait, ERP5 a été conçu dès l'origine pour répondre à cinq contraintes fortes des systèmes d'information de gestion (cf. schéma 1). · La mondialisation : les PME disposent, généralement, aujourd'hui de plusieurs sites de production dans plusieurs pays. · La désintégration verticale : les PME travaillent avec des personnes ou des organisations qui doivent avoir accès à leur système d'information sans être pour autant des salariés ou des filiales. · La personnalisation de masse : afin de standardiser l'offre et de conserver en même temps un large choix d'options pour le client, de nombreuses entreprises optent pour un système de "variantage" des modèles (par exemple les tailles et les couleurs dans la confection, la quantité de mémoire dans la vente de PC). · La maîtrise de l'information : de nombreuses PME qui ont vécu le bogue de l'an 2000 et le passage à l'euro ne souhaitent plus dépendre d'un fournisseur unique de solutions informatiques propriétaires. · Internet : de nombreuses PME souhaitent exploiter les promesses d' internet pour offrir une vision de leur système d'information à leurs partenaires. Le modèle d'unification des flux Afin de répondre à ces contraintes, ERP5 comporte trois grandes innovations. La conception technique d'un logiciel libre doit être générique " " Jean-Paul Smets-Solanes & Thierry Brettnacher · L'Informatique Professionnelle · 206 · août-septembre 2002 27 ETUDE DE CAS UN ERP EN TOUTE LIBERTE Le modèle d'unification des flux informationnels repose sur cinq concepts : ressource, noeud, mouvement, élément et chemin " " ÜL'histoired'ERP5 ERP5 est né de la rencontre de deux entreprises : Coramy et Nexedi. Coramy (www.coramy.com) est un leader européen dans le secteur du maillot de bain. L'activité de Coramy s'étend du design à la production et à la commercialisation pour des grandes marques ou des marques de distributeurs.Avec cinq sites répartis sur deux continents, Coramy doit faire face à l'échelle d'une PME aux mêmes contraintes géographiques de gestion de l'information qu'une multinationale, mais avec un budget réduit. En outre, les pratiques du "juste à temps" dans les relations avec la grande distribution,le nombre très important de modèles, leur renouvellement annuel,des séries toujours plus petites et la nécessité de produire chaque maillot en plusieurs tailles et plusieurs coloris nécessitent un système d'information rapide et réactif pour assurer le suivi de relation client et de la production. Nexedi (www.nexedi.com) est une société de services spécialisée dans le déploiement de solutions de gestion d'entreprises industrielles fondées sur l'usage de logiciels libres. ERP5 utilise la base de données à objets Zope " " 1. Un modèle d'unification des flux informationnels de l'entreprise. 2.Un système de bases de données d'objets actifs. 3. Un mécanisme de distribution des données fondé sur la synchronisation. Première innovation, le modèle d'unification des flux informationnels de l'entreprise permet de représenter avec cinq concepts simples des opérations relevant de la comptabilité, de la gestion de production ou de la gestion des ressources humaines. Les cinq concepts sont : ressource (resource), noeud (node), mouvement (movement), élément (item) et chemin (path). Une ressource est un descripteur d'une catégorie d'objets tangibles (ex. tissu, eau, électricité) ou intangibles (ex.argent,compétence, temps).Un noeud définit l'identité d'un acteur d'un processus de gestion. Il peut représenter une personne, une organisation, un stock, un compte, un atelier, etc. Tous les noeuds peuvent stocker et, ou transformer des ressources. Un procédé de gestion est alors décrit comme un ensemble de mouvements entre noeuds : mouvement d'argent entre comptes, mouvement de compétence entre personnes, mouvement de tissu entre stock et atelier. Lors de la transformation d'une ressource dans un noeud, un mouvement particulier, ayant une origine ou une destination vides, permet de représenter les apparitions et disparitions de ressources. Ainsi, l'ensemble de la représentation de l'information peut satisfaire au principe "rien ne se perd, rien ne se crée, tout se transforme". Afin de permettre une traçabilité, les mouvements de ressources sont décomposés en éléments ayant chacun un numéro de série. Par ailleurs, pour assurer une planification par simulation, des chemins entre noeuds permettent de définir les sources d'approvisionnement en ressources lorsqu'un noeud agit,par exemple, comme acteur d'une transformation (cf. schéma 2). ERP5 utilise la base de données à objets Zope La deuxième innovation d'ERP5 est son modèle à objets. Au lieu de stocker les données dans une base de données relationnelle, ERP5 utilise la base de données à objets Zope (www.zope.org). Celle-ci qui soit dispose de son propre moteur de stockage soit peut utiliser un moteur Berkeley ou Oracle, constitue à ce jour le plus grand succès des bases de données à objets.Alors que la plupart des systèmes de gestion stockent leurs données dans des tables et représentent les données sous formes d'objets ce qui nécessite de la part du programmeur un effort constant de va-et-vient entre deux modèles qui ne sont pas toujours compatibles, les objets dans ERP5 sont tout simplement stockés comme des objets dans une base d'objets. Le temps de développement de nouvelles applications se trouve ainsi considérable- 28 L'Informatique Professionnelle · 206 · août-septembre 2002 · Jean-Paul Smets-Solanes & Thierry Brettnacher ETUDE DE CAS UN ERP EN TOUTE LIBERTE ÜFigure2·Modèled'unificationdesfluxinformationnels ERP5 a été conçu de façon à permettre une répartition des données sur plusieurs sites " " ment réduit. Pour autant,il est possible d'interroger la base d'objets d'ERP5 au moyen de requêtes SQL grâce à un procédé d'indexation innovant développé spécialement. ERP5 fonctionne de manière distribuée La troisième innovation est son fonctionnement distribué. ERP5 a été conçu de façon à permettre une répartition des données sur plusieurs sites. Chaque site synchronise alors ses données avec un autre de la même façon que l'on synchronise son agenda électronique avec l'annuaire de l'entreprise. Un tel modèle de synchronisation va plus loin que la gestion de données réparties. Il permet, par exemple, à deux entreprises partenaires de synchroniser les commandes qu'elles se passent l'une à l'autre, en ne prenant en compte dans le procédé de synchronisation qu'une partie des données. Ce procédé, équivalent à l'EDI en plus universel, permet à deux entreprises de mettre en commun la vision qu'elles ont de leur partenariat. La combinaison de ces trois innovations et le caractère libre d'ERP5 en font donc une plateforme générique pour s'adapter à la plupart des entreprises, de la production de biens matériels en lots à la production en flux continus. En outre, l'intégration au sein d'un même modèle du tangible et de l'intangible permet assez simplement de développer autour d'ERP5 de nouveaux modèles de gestion financière plus proches des contraintes industrielles. Le consortium ERP5 Pour qu'elle soit acceptée par le marché,le développement d'une solution d'ERP libre, telle que ERP5, ne doit pas dépendre exclusivement d'une seule entreprise.Aussi, Nexedi a-t-elle cherché à partager l'effort de développement et de promotion d'ERP5 avec d'autres entreprises. La société Mind Over Matter cherchait alors à développer pour son principal client une solution de CRM qui intègrerait à terme une dimension d'ERP. Cette société néerlandaise, membre de l'Alliance EuroLinux s'est donc associé à Nexedi pour prendre à sa charge une partie de l'effort de développement.Au même moment,une grande université au Brésil a souhaité également participer au développement afin de disposer d'une plateforme expérimentale d'évaluation de méthodes de gestion avancées. Ce qui n'était initialement qu'un simple effort de coordination est rapidement devenu un projet de consortium européen puis mondial. La principale mission du consortium ERP5 est de gérer le site portail ERP5 (www.erp5.org). Ce site offre une vision mise à jour en permanence de l'état de l'art en matière de méthodes de gestion, de technologies de l'information et de logiciels libres pour la gestion des entreprises.Ainsi, Le développement d'une solution d'ERP libre ne doit pas dépendre exclusivement d'une seule entreprise " " Jean-Paul Smets-Solanes & Thierry Brettnacher · L'Informatique Professionnelle · 206 · août-septembre 2002 29 ETUDE DE CAS UN ERP EN TOUTE LIBERTE Le portail ERP5 héberge le code et la documentation " " Plusieurs développeurs peuvent travailler simultanément sur le code source " " ÜRetourd'expérience:lesprincipauxoutilsutilisésparNexedi Nexedi effectue la plupart de ses développements au moyen du langage python.Ce langage, qui bénéficie d'une compatibilité forte avec les composants Java, permet d'effectuer des développements bien plus rapidement qu'avec des langages tels que Java ou C++ tout en forçant le programmeur à produire un code bien structuré et documenté. Les développements effectués en python couvrent à la fois les applications d'entreprises avec ERP5,les applications de travail collaboratif avec Zope et les applications client-serveur avec la bibliothèque graphique Qt. Toutes ces applications sont, bien entendu, multiplates-formes. Un même code python pourra tourner sur un système Linux,MacOS, Windows voire sur un PDA tel que le Sharp Zaurus ou Compaq iPaq. Tous les ordinateurs installés chez Nexedi sont fournis par Storever, la division hardware de Nexedi. Ils sont installés avec l'environnement KDE/KOffice et la distribution Debian GNU/Linux ou Mandrake qui servent à la fois à la bureautique et au développement. Le réseau de Nexedi est un réseau sans fil IEEE801.11b de PC portables et de clients légers pilotés par un micro-serveur de cinq cents grammes, grâce au logiciel libre linux-wlan-ng.L'infrastructure web de Nexedi est assurée par des serveurs en rack 1U hébergés chez Claranet sur une liaison à cent Mbps. La compatibilité avec les logiciels propriétaires de l'environnement Windows est assurée à travers Crossover, une version spécifique du logiciel WINE qui permet de faire tourner directement sous Linux des applications telles que Microsoft Office. Nexedi utilise Apache comme serveur web, Postfix, Courier et IMP pour le courrier électronique, MySQL pour le stockage de tables relationnelles, LEAF pour le routage, Shorewall pour son VPN, rsync pour le backup et l'achivage des données,TkVNC pour la prise de contrôle à distance de PC sur réseaux à bas débit. Les développements de Nexedi sont hébergés sur le site Savannah de la Free Software Foundation et utilisent une version libre du logiciel sourceforge pour la gestion de projet et le suivi des bogues. L'ensemble de ces solutions ne présente pas de difficulté technique d'intégration particulière, si ce n'est parfois le manque de temps des ingénieurs pour apprendre un grand nombre de technologies très différentes.En revanche,l'intégration de ces solutions avec certains logiciels propriétaires peut poser des problèmes lorsque les formats de données sont gardés secrets par l'éditeur. Ces problèmes d'intégration ne sont pas spécifiques au logiciel libre. On peut même affirmer que l'approche libre permet de réduire les problèmes techniques d'intégration dans la mesure où l'ensemble des informations pour la partie libre d'un système complexe est disponible. Inversement, d'un point de vue commercial, la facilité d'intégration d'un très grand nombre de composants oblige dans la relation entre société de service et client à freiner en permanence toute tendance chez l'un ou l'autre et qui aboutirait, compte tenu de la liberté offerte,à des dépassements de budgets et d'emploi du temps. l'ensemble des solutions libres ou propriétaires de gestion sous Linux est référencé à l'URL (http://www.erp5.org/linux.html). Le portail ERP5 héberge également le code et la documentation d'ERP5. Grâce à la technologie libre CVS (ConcurrentVersions System), plusieurs développeurs peuvent travailler simultanément sur le code source avec une traçabilité parfaite et un contrôle fort. La technologie CVS permet en outre de savoir d'où proviennent les contributions au code d'ERP5. Elle intègre un système de signature électronique et renforce ainsi la sécurité juridique du développement. Vers une offre commerciale étendue Déployer une solution ERP5 présente en termes de compétences les mêmes types de difficultés que pour déployer une solution d'ERP propriétaire. La capacité de réunir les compétences nécessaires reste évidemment l'une des conditions indispensables pour espérer un succès. Dans ce domaine, le caractère de logiciel libre d'ERP5 et 30 L'Informatique Professionnelle · 206 · août-septembre 2002 · Jean-Paul Smets-Solanes & Thierry Brettnacher ETUDE DE CAS UN ERP EN TOUTE LIBERTE la base de connaissances libres du portail ERP5 constituent une aide précieuse. À travers l'étude du code du logiciel et les nombreuses références indexées par le portail, un consultant ou un programmeur pourra rapidement se former. Le code d'ERP5 étant modifiable, le programmeur jouit d'une liberté absolue d'adaptation du logiciel et le consultant peut s'adapter aisément aux contraintes ou "anomalies" les plus extrêmes de certains clients. Bien évidemment, une telle liberté en l'absence de certification des consultants peut conduire à une offre de services très variable en termes de qualité. Le principal frein au développement d'ERP5 pourrait donc venir, à terme, de l'étroitesse d'une offre commerciale de qualité. Or, il est dans l'intérêt de tous qu'une offre commerciale de services, diverse et de qualité, se développe autour d'ERP5. C'est pourquoi le consortium ERP5 devra progressivement évoluer vers un rôle d'une part de certification et d'autre part de promotion. La certification des formations ou des offres de services autour d'ERP5 doit permettre à chaque consultant de valoriser ses compétences à leur juste niveau et à chaque société de service de pouvoir garantir une qualité des déploiements. La promotion doit tendre à faciliter l'apprentissage d'ERP5 à la fois en tant que logiciel et en tant que solution pour la gestion des entreprises. A terme, des sociétés telles que Nexedi ou Mind Over Matter deviendront de simples membres certifiés d'un consortium ERP5 contrôlé principalement par ses utilisateurs. Une telle perspective pourrait sembler relativement injuste pour les entreprises contributrices. Mais c'est à ce prix, et à ce prix seulement, que l'on peut espérer qu'ERP5 devienne un véritable standard libre du marché, c'est-à-dire un standard contrôlé par ses utilisateurs dans leur propre intérêt. Jean-Paul Smets-Solanes & Thierry Brettnacher jp@nexedi.com Revue d'auteurs, l'Informatique Professionnelle accueille des opinions qui n'engagent pas la rédaction. Le consortium ERP5 devra évoluer vers un rôle de certification et de promotion " " Bulletin d'abonnement OUI, je souscris un abonnement d'1 AN à L'Informatique Professionnelle au prix de : 410 HT (TVA 2,1 %) (France) 430 (étranger) Nom : Société : Adresse : Code postal : Tél.: Fax : Prénom : Fonction : Localité : email : Je joins mon règlement par chèque à l'ordre de Gartner France et je recevrai une facture justificative Je règlerai à réception de facture Bulletin à retourner ou à faxer à : Sylvie Garofalo · Gartner France Immeuble Défense Bergères · 345 avenue Georges Clemenceau · TSA 40002 · 92882 Nanterre cedex 09 · Tél : 01 41 35 15 18 · Fax : 01 41 35 15 10 Conformément à la législation en vigueur, vous disposez d'un droit d'accès et de rectification pour toute information vous concernant. Jean-Paul Smets-Solanes & Thierry Brettnacher · L'Informatique Professionnelle · 206 · août-septembre 2002 31 %PDF-1.4 %âãÏÓ 261 0 obj << /Linearized 1 /O 265 /H [ 1142 986 ] /L 1409480 /E 1216941 /N 7 /T 1404141 >> endobj xref 261 20 0000000016 00000 n 0000000751 00000 n 0000000935 00000 n 0000000991 00000 n 0000002128 00000 n 0000002337 00000 n 0000002420 00000 n 0000002509 00000 n 0000002632 00000 n 0000002731 00000 n 0000002786 00000 n 0000002888 00000 n 0000002943 00000 n 0000002997 00000 n 0000003053 00000 n 0000003171 00000 n 0000003192 00000 n 0000003218 00000 n 0000001142 00000 n 0000002106 00000 n trailer << /Size 281 /Info 259 0 R /Root 262 0 R /Prev 1404130 /ID[<5d149d2c1e56e797ac9e398cac3c1df2><8f3a6fe77df1d40313630b9297fedf2d>] >> startxref 0 %%EOF 262 0 obj << /Type /Catalog /Pages 258 0 R /Metadata 260 0 R /AcroForm 264 0 R /Outlines 266 0 R /PageMode /UseOutlines /PageLayout /SinglePage /OpenAction 263 0 R >> endobj 263 0 obj << /S /GoTo /D [ 265 0 R /Fit ] >> endobj 264 0 obj << /Fields [ ] /DR << /Font << /ZaDb 255 0 R /Helv 256 0 R >> /Encoding << /PDFDocEncoding 257 0 R >> >> /DA (/Helv 0 Tf 0 g ) >> endobj 279 0 obj << /S 485 /O 958 /V 974 /Filter /FlateDecode /Length 280 0 R >> stream H‰lS[PSW]÷rÀ(\H" ¶¤†gŸ¥µ-×–VPúÖZ5$l>zø½Z¡îPýÁÌ{ZZÛvŸüü³šc_¾~\–V#rdii)‹)¹)*‹âÍÄãè}ù¾Lçècñ¦˜ŠSvÊwSòƒ”"Çbr*•RRòÊâêJ,U"‹u‹+«ƒM1E‰F#ލ¬$åx2®Ä•D"ñ×­gë¦(wâ¦ÀeY^^®¥_ÔX¼6y+™|^£;´'ïQŸGÇOkíÕÑg>B¾„qd¹PI0‰\F0ÜmäØ ‰fô|crÌ+tA[ÆþMý3èOµ¬ç’ůsþ`lÙ5à endstream endobj 280 0 obj 863 endobj 265 0 obj << /Type /Page /Parent 258 0 R /MediaBox [ 0 0 595 842 ] /Resources << /XObject << /I1 278 0 R >> /ProcSet [ /PDF /ImageC ] >> /Contents 275 0 R /CropBox [ 0 0 595 842 ] /Rotate 0 >> endobj 266 0 obj << /Count 4 /Type /Outlines /First 267 0 R /Last 268 0 R >> endobj 267 0 obj << /Title (Couverture) /Parent 266 0 R /A 274 0 R /Next 271 0 R >> endobj 268 0 obj << /Title (André Bors€Open source et brevet du logiciel) /Prev 269 0 R /Parent 266 0 R /A 270 0 R >> endobj 269 0 obj << /Title (Edito) /Next 268 0 R /Prev 271 0 R /Parent 266 0 R /A 272 0 R >> endobj 270 0 obj << /S /GoTo /D [ 37 0 R /Fit ] >> endobj 271 0 obj << /Title (sommaire) /Next 269 0 R /Prev 267 0 R /Parent 266 0 R /A 273 0 R >> endobj 272 0 obj << /S /GoTo /D [ 24 0 R /Fit ] >> endobj 273 0 obj << /S /GoTo /D [ 1 0 R /Fit ] >> endobj 274 0 obj << /S /GoTo /D [ 265 0 R /Fit ] >> endobj 275 0 obj << /Filter /FlateDecode /Length 276 0 R >> stream H‰*ä-ä5µ4U0B #0œË«ïi¨à’Ï„yoà endstream endobj 276 0 obj 38 endobj 277 0 obj 1213296 endobj 278 0 obj << /Type /XObject /Subtype /Image /Name /I1 /Filter [ /ASCII85Decode /DCTDecode ] /Width 2479 /Height 3508 /BitsPerComponent 8 /ColorSpace /DeviceCMYK /Length 277 0 R >> stream s4IA>!"M;*Ddm8XA,lT0!!<2T!/(=Z#6tVB$PEdR&f)&h&Jc<%()@]*+r;%3(De8- $k*OQ$k*^V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OF$P!Xg'-AD8(a9Y(%Ls0e %LrsY'G1`^$k*OV&I]'V$k*OV$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQs1eUK #S"-IY64k[eE$75FbQ*W[Dg\Xok&B%QDV+1f&lZb7os>I LR4pJa4KMK3(R.bG_h`c\B*=dpaJ3p=_W/26")S&=!YGM;+VHLq"]5qA+pN%ILR4pJa4KMK3(R.bG_h`c\B*=dpc1oKBmGQ' WO^.(l1lei8m5tUMOLQVb1c.Ws4RG_"9AK(&H`UJ!!#4`Q=h'%hD:FS*Lddee=(UBnB#S&F'l,H:4#SSTfW2>e =(]7Nc&0+k.dYeffs+TL@]mt5].4T-2Ce(GX0T!3B#S&F'Y>js\!n+J2Ce'p,d Yu^Gc6aL7(k/@fJYsWe]X*LqC_^cI?2CdR";!ci8H!%,QYu^I)L@Xk8ZXU)\`@Y];Y0Dj+ c&0+a@]mnn?(2RPCfT/n=(]7&`b\K(c&0!"'m=>]N*Xh.p9,YA`Bh(^m:!so:ZXU'!`Eead\!m^Dc&0+k .dYfaXOn9@GcOuO.p9)&UR-kGRh^*_fY0Dj92Ce(G X0Z9fY0Dj92Ce(GX0St1ZXU)[_QDt>%HV&cB#Rus_QM%sQEt&'c&,]L JQg^`WLFWG?7PfY0+Va c%.LlMRtbrm+AAEYubPV0$T9c.i!5D$LHEGH*LF_`Eer?].Xj[2Ce(GX0Z9TNG&113=KAc;Y0Dj92CdQa.<]N-fs+Uj`EerJG#g*LCfT/n=(UBHB#S&@MRtbr hHhURCfT/nKqk-Q&8k:'m=Cn]\&q2YubPV?(2NeRhRfJMRtb\2k(P#.hut\.!BE, ]W>,d=K?_OTtK#X]\'91YubPV?(1o'Rf^2T'Xa3W?(2RE0*8aD.dYfgZXHpH@]mt0 ?'gG\2ALCO;V"kuene7NfVP\%X0Z9;B#S&F'lPT;D`0"eCb"f(X*LsOB#9;o@]ee3 %aB]5Rh]j".b7o/[@7nEk/CNI`EerJCG-EG?7PGcOuP=(UBnB#S&BMAsft ]/D/*X=EShX*Ls;ZXHo*Yu^Gc0VV%c&,]LMRtbMG&10[fW2=J =(]EWQ&8k:'m=Cnfm"7bYubPSY0+^hQ\lfQ'm=CChJ?$TXAupcCf8i#$J'#nfrudUYubPQY0Dj92CN`bA?(2RE2Ce(GX0Z9=k=KAc;XldT.Rh^*_KXgLB#S&F'm=CihJ?3FYubMrL;n%+ hJ?3FYbA_^X*Ls;ZXU&u@]ee3?'U;VRgL+W`EUT@>Kr&;2Ce(G's-&gZLB0AX:"=, e=(]=Pc&0+`'XaDE[@7lYa.dYef fm$N0fN$V/X0Z9;B#S&F'l,@0XuWafZLBB)<[hfB.dYfgZXU)\`EerI4#SSFRCfS-L;!ch7]\'9k@]mt,>0Vq1Q[r>b MRAe%?'U:Nc&/oqJR+`[G&113YtME4Y0Dj92?e8?RCfT/m X0Z8io4"ia_QDp/Y04cob/IYQMHu\dCGm[/fG3(aX0Z90Vr:2?^FW'mT0=(]E(c&*O.MRSk.[@7nS CfT/n=(UBnk/CVkKjC/_G#g*LCb"eQA?(2RPCfT/n=(]EWQ%`M5'lPu[m+AAF@]lSEf Y0Dj9.hoTR.dX6:fs+Uj^okq>]/D/*fW2>fY0Dj5Rh^*_ZKI^6aL7) c&0+k.dYfgZXU'!`EerJG#f?$?3PLg/$]N*Xh -*5b"ZXTtUnOp2tX_$LIA`Bh(`EUTE]/Bh9Cf&th.bN"')pNq>Rf^2P!aV8s]/Bh9 CfT/n=(]EWRh^*_L@VTNA`Bl;MRAoT?'gGVRh^*_$J'#n fs+TKYtJ6(.s\A"L27-=CfT/n=(W;GXLqQdYu\1".p7*sXOsS!YsYj,Y0Dj92AL-g .dYf]]\$6;=K?_P=(U;jZXT6+n11hQ.kCfS.#X0St1H*LF^ii^O`[@7602Ce(+ fY0Dj3Q[p_.fW//Z-)6q2>0Vr4RfZlb'l,]WenbY9 CfT/n=(]EWRh^*_c\:`Cf9WP("mi4=g;%?^okq>]/D'U2CdA(MAsfo%HbV=k/CVq'm=C#m+AAE nQ0>e!9)7m@H,!MRT&iG#f?$<[usB CfS&Xii].pfY0Dj9.i!5DfY0Dj9 2Ce(GX0Z9Kr&;2Ce'pb/IT0Kj2fZ*L2LfQ\lfQ'Y?7,G&10RRfZde=(]EWRh^*_.dYfgZXHpI`@W(2;V#Y^ene?fXA\E;X0Z9hH)[YubMp=(]ETc&0+k.dYfgZLM".`=C.H>Kr&;.hut\'K\3& hJ?3FYubPV/S;f$c&/ou'mKr&7RgL1*'m=C#m+AAF?qXXIX')YWZE[&* GcOuO/$i]OB#S&F!kU??ene@>YubPV?(2RPCfT/5X0T!3B#S&F'm=CAD`0*3fN#T: U"Q\Oo4"lIMRtbrm+AAF@]mnn>0=fiRh^*_0Vq*k.n*2`@fDd>0=f:bJ:5l`Eead]/D/*]N*Xh.p9,YB#S&F'm Cf9W$:tX$M\!;YOb/IYU'lPu[m+AAEYsWWXMRtbrhJ?3FYubPQX_$HmB#Rrs_QM.@ ].Xn7.i!56.dYfgZXU)7C>uD=`EUTE]/D'U2Ce(GX0Z59B#S&F'm=Cnfs+Uiii^O` >,G=(FY^4'B#S&F'm=Cnfs+Uj`EerJG&113YtK@EX0Z9CfT/n =(PjCjl3GfMRtbrm(=`b2CNOhMRT&h4#SSFCb"f(TtII,]\&pjXAupcfY0Dj92Ce(GX0Z94eC^Fl- 'l,]VG#g*DCf9WPX0V7_ZXU&u@92u/LM"M0)6fgfYuTJ^=(]=PbJ:5l`E[InX)d`3 B#Q?6(op.['m=C#m+>/$fG3(aX*Ls;L/oe\C1=<(fFZnU$$L+lenb][fW2>d=(]EW Rh^*_X*LqMZXHpI_QM.;?'U:NbJdZ0KjC/_CGl?>CfT/n=(UBo c!49%YubPV%HbO1c&0!"'m=CihJ=\.fW2>fQEst#B#RruJR+`[G$ZZbXB!rY93JJL H*LF_`EerI4#SSTfVP@4!kU*#CG-E<0,87\.dYeffs+Uj`EerI2k(P*Cb":XCf9WPX0Z9Kr&;2Ce(GX0Z9q(H*LE@nO%S(X0Z9Kr&; 2Ce(G("oinB#Rrs`EerJG$Yo,CfT/nfY0+^h9\<@VB#S%LfV,t1 X0Z9d=&V",l=S"@9\?CK Yu^I*Y0+^9b/IYU$Fc:X]/D/*fW2=J6aL7)c&0+k.dYfgZXU)^MRtbrm(??OYubPV ?(225.g!=@.bN"')p6%#c&0!"'m=Cnfs+Uj`EerJD`0*3fW//"TtJ$@]mt5?'U;Z2CdR"fY0DN'Rh^*_$LHCXenb][fW2>f Y0Dj92Ce(GX0Z59B#S&F$G/2GeneJ@c&0+`'Y>k1CGmVbCfT/5U"Q\Oo!#0?YsYj, XldKUB#Rh``Eegf[@7nSCfR7"'l,H:[@7nS?7ONBXk,H7D`.c72?e8?Kqk-RgL1*,d$4GY0DYP *8%;pYtJ6)=(]EWRhRqB.dXfJfiY;]@]mnn>Kr$GRgQbc.c+uAfiY;#GbNfq=(]E' B#S&F!k"L3]/D.iCfT.jX0Z9.c&/ooJLtHmX_,A8B#S&F 'l,]2G&11/c&/ou'lPu[ene@>YubMrY0Dj92CdQa.b8E9]\'9k@7,=F=(]=Ok/@hT MRtbrm+AAF@]mt5]/D/*]N*Xi=(]EWRh^*I.dYfgZLM"-?qXY-93JJL=g03RfVP@4 !k"L3]/D.iC^G9$A?(2RE2Ce(GX0Z9;jl3GfMB/0$G&113YubLF c&0+k.dYfgZXHpI`EerJG$Y>qCfRRh X0Z9;j^PC;MHu\c4#SSTfW2>fY0Di-c&0+`'lPT;G&1(CXB!rYKXogb/0J9 @]mt5*LDYmRh]]s.dXfEhGu,m]I7r(.dXfJ]W>,GfV.!&X*IgJ@k/6Gc&0!"$G.f' G&113YubPV?'g+JRf^2P!a*Ldde?7OfJ]/D/*fG3)E =(]EWRgQbc.dYef]\$'IfN$V/X0Z5-=]eSQCfT/n='%:0lK.$.c&0+k.dXfEm&X4? GbMe&X0Z59B#S!!MRtARD`0*3]N)&cX0Z27ZXU)^MHu\dCF^-CC^TO]X0V7sB#S!! MRtbrm+<&SfW//[9="(gZLL:bGcS/[Y0Dj92Ce(GX0Z59B#P5A`EY3-0Vq1Rh]]s"a+jje=(]EWRh]j".c+tiG&113YcE&S6aL7)c&0+k.dYfgZX?jH`EerI].XnBCf'KN V:EhJ]"(qD=g;#6?qXY-93JJFfrusSEj89D@[C]BX_,OUc%0/i'm=Ckm+A@AYubMr LM"M2Rh^*_d =(]ETc&0+k.dXfJfiSgBCfT/5TtK$YH!%,R@YXJ`Y-)S@e]iXsB#(RoJR+`hQEt&' c%0/i'XaS5f9GGKXgbj^P@R@92u/LM"M0b/IYU'm=Cn fjbb??7P,dYcG*>Y0Dj9 2Ce(GX0Z9fY0DN'Rh^*_fY0Dj9.i!5DYubLF,0VUMAR_!<`Eead>0Vr:2ALCDJI]lB>Kqj2j^PC;MRT&h 4#J^mH$HBr@]mnn>0Vr7k/CNKMH\8^[?lc_2Ce(G&FA&MZXU)\`EUTE\7K-(o3bX3 `Eer7]/Bh9CfT/n=(]7Mk/CVq'm=Cnfs+Uj`EerJG&/YpfN$V/X/h]s].44lc&,]L MRtb]G&113GbNfq=(]EUbJat6`Eegf\!n'n2Ce(GX*LqMZXU)^MRtbMG&10[fW2>f QXsQ*ZXU)^MRtbrm+AAF@]mt5].XnBC^TO]X''\JZXT6+nQ)u*Y04cnB#S!!MRAog G&10k]N*We:u6"gfs%N&YsWfA9=&*1c&/oqJQg43QEp$]ZX?G4@]a7XX]I"fG$ZZb fW2>fY0Dj92CWfc]/D/*fW2>fX_,OXRh^*_Kqk+b/FhP`Eead]/CCICfS-QMRo4[+fr=Vfs+UiiiQh0Y0Dj92Ce(GX0Z9r2Ce!(`ET3UKr&; 2Ce(+WH*F?U@Y\R7>Kr&7Q&6TKKj2fZ]/D'\?7P>XldS4c&0+k.c+J[G&113YsWf@ X0Z9;k/CVq'm=Cnfs!!5@]a7XQY+3?c&0+k.dYfgZXU)^JR+`[G&113YubPV?(2RE 0,8YH1!bJc*YMB/0#]/D.i<\!IgX0Z28A`6^&`EeqBX0YkBD`)N9 B#S&F'K;;7\7WU[k,p3#fV,t1X0Z9CfT!-`Ec0M-uPGt X/VQi[7n55Wb04U9Y=BYYuaj^.b-=aY0Dj92Ce(GtinOWKi@PRB]DaQ&<13.c+2Um+A/IXAu@SX0Z;.hJ?3Ac&0*#=B2qE Xt&^KXt&^Jf)i?RfV-g<`Ec0i_TRB)4VRB)4VRB)4V RB)4VRB)4W2/u\r0,8Ub`[^7c`=5`dMRtbrenb][]N)&cX0Z9Gc45l=R1Kl=R1;6`HE3/#euId^Mp#`EK-T@^">Un8[fL@\lWc%0/i'mtinOZXU%K `Eega0$;.:c%R`]_QM&#/S;t+c%TGiMRAof2k(P*Caa3[-uV!nm+A#E]N)Vp`EeqB X0T!2o2cVf2/u9gR^fD$X,=FL`@YZZ=(]EWRh^*_;!c`O>th9XY,5snY,5snQY*BK FYd)5\s]UV[7n0kY,6#5d2?F/C70=?eBNl^RB]elRh^'$nQ/XHEE;=m\>uToKaiU& 'm2`-lRhW5!?3I[*!k"L!>0Vr4RfZd:`EerJCGm[/fW2>f Y0Dj9.hut\.dYfgZXU&c._&L.c!4*$1KPJr;`/QkDOIb2;`/P^WLC>tFNo]N9\?DO nQ0>tief>tief>tinO WLFWF1LdMaCfS&X@]lSCii].niE&r.'m2Y1VJK8^c&,]%CfT!0MRo4\ =&V!\FYdK^B#S&F'lPu6G&113YubPQY0Dj92FUfoJM,3)]/Bh9CfT/m.p9,YBE-DE B,p<13L^b,<[usBuTt\C.sVth=rh(n;U/#ee=1p-;m>\RKa20#I:*7`&oeBM64?,ngB V.uE@^ojPLj%4!RFhp]8AQK5MRB);jgiHO8Gc3nXj\c0d^kjIN@T+q >\RC%R^geWR:+sLFY`9?)Q%9/Y,5so9'Tth)HQ*k\7o0EjjtDPEQYF@Y2bt\dbD:nf,@_1b6Jqd\E2<\6b)70)HNi(>RK":n0P)H `ELI#X_,OXQ\rC*'m=CCm&X4"X=Dj?7,aq"#$*R]JB_=UXmsY@1p-;jXr9[;k,pPC n]S'lY2bdPBjJb3\C.e*0"B=Ma#.g6[Dso0V5e.1"a)V/ZJ@H@92W]\C.sVX+HGh196Bb\E2\RB=C>bnq9\$qENb[RU;`4cdRh]j".dXfEm+AAF@YXJ` Y0DhCc%TGm'J@P2.dYef\n8)pl=R1;=&Utr=)lJiBj0Pc\C.sVFhk/WC>bq'RVHtZh2?e8?UnTH\RE>C?%qOB!*tnVH%W4 FY`9B/#euI.:#Wt`EFK>!a;I;lB#P5A _M7YkXc1n/h(l$g)l@B/uTt\>s_oXt&^Jf+iEal",R8q38JX'IsX1783_b/f+gp*Y:Nc%tI\&U.f 1p5l.Q8Gc)R^geXNb[LJ4-!Tc-*B8/MR?-j$Ipq?93HM?ZX?h?@]a7]?(2252/u[f X+ahQe\taiC>l"3195sYVJ>-_C72,[[7mUY92s*;"K`n+E%==fi(HQu.;LF8[?lGM Rh^*I'lKGE6XXN/'K8_9_b/f+WoH_/*4k+)4-!<\V0k,pP-EQqa&?,ngBV0RCfT/n=(PjDc&/uqKj,G" 6[;d6Z'CJ=i%h?fQ#IU@a\ioYb,uXMHuj>G95X1Ajc(e#B'#"([DOW,db@2G_8/c] EQbKl9&;RN_+O,UX,SX>j];m7Ydn#Cd^R7U/88D-/!`#onBG2pY2bt\.:'tD\C/!L ?#\6$a""UIgUQD-L60$-="H22iL?,iXmjTY)I%Cogp*\q9Y0/XgV71Eg>\Q+a)1fUsCNsFB"X_qRQWt5[EQqa&?,ngAd^R7H\7lD+at8@5^,\We V/M*'iMF!XAQKd;Ho#f_QJKG;/88tV1NLL$h8;0&Bl2W]ElOF$__7<4[atr%=OPs6 AV5sm75;U9V-6qO*#,GGj+5:JBc1C^XWoJ#>0F^9ZXHpH@]mt0>GbD?P*q_/88t98ET#n,2MK']&9En N*1P5V-7BR>SNI"1@'OWU:GE_8Qo1J\JeM)bH:uU9WV6qfW2<_96md0ZE&[`)+SNI"EpJjaBT1KWQDp=_X/VG: >0Fkpc&0+k.c+J[G#g*LCb")[_M6'1EE0edY"Fec/lcl=)[Vd71ol:TX,SWYSnd:Y D0gK.N@S>'bH;1F75F1\Q"`qB_+A=C3+Q$')0ce&R\RF$R^geXL2,a@mMWQF9(!RtJsE(@FhpXQ="G=*X%:D= "XRk#GS7CFi)[0nQEt!m=g;%>@]mt0?'gG\2CNK%'K\3$>V`TW\7J_K(BKe+Pp(*O e]*]\/lcl=XpLQ,BaomiRK"; UnB2Wo9a+$^FsRX+FsFN@TILC>l"uHd2Yc__lC2Zr8n7Be:%B#6cVHF&sSX>$!>e )G7lVi,BuV)0ls#7U?5"3O)4[YubPV?(2RHR93;<)-+RF>R"2K<3(W4(;i[J',k'a .c?^`YgOHsQ-0UgXqBgXN?[-Lo5_j:g[pMD=D;(**8Ibr]@4sbN@hQU09urFV)#r! Be:(CXpS1*EpJi[dPC->.nIjd79ZR)CGlkg._)O)7-'WEAQK5A""Li26Xb"n @ARn&DHP?!L0#p?/h*9U$;4VZl[k;,Y$H!ER"2K<5j)eY#oCTE(o&lUg&4&ElOC"1NLL$g>SCA"XTn2Fhp]% *7_ktf,W>\Q/$D\L6Z^_Y#oBIn]b;q[bhLr=OPs6B!*u!h[J;FV71Egb8OEkB'#"( ]7t3*dV[bqL2L,AgULkWN@*B0VV(Rh^*_$LFi#G&113YUd$Le b2ne_[GiF#Q8FM "NiVbVsQJKG.\7o6d2/q!P'.]@e6Lc*u /2XfJ6?@1b8@HGS>d:-6r=$DB.5nQNQcfO^_]E/9'U>LMq-^%'_`',\?,J1Y)FIpg \RD=@,<<;CV7"/RQ-0U\g[oQ-`g5BO1NLL#Y=.O7N@hZWEqs+=g=$YW%?[JhA#;4D 7"hWlNX$ap<7u9E(/"qVaJE;_YuajPiE!b6S1%\J1n9gSG[+rC0G/&NEMVZp(9"L% PZnSKY7Tf9`fY-73NJ,dg+_X?"YHf1dk80L9#@!=_+N4mY$Q8FM++Nif#QIcBuElOEs#W$M=95XMC\RS9MoJ:O-QJ1seElOF$k[rq9 /\BBQ%?2sOd*(O&O_[W.@BlZ:L)b/KN?q;oVDoQT,tXFE%RbuLZK&qj0Vr:2AL$:U2\O"!uap,Q$?PJ3?SmG/i:"-"=bm&(gA:ZC5WQ_.&<7#M+\oj/!CMl P7gr^8B"hbo/L.hQZ&bYLB7BOVu/4%b_YNE=;cf/^UHsk\&a'D=?8Yp8q4L=8&uJG !31,/^H?A/P=Hn:X$pf)(1Db)Z+= NII1[q,d+d!1L0japHd3rr<0$!&n<`W:+(*E7N^S$q=#@b!3M':WsFN!&`h4Qd%]< nZ+,(Pkc:(2jWp,kb6&m-iRo?PoVu>+Y]k+KtDK-r5\`aL%ANnDJ:j]I)Rjt5`TZs [<+.Hp)"m6`WjTM/MoIrZ8@gk*AP@jBe'PPf**I/)0N`\WKi$<3Nsg_=K@0W8IL'g PEM^p;2lqM!Yn]cQ6US:V#;/c&rT]m(TRT/j+X;lUi(\7SQRV-]5W9V:f%#D4Yi nHTH&F4&V.`1GE:5IVSmRZW-\,GKFLHB=_Y^Nd[g,@ch2g@%QE;8-Bg'U=XfDHRlM P=0HWJs*"Q9Q3!)'!SNEE\s&WB#rD$dk"m-WK+cLA`Bl8`Eegf*L2Mj1LX>(1uS^H #$+G+eSCCE&/_GnGg^VSWiHn:/2W8a&ERrM9"76XQ8H&=6T6Q1D/Z,7b696DQnlQi Bl-S<`rhGI.SUX4^uPbnO^)kHPupL;,*f&a798Qi?(221Q%`E[7-'H>$u%^U&A;-` :.POg=R1qo,tM$Mo@]Zid)p8[6ks@&ERrPQ+ogJ/88DRjmp5[d>'Dl'U=Xf 3&X6hU@D`Ea:OU`>%Q;18Q\GsiiQ--S2>r8AJ9f`HDPVWjM4*f`Jru6OK'MLb7,r[ %Tb2q>P)uW_b/r!?S#npoQ,&mQ*3P6/88DRB'#"([HM2m`g*_p2_8ZKk[rq9.pdsJ =OOh.bN4^6IYM`BBjKq7jc(csL0lJGXVc,"`g(7n0:"GsHTq8OL6Z_5/!`#poQ,&mP-i,nb9KS\d,Tah84o(99X&O_,tXFE%R?jbQQ.b0;^3q> Q)?8:>0Vr:.gd3t.%Dd>)+'50=Q12#dQEYX8.O#MPQ;P10Cgb6F&PZ1/O_D(\o0LWP^2H=Tj\7p?W8!V7,/[+f,DHP==hN>tjJs0tDH"!pTXXTPT,=u'?09urG \E9qNY2bME8s\'3b2nA?CP$,<_b4cu7lMtUMd>P:Y#s-,IYl=m)GRX'SD:BG[sC&^ Z)+pU3OrWlf;*Gtj%Ac2k2hRS]@&^MA&>\C9.uSf[b%d=(]7Nb/IYU'm=Cng&KTd k8N_o4.?t.CfS.#:u55&hJ=\.fW2>fY0Dj9.hut\'l7AT80N3pdW3.B;+:l?J8<5W g_S,8"4S7PajUdV\'$,u!*>*S([`0Si=6m)q7`sInh8cQiBXqc 7Jr)<%!Y+nX./D%Ij4j/*Y>dHhc>[2([`.0Kst[j]O/apE6!V`]-H0I7#XXS!S=!g %9V]ILn^sS974$,b;If+NT#Z,?IS;FFfY;8Br%e'-d?6M]7DI4L$AUfJO5Moi;c2Rc$j8!qD,E0,)ahO>7 )8F)#J,AR2)8G=HIkM;nj":4UDs$s%Dt*1erqcWpL2Zmk+3VR4Gg!h72tMJ#2u%Sm rr@Is_`.MFO6,?U]Ofu+S,'f"S,>?VrqcWpL2Zmk+3VR4HpZH:-N7r!?k%$FZa@,S @SSLO!T_<#,hYq/0oToQE1&"Uep/R'.6Dp37B;mBDbPge0(QqOp6B1lni]HZ1rIc% j?'2aLuU?UL)bVF0B?KMAkr\JZn?9t7Jr)<%!Y+nZ[H"1jBoE*i)Mt[X) 6JJQ1lHt)*rPJjG>BXqc7Jr)<%!Y+nZD=sfM>.m\lnL4&DU*SXptOqP7RlfR:D,=6 +(9nQ>>Y'e0EcAYF!FFC9liB>o`X:iIE"rEY8?a_gbWZ]*.(YJF d=3A=_[d#WF`Vt70B?KMA&9#;>i/S?q%rH9n:e>Q2q=Z%7Jhg%+`5cSok;+&Ic6=n >BP"8=terD\7"8'DU%j!^QF!(NsJs5(MfI[:M`^>"/j'c1ESeE..#4lU8r,Y#8QHG aDa/:+j3OsET#m`8s9[474SYgJLbc$'J:6OOpGBh%(s*MpOFq#EBSA)8j,mO%a/aF mf&`BrE_/i/S? q%rH9n:e>`qQsVN^Mq5H/\j4 i>tbdLa-[pM,bpaJBc@fNY(0jmZ^sn,CJuneY<%3qhA=l(ttR"X$urEpC):5gTu<3 +66e=A&9#;>i/S;q%rH9GXC/cS*JB#!$_BZ*Y>dFSDRA&q%rH9n:e>Nk5)GLaM2]7 KIsd52q=W$7Jhg%+`5ai^9%q:0AJ;@$Z;rgok8i;Ic6=n>BN\ZX$cfCpC(^e\u.L; UAdUYL--Vre]mc#^QF!(K7khf\\>0^nh8cQi\%^&c!!AXodt,ip dW-$1\t#t0r$0t"r"^8B&k'BB:oiLX1F*fY0Dj92Ce(G X0Jb"`teZ-f]''NgV5CEh!Q!-D\_%+'C99C_&5$B+V>IedJ)]a%erD0J;@O,SAg%V>L56F=di8iaP+p&lE&ehIVH5Wq 1mOkK^m:sh$607,jFXQ;'X[lP?*O#f0N^GZoM_#j!%$XmDNX$e#;_+.D7&nZi_]l2p Q\r2;JR+`Z4#Rgi@rXin16,'9MD9eF^gaJcAEQIiNGRY9TTZ]?)8!cd+rj`+dVG`A .hUfoI]XFW0AJ>>&B<5#S*JCN,5oCi#[;FHDlZ8'Mt[X)6JJM]I9I`R?asU_(>VoY lHoP2,5oD#&@Ukohc>[2([`.0Kst%DqQsVN^Mq$+(>W5m[>C-O"l*%L`5ED""%-=D >f:$blm&rS?Qim:YnRD4,dQ-8S"X?NX$\)VFEWkQ)?MienchgauLSu^gdjJ +]1]\@0bA$&hb"B]s;r9U&pi$mMW[r%OIq(^9&4B0AJ;@$Z<+c X$urEpC'/-D:LY\XUjtUgbIaqDQ1nRBRc.niK"7KF\ZkU6i;l:%!Y+nWcNSl0B?KM @,VK2Y&C@0r/::XGXC/j46F_/5oba^l8BN`e]3ej`)2tKWF:q9F'(ekM.)D^!m+#g 4!KrF0*51EfVPV1`Eead].XN'2CNK%.c+2t%?.'80j_BTmsak5)GlaM2]7KIsd5 2q=Z%7Jhfr(>VoYlHt)*rPKN]DQ1nRBYT[YiK"7KF\ZkU7Jr)<%!Y+nWcNSl0B?KM @,VK2Y%)5R'I^Tj%!Y+nX,n:a%CO*lIq=XS1.R#HPnRlm-e4&\`*skN1sKe^1KO`1 >]P\TL0[O+_:fFe7Rl>&]3POmZcRF1OS]4lHt)*rPLBM6OQc9ok;+&Ic6=n >BP"8=s)g4\7+>(DQ1nRBRc.niK"7KF\ZkU6i;l:%!Y+nWcNSl+66e=A&9#;;k*(" Ij4j/*Y>dFSDRA*q%rH9n:e>Nk5)GlaM2]7KIsd52q=Z%7Jhg%+`5ai^9&4B0AJ;@ $Z;rgok;+&Ic6=n>BN\ZX$urEpC(^e\u.L;UAdUYL,9\%;k*("Ij4j/)@LG^c1Pbb Oac8M#[;FHDlZ>)Mt[X)6JJQ1lHt)*rPKZf[d)ma[u5ld$deSa$pr^"h`9bQj$,>g EZCBD'Rp,Y%%$d%(uE=L:erG'1Lkr]>%VtM20$XoO(!e#EZc,tS@3YIeS,R-G.HsD">D>O^>+.Y'N[Mbe_H0fqMF\)Yl42Ku.+^B(;*4r@ 8jONOK4SRK;IlXe*.\DpA]k<&Pqk)EaK!s+Xsn+R7-&q9!KAHR&?)?M*a+IDfTo?0 ,Lg>g8-]N\PjX4;qgV'TI9nSf?as]d#\paUhc>[2([`.0Kst[jZsUnhE6!V`]/S97 r^H^=4<\Rp^9&4B0AJ;@$Z=5^BYT[YiK"7KG&OG#r/::XGXC/kT?6f]k&[&Sh:RC+ )eKsZAu*BXqc`VbYg%!Y+nYTC%PCM,('T^hLh:2#Y#c3JL]D^,,M$XD*.R%!N\ \j[P.+Eng2lm(!s:Qh!cdO$t7qRg1V^MqH\#]T/^c1PbbOac8M#[;IjX$urEpC):5 gTu<30B?KMA&9#;S*JCN,5oD#&@UldqQsVN^Mq5H/\BXqc7Jr)<%!Y+nZ[H"1jBoE,_A:sslHt)*rPKZf[d;mPMtn1W )"<6gB)8lAaM2]7KIsepeY<%3qh@3VD:uY,(\0671#WLXa?HFh\s*YZ1S"/YlBh16 pi8kIp]ntR)2qc8Yf@0RV+B_/;RGQD93JJLZX?jH`Ec`M$LHEGZX?jH`EerJG(9PC PNNeM?9ObmG&/RF2Ce'p.c+tkm+A@aYubPV?'U;Z.gd($UQYsi\AOU8.\OU=62ppZ Mu@J8_=\#3nm+$Ml+U:`c0L+Lk/CVq'm=Cnfs+Uj`EerJG!l3%42`<#Bj0V>`[/lk OUk"\S+>F,Y?bF(WC?*REN)gWQ@tn*V;oY1S]m6[*7Rn@oAY]tL=f%[ao;>r]U,F- RX/4Qn9RtM!%48Eht,Pn11B8[pn_>*EROMbNuumcNt[\8fJF^,@]mt5]/D/*fW2>f Y/28?gj0`!.omNo89'Mu'24ndqobbYHEu1k4WmVVQQBLHr16dH&MK'H?9N`.&mB#d D5/Dj,?Xl?9eORmhlW7;Pd_`,Q2^hqlX]n8TC3m!,F<-DQ5M]qHWCij59Yf-P1G60 MRtbrm+AAF@]mt5],<6Bh]n#h77\<8t.W(>14@d\?ES9,C"=&k>/JM0Q&,'-dc%A@tc&0+k .dYfgZXU)^MRtbrm+AAF@]mitU5'J,F+%LX2!mT&F8N7X]662iQVK&LWO=T@ot;lu qHoW&VJl,%\EYaT840^!.JCMudQD7/Vth2&3N++DH,Ha=5]X0P7#\bceks;dJW)TC `DK)CH"[*C+6oBAdeum#3A%lc])"liF)9k_q6="5`EerJG&113YubPV?(@5SmSRsH %Jt"pGi]/5:I]_CoWF8NDrp6M@$XGh]>TAp;GO$;`bZ:rQU&gFk-lUN<#g^`%k$s\ Rg,FagtLJc#\/01e=$p@T9JG*dD+Nd^X^T+0;LSUk/$K)-?#Icb?1`U`EerJG&113 YubPV?(2RPCfT/n=(]EWRh^*_%*@XVC',_)"9(g9I:2.kX+RZ,W+OTEUUYjmc7l-O.Uc./AZn:iqO X&@F]rb4AV/i+N:6:P7"-)tMiKaWFNPEQ"TeT$;K?m/M_\@&/tf<=GU[IHD8qUosF R;u\H9B:3(?;>r:^.Pci0#;6lQhQYfSqHuAc'CHn/J=VNf,*m6bOD]c_edG16Y58[ c&0+k.dYfgZXU)^MRtbrm+AAF@]mt5]/D/*fW26k;:2N7`E7,DZOXb:^RH[D+Z;Yd YA\V2\bJm#_">^.Tr(V`]d4Cld>()XgmF$?Ls"1;-][D<4#_+t-om;T2`u3&=!C!X (0oN,Xeoo7f[Guh?DA4A5JN9X@J]QmI)?7?aM5<)Q?5gV\7m:+_-r)P`K"nMJDh@SoZUWG_g.*o/eFX5KX_ rZZuN=R2PP:Pm%ETrcnIZXU)^MRtbrm+AAF@]mt5]/flkS/U@oA[?O;e A8Hue6p6V%Mp&[bR'asNqVTeo)(8_=FfMphT=]tOrl,"k:Jh4=k*IVY8Ie]oL)&if /+cl;4dZoq\HCsj33^VIbpHkZ)$I$$GcOtL6FJY+ab2`7H=2ZZ4EpfW2>fY0Dj92Ce(GX0Z9Kr&8B#9;B;8NmSAK7(HWjood^r39C[DOXM>C-%$a.draRAZ%dV]j`q62`cWh6tG> D4G.32Ce(GX0Z9R)mGNIt<-*/`meRjdI5,=`?+7X5j5:EdR4\=t]Yi?E5:B:!o[!'$n n3T+/2&(2+rr?VcH#"+L2Ce(GX0Z9,Q9K-Zj^(<4\3gM5t$J\-H![- ]6N_HVhQA6&k5kABEA,5.i$30V8kIsXeo,5/d!"e&.lNV)GWs/.Oo#I%$qGKL_aLQ A[-eJ"shX!(,b18K-^;+Q6V-I>uBMTIq4&RH*bPg"*llSaaB1+l3uPYIgYuF_rX^h MC8^ja2]N*Xi=(]EWRh^*_1kDW3++Y$HGGD+KU4hG5p<7*&AcS=t/r56#?q5V\i_tpN(B5*kPBlid9L&=0t S1b>=6oM2iVE>iL#uP9S"-?-C)0i!ZBu1G6(t*HOKiK!@nuqr5hs6ffkrtFM0/O^5 rTDR`R@;QZc&0+k.dYfgZXU)^MRtbrm,W4obTpp^F4b(Zdm3R*!-HoR(XglAQ/5]1 hD]dRZQbQ\=aH51!#b:KfuqC:h+5d3BSa`[kP-8[63*BZXU)^MRtbrm+AAC\'-C%:RRQJ?fQ`)`>!qr\!:eS][a-$k8^7[cO rG:*E*h_CS:B\C(6N7&Kh`:sZS4&Q!.dYfgZXU)^MRtbrm+AAF@]mt5]/D/*fW2>f Y0Dj92Ce(GX0Z9fQ. `@F%.OdJSJMRGShQ%q7$>F0nHRf^2[.dYfgZEPjc@]mt,?'gG\5QB?"B,L#B4dCmD c&0+k'm=Cn]WbfY0Dj92Ce(GX0Z9F(2;s MRtbrm+AAF@]me]T3@PCNu.d4X3s3W+>9n1]oj02!/AQP\?(V[b-LslP^0s3cO[o] ](_5WNc]b#J%U9tN^F'"b'`)#CI4@8j=p$X)UKA,=(]EWRh^*_UH-DtT1W`F!!:+7BZRr*iIsMWCPT5OVd*WcJ@d>B/a"e+3Q;mcaZN`Q.Z4 mk^D7fY0Dj92Ce(GX0Z9fupPLWsF(:9q%Qq;7me?VQq;CVEMN2LQfs+Uj`EerJG&113 YubPV?(2RPCfT/n=(]EWRh^*_Ccje?V7n^lhU:muN\.U:]IX:B #]3orTKS<-)0(ofY0Dj92Ce(GX0Z9oR(>0FkpauHG3)KJ-$U>l_W+^Q=MC!le/;5]<\aM]Wa\LZGi80*IoSJ*r" .icfk]/D/*fW2>fY0Dj92Ce(GX0Z9_L84+>W9i,`(+hItph%T\iN Q\ntjE.g,(LF`^16&]<>L+'Qu-=0f_oPF]%Z5WZ`Z^[LJC+_?gkuOc23QUR!@ErDk T^uWqc&0+k.dYfgZXU)^MRtbrlmqZI5.7";pBsjj@]BA-OY<$pX3O)5` @Y\R4Y0Dj41LWX\.-,seou?A!ViQ'+3g$b#[:@H-]PK+!I+J1h^*QOJ'!q .j..T,:#::e:>f$]/D/*fW2>fY0Dj92Ce(GX0Z9<_Cmk$I;;Vj"6,C$+7Zchb^V,8 YL+D!J@VIs<[Of=pqFp^%`1qtI6"L]8#pegoH2@A-]HDe.R)K>Z1hV1rr)mr,\5'B$0&Q^1.#VrrA)@chc:@Q8)lpYubPV?(2RPCfT/n=(6@q h*:b6ojXu\rpbGI3;gO.^1S1/J#7_.OT,=#2#dQ3XrZ9s!-Z+.kHb%TcAs?s*b53M Nh+MoAUi,g0?[bEK!nY<]s2pZ/ZDVilY;f:N4c$[nagFjfDGQ@]mt5]/D/*fW2>f Y0Dj92Ce(GX0Z9gNqfDCpQPrMBL# q6Mr(o_%L-OU9m`0snXe5Bebea2\I:c"RXPmZbZkb/e+fbElH@[[BPB$J6383G:aZ %$p]frT.tjc>I`r98Sk$$W%P$kekWgC-uUP?(2RPCfT/n=(]EWRh^*dao;@RDtT1W `F!'<^[E^\l7_G?HVa'rj>3@VI<'Kjq*&H_kPTPm^ZH_9f7F39(=kCrm#"g`fW2<^ KjHL9P7/1)'5Y05.e/Ieq1&A%O5tA/Vtrc5PF;^=qo8HjQ=MkPB#S&F'm=Cnfs+Uj `Ee1hA,cOhD#XM#rr=$=47ZJNG:^Mh3e"a'WV2+n,;)OuWAU=BK&chaao;>QCm!q: rAH>%ZVcYG%TKu&@FUU)8cF/0Tko&MKZa(,gejks.LYUd%f=(]EWRh^*_$#;FKm+AAEYUb#! d$//[m2eEUMRT&iD`0*3fN$U,:u52,R!+^+03@t!?CtAUdhNRr;_p$20Qfc7mRh^*_fY0Dj9))OuA1i=eE#WSjZ -@:"RB[%P'ANo/6>imfr[[DI8YL:%1^LJuU0]EoHf$%`agcX("c@/fH?%>t##Oacu phgc=Ir"eG0HAQ..HCsniulH;N5lZP(rj`$'i`(8/H5^`U]",Zg2Esg-RQ%3\GAZg ZY8BqH*LF_`EerJG&113YubPV?(?B@rTKIDG5ZZdlcf\63S**XKg4QIK.[*']3gk= o)2#!O!fa/i.&;l^\GqK1S\WumhB-ok//:h)CfY0Dj93;rUKd3neXqXIY=RLf=;XhWm'J&GCs m#US$jdJ=3!)[e\an+]X)#jT,K(JssT@>PaA$]YjB!*tn$]Qa%!=Gcj_`\f*C\IEH g(8bl^WBa)_hX.koX.G9ZL6p\NX>F*iKG\M=O\N%.+eQi5Uj]FM(ECfj05Sj@]mt5 ]/D/*fW2>fY0Dj92Ce(GX0Z9E)Z+!>:f)eq9P]2=_ K-+b*oLJnbrHWQMCa?,2rQBSpULrW+A(e+gB#S&F'm=Cnfs+Uj`EerJG&113YubPV ?(2RPCfT/n=(]EWRh^*_<$7Q1G_^UG[YAEC2&3[,> "G2Sfr7a(HE>TKE1:Bo"A6'!(e)Gsf0`_jj4.Z9.l9JJt&0[%XZHC)hS81-38ioJWR9ko[-fT-XL:3111UcG\]B#S&F 'm=Cnfs+Uj`EerJG&112%p-.TG&kHLBh^d9Wb(;:9sgHdhXsSO;CSU7YK-YC$_4fQ N,nGOp<661DElZf`b<'_o2fY/G50;>q>Xq$UmFAu0:FtQlH;`5. WK!qq'Wa<>'%Ul!XOsS[ @YXJ_=(]='_]!P]"]98p/.;lk$t0:-%]:q8?r<#9"]%hU>&CdX[Z3!E(!YMY_CfY0Dj92Ce(GX0Z9?74Mq'!kT@k5mu9_EkoVnVBji6?r8Z> j3.H&mgO[jqX]&dkme-tV>"?R\'GJgp'Os-=(]EWRh^*_o+<6g@BUrSY3c!/r[_`*4Kj-i;X7qUqjeo`lgKT/#V@ r>nc+n!stJ%P&ODMRtbrm+AAF@]mt5]/D/*fW2>fY0Dj92Ce(GX0Z9fY0DN'Rh^*_e6\]DW]W<[usB.c+uVrmIGEo[0"N2%ZT=`-1AmKh$Q+&c_G4?HUD!-sXLAE,Rc3^]AOG&113 YubPV?(2RP6@U[.j+Vo<`EpU\!H*2>:YL]@n[:l&a6u3Na3XCaLGj/JUEEhVYBH$a U3TQ5j8T*iEP]b0c1@gCrq)iU7NQ//"MZiEm+AAF@]mt5]/D/*ADc4PaPs>*;=i't 5PL0:Z2JpJlhr(,iOAgeN(O$L&R:Oq6iH=HohJp_lYSbV48rZ<]iRGgS+u(91Kp/0 CfT/n=(]EWRh^*_ETT/LABU2!V00_eY)?Z\MB(C)\<1lRC+ $IBX0ab2.@)L5uom2tV`cI7293B8sHrQ!>AAXc11.a?7PgC62pqFFgq9W:\]h+Q(ReDo$&M2W4?m.q=jIg r_a-Mpr\(_`TroXf\J9XjFC7QQ,20LRbE_UH:GNOba^Z&b?Ul=\XZkMIq\Hl3/T#9 "EB;KM?02c.E+msM]PU'3;b8WCfT/n=(]EWRh^*_:S11[C99+D;3RJSU!X'!:_J5rr@sdrOf`''[8*VR%.0a >Z/oHk`>[NqXWik@T=`s\UTaeNLP\8Nb679Rh^*_X)W*qH./%S%3=3Jl;.UD7lgiK`hb]V7 /mnVYF*9&IGE-ef""2"cm/I'9aOF)m:rC"]B+>SMA5/o3k*%]cG9rfqUW.$>+0tnH m'0u`(.h^=E6+kabK-_e7gc[ZV^*+E<5ph"(mJ8M&%nSNAs,O7Bq#P[h4l/5>CV2? ]k`edfJKE"YubPV?(2RPCfT/n=(]EWRh^*_+qakDTaT)SF:#P5p<$,r>EXF,F 8!E*fAe1qK9b6g9_st]8;Hjdr`sdQ!c<^X]Rh]]s.dYfgH*F!q7gMH?P]C2iWo@i8 d)8SUmd9%*HI,P>od1>H'b&(lkM&PPj2qM&pJ5fs+Uj`EerJG&113 YubPV?(2RPCfT/n=(a\f]pGF=-W.7&^IZ=MoD'E-XnIr:QRN'S`e1fn5N?!%M>=)1 UraYk:/jrB#Nd$`l'd;!VtM+Zjnh%/Q*O'7-XL$W!-hH,c,L9j`h,.LWW)t30D!(d ]n.%Y.dYfgZXU)^MRtbrm+AAF@]mt5]/D/*fW2>fY0Dj92Ce(GX0Z92ufoOoZGY"V. dkLZ<\+pR5j<*nu0H@p+jI(a;iiN6@Cm[P`%J!fd5PLGXf/^@hr@T]tBH9bChk4EG Ai1_f@]mt5]/D/*fW2>fY0Dj939:)>hDb;Op#<0Zo\]D/0D-.S@D/T59CgAP;>!N5 j5g$2c_'ab^Ae2#M*G;P)2ML!gLGt,.VCC9],G]U=0=7=JUpfp9sW]mU1;Ke=+GT_f>\V(hEXHLpfj]:\V:>os7STl4-Lu5%N1C!8_uc cb=K`gc2BR2Ce(GX0Z9fY0KhG J%bIR!6.M,GcU,U+b.WtVuHb@1k5$8';tj1E^$#?CHf&eiT0M^c*-q7/j;l,!"iHQ 1L=;<3ui4\Z;W,(,->ImX_,OVc&0+k"a4]^fs+Uj^okq>]0H>DP\1j#*^>pI\!n+U CfT/mTs9l?\!m`:2CNJo'lPu[m&ZAQ(t4WV=0;Is]6)o331X1!$FM_bKot%^[Wk4 =T8AHoO]_NP@Q\[:X.elj[]=N)+I/=(?9fb\Y`ipqL`=h4@`@+)fS:5tV)uX:CnQ4?=8,L2BrrfY/Du1+cL)G&R.oh8t;# buo'.9Z%lU$!U)5A:bVj_d=tp!550+;jk48WM_*kC*25Z,:6R#ERLB0X0Z9N]N+XeKDtoklYlR8TCEZ4QJ^N%b;FQoU?"h.`-h%R!$07t prWFiUM.F2'OU.f_]L#M/oN_arr@?ekC^([.N,KmB#S&F'm=Cnfs+Uj`EerJG&113 YubPV?(2RPCfT/n=(]EWS::A6k`bsgrHPC/bm45.f&-"O5N42J2M_$"o$&M2W4?m. q>UHd#Q@U/chPY4:rTK"ZX^#CbD%@7`(2B%BJRZKp0pXsdA_+o#bP[BBI+u04B/V7+fW2>fY0Dj92Ce(GX0Z9VX lq$tB@Hqjbiblddg$V(m>"!])OU%7j5V+*^o_/f ._&t`822TNM7-S)P\^FJISbr]%fZOQhlAY]@C)#W0%SmbWrE&IrHTR1`h^(%.dYfg ZXU)^MRtbrm+AAF@]mt5]/D/*K6d1:N3V/uN&[Gs`Eq$h#HRDgXYHmGOXelS56Ipg 'A:,Ka0sZreAm;=<"4R@q3.Y(Nn3An'M/Rm5lUg7"H:/KbX$ti"^+NoP6bKi(rn3: ;,FDf4J?W32k9lpi]`=Tl!q-2q$I@0QEILf$N9cFbiY_12Ce(GX0Z9fY0Dj92Ce(GX0OnO9/!AKqOi45*a_G)@]]%hG?R%F^DnMk:?WP9+3jMRjcFg* Wg3(uDQ5eQIPT/42`.^-p+,5H%'.@.q+L_f2W1[RD0bPE]Xe%2Vph,_+%qSWCi<5O !.#aML:ND^%@\)UCfT/n=(]EWRh^*_K7<%8Arp>/;U!**F2E[TeH&-s\/"cUZrrB5:-Rr_oJW2"g%$1`o7IG2/ TP7lX+&U)I?ZYQuQT#a9n-9SH[(>hgenP`$3aoa5[A!2$Y0Dj92Ce(GX0Z9fY0Dj92Ce(GX0@B(RT[82qSZnQ&W4I4s%.jQ;eDJ):,+ %s'J)$(DZQCfT/n=(]EWRh^*_D?rpdbS5HbfMLSk(O]Wlsb^T.h25It3`c?E.Y 8_E(aq4l9.n__(\!18U-?3hF)>?K?a`^)*bCfS@kE^:)")KNX3X!T+FE*uNtjQ"G` !:L>G:[?9n&#;0@k*Op(!.*Nb1<\QClrD'mqc@sAu?Hp*1:hpa/XX% npd9Zk]s[X=Pdjofs+Uj`EerJG&113YubPV?(2RPCfT/n=(]EWRh^*_aTa&;ibb!7/'!6`O8$(9os6FZe/G1* >3GkIJ!Nn%GiGN%YubPV?(2RPCfT/n=(]EWOO),]pJ97q]l3HDrTq2s!/sSN!#!AT L\IE1@d5s36^oq1h>[J8<.FG&@HNa.0-Y?*L10*iH"u5jn3MrFp[TN`a.pm.kp5#5YoI_O^jJQIAgX:7Ck=&+Jj:oi PJ9"?L3+LeJ%U9tN_]m*:Rf3Y^\=Q(!3.aA1)M,i@]mt5]/D/*fW2>fY/X37gO,#2 g@ZOMj7E9NGi.g/f8@;WdQcS-J,$sSnJ0/1P^hPsrr?$\'L&tSan*:0(]2a(rrcj.jR7AM6\H_hCjcB/CJ#[QK:%^ASjOU+)a3l_URl;?9c&0+k.dYfgZXU)^ MRtbrm,RitmmNf6\*M"??>)RncF3`QN%+c,&R68lrS%1U=dSD+7!UmbcMmn7gq3Rd N/.(=7F?VA.)4CXX,rr@kX(g?q>FMBBTkPC+' %Sm)rpog&<5N=3k6PUsu%$E$f,i2PMW"%g?F0bfGbuq=#A,[g6P3@GHDCU&LkW8Y4 9:=$RG&113YubPV?(2RPCfT/n=(]EWRh^*_,bN92i^]YUFKq4>fJke=8'rYtfgiq:M"kF@7FCqnh_rrCUlY:PGc(9U0q?fZ:( B&1F8q6="5`EerJG&113YubPV?%B=G>2Mt=--78aTV/G;Re_HV3ffZjCOIs&<^e!q E`A_3!1qE%:jhr6%Y@XY`.-$VX"&nq:X"t/Z9k/-+TDG0I\p:ok>#MSl7]\FrreP_& 2Ce(GX0Z9X!RoO>"Br.2LZCNjGf`Z8:pnnH/D-%sun<=&(S W7DJXQ\=^hIWSa1[?[8AV28pca5OkP29!X^_deEdZ;YSP$!EUG?'U;Z2ALCO-sSL) ,S7Y/V^r5`Z4'I5d);[:>b1(Z^K.[04\4X_SD@V7$sYf^.7NU;XN]M3$o,qm-t^G( Rh^*_=(]EWRh^*_J(K`//#GmaX`31@H?[r< opgCAn+/Q/VoQ_mV^/66rbk@f0A:?pP<@PYa^/d`fs+Uj`EerJG&113YubPV?(2RP CfT/n=(]EWRh^*_9PILCm$[If9G:E'B6d3;N`-UD?KX'^(pNZrfEOjbq1qo0.BSh E.fl1P5bM2J%Ud?\]qjTl#F"M9/TN6^4D'mR+-c5MRtbrm+AAF@]mt5]/D/*j-0KC Gi.g/f8@;[dsp4V^XQW@LA%7q0?@cfW;>WSB4I!dk)V]Ua+!pb@O1ns,\A3:@n^m[ +I+aP'l_0_O@&W[[TFB3AAjri$jn=DS9]V_iK*7%H+h&dLB`.SqlfHmkD!,d"YA<, ZXU)^MRtbrm+AACZcmphc(FrAj,0a`9)emOjd5mX:Y2,E51',dA]Z+g-F*R>gjd<] 5N48X/JJ*MMu@JAiqe:m/l.lm5PLaFoC&4\2\%&Oc&0+k.dYfgZXU)^MRtbrm+AAF @]mt5]/D/*fW2>fY0Dj92Ce(GX0\#UTC71-!:c2d?7PfXaC"M!C&\2)%3PL<"_llL O/G#*B@^@C+/RrRRqM_D>G%(.`)d-O^b+n!Na>.)%UK:GRh]]s"a4]^]\'9k@]mt, ?(2RPCfT0geuN(a0N'$.21pRaoal8^aiRl('"rrA'YJ+8b3]p!HGN;imB1BniR MoBQMPYOB%FDT_lXD9^Dm+AAF@]mt5]/D/*k.YkbHB\4UN)fL_jJ(,HC%!mNY7%E: ;j_lkNNc'*3+`'MXFK<9r,\NV;uPbV!+^,o*15'A`AOjnV#5rfk!K7UCfT/n=(]EW Rh^*_@+)fS:5tV)uX:CnQ4?=8,L2BrrfY0Dj9!:(C& :pbRje;B=[LY9XF?RtHJBH!BZKLbpJ*/F,/rp`/onoL=(1IfUkm)jBVWe^+'j#nH] q6QkeEj0?QS&IF=`-f*`c,U$@ReGp3(!7m0gLI31s;B60E2%/L\]lpZ&49P]Dt+%,rr=V`J&*+) ht!iGZ2XeT1&h6i5Q+R+rZK^?je>QG,Ds,4ueJN-IUE3.P!$1poZ:E>5nTA P5bO'\&aitR5GAhH-4:-p/BolnRh!0M6Z CHFPW&l64kamEn]XOi058J:eBKcffPBf(s@UD5u4R&ZG.O(!CCe\!Zhq;YQV!/[is =o"snZm(["?O-A@iLAm-!/AHp`j,>4jipUV(B4A9OhYc9l-oT54tC"9+d1(hc;s\X 7<1O?:;cl#s8TpXE;#^Ns0G/#GBB5YYR\lKsT\TH;^CV+6 KV&YP!6InbNVTM]h_d0M$)]$f@CjaMqH`HrEcm@tqEJTq=b"*srrB,b?5R`L9C>=< ?ilr[?Qba^EI+>AqNX)TM^"#kO&B0lZh%,Nt&HS6+WCfT/n=(]EWRh^*_ HsLj/KcBCHed'gdGGT\DDC&k1D*'m=Cnfs+Uj`EerJ G&113YubPV?(2RPCfT/n=(]EWSEJ0uIoX6=NfoE0:[MO6eas[=eu1HC!VGW5-3DT` r/NrN5O)WIgRn4Ra$ML?X#(aZ;;09D,9^E "9/@W2';X-PPtjM>?`ra!0ppQO834FrX&T)lDALi#,D1u/J]Dt+%,rr=V`J&*+)ht!iGZ2XeT1&h6i5Q+R+rZK^?je>QG,Ds,4 2VI+7c[;a5r)B<7G$j;>sMo!7aaC9heA4b%$E?:l$O" !!C"Fl!@3d!02+"!3C4BJ+&dso!b5#Fh=:=c5pPu=S?Q2fs+Uj`EerJG&112S]CJ# ri,iuWq_(V?^T,'0ACE5`F!!:TC4$inVocm.u(;,Jb%&,:1_Y1-d>t*?hYjfrr6j?0s:njj8g.d[7[TL:ZQ#E)8c8]d#E9(i2QP,^^0DAl0[>LPl/hYJga.esAgY35b=V'kh$ P-f@S%&=GY"CePeFCZ\"&4XSZUE,6"Rh^*_8q2&*Sri:Loq[]rhPEZ8fF[f%eU]0gCqWBd5?_tcabpq7n^A8$UAm8.@ 2Ce(GX0Z9="gb6&BYR$2*tJOIPBO"^M5 ]J9@LY;`sTOPsa4Qed.;h`N[;g=3HKe=+GT_f>\V(hEXHLpfj]:\V:Nos7STl4-e(5%E+B!8_uc cb=K`gc1762Ce(GX0Z9rr<1A=0R1-ZqpL*[Jp5h&cVj]4PsGSrr@L4r"6nR rY!UCjau+`6q@7W<:bN]j8JcQ!:WJnGPFg!rrA>m?hk9UrDUu6gQ2*hrrBkTrr<1A=+>n1:\eD+rrA/nrrCS3hd*bl!.I01&]J&T'%&r* K%Kui8,iQgo6kfBrV6Bmn4+4;pe+$T!1"""q%4_I;pG!iO8%]7!5TXThr-.#r`Cb% j@"Lj:D%1iCms^UP@\F1T]!],X%.k7>hT rr>,4ccJE2.t\%62mAHcn0Msg$J'#nfs!!5@]mt5]/D/*fW2>fY0DN%ci;O[B--F] 6(8QM.g!2L'mfc\72EAl!,'r/T+5Ps1OqSP*C I6jlfY0Dj92Ce(GX0Ik< G2FO%[_52W3;idVhDb;Op#<0YoT/a$hu5>Xr'bX%jU_*f5LhcJ&$<50I.-lbrq0Or !6/s;PK_9d@/7'/B#S&F'm=Cnfs+Uj`EerJG&113YubPV?(2RPCfT07]\d+5Dai(b JmJBVfm_L=ET.[oC$i[$Qc\Bn/mN[JjORE\L1M#OA\Zo4J`EerJ G&113YubPV?(?B@rTKIDG5ZZdlcf\63S**XKg4QIK5JB8?^>I_rC+eg-]*-+r]?Hr nWAB]T9#(JQT(DkrrB_Co>0*i'b&`qZXU)^MRtbrm+AAC^L$p?GUEFj :u\IXQ+u@]C]=APPP+)f!iD=l^9P86_[FW#O_W[+3i"*.I_qOr9W"Lh_r7=&qAS0Dpa^B\)I9>IVrN? ?O/7`!0u<@J%fcLi$A=&ZCKgIA+=KTqI'6^^S7>+48r<)\,Q32rr@S5rlT;2NK;&n &*]/<-2eSJK4"2][D2I\YP\Nqp/@IQCjmu2InY>P0BfTm*WH*i]3G:8I+nT#^e+P+ AN@Lpa5Z!3oZ-QdregJ:^\M0HhtuQfrW5mm.F%]I58O/]VE^T;oMOQOa6-d;J)*#t n.L6(:+V2G:ns]-GtWtHAd'n0;cB#b]TW85X!FghJq=cQjR[$a!/Y6Qau4BT\o-C4 rrC'lT;@>51upe4D.77"KRD';F$6?Mc&0+k.dYfgZXU)^MRtbrm%S3O]-*\[o/g23 Za=I82J+&^$ 6^o5<8bN)`2!M_\O4:q/.3me;]=7X!rrAKqkk).1c$ifJ/RS*R7R$R7lQ;\,;DClu "H>GIQfESg\0hR2r^u1e_@cZ0M98Sf?0q=g)Op=cbYoFLU;"d+^[j*-XC4?"pm`R+ 0(a)dn:#"qL,8i%PQ%j2rr@mGLrlPJm#j.!l;(G.)^3YE3;!Qu>NfRfH^1[Nrr="Y rr==M9BD.V=BJ\^)QDC0pAY,MgG7`P8Z9Xra.>-D,?S!tF>)FmepCF;:\e'-gjaM) nSDq=^.`Ru00d^=]/D/*fW2>fY0Dj92Ce(GX0@N-(4TK9fmrjm+c#u4MR,OiI9Z>^ R'#]J-EK\6KAuj2JQU%!9Z#:LX)&0k5;r.`:3a/\)b;qQc$m_2/f<8k]b18EX?U$$ _jb([XjI$arrB'?Uup4I@Tfs;B#S&F'm=Cnfs+Uj`EeTj5Q:_rd=8 >^sa8j,hG;mm^gP5*g0MoUjB,9a1Osj!&rb1o>$Ta`oh0.#`"E/=;p"DPJbALucL- _S]6\ZYih71h>rtOt6N)Il:*p)ma[!N.0.K:XPY*EoIkpaAHEXS6hc(NtYm8%!'?9 >hH*`@]mt5]/D/*fW2>fY/j],!rPm(Yo'Onrr=/e5?PRZ[fo!V7l86AL26I7O`E.Q ?_1;QQBtmk,l[k(nAo4C\M#(A]S`i63)I+p)_;Ctiu+Lc;H-F-""o,0^nWmmM4!uA 3^U"]'R&4iDBg(C`EerJG&113YubPV?(2RPCfT/n=(]EWRh^*_Xpj(\1'6(E%Y "s6(`^osI3!%,*.Wd/jB8kU!=UG`$?pnLjh!+UgOr6RBYbm$`.OrVQ4%k$rQSD&,` p5CHb]+:\1ED#=LaXlJ::.QO/28el2gN/eG4V1G;c>9kmhV)ua0!d2F=N>j89=&0U P\.m?Rh^*_@'P^ dUPKg):*+;P#K;2*iN=JYoV]3q8m4rd0/:bPt:oTAam,I/nk]^n0c88XKk`?]S]`0 ]F*5+RrW9sW-]U*CM#jZ@BYiMJaL:jgQ)FKs]XI"c13-Q(E! '3pmdai@$F@]mt5]/D/*fW2>fY0Dj92Ce(GX0Z9AA\Xe&oKOG\1%9d;rr=RY>5nSMgA_/g8cJd%3FAPVnSc;Uk@OT&a8*gGK4FMZ >5nSMgA_/g5Q-i.*Bl\$L\$].MYKJ7Il]H>ropij!.fXs.)q_j*R7>njo#m<@9l)W Fa!cbF^'@2^\sC-qoWo7o^u)Za#!6]LfnGRVj[@u=-m(>jh706]@*AR$i^2:c\GY= 'U(F)m+AAF@]mt5]/D/*7dp525LaW%MP;rbpT>V5aIfPH+)[tkI=Z>8df0.pcVYU!8g;;"Btc^_u=Adq8n+THm%&=Y5N;;o5"@+!@Ri1k5?)< Mgcc>:-Y88oN/m>rrA>?XoAC8D1CIhrrB?pUS^Q@hhUjGIVrN?7t_ZhcJ<16!4m#s i$A=&ZCGXXUE/+YaUM4aU5o^5-g*\!hsQt@p]pg!ZAbB#;0^_CNm-1EJCq<0MD$aV *S]H.8TQ!TV"f`d.WF],@$Tln?(2RPCfT/n=(]EWM;3T&rrD>VeV^Pcqo/Aij7b;?aiQSL[q2s]f/jDI3B.t5,jo&ZLpDSm(Ua718H f.OlI/1,$U\r<5F>XqiL-Q0:2P'ko_ZXU)^MRtbrm+AAF@]mt5]-:Qso.d\UQ(rg" p=Oi?q$[1..eO=pYKJfSLt4F`XdYm<`.-Ue5Aj9mG>I<"!-`q40CN;eP%o=&YBiT9 :oXLl-iiHddPd3W;,`R@`'ooABK]R'ZI,=(2tF%INp!DA!%'Q"E]WVnG/'.?d&<9)O^?'L)*5RS)u-D7GAoQ+o_P!7u9F$L[:0Zkj%9[ J]&581\6Z/JCB3"%Q>KjUoX!ua7=<1,er0rq,fB-4jlhRra$gfi(8g.5gMOK%+hu7;=pmqsUX)_N+##'E>rpi#E k;M%$V8gX%-e84s^\S-VAm8.<2Ce(GX0Z9edB,EUnM'kKiqlhg`jel2>n@_=WKj-Su"YpT=&)/A8/Y2Ce(GX0Z9PPk=@6dW4'7eLUNEACC,-V6%@H0eT)N;HLA*s^P30Tt8C@YeW,8Kj c[uC[?3frDDs$3CGX:GHo4Q9sn+H\\O_Ogq1hHVP0*Ct,r8c>c"fLs1bb+@srrA0Q rr=lerB`.>pYbu1f>.iEj_agWr`U-;748#\S+M)7#Of_)P>?cKrrA=pk"ked?hkD. ohR75HsR'Ha7GL%">kTe4Nma)/IVRY,*W#*k5?;2Jc"qcEbjTfO65o!J*!ARjALKX 4MT:jp`I6Uk@U=j.hCe:RD7jWJ)jRYohQV)2BN%qi;Drji'h)Pi:B22['0CbO8c-: Qss0aK(Kq9P9H@R/^]UbTZ)&UC?o*8C[:*n1XhNf(SKd&%"Aa816tLObJc*YJQgd=(]EWRh^*_fu0qpfcf!#`P3:GXl-K4`).Rh^*_t,E.DM;gdF!'LnQFJ9PM+t&[/fXUn rU(cm[Uj1PVQ',RC;]ulknuA'PsSQ;uRuN1>D]6q.?r\e6Ih#GaG!$!9:V6rr?C4<9_B6fu?nRh^*_KmWKN!^PAKe[Pes2`^C`A\F;9b!12Ce(GX0Z9< c&0+k.dW/ja&t<$rr?)UdReol`EE3@jWB\@^SuX!j_JXH6QZMrrRE"fDk-D6I2RWR /I^d>AJpJs2[B#F+U__.Ql^a8b>E[og5gR?iEjomp[#ZbU1(]S.LmpV1JoS=DHr8P i4=Za/_*okE,r%/(\B=n=7E$Qr aj,O;IQ.D/i@-33j6\C)5].P_&O'isbM@-u@P:ZXU)^MRtbrm+AAF@]mXe i=j)u*Vh-$WkFD6[()"OJ%FH?rWMf;9-%H1MfY0Dj92Ce'Mq>UHn k)91ZqQX,#r^21U>3#T9rr=$n=T8AI5$;^cpPO.$`aTcQ] fs+Uj`EerJG&113YubPV?(2RPCfT/n=(]EWOZu$4o='b@F[JOe331On,.2p$C9lJL Ghbed^;6#mrr@epV2Nk`ph$F*)O7iMcH1k(k*PaXnr8P%p0VPE7gXfQ!<2BM@'ZZXU)^MRtbrm+AAF @]mt5]/D/*fW2>fY/"5Z5/!3.pn>Z*5:p0SQE+d`ArO&Crr=jq3E@7&q;E^M$X0^#NmQi,=%NBCr.*^aKle7@_s*LCS%ba,UgCfT/n=(]EW Rh^*_fY0Dj92Ce(GX0=bc Ye.B-#3b>A.Z;_t#Lb=L]SMZs3k!%`A+=1^[g!/_D:YL)UG4V\\GlP/ZPfM6'D!Eq Fh]T,Ta7WV/>@m6$P2*&ONeqhhA%3S!L8nJPF"rYQE-C3+JH$l_D5Mm<>ucE=r="X I%,CkrS_+Oc.8NOEG*NBeMk!S2p@!^9\?DP@]mt5]/D/*fW27r^[j)rrA"]qT^Vr;G/jO RkC*JVh<)&!gq-bdh`Sq9NASpEO\X!#]#6jO_P_^6P[^ooT.T1\C42D)i*m>?.#[gdadI _p$8<6"\)ARh^*_%7gKR0`'#=X&N;usT-ib*\]t7%h*BTdd 2GoE9B,L.a5'-=T\!='YBdiSed77QNJ!p<:ihXJ:?s&1!)5>6;bh7%^)LV4]H%u'" \MmU<(Ltg@b)bV?5@JP.15fd:=a]"E[j`GfW2>fY0Dj92Ce(GX0Z9< c&0+n2QI)4n"ktb=#B_S,:N'h82U0mbHAQknuPINc).u.`;]hP'QO-QKUHdM2&4@N ;jd'b+u)/KHDr%c))CcDqoI[\SD%\+QQIS3McfuY!9b8JR;GJ7fW2>fY0Dj92Ce(G X0Z99mB"qqDq`fr;s`#:`uN1$X8W4J1fo3Z`/Y7QHqQG&113YubPV ?(2RPCfT-rr4r=4FFUUr!0(u"YQ"UJ5C\04rhNo(Cl6kpH1Y\aZfuAHc'l_c(op/YFFX%n0D1'3@/>LTq(#_M!5.dkao62u_e6:cAQ)cmGgFlN82=7Lj?8IIbT7q#g&cXCfT/n=(]EWRh^*e/P3M/ 8q5$&f8@;Jno_4Fd;7c)u[%SnMNd$.,)\0ljF*.;uPbV !+^.$#L_3fD_osohLkA9GF8nR%+qVe@]mt5]/D/*fW29@Is0]oMRL2gcT(k&!8][2 a7\GqYOmnML>Vtb-i?DR:ZW,]Ys6c!Kb(;mnpKp%L&UaMrrC&Wj-.^3C1-kB=(]EW Rh^*_fY0Dj92Ce(GX0[lEJ%ZJEY2?DtI'aeX[XJrr@;:k4fY0Dj92Ce&Hf>$/K^XP6CCZTL0lWX;g`ao$nb#bP;i&m5fY1.sX=b#HN I]PV0[V3a'6fm'UptOqN^uQpmAmDq*Uoc/6>SO;[c!1sLEQqa&?,n@`BaoWP3?X#h f,)nDqSgs(popo3@Z?Zd1_jmMdXdn$2U7$\2As&F)"q8cm+AAF@]mt5]/D/*fW2<7 !*&S-X+7@j3EEhl*CBHk:Y>u1r.Z]tO7MJWbFiO15tXcoM'P89rrb>(kUh_qj+Q Bd@03:VJ:_o-!D\ N)fNmjo*!E]X;Os\J#JX55tUm"mPEsBTMs^RanML CfT/n=(]EWRh^*_13?$X0Z9+sAeHX"<^JlSq!:nA->3JE[eIODj=C85dWb\).4 IV\36H_dM!HhpDF7s0=Vf*j0uRW9H(_]9@-?"4mWJWknqV7'eN(HmInUd5QH22lWR #&cc#:*F*7gt8n"CPlOf=g;%?`EerJG&113YubPV?(2RPCfT/n=(]EWNKH6#?P#[V g,VV23eL;"K&Jj1fmf9Cqi4-4_F*WNfY0Dj92Ce&_n,%r+e8NlpU,:d%XrmG[T<)ZIDPn4t JT(M8rrB&`_O1n 7T/1\;?aDo92LC;[?C+=dO:?d+8FIdQ5s2F+[Dgec?hHJ1N%;E61Zau4NDI()u2.i &)&j/m"djDCQ!b2`3W#AbGIbW\!Cc=C@54m@C9>Z(rIU+(TV$_AUq$8n[8bP0$U6H 8_BIROj(HOiKINcKj0f7TOmOM+%C>Q^2FuJO"V5kCfT/n=(]EWRh^*_qbmi248qXIY>H>i]((]''dYi="+V>1P_FWXl'XR'rt&"3@krr=):n+hd'p#(Cg Kscmp`sdSH1REt>NB&,8l\mi3@TAU)Cq)2JR.>7YrrDeJ5H"2:pBT+d*1Y@l5Milq %'oT7/D.#0@]mt5]/D/*fW26_b^]0-TD`-WMPknqrrA)@Qi(Jlf:964d.ua6aW^=( Z2X7JJ&W?ji[pl$O5'Le$Wlu0@ckj`37bZ/J+8nT VS`CT;,1'-SigsP)G6Dk]&9BdiL7:)g=!N>i2!_]*"E*,d$//em+t$nMRT&V)p6-* Rh]j".c+upRV:d 5L&5GO_2R#.@n+RT>q[pJ"qm'>EAQV5PU,oqa(+QR_6\jjMR2!^G$ts Y?]\c;t.oLPs=+ip.$nmI4\C[oDN1tkW^5GH'$U.c&0+k.dYfgZXU)^MRs`bpMKI\ X)$44o8h5rj+".[?7PgO!(d+iG]!H\it?j[=![cArr@BZrDT)&qV+dncQAN]mo@^3 B)XeQbf6LhRh^*_JJrC+eg-]33(r]?HrnWAB]SWAkHQT(C@rrB_CrjE<[(npP1Y0Dj92Ce(GX0Z9<_Yni[i1'[4MPe*g rrA(eYP`!.f:8[`N!3Qil6#IO^[[;ur`E_fi,:A2^[I@13"R ojlB,:-)%;'m=Cnfs+Uj`EerJG&112>NQm>W`Vn:1d#G8B,+3iPGS8Ef'P$uGdO-K !ji@*k:4GXfY/m6-rrCnh^Xk]N'mbr%2uIg$5N<:EaCU_4UG;E`9/q!=:ZeUYK&ch] :Y1>dbuHbW#;PJq3o`sk/CVq'm=Cnfs+Uj`EerJ G&113YubPV?(2RPCfT.V<)E5+?(@Zi[l.=98,TN(ni7#7'Td&$mXmRrT?<;f+LII4 )inSsa,g-N03[M$S@=>H$&sg#`CUOm`t+rDbbM'cO/E_@ 5P\T2\"6g2/(QR+IVNkLB&sr'D!/,3O`h9t4=AC>B$45dJ\%qbpmu`?b[T4e[Q%e1 VK2/PDJW=cUQPmf0rH?8W[Pg?/IY7a@gtQ.D?XZKrKK:A5=)Mj7o6\%7HA!E70dg>MuFM8 SkQcg[1KE_O:h-EYB0X+dFMYXUp5ROM!MtijWi2k?g?fD`Etgk`EerJG&113YubPV ?(2RP76LBWl /,jUTN9n=NF%H.fY\k.P/egPI0=)u7)6PRX!O:;\WLU%i_^OT_'c.L!ZnWu-Ebjd/ pP"'/2k"Z]`1Jlm;Z?UQ^1=XFF(2;sMRtbrm+AAF@]mXerrBQmrC6`fWZt7i#iiS/TAV#`=@SN/C,nUndI'lcK&VBZ-C.sDk __o$\PW2p,;;pr+l<42f-EYN)p?N]Sgk!ViUaC-_=07!-oO^F-l.*Q8ptGVd*4`o%0Bh 0.XDjVE1EPpb2HP/"SIM7?EcZ[D0qFDdA$#?V6@r DEn>)hu//d^Yq7-o)A^J^ZO=Ho!)ieP^r$t*ol\5rY2[N8 pLX@)Ke1!^qu6ZYg`Mc4rr@bSrrC7>rrBA1jP[a,B\^/eJ9@CuhTFa+MjGoE\]en[ RP9_Ugj''%Uk+m+AAF@]mt5]/D'\CfT/n =(]EWQ\rC>s3['D,4+/RQ&<13-uUUND`.c;2Ce(GTtIHVm+AAF@]mj5Wo8pt+GK-< [TX5BUVSuUqqDq`fp@?V%9)>iF8kdGb:!+uEDe@?X0Z9!:bn1i[^1A."Aperi++$I;PmGkE!h?pT!QY1OgC9An+aDc&0+k.dYfgZXU)^ MRtbrm+AAF@]mt5]/D/*fW2>fY0Dj9)X8>8[c!#_W$APbbOlf1VI)Fj m+60ErAGJO!fg1g\s:$J+8X"XQ\@kqo'BJ\XeeCBpUcJC*2n3rrB0RZGn;?fW2>f Y0Dj92Ce(GX0RNd@u@l9kXYQOpC('TIZf1/qliu12l*(g53uuhS'k*o+*KKDc06VH O1Q<3B(V;_8)9.TZ[,4@U[H-efLP)3N#0j[RUGSZIWU+XH:2B+-5"*Lg PG7guPM?Smdftbf::f=$07_/&Ai1l[YubPV?(2RPCfT/n=(]EWO`*EZ_U0PL[f6?. 'm`sB?&>1XP2p_>'4:H_#!eDn+F)fkPWeI2jB>d0E7C[s>CU(:d4Z4A4(a(Vc+1Vg jaBbkn#g33OO^.Ia6>Rfb*%?m]Eq\\n0P0gX0Ra8iJfi?L$O\6YVB0GM)JNSP]R-k #+$^c.m2:L\9L9aZ0N=(]EWRh^*__CNFA'#8W`GOkpM8.r0TD2cK3hBn?4A.R^ m+AAF@]mt5]/D/*fW2;*kPkPVRP4?[lG[))q$m?(*G^`2_u+NkBDpc21]8l`c0:jh !kK>3pp!%i)"Ppg3=cYmZ!2QhDOZ;/=hV+TF2k!9h(NK bF/.1E:-mU.nK=R8DSY"Zt&XD]Z=K2c&0+k.dYfgZXU)^MRtbrljnMd[ZEW=d1i*N 'r>X8C3OZ#_?kKm.%mQpk9HEo1UN.lM'qQ,?X2jH8RZBLUgO@_'h&91_te8h91gXO ':Q%6[fOUh*]fY0Dj92Ce(GX0Z9< c&0+k.dZ?THFZ`SJEEa\C/.Gt bZiA=BB];#G^uNSjM*&:Z=Dt]H:K7D\`,f3b0rjrCWKU2QmJhl&F:lqSQ&]:PUd#-hdP1`HjVl8>jMRAog G&113YubPV?(2RP"4_5ljeRt[g/Ce=.[^$Y<,EjX\%Y3s'T1H,[=1@89]bt9a!m"^ ?V&Bm>V7u5f%akqh7kl?jj`p9[4"Il+rD5:_8[BGBZl\_(ulWuA>XD:.p18a#ZP&' ZJ`Zq@EGF5J)1q9SDEGDQP+\obt%[)_gKRA6Y=;CRh^*_[Ip-i/i! YuF2^rq42/!#ZICN8sfY0Dj92Ce&gj85bS!*&s!jS?"*:WD[Brb7kk3B576Q6Vk6G&113YubPV?(2RPCfT+`k,J;" 2H/F^;=pAYPQ"cgXnS4LifI/.SBq'4dO4sW<6ep0^88`Z3;kgeqK&7X:PqTdJ=u_% c[*.PorFRDC:q]eqMG*Zn4:bYg;_e*Z7/^"2FT-;@]mj5fY0Dj9 +s30Y=J0R:Dtqp!HFMrUf;GS'g]%8g,$+^DJ1^d$fY0Dj92Ce(GX0[g^ rSrC/IpOW%%o*'(H"-dR;1DUd=oSJD^EK-8U[+9>SW5m"o08jsj1g$B!&5+8]Fqc2 >?K?aZ3aGiYtM@",S7Y/LF`j+Wa]h37=dkIPCG7c!5(&b5Hd#U5*4^`k(1)Bn\06Z QaNf)`EerJG&113YubPV?%nk[rrA'qrrD?a!$#!#nlPa5/AL4+I_=dAp4ps=/kHSQ 237K`j8LaSrrbLo4fq%Ot7^g Ta3!A;seZ+!%S;5eX%[Hd=sk.a[kOO93JJLZLM".`EerI4#SO2CfT/n=(]D]c&0+t s3d+o,jaATRf^2[-uUUND`0"^2CdQa.dYfgZXU)^MRt:q;L7e/G7,>3GkIJ!Nn%GiGN%YubPV?(2RPCfT/n=(]EWOO),]pJ97q]l3HD rTq2s!/sSN!#!AUTDds#R!Ps4[hgr,q9WiOa8Z,W8*[uW1K1o8?WdcOKb7O[ROco_EeSO.&9hYHapoD0k;u'Ys=GQg5 Qi=$trr<[H?gma.?2jmST??'^`'<Df`A3J^N;b;@[0QRm0)c)o-!e?0Y_Q2^hj9`1sjnc&Tp3O%!2/JI9d F`6aJJVSN6eq2/(]/D/*fW2>fY0Dj9))q;,ni3[ce9pkKci)mRXFFP+qYpOdrr@:\ rrD'lJ&GD6hGF4PHP??VQuMoV:FFI1Qs];VchqDS3BbU+V@B"0G&113YubPV?(2RP ,Bd3uG$To%8(!3p=[F_n,DD*Z\u@joNuVc(F>#5oFoA]Ql,?Z1I6$r3afM<8;)r"Z Vu@J8ii"ulX0Z9gn^^OB%Me4Vb//Go#kpt=jI"Efe3rrCu;*Nj)aR/+k/iujU6a(/1f Cf8i#!$M9RITEW/kF_Ur*UUS]P^=NLLBADcuZ7T&0tU`)u# 5Ko`RlED43bHFef5pOjp:$8r0NbIW(5U**7B-iPCE!K&+rG`"ueXjhrW6hF3) `%ZR8`sC]Va+ fV/)0ibt1Miic>ZO7Kio^3sU9rRJF<)'c52#jrZYLrrAoRMi46CV95t6pfHEZ?RTNJS>1dB(rMOGfY0Dj92Ce'OH1K^\U.bgEC*0>g H=,`>U2BS&/U!r[+8AWm+dQuM>f"o[HYn=FrrAN,IiFbn!85l$53qoliH(jZ2ZEbY ZAj3n;tT3I+]2Ym]>O:j]k`sPeY)ama":bSc&0+k.dYfgZXU)Q'42HgNmMliAj8a7 RTo!=9r6+7O7(th,)Mt-rB ]h?O5fqQU\rr@8*m5;Tj4nD[U)hR0[/UhosM!sa!#?`8orrB;g%N#W)QR"\uZ,7\e .@e$X[l,_g`gi,Wou8ml(mSVKaqc-j;jTm0P[$P,Vm^[t$ZU$$OUp,BS*3@q;hRl0 Q=ok1\aFE39a`adY0Dj92Ce(GX0Z9DhgB>JTLLR.+n1pM>Ao8Q%bc9h3Ze=_e^(CfT/n=(]EWRh^*_1uJ&1+8EpLXCiVmV\OW2DuJ,a!3/7a*l7OTb;me:bHR$Tb.@'= hf8Yr).3@gfXT.GfTimO"^@AQ6X\pn-4m2EP@_R^,!;7g?iAq*lS`X&hb/fiRL`9p qrel:R4W)WfW2>fY0Dj92Ce(GX0FaIm[sGVqQX&irr@;Y0q<]"[bilu^;&,]hFN.V )Lo\,-GE#FjDXTSbZmNc-J3l\r)[WD5qP6'Z`'/U"d%sun\rhZOJ >ZZcB-X_A<4?qf/rC$p31+p@+<11q7A(6t-``-(h1!@YD=E@]gS=#X\4( 2HUfs-7%8`@Sm_[a^:8N[dLj?r!%%\LXP2Dk(M7g,ZE^5+O&E$(2R"(YubPV?(2RP CfT/n=(GCYX'8-@KDto[q rrA!5J&GP:=ss4%(])ga`UsHc>b<_8?ee6PIIj/piP]6ZYubPV?(2RPCfT/n=(]EW Rh^*_G7dkiV+7UcKoOg!dR!cj)iK,UTN]SGM\ZdTj@]mt5].XnBCfT/n =(]EWRh^*_,dYubPV?(2RP;8lTFBupK2 >YVNNKkTsNO8ejlrjHCrqL_cC.pW)S]^PF5rbgLjM`*'OfW2>fY0Dj92Ce(GX0NW= Jc=p1EEB:A5_$J6TCIbfi`R&GrrB_.1CmLX[pnLC5<=;SP8F..+0,hNbsRfdZ>nC8 g1b1N%m?*$gmF5pba_jh!C<_fpmGKS5;@*SXTR<]7glB,,%M*VJ*3>a@UGk)nNVb6 q:Ts\LOp2sq-H,.qr66,"oeSf^2MCrpmcgq0'KKj)ufo'j/i7\^+Fim?iI+gr=pE4 IMi')?.!!^48r^e%Bc:b`!i.lg)nCE*H(;K>lrr?'iNgUuG aUMLeU5oR5+._-%rr@.FJ&&ht=2?`Q-p)#ugLCJ8L:N`7H?+0[C!s).AB2j-miVEO RnZ,qj(.;9lJLLt!tMX`XTt=1G&113YubPV?(2RP12lU8jDe5PW;5TuTDQY.!*K65 u-i0_piUsZ$:S'd)^YZ#`ps&_WH^TjE)`B24fW2>f Y0Dj92Ce&gi)V3H.XtJK^),`PYj=Zsc]W4Wa"fY/G5FQKf9;pK%K,W/X";>s@C4\-Wd9 _3BRIREot'R`AK6Bf7.0j1EO^r`D>P^JrrBi+SKfJ:KP&2/ Rh^*_/;XipAQq!r[- S\O3oGQ.X\5DF8s(]E?OrERXga>HV[c*\)VU&P,D_:`<45&=6PYubPV?(2RPCfT/n =(]EWRh^*_ChWfPd*16"\)ARh^*_+64NqMS74("9%/jrrA#$rrX.cQ;)0sk&YHn l#C@\.b)EbCcBPi+`h+qc&0+k.dYfgZXU)^MRt#2!14kb_u?Y6GcTNt!$DTEi9aO] %2]!-:\BM/atiU%'`S1)R=F".:&\(?XQoV.#L>E8=(]EWRh^*_".A9KWD6--gnl`jp=/XD,d+ji02\(onu; 0.%(dBpQ[k.+jRq/`8.M)VmABX5KX_lj=4GA$4US[u%7:KahY5?(2RPCfT/n=(]EW Oc:^Q]&hFj,B*98X3`uRUl0^MBicF)9^YLGJ(ai%K#p2+oDI7AZXU)^MRtbrm+AAC YKW=4!*I_4:>oqO@hhf;Ml;Uo?*h(fnIg@di84`[D)jaNej&:>AN=7/PYF=0o1%5$ U:nTl%j66)fkftoVZd>f!&Dp?o.r+1=S4c9YcCp3=(]EWRh^*_MK7j83oGX@A;nO \Ui`NNu;(mRENC2\W.D@$u*ff.Z,r=3G;l%UDPdT[ee8..Hh9eoO_\@gmVhg.c!=c !Bn`]4jD0+P@hd>Rh^*_fY0Dj92Ce(GX0Z9!M6,DFRJkS-^!H %K>2l)1YqY9+8Di9&-2)#[Y$1AYFrK6eke)9:L2`F!"Wrr@/UlAsJNY^M)n c>P'clm'XCVRuj%gjd=Frr@m6/i&%2Q8W%Q=d\.TfZ#gC0e1;%2I%)`7!UNX^\bl4 enj.+^6]?X1_ue`n'EcK10W&XYubPV?(2RPCfT/n=(6@qh*:b6ojXu\rpbGI3;gO. ^1S1/J#7_.OT,=#2#dQ3Y"nnV^UfQ@^s%12jOkp)IX_:sNhi<5^['!:A2UW^fW2>f Y0Dj92Ce(GX0Z9`l]3om3U#5r7tRmC1YkEu*u:b:SMlT^dN #^j7-CUl\8d`I8[SEY+4k-m>?Q'P#oQ]XnXQ[r>bJR+Op>KSp%]lB$t";OnSRk>*V +tSt(4T=bGr_WPr\'f:L/lXI&p=K7Mj,uONBgH@M?(2RPCfT/n=(]EWRh^*94S_dP -i2lr@]r9!N;imBKtlag:\^/W"h"@!Aj1^@S2n8mo/8dY,_u2$:38-;J%Ud?\c#YO 2q"4dh`0qOmmk_Yrr=gCdeqauZXU)^MRtbrm+AAF@]n!:5PL0:Z2JpJlod<+jbs(+ rE+&PrR1UuF1RF8?e0B[q$5.CI/a2,rV-6.8c%pIbX1%'RiF0i=ETL-Lh!H+q,eLBAn\"jcq&o><,mX\Ui)m+AAF@]mt5]/D/* /Fst]F(bLQ=8:dShibb7\Rkd@):S9A/Pi`;Go:WnI7^O?!5'*inV0j7Me%`6rr@CT rr?7\352'I99\KY9DaQ1cb=K`gc17>2Ce(GX0Z9]/D/*fW2>fY0Dj92Ce(GX0Z9< ci;LYB-cj#6^ng/2Ce(GTtII,]\&pjfW2>fY0Dj92Ce'p._&tm,S7Y/2Tl./[!3rh rr@CTrr?7Yn9mU&I$LjahKSd+rr=uq.RfgAG&113YubPV?(2RPCfT-sr4r=4FT"2" f)G^m5MjT0pr'r;/;n6"hL-8sX86&*F(Kil?h)3qr\BPbL8-TEb]lc#GSq3s-SCc< %T+'>\/]5)KG?m7Rq8:M7737L.fTL]J*`24FT2>6Mj'T8 WrE'KoF*e)QF%]L]o=4d:=qnm@P !#Uq!,.T&kL\o_rlC>bIf%bO7Gl5GY!.&O4j#?MMmUe;[CtPep@]mt5]/D/*fW20hG[O<"#NhE/:BRRY9i8eB9MFP#.ogo o57kam+AAF@]mt5]/D/*fW2>fY/lZkCqd$O>MgRVfEV/1QO6hQQN/9gCC22+sF`FV"5?rrCWdfjb^[ CfT/n=(]EWRh^*_f Y0Dj92Ce(GX0Z9\UHen]GI41R6T[j6)OUXq.:,?ODi'qr9nRr .olTLM\uF1B"=oo9?!A7)&6(0m#"hTi)Yk=.dY1_\788FX+i?h=;\(c-H@\H8hLO? q.*CBIV1Rk5*m%4d]H3oG/J^@JepAKA!#?]Td=aP6qp_8(&(d'-kftX/k:$?1EH2!YXP^'>^0JMG^2-g&YubPV ?(2RPCfT/n=(]EWRh^*_Pm;+4&9Whm,1 [rSP].bUn5I6X=_+"WV]2gB_=B1ch(JdEM3-Ro-_eti[m^t-iFqjUji=D cS,/X(,HQ1LK?A`ltOQE03i!uJVq*M'[u(7Y+nc.)3]kZ$mj"-1N7otG\9Cg_haCd `EerJG&113YubPV?(2RPF6t1>RdkmjG$J&8SnHIs5F8TCa5VdtOS^FgS,Oe+#8MJi CfT/n=(]EWRh^*_3Z^c;]c^(`=Oo=#hrr@Vh ?UOg&lUUjmD@hR!b!^pXoD\?AFKAL6Y&%+kYubPV?(2RP=%lWIbp0nTXUC3b]DcWc ?U`db05'>]Z643(Pr/"q]Zuq&^3%VW]/D/*fW2>fY0Dj92Ce&Bo/%MsSM9IIUZf[" (Zk>Lfm/1lB/EI