tomcat-docs-webapp-9.0.106-150200.86.1<>,Ph^@wp9|M'>1߯3WFH#4d`*>25Vƛ'O.+43CkM') Txklka|G8 hvD-g2u&e2.e#Ld5Rʇp7oQ14Jo 5G\;BOYgCHvy/bwz@[l@)W Zh,2aթ kl$}z?O }#~sLx7鴝B7 Abi>@?d ) V #=CJ D    4 58<@?@CC8 C\ D D@DDDf(Dg8Dp{9F\{:O{>֊F֒G֨H٘I܈XDYL\h]X^b'cdQeVfYl[upv`zTdhnCtomcat-docs-webapp9.0.106150200.86.1The "docs" web application for Apache TomcatThe documentation of web application for Apache Tomcat.h^@wh04-ch1bK SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Productivity/Networking/Web/Servershttps://tomcat.apache.orglinuxnoarchchown -R tomcat:tomcat /usr/share/tomcat/tomcat-webapps/docs/META-INF runuser -u tomcat -g tomcat -- xsltproc --output /usr/share/tomcat/tomcat-webapps/docs/META-INF/context.xml /etc/tomcat/allowLinking.xslt /usr/share/tomcat/tomcat-webapps/docs/META-INF/context.xml if [ ! -e /usr/share/tomcat/webapps/docs ]; then ln -sf /usr/share/tomcat/tomcat-webapps/docs /usr/share/tomcat/webapps/docs fi^H@A@l5"8K@lH L>i*  N \$G _1 |M}  q 7dI ^^!T 2+V-DmH R:'! f_U597N:XL%609),=SZ+a#.$P'Q+U5$+ +UZIIwPy48/m PR`YURdXLSXRs+:=\ }Zz^6()(+*8rp~1FW T \BO T r D P'6CQd4A큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤h^@jh^@Oh^@Oh^@Oh^@Ph^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@jh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Ph^@Ph^@Ph^@Oh^@Ph^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Ph^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@jh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Oh^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Ph^@Oh^@Oh^@Oh^@Oh^@Oh^@O1e704ac6cda680e391e3259efd86cfbff327edd8fe6afa4016cd235c15c3e5ef539ad0b2450e83e306f9e54b4a40c00aee470cbda377451026345655e1a1033e9924519365f9c67d23093d9cee08512117243abf6a0b92a8c77618ee20b57e16b0caa32b6d48234ee7c22dc0ca7bd74b60efbbe03f34ee4a0fda8e56b78cdb2918ae0f6852f87a9f6a9720b19ed633a67d38caf7dfaea2fcd0ff2f1c7efc75763fdc9027fcf3d363d3e563da8a3dc0d514a957021cf72f389040a97ffc5dad04063eb45e95a80b32ba1803914a812fd8cb6d09c253b81cde2b6c066c0a2ef2c8f40071254ce811e75e90b4416c834d0b6da2f7e6d9804322a9f55c1660563a0ab191581414009ac8efb486df8aed81ab9828ef4eaab4e826c49230241f73889bff7fdb1c70875875216ee3a18630a52140eab628d9cce7bcd7f69f56b5e4d09468e7fae1d07891a8e1d7d0c719cc99cb7e67113627d08e8a31722c857d56dd0593bd98d0fc71b2b81df7f813b1a7989bd663c4a835d54ab219e11968b68696954c2a706801a50e3bb2b7e5593c469027aa7eb6cbc7e0ba9d12603f1f9791853c64d00affae947fe70530b1812b42765980dc14e05ca47efde9c057d40cfb0284f1f7a3d820c7aa89b8cdc4fc88ca5b3725eb355915e171b55b8545667bcf25ddff7fdb1c70875875216ee3a18630a52140eab628d9cce7bcd7f69f56b5e4d09477f84b68ac01984d8566203b324eae905f1883f5dcffd6d8c7a6342a76547458d4825ba7885174a0632cf2a30c124a3900cea0f044a3e1b42550658cefee7ce491c5d006427e6b15a0abb444afd59c50e4a943b0422b01a566c636b62fc20067db1562deabb7b81f1f0f52882bbeaf1332f7c20bca3f771233cbf9db4226d9a57b8134b028f5b8c206e18075b05790d27cc29c431bb9575033b37319751036f8dc5d18af5aebf5ad183db10b5d17d0caabb65a1b5371af6d4c2e1160c16649d6d9fdacbd36cf39f746e789faee0d09e629b6051395bae804fc88d309fdc8d50dcbcba93dd2fedc164f10e1c4580cee2193c18b02df1147e47242ceb8ce53193b64924c65f06bbed78297991638d5c7e20274427a75727623bfb2516cf0028bb65c7516d7ec05d8eb4f3e1994fff093ff4650e76fadd285d6047f1dd09d92b59b2bf06700273e554c5cfebb74241d419539a0364abe5d9da3b95d86830ff02321086e542d9b2e7f2d120430d15c7f51540d1b0de63f53ade324427a6d1106806387b508dc19f8e3c87a6bf7c2da778d0977f05c1043ad27d0cd5d10e93050df9fec007a843223aa63a2483e40091ae507318da426b5a30e5111150c816f3decb93f385dbbc96805470d94119ebbea7e8211561210cb552dee9911325a24ac5654def4bfd6e7e24278bebe53f9e8978cd355cb37ca690af954bcd62b1a916efe833d3bc07b6a5da6388b53cec382bcc4b835db6c96b3b125e507b250a0c8b631d02c910f874154b2e77a62f53aab58d4426e034d9a77916f2a22d5dde493d8c46acf7d01218753f067f6756fd434befccbae666efd65e5d758c215e72d57767393d6cda73e3ec9ac742e82509e56a48a93f5c2d49fcce6c7f4d02e5ee92f5a3afc907d48c381e0c5094487ebb0a19518779e053eff43e769d1740b7ad41100e097d0692e6165696bbe06355ae7c7bcdf80fdab38e78228733ed788522b04c07794a8b2caf28b6c341e358d185baf3c962bcde101524b1d88e06812b1b1d796ff99f1baacc0d7c4295b44b3a61d418b7a53f588a02523c41d3c001568172bbab186e76038dbfa316896f98e786a42c4cd13b6b9e999f5269750725566fc08bc4ced04eb276fc6d892504d24158dabc05deaf3c00fcea20d6146894b00f48fe48def1cb500c4581c5e8288d4226e9eebbc9969f8dd5949724b069a4288e5fb381e679580734c9326fe2b4f882def757a464560b1c1c6f6917c10bc1c78171acee0a0aad8d01e257417a129b06b7cdd700d5a57b67fae96b4acc61a3b4a720b4683e349247aa32331ebf65688e7a5ee48a069f9a6fbb7c214c1eb2cb773048cb98b6cb2f74cf3df1073d291a19b45a6884e92ffc52b4acb04d553a37a995e2de37f98c8821a1f767b0a6f7295c75f716c7f2a6b9992455195d556b83f93816805d49bb98386d928d47a84751ba90af3eacb9e8950f10404584db56bb5c137e27f85b597d04670dca1875d30c89c999c1fd1886065d9ab91ca16acdf6cd8c27a6ae96640e0488663e1bc0d1bdbbbad6ea94e834e29570e9c2326b8b5c50c6fc5f71bb83b58b60b3603d11aa4a8f3e7cf75213a6f67275e0c3dbb37233eb9eb06efe98e558e9400ae513fce8ea9ec4afaec9ead16c9ae918b5c8e8b5d4ead351f7c5fae55796ce6c93bd749ecf0705823ed1fe67d357bb46144f61200de80f30d4d8ce77cf12b486fcae08c5366aa240a99a42e8ae6e6e89f0765b708e5f4fdba8a19ded0982463225419bcf44dfa6dd1bcba023e1c3cc1215216e72f0a184f9e2e31d4a452b5b26ed6ef1183b4b6b90560ea825c202f88041cdb489c2126343a7e5cc1093c7f5218d667e9778653185d821ac920d110a4b90df2b2ddba0bbf1110de4d6b3526823399f34a554e36904badee3408f5b92bcda9c5c92961a602bc549c7c99764e428e70c3afeb79ac28e7845f3edb29832b959e2b122ee344a2ab408e8a01db3c654dc62087d44458296020a152eb1456ac457f335c7f583865993668ac96f03c9a7cca315e087ee606da7d8d51095cf5835a727f94d91964baa11cd5a910b47a3b5fea83ad6ee5d51dc4cd1737ceb2f67f93c0095380bfde1cbf384a23ff0f83eba89e51e89e0c51f13054bec39120365f8d17577d47a25510a15ac876a9f0a19ac0b648ef4aa128244bde43963bccf7f8cd210d4559fa776f8b7aa9bbd537bf9decf098ba7224c5b91429694ae53feaf012ccaaa262aece37225674cd83f8f40472c54d82c944abaf8ea405e3b7aea94dddde8031208736df2b1dc073360a5df18c7559f25f4ddc5d4c3d0951fddbe9ce37514a6844d3cd25f02f496f3f66f3af3795c214cbf01335812c46f169ffe9e7fcd48505be94b7a93d99dc0892f6ca7af735a403a582a9e19a0900459862796eee20ea244d8546dca8b7f12d839b62c83983221f297aad2e47d8497432474a3c864ed8e3a7a053d956513220d316ec5b801c09d4b43ba88f6f92cf6a6ee2eeebd679e4d859187721018c87f4907e687fdd1077004cc89f5b3d25ddc159598d08ce3d3aaaa97ff797079b26fc2c330094f7fa56c7e03ab2c28c04157d73e123d73a5c9e6a2dd4a18e5d5e912baf4c1f0d041eb336fae450a0953485a7f42da36c5c4574cffdbfc77058ce201e21c3d0b657961c9493fe25634767b53dcf434cff6aaae04d506598f386794ee84f0d31dde520c2ac9e11d68c4c096beb70960bff1801e92055c558818c94d31031da2177646fc76546dc873d9559c42ee75264a965e9622cc312820e1d1f3ee989573c075f8d97795a16366aff49151a92cd0ea41c971b7d3f326e40b81ec83a1547f30cfedcd1cc73ea1e78eafe8bd3bc4e8df22d10288387c53def7c3a42079c1ed7e8d7c0553666dacdd526be2a4bb89cf4ead44c6350be880c50e113e076da0848bc4af57a556b9bee4314be14a8ab7e576eb8637d4a01953d70eb441f1e2045766299de4d7e7a3b8c9212181d656c00b4ee12509cb102ebda246942eceac1ac0c6dce4519dd67651d25ff14bb6fbbac2e91fdf23e67b2b6419cd649a136f29b38e3d6cbe004655b9ce86a523327df044a579173962a9bd6dc850ed2723fbabb44553daf8762fa7df010d36f98ef0272d86e3e406163024357323743f2d295f23390d66ffc8d8e4782c37f34f73f9e82315d59ce18391e68553b6b73a5255e8518200f03bb9491823367bf18078f7864e09a7dd8ab2dccee7648fdb28e6dd415255eff439096cc943a4ebbb69db43792846d3ded28be50cd145e7ff9eb9ea34cf7647220b472bbfb66f04dd5c45577bd517503cce8eeba2ec0f47accc0c2f0df04a4a005a7aab7d48f43dee8e17a1d234285095f1f5c87b871225aa991e109b6f1010b5856116d693a8af88c3f27c6bdde327e7168d89a4222639bf67a4e321819e73eab3d24ebe75e4582c770af207008868082a829ee65d9d047c59637009cac2f93121d68e24cab0ee091dee0327bc933ad77ec8b77aed4eb0e8eecb9b352c196a0f64b4a5be8ae8129cfd4490e2bcd734bbcb2bb531978d319336c8b321e0104f88779144009fac1f4b402f9e79d751067f59cff8cb499d70545ca4ac2cba58c10ab11f8b31fe461d69ad052e0dfb83feb305009d57347acd0285702b0f54b473980ba4efe2d48e19084c1db0a134f7bcf53e5baa76ede773bbffae20745a84dfe7d4ae8ede2640597e0f4ed9a569e4d9be403bdd0e2a508a28f8f5a555bb2cdb1a66bf9cb0fb2e037c7d231d203d1d5f4a7a7ca1fa2852bd1a2b00c25cd4b052cd2762f57806e2575117f4e328031539d840614df18023c7d328f8af2461e36424ec2cce36883d31ccffbcbd1e0d8ce93b93fb2955f584665bc3f648b0cd100a3b6079a735cfa125beabac45635f96f9c5426a6b6f11be03d9aa3bc7984d8322d75045e327ba2e88abedb1e956d65a7b3a088d9a8caabd11e102f6fd549e830a1362202b83708020fdd129dcff126717ad93d73db3100a93c6b81dbb797bbf6720b971c1cb6083ea3d43f15f003524083872c0172af428a3103e60402acc9050f9fd491068d46157a39ca3e25945fd04bddc32b900c04eb21e769a4d52112c36fa422d381aec5ffb57c31912b60ca0e47b56634beaae1a4eb8c826f1329a1d49820814f018ba95a5b2ae5c8e349d57c6663aa87559d4b6c86b1b6a0cac0dba2ac0d6abdb2d037f07499a84df7f9a949e5e76a4d89dd3913b96e3ec691568f1581537f57b4e62863524bd1511017e7f252f23ac6c125160c39b14a2a0410d16b47d3901eee99d0090e19fdb28ab78e3fff49f571c5ece6cca5eaa4ca9bff421ce09b2021f4e4bc64a8264732de30b162cb05943d9b2e92bf27138de083e056ba73609403a3ef0ac82395a4fccae251ecef1878c569a3a5ee2f4e94f2b56e19054224482be0aa7b444ab8324ed0b0c25e3abacbd87be29732356c9bb890556675373ea9ed1d0e9b5678426d69296b6801c906ca378bb426aa3d6acdc3ba392abf7aa1d006749331fa8e97ac2202596a819dd382b46d051a28dca74875a851d97fcc71c78ca279754fabc2289a600aabecec4d9e4387cab9c7400aa2d0868a21c493df0e5da1622b319e915303b1aa2b72f3cb836057eed5699f522693cd0e6f9fbe497b6a0346fde3934cbcbd7c557a334c27bb34e69c7ed430ed4a4588c27f2a933b428f5a13403157e395a9d869d176c8dd256a5f28a042e4f863b42117f27a13e776a0e6ee6d54739b08b35741f43f5776bf51a193810b51d60285dc5d18af5aebf5ad183db10b5d17d0caabb65a1b5371af6d4c2e1160c16649d65d4dbfc82ee715a653291fb987dd565b6fc567ffee828d9e4c5f181c75eca0be63b93e248018e9520b508c50c9f61fb190bb7ed7c057598111baf79d07c3ad14afe0dcfca292a0fae8bce08a48c14d3e59c9d82c6052ab6d48a22ecc6c48f2772f89db614c63d31bbcc786329bc515be2e90d274c8995d683e298a2291850fb1022e80b1066965157a2e1a69a717739ccc7a0c1551c48d3a4287b1dfc23267afcc2b2ce0de463410a42f605bdacc2c05d5b3ae7adaa05a4097aeee84f46dd64b946c15c016ada6c6a3a5f766a91bf8a27f7aedf01b70070dd8da60b53ae4fba45ad7e8300878dc6edc47e403bc2573d864602a12497fc94bc7cef038453754cc43376f511a44a477a417f2d63cd83f3e2daada1c6eb7e5c5526c4446833cca86020434110ceb810f6028c945a86d18c2a1b092316a5d5d8cc5ca019c4b3896d176950a94d43ffee2e85c43dc121d152f50b39156c12aae4feaa9211e29f075699dfac44598757813ed48824008ce6166a8e700ea9e10a3c4b6aa2b8068cc68eef4a51e88b9741eb704b94be93ce9d737c0dfd41c75d7f23f12495115b3572a39f1673b70cc0502767e5a907adf3e0e6b4841fcc7a7a01adceaf6c56c6356ad9f7b5d313bfffd6e540ffeb2a8ae8d15cf4aff4c74863540a12816376bbfbd870a5ddbd3c1ac87bcf2df87bc93c0dd903a2467ced795dcd5c0d746f5c133a8123ea1b500661bc7f5e7915234dde9c0f6a4598210e5384ace192a5d18485f09211003f442e2935988d66404ed9b32c22f127dde6f70377de7c336dd1f19946423dba94b0fc93e8b2e1778d2a758e6acc769ca74b7ed072cc4bcbd1109e820ece3cbf5c3cb69593888cb6cc25a22227b1d9e8074b75e1c7888ff0430d0765b213e90fd1d2fd85108226faf262e987958e55efbecea5efb69b33b6bebf7c360f214eb0eaaf47b14fc6852dfdf0b60b3ac73ee2ff6e10a904fc0e4446752e8ae1244186458316305365d75524ee414588f9bd52eedc4895db85dd87a80335712e3b3f1644809f81b2917f31fa491698a531585d1b42b877129d1f29e2f826830ff69e27862b53264559b4ecae7def6174baab5cd147ac6c82323119964f353e8f7952faa0bcce6b6ef462958f797cbf57842b2e888aee697b4ee1d651cff6f02d676aecf09f8d2c1927a51a7d13783fcb2aaf54a5ebe5cbc7a86776f1cad024cca5e523f7567bbab2ccfe39fa076469f11794492288feb490482e6473ef5cb81030525d88a1c24f7845215f976bf4718b11dbd5e10eef93cca258f27d7a3bd73ced697ab63756e3cc9f60b845a0132d8a5449f7b9c450a02fb2cd5bf950025d3d5e15e1549b6d69a2b1d664779113a25e59fdcc0fdeb6406b4d21d5622248b719c08cc2a3cea8b5b3aa94f032e3121ac6e72cd1c83d7d3649fb33ed19957502d151e4865b524a93fc801a20376993715b08ca7d33f2a2d7e3b56c0fd9a249a4ec5cad9c2aedbdf8a9f80a2b910b1771202d539357c7f9ee12b85ce9301325f08dd6ad4e42c6dcd9fe764d989858665c32c6cf84ed391cbe0afad1a104b0f584e24dd467a02ec3a3ffad7fbea9ee5fcbaf196e282133e4ed2511d2b1b8c9c238d717dba7404ffc3dea4290fe66178e407fe8176a045aca8e5b666a8c42b66f5e61fd0fda796a05555dd12893c721a0a69b21a8f787658aee73e0ab85d06bcfd4eadda42369708ef835d8576827163b558a50e935ad7d9c19fac49a88a0f6cdf628277e7rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottomcat-9.0.106-150200.86.1.src.rpmtomcat-docs-webapptomcat-implementation-docs-webapp     /bin/shlibxslt-toolsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)tomcatutil-linux3.0.4-14.6.0-14.0.4-14.0-15.2-19.0.106-150200.86.1tomcat-implementation-docs-webapp4.14.1hZ@hK@hhg`@gw@gw@g@r@f@fA@fffeZeeПe@ee@e@e)e_>e)1@e 0@e 0@e;eRdld0d?@cc@c@c{h@cQ8@bγbbN@b!b@aaaA@a@a{@azamaamaama`X`Q@`OL@`OL@`3__F@_@___FN_!d^@^^_^@^Y^U @^1s^%@^!^@]҇]Γ@]4@]?]V]@\\\r@\k\j@\Yz\X)@\LK\?\8@\'a\[v[u[@[@[ug@ZZ_:Z!D@Z@YYYY:Y@Y@XZnW@WiW|W'A@WWKV@V2V`VA@UlI@UlI@UlI@UQU hU hTTи@michele.bussolotto@suse.commichele.bussolotto@suse.comfstrba@suse.commichele.bussolotto@suse.comricardo.mestre@suse.comricardo.mestre@suse.comricardo.mestre@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comricardo.mestre@suse.comricardo.mestre@suse.comdcermak@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comricardo.mestre@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comolaf@aepfle.demichele.bussolotto@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comwittemar@googlemail.comwittemar@googlemail.comwittemar@googlemail.comamehmood@suse.comamehmood@suse.comwittemar@googlemail.comwittemar@googlemail.comwittemar@googlemail.comamehmood@suse.commalbu@suse.commalbu@suse.commalbu@suse.comjengelh@inai.defstrba@suse.commalbu@suse.comfstrba@suse.commalbu@suse.comjavier@opensuse.orgmalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comdimstar@opensuse.orgmalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.commalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.comecsos@opensuse.orgfstrba@suse.comsean@suspend.netmalbu@suse.comecsos@opensuse.orgmalbu@suse.commalbu@suse.commalbu@suse.defstrba@suse.commalbu@suse.comrbrown@suse.commalbu@suse.comecsos@opensuse.orgfstrba@suse.comecsos@opensuse.orgdziolkowski@suse.commalbu@suse.comastieger@suse.comtchvatal@suse.commalbu@suse.commalbu@suse.comdmacvicar@suse.dejcnengel@gmail.comtchvatal@suse.comdmacvicar@suse.dedmacvicar@suse.detchvatal@suse.comdmacvicar@suse.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comwittemar@googlemail.combmaryniuk@suse.com- Update to Tomcat 9.0.106 * Fixed CVEs: + CVE-2025-46701: refactor CGI servlet to access resources via WebResources (bsc#1243815) + CVE-2025-48988: limits the total number of parts in a multi-part request and limits the size of the headers provided with each part (bsc#1244656) + CVE-2025-49125: Expand checks for webAppMount (bsc#1244649) * Catalina + Add: Support for the java:module namespace which mirrors the java:comp namespace. + Add: Support parsing of multiple path parameters separated by ; in a single URL segment. Based on pull request #860 by Chenjp. + Add: Support for limiting the number of parameters in HTTP requests through the new ParameterLimitValve. The valve allows configurable URL-specific limits on the number of parameters. + Fix: 69699: Encode redirect URL used by the rewrite valve with the session id if appropriate, and handle cross context with different session configuration when using rewrite. + Add: #863: Support for comments at the end of lines in text rewrite map files to align behaviour with Apache httpd. Pull request provided by Chenjp. + Fix: 69706: Saved request serialization issue in FORM introduced when allowing infinite session timeouts. + Fix: Expand the path checks for Pre-Resources and Post-Resources mounted at a path within the web application. + Fix: 69588: Enable allowLinking to be set on PreResources, JarResources and PostResources. If not set explicitly, the setting will be inherited from the Resources. + Add: 69633: Support for Filters using context root mappings. + Fix: #843: Off by one validation logic for partial PUT ranges and associated test case. Submitted by Chenjp. + Refactor: Replace the unused buffer in org.apache.catalina.connector.InputBuffer with a static, zero length buffer. + Refactor: GCI servlet to access resources via the WebResource API. + Fix: 69662: Report name in exception message when a naming lookup failure occurs. Based on code submitted by Donald Smith. + Fix: Ensure that the FORM authentication attribute authenticationSessionTimeout works correctly when sessions have an infinite timeout when authentication starts. + Add: Provide a content type based on file extension when web application resources are accessed via a URL. * Coyote + Refactor: #861: TaskQueue to use the new interface RetryableQueue which enables better integration of custom Executors which provide their own BlockingQueue implementation. Pull request provided by Paulo Almeida. + Add: Finer grained control of multi-part request processing via two new attributes on the Connector element. maxPartCount limits the total number of parts in a multi-part request and maxPartHeaderSize limits the size of the headers provided with each part. Add support for these new attributes to the ParameterLimitValve. + Refactor: The SavedRequestInputFilter so the buffered data is used directly rather than copied. * Jasper + Fix: 69696: Mark the JSP wrapper for reload after a failed compilation. + Fix: 69635: Add support to javax.el.ImportHandler for resolving inner classes. + Add: #842: Support for optimized execution of c:set and c:remove tags, when activated via JSP servlet param useNonstandardTagOptimizations. + Fix: An edge case compilation bug for JSP and tag files on case insensitive file systems that was exposed by the test case for 69635. * Web applications + Fix: 69694: Improve error reporting of deployment tasks done using the manager webapp when a copy operation fails. + Add: 68876: Documentation. Update the UML diagrams for server start-up, request processing and authentication using PlantUML and include the source files for each diagram. * Other + Add: Thread name to webappClassLoader.stackTraceRequestThread message. Patch provided by Felix Zhang. + Update: The internal fork of Apache Commons FileUpload to 1.6.0-RC1 (2025-06-05). + Update: EasyMock to 5.6.0. + Update: Checkstyle to 10.25.0. + Fix: #858: Extend improvements to CVE-2024-56337 protection to service.bat. Pull request provided by Markus Hoffrogge. + Fix: Use the full path when the installer for Windows sets calls icacls.exe to set file permissions. + Update: Improvements to Japanese translations provided by tak7iji. + Update: Jacoco to 0.8.13. + Code: Explicitly set the locale to be used for Javadoc. For official releases, this locale will be English (US) to support reproducible builds. + Update: Byte Buddy to 1.17.5. + Update: Checkstyle to 10.23.1. + Update: File extension to media type mappings to align with the current list used by the Apache Web Server (httpd). + Update: Improvements to French translations. + Update: Improvements to Japanese translations provided by tak7iji.- Hardening permissions (bsc#1242722)- Make conflicts and provides more generic- Update to Tomcat 9.0.104 * Fixed CVEs: + CVE-2025-31650: invalid priority field values should be ignored (bsc#1242008) + CVE-2025-31651: Better handling of URLs with literal ';' and '?' (bsc#1242009) * Catalina + Fix: Fix use of SSS in SimpleDateFormat pattern for AccessLogValve. (rjung) + Fix: Process possible path parameters rewrite production in the rewrite valve. (remm) + Fix: 69643: Optimize directory listing for large amount of files. Patch submitted by Loic de l'Eprevier. (remm) + Fix: Return 400 if the amount of content sent for a partial PUT is inconsistent with the range that was specified. (remm) + Add: Add a new RateLimiter implementation, org.apache.catalina.util.ExactRateLimiter, that can be used with org.apache.catalina.filters.RateLimitFilter to provide rate limit based on the exact values configured. Based on pull request #794 by Chenjp. (markt) + Fix: Fix parsing of the time-taken token in the ExtendedAccessLogValve. (remm) + Fix: Fix invocation of the FFM OpenSSL code for setting a SSL engine and FIPS mode. (remm) + Fix: 69600: Add IPv6 local addresses (RFC 4193 and RFC 4291) to the default internal proxies for the RemoteIpFilter and RemoteIpValve. (markt) + Fix: 69615: Improve integration with the not found class resources cache for users who are using a custom web application class loader and/or using reflection to dynamically add external repositories to the web application class loader. (markt) + Add: Add a new initialisation parameter to the Default servlet - allowPostAsGet - which controls whether a direct request (i.e. not a forward or an include) for a static resource using the POST method will be processed as if the GET method had been used. If not allowed, the request will be rejected. The default behaviour of processing the request as if the GET method had been used is unchanged. (markt) + Fix: 69623: Correct a long standing regression that meant that calls to ClassLoader.getResource().getContent() failed when made from within a web application with resource caching enabled. (markt) + Fix: 69634: Avoid NPE on JsonErrorReportValve. (remm) + Fix: Add missing throwable stack trace to JsonErrorReportValve equivalent to the one from ErrorReportValve. (remm) + Fix: Improve the handling of %nn URL encoding in the RewriteValve and document how %nn URL encoding may be used with rewrite rules. (markt) + Fix: Fix a potential exception when calling WebappClassLoaderBase.getResource(""). (markt) * Coyote + Fix: 69607: Allow failed initialization of MD5. Based on code submitted by Shivam Verma. (remm) + Fix: 69614: HTTP/2 priority frames with an invalid priority field value should be ignored. (markt) + Fix: Improve handling of unexpected errors during HTTP/2 processing. (markt) + Fix: Add missing code to process an OpenSSL profile, such as PROFILE= SYSTEM, using FFM. (remm) + Add: Simplify the process of using a custom SSLContext for an HTTPS enabled connector. Based on pull request #805 by Hakky54. (markt) * Jasper + Code: Replace custom URL encoding provided by the JSP runtime library with calls to java.net.URLEncoder.encode(). (markt) + Add: Add compiler using the Java Compiler API, supporting exploded web applications. The compilerClassName to use is org.apache.jasper.compiler.JavaCompiler. (remm) + Add: Add support for specifying Java 25 (with the value 25) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will be used. (markt) * Cluster + Fix: Fix resetting cross context sessions in the ReplicationValve. (remm) * Web applications + Add: Documentation. Add a link to the Log4j documentation that describes how to use Log4j rather than JULI for Tomcat's internal logging. (markt) + Add: Documentation. Document the runtime attributes available to web applications via the Request or the ServletContext. Based on pull request [#832] by usmazat. (markt) * Other + Fix: Set sun.io.useCanonCaches in service.bat. Based on pull request [#841] by Paul Lodge. (remm) + Fix: The minimum Java version to build a release is now Java 22, mirroring Tomcat 10.1. This removes the need for using a java-ffm.home property. (remm) + Update: Revert JSign to 6.0 to avoid a file locking issue. (markt) + Update: Update to NSIS 3.11. (markt) + Update: Update to ByteBuddy 1.17.4. (markt) + Update: Update to Checkstyle 10.21.4. (markt) + Update: Update to SpotBugs to 4.9.3. (markt) + Update: Improvements to French translations. (remm) + Update: Improvements to Japanese translations provided by tak7iji. (markt)- Update to Tomcat 9.0.102 * Fixes: + launch with java 17 (bsc#1239676) * Catalina + Fix: Weak etags in the If-Range header should not match as strong etags are required. (remm) + Fix: When looking up class loader resources by resource name, the resource name should not start with '/'. If the resource name does start with '/', Tomcat is lenient and looks it up as if the '/' was not present. When the web application class loader was configured with external repositories and names starting with '/' were used for lookups, it was possible that cached 'not found' results could effectively hide lookup results using the correct resource name. (markt) + Fix: Enable the JNDIRealm to validate credentials provided to HttpServletRequest.login(String username, String password) when the realm is configured to use GSSAPI authentication. (markt) + Fix: Fix a bug in the JRE compatibility detection that incorrectly identified Java 19 and Java 20 as supporting Java 21 features. (markt) + Fix: Improve the checks for exposure to and protection against CVE-2024-56337 so that reflection is not used unless required. The checks for whether the file system is case sensitive or not have been removed. (markt) + Fix: Avoid scenarios where temporary files used for partial PUT would not be deleted. (remm) + Fix: 69602: Fix regression in releases from 12-2024 that were too strict and rejected weak etags in the If-Range header. (remm) + Fix: 69576: Avoid possible failure initializing JreCompat due to uncaught exception introduced for the check for CVE-2024-56337. (remm) * Cluster + Add: 69598: Add detection of service account token changes to the KubernetesMembershipProvider implementation and reload the token if it changes. Based on a patch by Miroslav Jezbera. (markt) * Coyote + Fix: 69575: Avoid using compression if a response is already compressed using compress, deflate or zstd. (remm) + Update: Use Transfer-Encoding for compression rather than Content-Encoding if the client submits a TE header containing gzip. (remm) + Fix: Fix a race condition in the handling of HTTP/2 stream reset that could cause unexpected 500 responses. (markt) * Other + Add: Add makensis as an option for building the Installer for Windows on non-Windows platforms. (rjung/markt) + Update: Update Byte Buddy to 1.17.1. (markt) + Update: Update Checkstyle to 10.21.3. (markt) + Update: Update SpotBugs to 4.9.1. (markt) + Update: Update JSign to 7.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Add org.apache.juli.JsonFormatter to format log as one line JSON documents. (remm)- Update to Tomcat 9.0.99 * Fixed CVE: + CVE-2025-24813: potential RCE and/or information disclosure/corruption with partial PUT (bsc#1239302) * Catalina + Update: Add tableName configuration on the DataSourcePropertyStore that may be used by the WebDAV Servlet. (remm) + Update: Improve HTTP If headers processing according to RFC 9110. Based on pull request #796 by Chenjp. (remm/markt) + Update: Allow readOnly attribute configuration on the Resources element and allow configure the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. (remm) + Fix: 69285: Optimise the creation of the parameter map for included requests. Based on sample code and test cases provided by John Engebretson. (markt) + Fix: 69527: Avoid rare cases where a cached resource could be set with 0 content length, or could be evicted immediately. (remm) + Fix: Fix possible edge cases (such as HTTP/1.0) with trying to detect requests without body for WebDAV LOCK and PROPFIND. (remm) + Fix: 69528: Add multi-release JAR support for the bloom archiveIndexStrategy of the Resources. (remm) + Fix: Improve checks for WEB-INF and META-INF in the WebDAV servlet. Based on a patch submitted by Chenjp. (remm) + Add: Add a check to ensure that, if one or more web applications are potentially vulnerable to CVE-2024-56337, the JVM has been configured to protect against the vulnerability and to configure the JVM correctly if not. Where one or more web applications are potentially vulnerable to CVE-2024-56337 and the JVM cannot be correctly configured or it cannot be confirmed that the JVM has been correctly configured, prevent the impacted web applications from starting. (markt) + Fix: Remove unused session to client map from CrawlerSessionManagerValve. Submitted by Brian Matzon. (remm) + Fix: When using the WebDAV servlet with serveSubpathOnly set to true, ensure that the destination for any requested WebDAV operation is also restricted to the sub-path. (markt) + Fix: Generate an appropriate Allow HTTP header when the Default servlet returns a 405 (method not allowed) response in response to a DELETE request because the target resource cannot be deleted. Pull request #802 provided by Chenjp. (markt) + Code: Refactor creation of RequestDispatcher instances so that the processing of the provided path is consistent with normal request processing. (markt) + Add: Add encodedReverseSolidusHandling and encodedSolidusHandling attributes to Context to provide control over the handling of the path used to created a RequestDispatcher. (markt) + Fix: Handle a potential NullPointerException after an IOException occurs on a non-container thread during asynchronous processing. (markt) + Fix: Enhance lifecycle of temporary files used by partial PUT. (remm) * Coyote + Fix: Don't log warnings for registered HTTP/2 settings that Tomcat does not support. These settings are now silently ignored. (markt) + Fix: Avoid a rare NullPointerException when recycling the Http11InputBuffer. (markt) + Fix: Lower the log level to debug for logging an invalid socket channel when processing poller events for the NIO Connector as this may occur in normal usage. (markt) + Code: Clean-up references to the HTTP/2 stream once request processing has completed to aid GC and reduce the size of the HTTP/2 recycled request and response cache. (markt) + Add: Add a new Connector configuration attribute, encodedReverseSolidusHandling, to control how %5c sequences in URLs are handled. The default behaviour is unchanged (decode) keeping in mind that the allowBackslash attribute determines how the decoded URI is processed. (markt) + Fix: 69545: Improve CRLF skipping for the available method of the ChunkedInputFilter. (remm) + Fix: Improve the performance of repeated calls to getHeader(). Pull request #813 provided by Adwait Kumar Singh. (markt) + Fix: 69559: Ensure that the Java 24 warning regarding the use of sun.misc.Unsafe::invokeCleaner is only reported by the JRE when the code will be used. (markt) * Jasper + Fix: 69508: Correct a regression in the fix for 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. (markt) + Fix: 69521: Update the EL Parser to allow the full range of valid characters in an EL identifier as defined by the Java Language Specification. (markt) + Fix: 69532: Optimise the creation of ExpressionFactory instances. Patch provided by John Engebretson. (markt) * Web applications + Add: Documentation. Expand the description of the security implications of setting mapperContextRootRedirectEnabled and/or mapperDirectoryRedirectEnabled to true. (markt) + Fix: Documentation. Better document the default for the truststoreProvider attribute of a SSLHostConfig element. (markt) * Other + Update: Update to Commons Daemon 1.4.1. (markt) + Update: Update the internal fork of Commons Pool to 2.12.1. (markt) + Update: Update Byte Buddy to 1.16.1. (markt) + Update: Update UnboundID to 7.0.2. (markt) + Update: Update Checkstyle to 10.21.2. (markt) + Update: Update SpotBugs to 4.9.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Chinese translations by leeyazhou. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt)- Update to Tomcat 9.0.98 * Fixed CVEs: + CVE-2024-54677: DoS in examples web application (bsc#1234664) + CVE-2024-50379: RCE due to TOCTOU issue in JSP compilation (bsc#1234663) + CVE-2024-52317: Request/response mix-up with HTTP/2 (bsc#1233435) * Catalina + Add: Add option to serve resources from subpath only with WebDAV Servlet like with DefaultServlet. (michaelo) + Fix: Add special handling for the protocols attribute of SSLHostConfig in storeconfig. (remm) + Fix: 69442: Fix case sensitive check on content-type when parsing request parameters. (remm) + Code: Refactor duplicate code for extracting media type and subtype from content-type into a single method. (markt) + Fix: Compatibility of generated embedded code with components where constructors or property related methods throw a checked exception. (remm) + Fix: The previous fix for inconsistent resource metadata during concurrent reads and writes was incomplete. (markt) + Fix: 69444: Ensure that the javax.servlet.error.message request attribute is set when an application defined error page is called. (markt) + Fix: Avoid quotes for numeric values in the JSON generated by the status servlet. (remm) + Add: Add strong ETag support for the WebDAV and default servlet, which can be enabled by using the useStrongETags init parameter with a value set to true. The ETag generated will be a SHA-1 checksum of the resource content. (remm) + Fix: Use client locale for directory listings. (remm) + Fix: 69439: Improve the handling of multiple Cache-Control headers in the ExpiresFilter. Based on pull request #777 by Chenjp. (markt) + Fix: 69447: Update the support for caching classes the web application class loader cannot find to take account of classes loaded from external repositories. Prior to this fix, these classes could be incorrectly marked as not found. (markt) + Fix: 69466: Rework handling of HEAD requests. Headers explicitly set by users will not be removed and any header present in a HEAD request will also be present in the equivalent GET request. There may be some headers, as per RFC 9110, section 9.3.2, that are present in a GET request that are not present in the equivalent HEAD request. (markt) + Fix: 69471: Log instances of CloseNowException caught by ApplicationDispatcher.invoke() at debug level rather than error level as they are very likely to have been caused by a client disconnection or similar I/O issue. (markt) + Add: Add a test case for the fix for 69442. Also refactor references to application/x-www-form-urlencoded. Based on pull request #779 by Chenjp. (markt) + Fix: 69476: Catch possible ISE when trying to report PUT failure in the DefaultServlet. (remm) + Add: Add support for RateLimit header fields for HTTP (draft) in the RateLimitFilter. Based on pull request #775 provided by Chenjp. (markt) + Add: #787: Add regression tests for 69478. Pull request provided by Thomas Krisch. (markt) + Fix: The default servlet now rejects HTTP range requests when two or more of the requested ranges overlap. Based on pull request #782 provided by Chenjp. (markt) + Fix: Enhance Content-Range verification for partial PUT requests handled by the default servlet. Provided by Chenjp in pull request #778. (markt) + Fix: Harmonize DataSourceStore lookup in the global resources to optionally avoid the comp/env prefix which is usually not used there. (remm) + Fix: As required by RFC 9110, the HTTP Range header will now only be processed for GET requests. Based on pull request #790 provided by Chenjp. (markt) + Fix: Deprecate the useAcceptRanges initialisation parameter for the default servlet. It will be removed in Tomcat 12 onwards where it will effectively be hard coded to true. (markt) + Add: Add DataSource based property storage for the WebdavServlet. (remm) * Coyote + Fix: Align encodedSolidusHandling with the Servlet specification. If the pass-through mode is used, any %25 sequences will now also be passed through to avoid errors and/or corruption when the application decodes the path. (markt) * Jasper + Fix: Further optimise EL evaluation of method parameters. Patch provided by Paolo B. (markt) + Fix: Follow-up to the fix for 69381. Apply the optimisation for method lookup performance in expression language to an additional location. (markt) * Web applications + Fix: Documentation. Remove references to the ResourceParams element. Support for ResourceParams was removed in Tomcat 5.5.x. (markt) + Fix: Documentation. 69477: Correct name of attribute for RemoteIPFilter. The attribute is internalProxies rather than allowedInternalProxies. Pull request #786 provided by Jorge Díaz. (markt) + Fix: Examples. Fix broken links when Servlet Request Info example is called via a URL that includes a pathInfo component. (markt) + Fix: Examples. Expand the obfuscation of session cookie values in the request header example to JSON responses. (markt) + Add: Examples. Add the ability to delete session attributes in the servlet session example. (markt) + Add: Examples. Add a hard coded limit of 10 attributes per session for the servlet session example. (markt) + Add: Examples. Add the ability to delete session attributes and add a hard coded limit of 10 attributes per session for the JSP form authentication example. (markt) + Add: Examples. Limit the shopping cart example to only allow adding the pre-defined items to the cart. (markt) + Fix: Examples. Remove JSP calendar example. (markt) * Other + Fix: 69465: Fix warnings during native image compilation using the Tomcat embedded JARs. (markt) + Update: Update Tomcat's fork of Commons DBCP to 2.13.0. (markt) + Update: Update EasyMock to 5.5.0. (markt) + Update: Update Checkstyle to 10.20.2. (markt) + Update: Update BND to 7.1.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Korean translations. (markt) + Add: Improvements to Chinese translations. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt) - Modified patch: * tomcat-9.0-jdt.patch + rediff- Update to Tomcat 9.0.97 * Fixed CVEs: + CVE-2024-52316: If the Jakarta Authentication fails with an exception, set a 500 status (bsc#1233434) * Catalina + Add: Add support for the new Servlet API method HttpServletResponse.sendEarlyHints(). (markt) + Add: 55470: Add debug logging that reports the class path when a ClassNotFoundException occurs in the digester or the web application class loader. Based on a patch by Ralf Hauser. (markt) + Update: 69374: Properly separate between table header and body in DefaultServlet's listing. (michaelo) + Update: 69373: Make DefaultServlet's HTML listing file last modified rendering better (flexible). (michaelo) + Update: Improve HTML output of DefaultServlet. (michaelo) + Code: Refactor RateLimitFilter to use FilterBase as the base class. The primary advantage for doing this is less code to process init-param values. (markt) + Update: 69370: DefaultServlet's HTML listing uses incorrect labels. (michaelo) + Fix: Avoid NPE in CrawlerSessionManagerValve for partially mapped requests. (remm) + Fix: Add missing WebDAV Lock-Token header in the response when locking a folder. (remm) + Fix: Invalid WebDAV lock requests should be rejected with 400. (remm) + Fix: Fix regression in WebDAV when attempting to unlock a collection. (remm) + Fix: Verify that destination is not locked for a WebDAV copy operation. (remm) + Fix: Send 415 response to WebDAV MKCOL operations that include a request body since this is optional and unsupported. (remm) + Fix: Enforce DAV: namespace on WebDAV XML elements. (remm) + Fix: Do not allow a new WebDAV lock on a child resource if a parent collection is locked (RFC 4918 section 6.1). (remm) + Fix: WebDAV Delete should remove any existing lock on successfully deleted resources. (remm) + Update: Remove WebDAV lock null support in accordance with RFC 4918 section 7.3 and annex D. Instead, a lock on a non-existing resource will create an empty file locked with a regular lock. (remm) + Update: Rewrite implementation of WebDAV shared locks to comply with RFC 4918. (remm) + Update: Implement WebDAV If header using code from the Apache Jackrabbit project. (remm) + Add: Add PropertyStore interface in the WebDAV Servlet, to allow implementation of dead properties storage. The store used can be configured using the 'propertyStore' init parameter of the WebDAV servlet. A simple non-persistent implementation is used if no custom store is configured. (remm) + Update: Implement WebDAV PROPPATCH method using the newly added PropertyStore. (remm) + Fix: Cache not found results when searching for web application class loader resources. This addresses performance problems caused by components such as java.sql.DriverManager which, in some circumstances, will search for the same class repeatedly. In a large web application this can cause performance problems. The size of the cache can be controlled via the new notFoundClassResourceCacheSize on the StandardContext. (markt) + Fix: Stop after INITIALIZED state should be a noop since it is possible for subcomponents to be in FAILED after init. (remm) + Fix: Fix incorrect web resource cache size calculations when there are concurrent PUT and DELETE requests for the same resource. (markt) + Add: Add debug logging for the web resource cache so the current size can be tracked as resources are added and removed. (markt) + Update: Replace legacy WebDAV opaquelocktoken: scheme for lock tokens with urn:uuid: as recommended by RFC 4918, and remove secret init parameter. (remm) + Fix: Concurrent reads and writes (e.g. GET and PUT / DELETE) for the same path caused corruption of the FileResource where some of the fields were set as if the file exists and some as set as if it does not. This resulted in inconsistent metadata. (markt) + Fix: 69415: Ensure that the ExpiresFilter only sets cache headers on GET and HEAD requests. Also skip requests where the application has set Cache-Control: no-store. (markt) + Fix: 69419: Improve the performance of ServletRequest.getAttribute() when there are multiple levels of nested includes. Based on a patch provided by John Engebretson. (markt) + Add: All applications to send an early hints informational response by calling HttpServletResponse.sendError() with a status code of 103. (schultz) + Fix: Ensure that the Jakarta Authentication CallbackHandler only creates one GenericPrincipal in the Subject. (markt) + Fix: If the Jakarta Authentication process fails with an Exception, explicitly set the HTTP response status to 500 as the ServerAuthContext may not have set it. (markt) + Fix: When persisting the Jakarta Authentication provider configuration, create any necessary parent directories that don't already exist. (markt) + Fix: Correct the logic used to detect errors when deleting temporary files associated with persisting the Jakarta Authentication provider configuration. (markt) + Fix: When processing Jakarta Authentication callbacks, don't overwrite a Principal obtained from the PasswordValidationCallback with null if the CallerPrincipalCallback does not provide a Principal. (markt) + Fix: Avoid store config backup loss when storing one configuration more than once per second. (remm) + Fix: 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc. (michaelo) + Fix: 69360: Inconsistent DELETE behavior between WebdavServlet and DefaultServlet. (michaelo) + Fix: Make WebdavServlet properly return the Allow header when deletion of a resource is not allowed. (michaelo) + Fix: Add log warning if non wildcard mappings are used with the WebdavServlet. (remm) + Fix: 69361: Ensure that the order of entries in a multi-status response to a WebDAV is consistent with the order in which resources were processed. (markt) + Fix: 69362: Provide a better multi-status response when deleting a collection via WebDAV fails. Empty directories that cannot be deleted will now be included in the response. (markt) + Fix: 69363: Use getPathPrefix() consistently in the WebDAV servlet to ensure that the correct path is used when the WebDAV servlet is mounted at a sub-path within the web application. (markt) + Fix: Improve performance of ApplicationHttpRequest.parseParameters(). Based on sample code and test cases provided by John Engebretson. (markt) + Add: Add support for RFC 8297 (Early Hints). Applications can use this feature by casting the HttpServletResponse to org.apache.catalina.connector.Reponse and then calling the method void sendEarlyHints(). This method will be added to the Servlet API (removing the need for the cast) in Servlet 6.2 onwards. (markt) + Fix: 69214: Do not reject a CORS request that uses POST but does not include a content-type header. Tomcat now correctly processes this as a simple CORS request. Based on a patch suggested by thebluemountain. (markt) + Fix: Refactor SpnegoAuthenticator so it uses Subject.callAs() rather than Subject.doAs() when available. (markt) * Coyote + Fix: Return null SSL session id on zero length byte array returned from the SSL implementation. (remm) + Fix: Skip OpenSSLConf with BoringSSL since it is unsupported. (remm) + Fix: Create the HttpParser in Http11Processor if it is not present on the AbstractHttp11Protocol to provide better lifecycle robustness for regular HTTP/1.1. The new behavior was introduced on a previous refactoring to improve HTTP/2 performance. (remm) + Fix: OpenSSLContext will now throw a KeyManagementException if something is known to have gone wrong in the init method, which is the behavior documented by javax.net.ssl.SSLContext.init. This makes error handling more consistent. (remm) + Fix: 69316: Ensure that FastHttpDateFormat#getCurrentDate() (used to generate Date headers for HTTP responses) generates the correct string for the given input. Prior to this change, the output may have been wrong by one second in some cases. Pull request #751 provided by Chenjp. (markt) + Add: Add server and serverRemoveAppProvidedValues to the list of attributes the HTTP/2 protocol will inherit from the HTTP/1.1 connector it is nested within. (markt) + Fix: Avoid possible crashes when using Apache Tomcat Native, caused by destroying SSLContext objects through GC after APR has been terminated. (remm) + Fix: Improve HTTP/2 handling of trailer fields for requests. Trailer fields no longer need to be received before the headers of the subsequent stream nor are trailer fields for an in-progress stream swallowed if the Connector is paused before the trailer fields are received. (markt) + Fix: Ensure the request and response are not recycled too soon for an HTTP/2 stream when a stream level error is detected during the processing of incoming HTTP/2 frames. This could lead to incorrect processing times appearing in the access log. (markt) + Fix: Fix 69320, a regression in the fix for 69302 that meant the HTTP/2 processing was likely to be broken for all clients once any client sent an HTTP/2 reset frame. (markt) + Fix: Correct a regression in the fix for non-blocking reads of chunked request bodies that caused InputStream.available() to return a non-zero value when there was no data to read. In some circumstances this could cause a blocking read to block waiting for more data rather than return the data it had already received. (markt) + Add: Add a new attribute cookiesWithoutEquals to the Rfc6265CookieProcessor. The default behaviour is unchanged. (markt) + Fix: Ensure that Tomcat sends a TLS close_notify message after receiving one from the client when using the OpenSSLImplementation. (markt) + Fix: 69301: Fix trailer headers replacing non-trailer headers when writing response headers to the access log. Based on a patch and test case provided by hypnoce. (markt) + Fix: 69302: If an HTTP/2 client resets a stream before the request body is fully written, ensure that any ReadListener is notified via a call to ReadListener.onErrror(). (markt) + Fix: Correct regressions in the refactoring that added recycling of the coyote request and response to the HTTP/2 processing. (markt) + Add: Add OpenSSL integration using the FFM API rather than Tomcat Native. OpenSSL support may be enabled by adding the org.apache.catalina.core.OpenSSLLifecycleListener listener on the Server element when using Java 22 or later. (remm) + Fix: Ensure that HTTP/2 stream input buffers are only created when there is a request body to be read. (markt) + Code: Refactor creation of HttpParser instances from the Processor level to the Protocol level since the parser configuration depends on the protocol and the parser is, otherwise, stateless. (markt) + Add: Align HTTP/2 with HTTP/1.1 and recycle the container internal request and response processing objects by default. This behaviour can be controlled via the new discardRequestsAndResponses attribute on the HTTP/2 upgrade protocol. (markt) * Jasper + Fix: Add back tag release method as deprecated in the runtime for compatibility with old generated code. (remm) + Fix: 69399: Fix regression caused by the improvement 69333 which caused the tag release to be called when using tag pooling, and to be skipped when not using it. Patch submitted by Michal Sobkiewicz. (remm) + Fix: 69381: Improve method lookup performance in expression language. When the required method has no arguments there is no need to consider casting or coercion and the method lookup process can be simplified. Based on pull request #770 by John Engebretson. + Fix: 69382: Improve the performance of the JSP include action by re-using results of relatively expensive method calls in the generated code rather than repeating them. Patch provided by John Engebretson. (markt) + Fix: 69398: Avoid unnecessary object allocation in PageContextImpl. Based on a suggestion by John Engebretson. (markt) + Fix: 69406: When using StringInterpreterEnum, do not throw an IllegalArgumentException when an invalid Enum is encountered. Instead, resolve the value at runtime. Patch provided by John Engebretson. (markt) + Fix: 69429: Optimise EL evaluation of method parameters for methods that do not accept any parameters. Patch provided by John Engebretson. (markt) + Fix: 69333: Remove unnecessary code from generated JSPs. (markt) + Fix: 69338: Improve the performance of processing expressions that include AND or OR operations with more than two operands and expressions that use not empty. (markt) + Fix: 69348: Reduce memory consumption in ELContext by using lazy initialization for the data structure used to track lambda arguments. (markt) + Fix: Switch the TldScanner back to logging detailed scan results at debug level rather than trace level. (markt) * Web applications + Fix: The manager webapp will now be able to access certificates again when OpenSSL is used. (remm) + Fix: Documentation. Align the logging configuration documentation with the current defaults. (markt) * WebSocket + Fix: If a blocking message write exceeds the timeout, don't attempt the write again before throwing the exception. (markt) + Fix: An EncodeException being thrown during a message write should not automatically cause the connection to close. The application should handle the exception and make the decision whether or not to close the connection. (markt) * jdbc-pool + Fix: 69255: Correct a regression in the fix for 69206 that meant exceptions executing statements were wrapped in a java.lang.reflect.UndeclaredThrowableException rather than the application seeing the original SQLException. Fixed by pull request #744 provided by Michael Clarke. (markt) + Fix: 69279: Correct a regression in the fix for 69206 that meant that methods that previously returned a null ResultSet were returning a proxy with a null delegate. Fixed by pull request #745 provided by Huub de Beer. (markt) + Fix: 69206: Ensure statements returned from Statement methods executeQuery(), getResultSet() and getGeneratedKeys() are correctly wrapped before being returned to the caller. Based on pull request [#742] provided by Michael Clarke. * Other + Update: Switch from DigiCert ONE to ssl.com eSigner for code signing. (markt) + Update: Update Byte Buddy to 1.15.10. (markt) + Update: Update CheckStyle to 10.20.0. (markt) + Add: Improvements to German translations. (remm) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by Ch_jp. (markt) + Add: Exclude the tomcat-coyote-ffm.jar from JAR scanning by default. (markt) + Fix: Change the default log handler level to ALL so log messages are not dropped by default if a logger is configured to use trace (FINEST) level logging. (markt) + Update: Update Hamcrest to 3.0. (markt) + Update: Update EasyMock to 5.4.0. (markt) + Update: Update Byte Buddy to 1.15.0. (markt) + Update: Update CheckStyle to 10.18.0. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.10.0. (markt) + Add: Improvements to Spanish translations by Fernando. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Fix: Fix packaging regression with missing osgi information following addition of the test-only build target. (remm) + Update: Update Tomcat Native to 1.3.1. (markt) + Update: Update Byte Buddy to 1.14.18. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt)- Adapt the scripts to run also with javapackages-tools >= 6.3- Fix build after removal of the default %%{java_home} define- Modified patch: * tomcat-9.0-osgi-build.patch + move the definition of bnd.classpath out of the setup-bnd task since it is one component in build.classpath- Update to Tomcat 9.0.91 * Fixed CVEs: + CVE-2024-34750: Improper handling of exceptional conditions (bsc#1227399) * Catalina + Fix: Allow JAASRealm to use the configuration source to load a configured configFile, for easier use with testing. (remm) + Fix: Add missing algorithm callback to the JAASCallbackHandler. (remm) + Fix: 69131: Expand the implementation of the filter value of the Authenticator attribute allowCorsPreflight, so that it applies to all requests that match the configured URL patterns for the CORS filter, rather than only applying if the CORS filter is mapped to /*. (markt) + Add: Add support for shallow copies when using WebDAV. (markt) + Code: Deprecate the WebdavFixFilter as it is no longer required. (markt) + Fix: 69066: Fix regression in SPNEGO authenticator when processing Base64. Submitted by Daniel Lyko. (remm) + Update: Update minimum recommended version of Tomcat Native to 1.3.0. Pull request #728 provided by Dimitrios Soumis. (markt) + Update: The system property org.apache.catalina.connector.RECYCLE_FACADES will now default to true if not specified, which will in turn set the default value for the discardFacades connector attribute, thus causing facade objects to be discarded by default. (remm) + Add: Add RealmBase.getPrincipal(GSSName, GSSCredential, GSSContext) for retrieving extended/additional information from an established GSS context. (michaelo) + Fix: Correct a regression in the fix for 68721 that caused some instances of LinkageError to be reported as ClassNotFoundException. (markt) + Fix: Ensure that static resources deployed via a JAR file remain accessible when the context is configured to use a bloom filter. Based on pull request #730 provided by bergander. (markt) + Add: Introduce reference counting so the AprLifecycleListener is more robust. This particularly targets more complex embedded configurations with multiple server instances with independent lifecycles where more than one server instance requires the AprLifecycleListener. (markt) + Update: Deprecate and remove sessionCounter (replaced by the addition of the active session count and the expired session count, as a reasonable approximation) and duplicates (which does not represent a possible event in current implementations) statistics from the session manager. (remm) + Fix: 68890 Align output encoding of JSPs in the Manager webapp with the XML declarations in those same files. (schultz) + Fix: Update Basic authentication to implement the requirements of RFC 7617 including the changing of the trimCredentials setting which is now defaults to false. Note that the trimCredentials setting will be removed in Tomcat 11. (markt) + Add: Small performance optimization when logging cookies with no values. (schultz) + Fix: Correct error handling for asynchronous requests. If the application performs an dispatch during AsyncListener.onError() the dispatch is now performed rather than completing the request using the error page mechanism. (markt) + Fix: Fix WebDAV lock null (locks for non existing resources) thread safety and removal. (remm) + Fix: Add periodic checking for WebDAV locks expiration. (remm) + Fix: Extend Asn1Parser to parse UTF8Strings. (michaelo) + Update: Add highConcurrencyStatus attribute to the SemaphoreValve to optionally allow the valve to return an error status code to the client when a permit cannot be acquired from the semaphore. (remm) + Add: Add checking of the "age" of the running Tomcat instance since its build-date to the SecurityListener, and log a warning if the server is old. (schultz) + Fix: When using the AsyncContext, throw an IllegalStateException, rather than allowing an NullPointerException, if an attempt is made to use the AsyncContext after it has been recycled. (markt) + Fix: Change the thread-safety mechanism for protecting StandardServer.services from a simple synchronized lock to a ReentrantReadWriteLock to allow multiple readers to operate simultaneously. Based upon a suggestion by Markus Wolfe. (schultz) + Fix: Improve Service connectors, Container children and Service executors access sync using a ReentrantReadWriteLock. (remm) + Fix: Improve handling of integer overflow if an attempt is made to upload a file via the Servlet API and the file is larger than Integer.MAX_VALUE. (markt) + Fix: 68862: Handle possible response commit when processing read errors. (remm) * Jasper + Fix: Update the optimisation in jakarta.el.ImportHandler so it is aware of new classes added to the java.lang package in Java 23. (markt) + Fix: Ensure that an exception in toString() still results in an ELException when an object is coerced to a String using ExpressionFactory.coerceToType(). (markt) + Add: Add support for specifying Java 24 (with the value 24) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that context relative includes are processed correctly. ( markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are processed correctly. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are are not permitted to access files outside of the /META_INF/tags/ directory nor outside of the JAR file. (markt) + Fix: 68546: Small additional optimisation for initial loading of Servlet code generated for JSPs. Based on a suggestion by Dan Armstrong. (markt) + Add: Add support for specifying Java 23 (with the value 23) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) + Fix: Handle the case where the JSP engine forwards a request/response to a Servlet that uses an OutputStream rather than a Writer. This was triggering an IllegalStateException on code paths where there was a subsequent attempt to obtain a Writer. (markt) + Fix: Correctly handle the case where a tag library is packaged in a JAR file and the web application is deployed as a WAR file rather than an unpacked directory. (markt) + Fix: Prevent the web application's ClassLoader from being pinned by the JSP compiler if an application uses a custom XMLInputFactory. Based upon a suggestion from Simon Niederberger. (schultz) * Web applications + Fix: Fix status servlet detailed view of the connectors when using automatic port. (remm) + Add: Add the ability to set a sub-title for the Manager web application main page. This is intended to allow users with lots of instances to easily distinguish them. Based on pull request #724 by Simon Arame. (markt) + Fix: Examples: Improve performance of WebSocket chat application when multiple clients disconnect at the same time. (markt) + Update: Examples: Increase the number of previous messages displayed when using the WebSocket chat application. (markt) + Fix: Examples: Improve performance of WebSocket snake application when multiple clients disconnect at the same time. (markt) * Coyote + Fix: Improve the algorithm used to identify the IP address to use to unlock the acceptor thread when a Connector is listening on all local addresses. Interfaces that are configured for point to point connections or are not currently up are now skipped. (markt) + Fix: 69121: Ensure that the onComplete() event is triggered if AsyncListener.onError() dispatches to a target that throws an exception. (markt) + Fix: Following the trailer header field refactoring, -1 is no longer an allowed value for maxTrailerSize. Adjust documentation accordingly. (remm) + Fix: 69068: Ensure read timouts are triggered for asynchronous, non-blocking reads when using HTTP/2. (markt) + Update: 69133: Add task queue size configuration on the Connector element, similar to the Executor element, for consistency. (remm) + Fix: Make counting of active HTTP/2 streams per connection more robust. (markt) + Add: Add support for TLS 1.3 client initiated re-keying. (markt) + Fix: Align non-secure and secure writes with NIO and skip the write attempt when there are no bytes to be written. (markt) + Fix: Allow any positive value for socket.unlockTimeout. If a negative or zero value is configured, the default of 250ms will be used. (mark) + Fix: Reduce the time spent waiting for the connector to unlock. The previous default of 10s was noticeably too long for cases where the unlock has failed. The wait time is now 100ms plus twice socket.unlockTimeout. (markt) + Fix: Ensure that the onAllDataRead() event is triggered when the request body uses chunked encoding and is read using non-blocking IO. (markt) + Fix: 68934: Add debug logging in the latch object when exceeding maxConnections. (remm) + Fix: Refactor trailer field handling to use a MimeHeaders instance to store trailer fields. (markt) + Fix: Ensure that multiple instances of the same trailer field are handled correctly. (markt) + Fix: Fix non-blocking reads of chunked request bodies. (markt) + Fix: When an invalid HTTP response header was dropped, an off-by-one error meant that the first header in the response was also dropped. Fix based on pull request #710 by foremans. (markt) + Fix: Add threadsMaxIdleTime attribute to the endpoint, to allow configuring the amount of time before an internal executor will scale back to the configured minSpareThreads size. (remm) * WebSocket + Fix: 68884: Reduce the write timeout when writing WebSocket close messages for abnormal closes. The timeout defaults to 50 milliseconds and may be controlled using the org.apache.tomcat.websocket.ABNORMAL_SESSION_CLOSE_SEND_TIMEOUT property in the user properties collection associated with the WebSocket session. (markt) * Other + Update: Add test-only build target to allow running only the testsuite, supporting Java versions down to the minimum supported to run Tomcat. (rjung) + Update: Update UnboundID to 7.0.1. (markt) + Update: Update to SpotBugs 4.8.6. (markt) + Update: Remove cglib dependency as it is not required by the version of EasyMock used by the unit tests. (markt) + Update: Update EasyMock to 5.3.0. This adds a test dependency on Byte-Buddy 1.14.17. (markt) + Add: Improvements to Czech translations by Vladimír Chlup. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by fangzheng. (markt) + Update: Revert Derby to 10.16.1.1 as that is the latest version of Derby that runs on Java 17. (markt) + Update: Update to Commons Daemon 1.4.0. (markt) + Update: Update to Objenesis 3.4. (markt) + Update: Update to Checkstyle 10.17.0. (markt) + Update: Update to SpotBugs 4.8.5. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Switch to using the Base64 encoder and decoder provided by the JRE rather than the version provided by Commons Codec. The internal fork of Commons Codec has been deprecated and will be removed in Tomcat 11. (markt) + Update: Update NSIS to 3.10. (mark0t) + Update: Update UnboundID to 7.0.0. (markt) + Update: Update Checkstyle to 10.16.0. (markt) + Update: Update JaCoCo to 0.8.12. (markt) + Update: Update SpotBugs to 4.8.4. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.9.0. (markt) + Update: Update the internal fork of Apache Commons DBCP to 2.12.0. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Update Checkstyle to 10.14.1. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.8.2. (markt) + Update: Update the internal fork of Apache Commons Codec to 1.16.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (remm) + Add: Improvements to Chinese translations by leeyazhou. (remm) - Modified patch: * tomcat-9.0-build-with-java-11.patch + rediff to changed context- Update to Tomcat 9.0.87 * Fixed CVEs: + CVE-2024-24549: Improved request header validation for HTTP/2 stream (bsc#1221386) + CVE-2024-23672: Ensure that WebSocket connection closure completes if the connection is closed when the server side has used the proprietary suspend/resume feature to suspend the connection (bsc#1221385) * Catalina + Fix: Minor performance improvement for building filter chains. Based on ideas from #702 by Luke Miao. (remm) + Fix: Align error handling for Writer and OutputStream. Ensure use of either once the response has been recycled triggers a NullPointerException provided that discardFacades is configured with the default value of true. (markt) + Fix: 68692: The standard thread pool implementations that are configured using the Executor element now implement ExecutorService for better support NIO2. (remm) + Fix: 68495: When restoring a saved POST request after a successful FORM authentication, ensure that neither the URI, the query string nor the protocol are corrupted when restoring the request body. (markt) + Fix: 68721: Workaround a possible cause of duplicate class definitions when using ClassFileTransformers and the transformation of a class also triggers the loading of the same class. (markt) + Fix: The rewrite valve should not do a rewrite if the output is identical to the input. (remm) + Update: Add a new valveSkip (or VS) rule flag to the rewrite valve to allow skipping over the next valve in the Catalina pipeline. (remm) + Fix: Correct JPMS and OSGi meta-data for tomcat-enbed-core.jar by removing reference to org.apache.catalina.ssi package that is no longer included in the JAR. Based on pull request #684 by Jendrik Johannes. (markt) + Fix: Fix ServiceBindingPropertySource so that trailing \r\n sequences are correctly removed from files containing property values when configured to do so. Bug identified by Coverity Scan. (markt) + Add: Add improvements to the CSRF prevention filter including the ability to skip adding nonces for resource name and subtree URL patterns. (schultz) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) + Fix: 68089: Further improve the performance of request attribute access for ApplicationHttpRequest and ApplicationRequest. (markt) + Fix: 68559: Allow asynchronous error handling to write to the response after an error during asynchronous processing. (markt) * Coyote + Fix: Improve the HTTP/2 stream prioritisation process. If a stream uses all of the connection windows and still has content to write, it will now be added to the backlog immediately rather than waiting until the write attempt for the remaining content. (markt) + Fix: Make asynchronous error handling more robust. Ensure that once a connection is marked to be closed, further asynchronous processing cannot change that. (markt) + Fix: Make asynchronous error handling more robust. Ensure that once the call to AsyncListener.onError() has returned to the container, only container threads can access the AsyncContext. This protects against various race conditions that woudl otherwise occur if application threads continued to access the AsyncContext. + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. In particular, most of the HTTP/2 debug logging has been changed to trace level. (remm) + Fix: Add support for user provided SSLContext instances configured on SSLHostConfigCertificate instances. Based on pull request #673 provided by Hakan Altındağ. (markt) + Fix: Improve the Tomcat Native shutdown process to reduce the likelihood of a JVM crash during Tomcat shutdown. (markt) + Fix: Partial fix for 68558: Cache the result of converting to String for request URI, HTTP header names and the request Content-Type value to improve performance by reducing repeated byte[] to String conversions. (markt) + Fix: Improve error reporting to HTTP/2 clients for header processing errors by reporting problems at the end of the frame where the error was detected rather than at the end of the headers. (markt) + Fix: Remove the remaining reference to a stream once the stream has been recycled. This makes the stream eligible for garbage collection earlier and thereby improves scalability. (markt) * Jasper + Add: Add support for specifying Java 22 (with the value 22) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) + Fix: 68546: Generate optimal size and types for JSP imports maps, as suggested by John Engebretson. (remm) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) * Cluster + Fix: Avoid updating request count stats on async. (remm) * WebSocket + Fix: Correct a regression in the fix for 66508 that could cause an UpgradeProcessor leak in some circumstances. (markt) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) + Fix: Ensure that WebSocket connection closure completes if the connection is closed when the server side has used the proprietary suspend/resume feature to suspend the connection. (markt) * Web applications + Add: Add support for responses in JSON format from the examples application RequestHeaderExample. (schultz) * Other + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Update Checkstyle to 10.13.0. (markt) + Update: Update JSign to 6.0. (markt) + Update: Add strings for debug level messages. (remm) + Update: Update Tomcat Native to 1.3.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt)- Add missing Requires(post): util-linux to have runuser into post- Add %%systemd_ordering to packages with systemd unit files, so that the order is the right one if those packages find themselves in the same transaction with systemd- Link ecj.jar into the install instead of copying it- rpm 4.19 requires dependencies on tomcat user and group (bsc#1219530)- Fixed CVEs: * CVE-2024-22029: run xsltproc as tomcat group (bsc#1219208)- Update to Tomcat 9.0.85 * Fixed CVEs: + CVE-2023-46589: Apache Tomcat: HTTP request smuggling due to incorrect headers parsing (bsc#1217649) * Catalina + Update: 68378: Align extension to MIME type mappings in the global web.xml with those in httpd by adding application/vnd.geogebra.slides for ggs, text/javascript for mjs and audio/ogg for opus. (markt) + Fix: Background processes should not be run concurrently with lifecycle operations of a container. (remm) + Fix: Correct unintended escaping of XML in some WebDAV responses. The XML list of support locks when provided in response to a PROPFIND request was incorrectly XML escaped. (markt) + Fix: 68227: Ensure that AsyncListener.onComplete() is called if AsyncListener.onError() calls AsyncContext.dispatch(). (markt) + Fix: 68228: Use a 408 status code if a read timeout occurs during HTTP request processing. Includes a test case based on code provided by adwsingh. (markt) + Fix: 67667: TLSCertificateReloadListener prints unreadable rendering of X509Certificate#getNotAfter(). (michaelo) + Update: The status servlet included in the manager webapp can now output statistics as JSON, using the JSON=true URL parameter. (remm) + Update: Optionally allow ServiceBindingPropertySource to trim a trailing newline from a file containing a property-value. (schultz) + Fix: 67793: Ensure the original session timeout is restored after FORM authentication if the user refreshes a page during the FORM authentication process. Based on a suggestion by Mircea Butmalai. (markt) + Update: 67926: PEMFile prints unidentifiable string representation of ASN.1 OIDs. (michaelo) + Fix: 66875: Ensure that setting the request attribute jakarta.servlet.error.exception is not sufficient to trigger error handling for the current request and response. (markt) + Fix: 68054: Avoid some file canonicalization calls introduced by the fix for 65433. (remm) + Fix: 68089: Improve performance of request attribute access for ApplicationHttpRequest and ApplicationRequest. (markt) + Fix: Use a 400 status code to report an error due to a bad request (e.g. an invalid trailer header) rather than a 500 status code. (markt) + Fix: Ensure that an IOException during the reading of the request triggers always error handling, regardless of whether the application swallows the exception. (markt) * Coyote + Fix: Refactor the VirtualThreadExecutor so that it can be used by the NIO2 connector which was using platform threads even when configured to use virtual threads. (markt) + Fix: Correct a regression in the fix for 67675 that broke TLS key file parsing for PKCS#8 format keys that do not specify an explicit pseudo-random function and rely on the default. This typically affects keys generated by OpenSSL 1.0.2. (markt) + Fix: Allow multiple operations with the same name on introspected mbeans, fixing a regression caused by the introduction of a second addSslHostConfig method. (remm) + Fix: Relax the check that the HTTP Host header is consistent with the host used in the request line, if any, to make the check case insensitive since host names are case insensitive. (markt) + Add: 68348: Add support for the partitioned attribute for cookies. (markt) + Add: 66670: Add SSLHostConfig#certificateKeyPasswordFile and SSLHostConfig#certificateKeystorePasswordFile. (michaelo) + Add: When calling SSLHostConfigCertificate.setCertificateKeystore(ks), automatically call setCertificateKeystoreType(ks.getType()). (markt) + Fix: 67628: Clarify how the ciphers attribute of the SSLHostConfig is used. (markt) + Fix: 67666: Ensure TLS connectors using PEM files either work with the TLSCertificateReloadListener or, in the rare case that they do not, log a warning on Connector start. (markt) + Fix: 67675: Support a wider range of KDF and ciphers for PEM files than the combinations supported by the JVM by default. Specifically, support the OpenSSL default of HmacSHA256 and DES-EDE3-CBC. (markt) + Fix: 67927: Reloading TLS configuration can cause the Connector to refuse new connections or the JVM to crash. (markt) + Fix: 67934: If both Tomcat Native 1.2.x and 2.0.x are available, prefer 1.2.x since it supports the APR/Native connector whereas 2.0.x does not. (markt) + Fix: 67938: Correct handling of large TLS client hello messages that were causing the TLS handshake to fail. (markt) + Fix: 68026: Convert selected MessageByte values to String when first accessed to speed up subsequent accesses and reduce garbage collection. (markt) * Jasper + Code: 68119: Refactor the CompositeELResolver to improve performance during type conversion operations. (markt) + Fix: 68068: Performance improvement for EL. Based on a suggestion by John Engebretson. (markt) * Web Applications + Fix: 68035: Additional fix to the Manager application to enable the deployment of a web application located in a Host's appBase where the web application is specified by a bare (no path) WAR or directory name as shown in the documentation. (markt) + Fix: Examples. Improve the error handling so snakes associated with a user that drops from the network are removed from the game. (markt) + Fix: 68035: Correct a regression in the fix for 56248 that prevented deployment via the Manager of a WAR or directory that was already present in the appBase or a context file that was already present in the xmlBase. (markt) * Other + Update: Update Checkstyle to 10.12.7. (markt) + Update: Update SpotBugs to 4.8.3. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Update UnboundID to 6.0.11. (markt) + Update: Update Checkstyle to 10.12.5. (markt) + Update: Update SpotBugs to 4.8.2. (markt) + Update: Update Derby to 10.17.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Brazilian Portuguese translations by John William Vicente. (markt) + Add: Improvements to Russian translations by usmazat and remm. (markt) + Add: 67538: Make use of Ant's task to enfore the mininum Java build version. (michaelo) + Update: Update Checkstyle to 10.12.4. (markt) + Update: Update JaCoCo to 0.8.11. (markt) + Update: Update SpotBugs to 4.8.0. (markt) + Update: Update BND to 7.0.0. (markt) + Update: The minimum Java version required to build Tomcat has been raised to Java 17. (markt) - Added patches: * tomcat-9.0-build-with-java-11.patch- change server.xml during %post instead of %posttrans- Fix server.xml permission (bsc#1217768, bsc#1217402) - remove serverxmltool and use xsltproc- replace prep setup and patches macro with autosetup- Update to Tomcat 9.0.82 * Fixed CVEs: + CVE-2023-45648: Improve trailer header parsing (bsc#1216118) + CVE-2023-42794: FileUpload: remove tmp files to avoid DoS on Windows (bsc#1216120) + CVE-2023-42795: Improve handling of failures during recycle() methods (bsc#1216119) * Catalina + Add: 65770: Provide a lifecycle listener that will automatically reload TLS configurations a set time before the certificate is due to expire. This is intended to be used with third-party tools that regularly renew TLS certificates. + Fix: Fix handling of an error reading a context descriptor on deployment. + Fix: Fix rewrite rule qsd (query string discard) being ignored if qsa was also use, while it should instead take precedence. + Fix: 67472: Send fewer CORS-related headers when CORS is not actually being engaged. + Add: Improve handling of failures within recycle() methods. * Coyote + Fix: 67670: Fix regression with HTTP compression after code refactoring. + Fix: 67198: Ensure that the AJP connector attribute tomcatAuthorization takes precedence over the tomcatAuthentication attribute when processing an auth_type attribute received from a proxy server. + Fix: 67235: Fix a NullPointerException when an AsyncListener handles an error with a dispatch rather than a complete. + Fix: When an error occurs during asynchronous processing, ensure that the error handling process is only triggered once per asynchronous cycle. + Fix: Fix logic issue trying to match no argument method in IntropectionUtil. + Fix: Improve thread safety around readNotify and writeNotify in the NIO2 endpoint. + Fix: Avoid rare thread safety issue accessing message digest map. + Fix: Improve statistics collection for upgraded connections under load. + Fix: Align validation of HTTP trailer fields with standard fields. + Fix: Improvements to HTTP/2 overhead protection (bsc#1216182, CVE-2023-44487) * jdbc-pool + Fix: 67664: Correct a regression in the clean-up of unnecessary use of fully qualified class names in 9.0.81 that broke the jdbc-pool. * Jasper + Fix: 67080: Improve performance of EL expressions in JSPs that use implicit objects- Update to Tomcat 9.0.80 * Catalina + Add RateLimitFilter which can be used to mitigate DoS and Brute Force attacks + Move the management of the utility executor from the init()/destroy() methods of components to the start()/stop() methods. + Add org.apache.catalina.core.StandardVirtualThreadExecutor, a virtual thread based executor that may be used with one or more Connectors to process requests received by those Connectors using virtual threads. This Executor requires a minimum Java version of Java 21. + 66513: Add a per session Semaphore to the PersistentValve that ensures that, within a single Tomcat instance, there is no more than one concurrent request per session. Also expand the debug logging to include whether a request bypasses the Valve and the reason if a request fails to obtain the per session Semaphore. + 66609: Ensure that the default servlet correctly escapes file names in directory listings when using XML output. + 66618: Add a numeric last modified field to the XML directory listings produced by the default servlet to enable sorting in the XSLT. + 66621: Attempts to lock a collection with WebDAV may incorrectly fail if a child collection has an expired lock. + 66622: Deprecate the xssProtectionEnabled setting from the HttpHeaderSecurityFilter and change the default value to false as support for the associated HTTP header has been removed from all major browsers. + 59232: Add org.apache.catalina.core.ContextNamingInfoListener, a listener which creates context naming information environment entries. + 66665: Add org.apache.catalina.core.PropertiesRoleMappingListener, a listener which populates the context's role mapping from a properties file. + Fix an edge case where intra-web application symlinks would be followed if the web applications were deliberately crafted to allow it even when allowLinking was set to false. + Add utility config file resource lookup on Context to allow looking up resources from the webapp (prefixed with webapp:) and make the resource lookup API more visible. + Fix potential database connection leaks in DataSourceUserDatabase identified by Coverity Scan. + Make parsing of ExtendedAccessLogValve patterns more robust. + Fix failure trying to persist configuration for an internal credential handler. + 66680: When serializing a session during the session presistence process, do not log a warning that null Principals are not serializable. + Catch NamingException in JNDIRealm#getPrincipal. It is used in Java up to 17 to signal closed connections. + 66822: Use the same naming format in log messages for Connector instances as the associated ProtocolHandler instance. + The parts count should also lower the actual maxParameterCount used for parsing parameters if parts are parsed first. + If an application or library sets both a non-500 error code and the javax.servlet.error.exception request attribute, use the provided error code during error page processing rather than assuming an error code of 500. + Update code comments and Tomcat output to use MiB for 1024 * 1024 bytes and KiB for 1024 bytes rather than MB and kB. + Avoid protocol relative redirects in FORM authentication (CVE-2023-41080, bsc#1214666). * Coyote + Update the HTTP/2 implementation to use the prioritization scheme defined in RFC 9218 rather than the one defined in RFC 7540. + 66602: not sending WINDOW_UPDATE when dataLength is ZERO on call SwallowedDataFramePayload. + 66627: Restore the documented behaviour of MessageBytes.getType() that it returns the type of the original content rather than reflecting the most recent conversion. + 66635: Correct certificate logging on start-up so it differentiates between keystore based keys/certificates and PEM file based keys/certificates and logs the relevant information for each. + Refactor blocking reads and writes for the NIO connector to remove code paths that could allow a notification from the Poller to be missed resuting in a timeout rather than the expected read or write. + Refactor waiting for an HTTP/2 stream or connection window update to handle spurious wake-ups during the wait. + Correct a regression introduced in 9.0.78 and use the correct constant when constructing the default value for the certificateKeystoreFile attribute of an SSLHostConfigCertificate instance. + Refactor HTTP/2 implementation to reduce pinning when using virtual threads. + Pass through ciphers referring to an OpenSSL profile, such as PROFILE=SYSTEM instead of producing an error trying to parse it. + 66841: Ensure that AsyncListener.onError() is called after an error during asynchronous processing with HTTP/2. + 66842: When using asynchronous I/O (the default for NIO and NIO2), include DATA frames when calculating the HTTP/2 overhead count to ensure that connections are not prematurely terminated. + Correct a race condition that could cause spurious RST messages to be sent after the response had been written to an HTTP/2 stream. * WebSocket + 66548: Expand the validation of the value of the Sec-Websocket-Key header in the HTTP upgrade request that initiates a WebSocket connection. The value is not decoded but it is checked for the correct length and that only valid characters from the base64 alphabet are used. + Improve handling of error conditions for the WebSocket server, particularly during Tomcat shutdown. + Correct a regression in the fix for 66574 that meant the WebSocket session could return false for onOpen() before the onClose() event had been completed. + 66681: Fix a NullPointerException when flushing batched messages with compression enabled using permessage-deflate. * Web applications + Documentation. Expand the security guidance to cover the embedded use case and add notes on the uses made of the java.io.tmpdir system property. + 66662: Documentation. Fix a typo in the name of the algorithms attribute in the configuration section for the Digest authentication value. + Documentation. Update documentation to use MiB for 1024 * 1024 bytes and KiB for 1024 bytes rather than MB and kB. * jdbc-pool + Fix the releaseIdleCounter does not increment when testAllIdle releases them. + Fix the ConnectionState state will be inconsistent with actual state on the connection when an exception occurs while writing. * Other + Update to Commons Daemon 1.3.4. + Improvements to French translations. + Update Checkstyle to 10.12.0. + Update the packaged version of the Apache Tomcat Native Library to 1.2.37 to pick up the Windows binaries built with with OpenSSL 1.1.1u. + Include the Windows specific binary distributions in the files uploaded to Maven Central. + Improvements to French translations. + Improvements to Japanese translations. + Update UnboundID to 6.0.9. + Update Checkstyle to 10.12.1. + Update BND to 6.4.1. + Update JSign to 5.0. + Correct properties for JSign dependency. + Align documentation for maxParameterCount to match hard-coded defaults. + Update NSIS to 3.0.9. + Update Checkstyle to 10.12.2. + Improvements to French translations. + Improvements to Japanese translations. + 66829: Fix quoting so users can use the _RUNJAVA environment variable as intended on Windows when the path to the Java executable contains spaces. + Update Tomcat Native to 1.2.38 to pick up Windows binaries built with OpenSSL 1.1.1v. + Improvements to Chinese translations. + Improvements to French translations. + Improvements to Japanese translations - Removed patch: * tomcat-9.0.75-CVE-2023-41080.patch + integrated in this version- Fixed CVEs: * CVE-2023-41080: Avoid protocol relative redirects in FORM authentication. (bsc#1214666) - Added patches: * tomcat-9.0.75-CVE-2023-41080.patch- Modified patch: * tomcat-9.0-osgi-build.patch + make it more robust to change in number of artifacts in bnd + do not enumerate jars, just take all jars from the aqute-bnd directory into the classpath- Require(pre) shadow because groupadd is needed early- Update to Tomcat 9.0.75. * See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.75_(markt) * Fixes: + bsc#1211608, CVE-2023-28709 + bsc#1208513, CVE-2023-24998 (previous incomplete fix) - Remove patches: * tomcat-9.0-CVE-2021-30640.patch * tomcat-9.0-CVE-2021-33037.patch * tomcat-9.0-CVE-2021-41079.patch * tomcat-9.0-CVE-2022-23181.patch * tomcat-9.0-NPE-JNDIRealm.patch * tomcat-9.0-hardening_getResources.patch * tomcat-9.0.43-CVE-2021-43980.patch * tomcat-9.0.43-CVE-2022-42252.patch * tomcat-9.0.43-CVE-2022-45143.patch * tomcat-9.0.43-CVE-2023-24998.patch * tomcat-9.0.43-CVE-2023-28708.patch + integrated in this version * tomcat-9.0.43-java8compat.patch + problem with Java 8 compatibility solved in this version - Modified patch: * tomcat-9.0.31-secretRequired-default.patch - > tomcat-9.0.75-secretRequired-default.patch + rediffed to changed context * tomcat-9.0-javadoc.patch + drop integrated hunks * tomcat-9.0-osgi-build.patch + fix to work with current version - Added patch: * tomcat-9.0-jdt.patch + fix build against our ecj- Fixed CVEs: * CVE-2022-45143: JsonErrorReportValve: add escape for type, message or description (bsc#1206840) - Added patches: * tomcat-9.0.43-CVE-2022-45143.patch- Fixed CVEs: * CVE-2023-28708: tomcat: not including the secure attribute causes information disclosure (bsc#1209622) - Added patches: * tomcat-9.0.43-CVE-2023-28708.patch- Fixed CVEs: * CVE-2023-24998: tomcat,tomcat6: FileUpload DoS with excessive parts (bsc#1208513) - Added patches: * tomcat-9.0.43-CVE-2023-24998.patch- set logrotate for localhost.log, manager.log, host-manager.log and localhost_access_log.txt - use logrotate for catalina.out * update tomcat-serverxml-tool and spec to configure server.xml - Added patch: * tomcat-9.0-logrotate_everything.patch * tomcat-serverxml-tool.tar.gz - Removed: * tomcat-serverxml-tool-1.0.tar.gz- Use catalina.out for logging (bsc#1205647) - Added patches: * tomcat-9.0-fix_catalina.patch- Fixed CVEs: * CVE-2022-42252: reject invalid content-length requests. (bsc#1204918) - Added patches: * tomcat-9.0.43-CVE-2022-42252.patch- Fixed CVEs: * CVE-2021-43980: Improve the recycling of Processor objects to make it more robust. (bsc#1203868) - Added patches: * tomcat-9.0.43-CVE-2021-43980.patch- Do not hardcode /usr/libexec but use %%_libexecdir during the build * Fixes for platforms, where /usr/libexec and %%_libexecdir are different- Fix bsc#1201081 by building with release=8 all files that can be built this way. The one file remaining, build it with source=8 and target=8 - Modified patch: * tomcat-9.0.43-java8compat.patch + Do not cast ByteBuffer to Buffer to call the Java 8 compatible methods. Build with release=8 instead- Security hardening. Deprecate getResources() and always return null. (bsc#1198136) - Added patch: tomcat-9.0-hardening_getResources.patch- Remove dependency on log4j/reload4j completely (bsc#1196137)- Do not build against the log4j12 packages, use the new reload4j- Fixed CVEs: * CVE-2022-23181: Make calculation of session storage location more robust (bsc#1195255) - Added patches: * tomcat-9.0-CVE-2022-23181.patch- remove instance units from post scripts, they can not be reloaded- Fix NPE in JNDIRealm, when userRoleAttribute is not set (bsc#1193569) - Added patch: * tomcat-9.0-NPE-JNDIRealm.patch- Modified patch: * tomcat-9.0-osgi-build.patch + account for biz.aQute.bnd.ant artifact in aqute-bnd >= 5.2.0- Fixed CVEs: * CVE-2021-30640: Escape parameters in JNDI Realm queries (bsc#1188279) * CVE-2021-33037: Process T-E header from both HTTP 1.0 and HTTP 1.1. clients (bsc#1188278) - Added patches: * tomcat-9.0-CVE-2021-30640.patch * tomcat-9.0-CVE-2021-33037.patch- Fixed CVEs: * CVE-2021-41079: Validate incoming TLS packet (bsc#1190558) - Added patches: * tomcat-9.0-CVE-2021-41079.patch- Update to Tomcat 9.0.43. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.43_(markt) - Removed Patches because fixed upstream now: * tomcat-9.0-CVE-2021-25122.patch * tomcat-9.0-CVE-2021-25329.patch - Rebased patch: tomcat-9.0.39-java8compat.patch -> tomcat-9.0.43-java8compat.patch- Update to Tomcat 9.0.41. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.41_(markt)- Update to Tomcat 9.0.40. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.40_(markt) - Removed Patches because fixed upstream now: * tomcat-9.0-CVE-2020-17527.patch * tomcat-9.0-CVE-2021-24122.patch- Fixed CVEs: * CVE-2021-25122: Apache Tomcat h2c request mix-up (bsc#1182912) * CVE-2021-25329: Complete fix for CVE-2020-9484 (bsc#1182909) - Added patches: * tomcat-9.0-CVE-2021-25122.patch * tomcat-9.0-CVE-2021-25329.patch- Log if file access is blocked due to symlinks: CVE-2021-24122 (bsc#1180947) - Added patch: * tomcat-9.0-CVE-2021-24122.patch- Update to Tomcat 9.0.39. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.39_(markt) - Rebased patches: * tomcat-9.0.38-java8compat.patch -> tomcat-9.0.39-java8compat.patch- Update to Tomcat 9.0.38. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.38_(markt) - Rebased patches: * tomcat-9.0.37-java8compat.patch -> tomcat-9.0.38-java8compat.patch - Removed tomcat-9.0-CVE-2020-13943.patch because that fix is upstream now- Update to Tomcat 9.0.37. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.37_(markt) - Fixed CVEs: * CVE-2020-13934 (bsc#1174121) * CVE-2020-13935 (bsc#1174117) - Rebased patches: * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch -> tomcat-9.0.37-java8compat.patch- Fix HTTP/2 request header mix-up: CVE-2020-17527 (bsc#1179602) - Added patch: * tomcat-9.0-CVE-2020-17527.patch- Add source url for tomcat-serverxml-tool - Fix typo in tomcat-webapps %postun that caused /examples context to remain in server.xml when package was removed - Remove tomcat-9.0.init and /usr/lib/tmpfiles.d/tomcat.conf from package. They're not used anymore becuse of systemd (bsc#1178396)- Fix tomcat-servlet-4_0-api package alternatives to use /usr/share/java/servlet.jar instead of /usr/share/java/tomcat-servlet.jar. Keep /usr/share/java/tomcat-servlet.jar symlink for compatibility. (bsc#1092163) - Change default file ownership in tomcat-webapps from tomcat:tomcat to root:tomcat- Fix CVE-2020-13943 (bsc#1177582) - Added patch: * tomcat-9.0-CVE-2020-13943.patch - Change /usr/lib/tomcat to /usr/libexec/tomcat in startup scripts (bsc#1177601)- Replace old specfile constructs. Remove support for SUSE 11.x. - Drop %systemd_requires, which is considered a no-op. - Trim redundant license mention from description. - Make documentation noarch. - Do not suppress errors from useradd.- Avoid hardcoding /usr/lib as libexecdir- Don't give write permissions for the tomcat group on files and directories where it's not needed (bsc#1172562) - Change tomcat.pid location from /var/run to /run (bsc#1173103) - Use the /sbin/nologin shell when creating the tomcat user - Use %tmpfiles_create macro in %post instead of calling systemd-tmpfiles directly- Update to Tomcat 9.0.36. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.36_(markt) - Fixed CVEs: CVE-2020-11996 (bsc#1173389)- Update to Tomcat 9.0.35. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.35_(markt) - Fixed CVEs: - CVE-2020-9484 (bsc#1171928) - Rebased patches: * tomcat-9.0-javadoc.patch * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch- Update to Tomcat 9.0.34. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.34_(markt) - Notable changes: * Add support for default values when using ${...} property replacement in configuration files. Based on a pull request provided by Bernd Bohmann. * When configuring an HTTP Connector, warn if the encoding specified for URIEncoding is not a superset of US-ASCII as required by RFC 7230. * Replace the system property org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH with the Connector attribute encodedSolidusHandling that adds an additional option to pass the %2f sequence through to the application without decoding it in addition to rejecting such sequences and decoding such sequences.- Update to Tomcat 9.0.33. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.33_(markt) - Notable fix: corrected a regression in the improvements to HTTP header parsing (bsc#1167438) - Rebased patches: * tomcat-9.0-javadoc.patch * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch- Change default value of AJP connector secretRequired to false - Added patch: * tomcat-9.0.31-secretRequired-default.patch- Update to Tomcat 9.0.31. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.30_(markt) - Fixed CVEs: * CVE-2019-17569 (bsc#1164825) * CVE-2020-1935 (bsc#1164860) * CVE-2020-1938 (bsc#1164692) - Modified patch * tomcat-9.0.30-java8compat.patch - > tomcat-9.0.31-java8compat.patch + Adapt to changed context- Modified patch: * tomcat-9.0.30-java8compat.patch + add missing casts (bsc#1162081)- Change back the build to build with any Java >= 1.8 - Added patch: * tomcat-9.0.30-java8compat.patch + Cast java.nio.ByteBuffer and java.nio.CharBuffer to java.nio.Buffer in order to avoid calling Java 9+ APIs (functions with co-variant return types) - Renamed patch: * tomcat-9.0-disable-osgi-build.patch - > tomcat-9.0-osgi-build.patch + Do not disable, but fix OSGi build since we have now aqute-bnd- Change build to always use Java 1.8 (bsc#1161025).- Update to Tomcat 9.0.30. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.30_(markt) - Fixed CVEs: - CVE-2019-0221 (bsc#1136085) - CVE-2019-10072 (bsc#1139924) - CVE-2019-12418 (bsc#1159723) - CVE-2019-17563 (bsc#1159729) - Removed patch: * tomcat-9.0-JDTCompiler-java.patch + It was not applied- Update to Tomcat 9.0.27. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.27_(markt) - Uset aqute-bnd to generate OSGi manifest, since we have that package now in openSUSE:Factory - Removed patch: * tomcat-9.0-disable-osgi-build.patch + not needed- Add maven pom files for tomcat-jni and tomcat-jaspic-api- Distribute the pom file also for tomcat-util-scan artifact- Build against compatibility log4j12 package- Adapt to the new ecj directory layout- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Update to Tomcat 9.0.20. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.20_(markt) - increase maximum number of threads and open files for tomcat (bsc#1111966)- Update to Tomcat 9.0.19. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.19_(markt) Notable packaging changes: - File /usr/share/java/tomcat/catalina-jmx-remote.jar was removed. The classes contained in this jar were merged into /usr/share/java/tomcat/catalina.jar. - Fixed CVEs: - CVE-2019-0199 (bsc#1131055) - Rebased patch: - tomcat-9.0-JDTCompiler-java.patch - tomcat-9.0-javadoc.patch- Build classpath directly with the geronimo jars instead of with symlinks to them- Don't overwrite changes made to server.xml contexts when updating bundled webapps.- Set javac target to 1.8 when building docs samples and serverxmltool- Move webapps bundled with Tomcat to /usr/share/tomcat/tomcat-webapps (bsc#1092341). Affected packages: - tomcat-webapps - tomcat-admin-webapps - tomcat-docs-webapp - Remove %doc directive from tomcat-docs-webapps files section so that zypper installs files even if rpm.install.excludedocs is set to yes.- Require Java 1.8 or later (bsc#1123407)- Clean up OSGi manifest injection - Put embed maven metadata into embed subpackage - Use the .mfiles* lists generated by %%add_maven_depmap macro- Fix tomcat-tool-wrapper classpath error (bsc#1120745)- Fix tomcat-digest classpath error (bsc#1120745)- Update to Tomcat 9.0.14. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.14_(markt)- Add pom files for tomcat-jdbc and tomcat-dbcp - Add org.eclipse.jetty.orbit* aliases to correspondant artifacts- Update to Tomcat 9.0.13. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.13_(markt)- Update to Tomcat 9.0.12. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.12_(markt) - Fixed CVEs: - CVE-2018-11784 (bsc#1110850) - Rebased patches: - tomcat-9.0-disable-osgi-build.patch - tomcat-9.0-javadoc.patch - tomcat-9.0-sle.catalina.policy.patch - tomcat-9.0-tomcat-users-webapp.patch- Declare following files to config(noreplace) to prevent override access rights: - host-manager/META-INF/context.xml - manager/META-INF/context.xml- Empty tomcat-9.0.sysconfig to avoid overwriting of customer's configuration during update (bsc#1067720)- Update to Tomcat 9.0.10. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.10_(markt) - Fixed CVEs: - CVE-2018-1336 (bsc#1102400) - CVE-2018-8014 (bsc#1093697) - CVE-2018-8034 (bsc#1102379) - CVE-2018-8037 (bsc#1102410) - Rebased patch tomcat-9.0-JDTCompiler-java.patch - Added patch tomcat-9.0-disable-osgi-build.patch to disable adding OSGi metadata to JAR files- Update to Tomcat 9.0.5. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.5_(markt)- Modified patch: * tomcat-9.0-javadoc.patch + Don't append to javadoc --add-modules since we are building with source=8 + Avoid accessing Internet URLs from build environment- Update to Tomcat 9.0.2: * Major update for tomcat8 from tomcat9 * For full changelog please read upstream changes at: + http://tomcat.apache.org/tomcat-9.0-doc/changelog.html * Rename all tomcat-8.0-* files to tomcat-9.0-* - Changed patches: * Deleted: tomcat-8.0-bootstrap-MANIFEST.MF.patch * Deleted: tomcat-8.0-sle.catalina.policy.patch * Deleted: tomcat-8.0-tomcat-users-webapp.patch * Deleted: tomcat-8.0.33-JDTCompiler-java.patch * Deleted: tomcat-8.0.44-javadoc.patch * Deleted: tomcat-8.0.9-property-build.windows.patch * Added: tomcat-9.0-JDTCompiler-java.patch * Added: tomcat-9.0-bootstrap-MANIFEST.MF.patch * Added: tomcat-9.0-javadoc.patch * Added: tomcat-9.0-sle.catalina.policy.patch * Added: tomcat-9.0-tomcat-users-webapp.patch - Renamed subpackage tomcat-3_1-api to tomcat-4_0-api to reflect the new Servlet API version. - Commented out JAVA_HOME in /etc/tomcat/tomcat.conf - Added "tomcat-" prefix to lib symlinks under /usr/share/java to avoid file conflicts with servletapi5 and geronimo-specs - Fixed wrong %ghost file paths for alternatives symlinks- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Build with JDK 8 to fix runtime errors when running with JDK 7 and 8 - Fix tomcat-digest classpath error (bsc#977410) - Fix packaged /etc/alternatives symlinks for api libs that caused rpm -V to report link mismatch (bsc#1019016)- update to 8.0.47 http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVE: - CVE-2017-12617 - rebase tomcat-8.0-sle.catalina.policy.patch- Added patch: * tomcat-8.0.44-javadoc.patch - generate documentation with the same source level as class files - fixes build with jdk9- Version update to 8.0.44: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVE: - CVE-2017-5664 (bsc#1042910)- New build dependency: javapackages-local- Version update to 8.0.43: * Another bugfix release, for full details see: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVEs: - CVE-2017-5647 (bnc#1033448) - CVE-2017-5648 (bnc#1033447) - CVE-2016-8745 - Renamed and rebased patches: * tomcat-7.0-sle.catalina.policy.patch -> tomcat-8.0-sle.catalina.policy.patch - Enable optional setenv.sh script. See section "(3.4) Using the "setenv" script (optional, recommended)" in http://tomcat.apache.org/tomcat-8.0-doc/RUNNING.txt (bnc#1002662) - Fix file conflicts when upgrading from SLES 12 to SLES 12 SP1 (bnc#1023412). Added explicit obsoletes for tomcat-el-2_2-api, tomcat-jsp-2_2-api, tomcat-servlet-3_0-api- update to 8.0.39: (boo#1003911) * Improve handling of I/O errors with async processing * Fail earlier on invalid HTTP request - includes changes from 8.0.38: * Refactoring the non-container thread Async complete()/dispatch() handling to remove the possibility of deadlock * Improved UTF-8 handling for the RewriteValve - includes changes from 8.0.37: * Treat paths used to obtain a request dispatcher as encoded (configurable) * Various jdbc-pool fixes - drop tomcat-8.0.36-jar-scanner-loop.patch, upstream- Switch to commons-dbcp2 fate#321029- Backport fix for inifinite loop in the jar scanner for 8.0.36. (bnc#993862) Added: tomcat-8.0.36-jar-scanner-loop.patch- Version update to 8.0.36: * Another bugfix release for the 8.0 series. Full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.36_(markt) - CVE fixed by the version update: - CVE-2016-3092 (bnc#986359) - Fixed a deployment error in the examples webapp by changing the context.xml format to the new one introduced by Tomcat 8. See http://tomcat.apache.org/migration-8.html#Web_application_resources- fix maven fragments paths to build in multiple distribution versions- Version update to 8.0.33: * Another bugfix release for 8.0 series, full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.33_(markt) - Rebase tomcat-8.0-tomcat-users-webapp.patch - Rebase tomcat-7.0.53-JDTCompiler-java.patch to tomcat-8.0.33-JDTCompiler-java.patch- Fix fixme for the prereq preamble value - It seems systemd prints error on adding the @ services to macros so do not do that- package was partly merged with the scripts used in the Fedora distribution - support running multiple tomcat instances on the same server (fate#317783) - add catalina-jmx-remote.jar (fate#318403) - remove sysvinit support: systemd is required- update changes file for CVE information - Fixed CVEs: - CVE-2015-5346 (bnc#967814) in 8.0.32 - CVE-2015-5351 (bnc#967812) in 8.0.32 - CVE-2016-0706 (bnc#967815) in 8.0.32 - CVE-2016-0714 (bnc#967964) in 8.0.32 - CVE-2016-0763 (bnc#967966) in 8.0.32 - CVE-2015-5345 (bnc#967965) in 8.0.30 - CVE-2015-5174 (bnc#967967) in 8.0.27- Version update to 8.0.32: * Another bugfix release for 8.0 series, full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.32_(markt) - Rebase patch: * tomcat-8.0.9-property-build.windows.patch- update to Tomcat 8.0.28 * Multiple fixes, read upstream changelog at: https://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.28_(markt)- Some whitespace cleanups- Remove pointless conflicts on provide/obsolete symbols- Version bump to 8.0.23 fate#318913: * Multiple testfixes all around, read upstream changelog at: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.23_(markt)- Fix previous commit. Fix one rpmlint warning- Drop gpg verification from spec, it is done by obs- Fix build with new jpackage-tools- update to Tomcat 8.0.18: * Major update for tomcat8 from tomcat7 * For full changelog please read upstream changes at: + http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Rename all tomcat-7.0-* files to tomcat-8.0-* * Update keyring file - Update windows patch to apply again: * Deleted: tomcat-7.0.52-property-build.windows.patch * Added: tomcat-8.0.9-property-build.windows.patch * Added:tomcat-8.0-tomcat-users-webapp.patch * Deleted: tomcat-7.0-tomcat-users-webapp.patch * Added: tomcat-8.0-bootstrap-MANIFEST.MF.patch * Deleted: tomcat-7.0-bootstrap-MANIFEST.MF.patch- Version 1.1.30 or higher is required for APR listener (bnc#914725)/bin/shh04-ch1b 1751007351  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$9.0.106-150200.86.19.0.106    docsBUILDING.txtMETA-INFcontext.xmlRELEASE-NOTES.txtRUNNING.txtWEB-INFjsp403.jspweb.xmlaio.htmlannotationapiindex.htmlapiindex.htmlappdevbuild.xml.txtdeployment.htmlindex.htmlinstallation.htmlintroduction.htmlprocesses.htmlsamplebuild.xmldocsREADME.txtindex.htmlsrcmypackageHello.javawebWEB-INFweb.xmlhello.jspimagestomcat.gifindex.htmlsource.htmlweb.xml.txtapr.htmlarchitectureindex.htmloverview.htmlrequestProcessrequestProcess.html11_nio.plantuml11_nio.png21_http11.plantuml21_http11.png31_synchronous.plantuml31_synchronous.png41_basic.plantuml41_basic.pngstartupstartup.html1_overview.plantuml1_overview.png2_catalina_init.plantuml2_catalina_init.png3_catalina_start_1.plantuml3_catalina_start_1.png4_catalina_start_2.plantuml4_catalina_start_2.png5_catalina_start_3.plantuml5_catalina_start_3.png6_catalina_host_config.plantuml6_catalina_host_config.png7_catalina_context_config.plantuml7_catalina_context_config.pngserverStartup.txtbalancer-howto.htmlbuilding.htmlcdi.htmlcgi-howto.htmlchangelog.htmlclass-loader-howto.htmlcluster-howto.htmlcomments.htmlconfigajp.htmlautomatic-deployment.htmlcluster-channel.htmlcluster-deployer.htmlcluster-interceptor.htmlcluster-listener.htmlcluster-manager.htmlcluster-membership.htmlcluster-receiver.htmlcluster-sender.htmlcluster-valve.htmlcluster.htmlcontext.htmlcookie-processor.htmlcredentialhandler.htmlengine.htmlexecutor.htmlfilter.htmlglobalresources.htmlhost.htmlhttp.htmlhttp2.htmlindex.htmljar-scan-filter.htmljar-scanner.htmljaspic.htmllisteners.htmlloader.htmlmanager.htmlrealm.htmlresources.htmlruntime-attributes.htmlserver.htmlservice.htmlsessionidgenerator.htmlsystemprops.htmlvalve.htmlconnectors.htmldefault-servlet.htmldeployer-howto.htmldevelopers.htmlelapiindex.htmlgraal.htmlhost-manager-howto.htmlhtml-host-manager-howto.htmlhtml-manager-howto.htmlimagesadd.gifasf-logo.svgcode.gifcors-flowchart.pngdesign.gifdocs-stylesheet.cssdocs.giffix.giffontsOpenSans400.woffOpenSans400italic.woffOpenSans600.woffOpenSans600italic.woffOpenSans700.woffOpenSans700italic.wofffonts.csstomcat.giftomcat.pngupdate.gifvoid.gifindex.htmlintroduction.htmljasper-howto.htmljaspicapiindex.htmljdbc-pool.htmljndi-datasource-examples-howto.htmljndi-resources-howto.htmljspapiindex.htmllogging.htmlmanager-howto.htmlmaven-jars.htmlmbeans-descriptors-howto.htmlmbeans-descriptors.dtdmonitoring.htmlproxy-howto.htmlrealm-howto.htmlrewrite.htmlsecurity-howto.htmlsecurity-manager-howto.htmlservletapiindex.htmlsetup.htmlssi-howto.htmlssl-howto.htmltribesdevelopers.htmlfaq.htmlinterceptors.htmlintroduction.htmlmembership.htmlsetup.htmlstatus.htmltransport.htmlvirtual-hosting-howto.htmlweb-socket-howto.htmlwebsocketapiindex.htmlwindows-auth-howto.htmlwindows-service-howto.html/usr/share/tomcat/tomcat-webapps//usr/share/tomcat/tomcat-webapps/docs//usr/share/tomcat/tomcat-webapps/docs/META-INF//usr/share/tomcat/tomcat-webapps/docs/WEB-INF//usr/share/tomcat/tomcat-webapps/docs/WEB-INF/jsp//usr/share/tomcat/tomcat-webapps/docs/annotationapi//usr/share/tomcat/tomcat-webapps/docs/api//usr/share/tomcat/tomcat-webapps/docs/appdev//usr/share/tomcat/tomcat-webapps/docs/appdev/sample//usr/share/tomcat/tomcat-webapps/docs/appdev/sample/docs//usr/share/tomcat/tomcat-webapps/docs/appdev/sample/src//usr/share/tomcat/tomcat-webapps/docs/appdev/sample/src/mypackage//usr/share/tomcat/tomcat-webapps/docs/appdev/sample/web//usr/share/tomcat/tomcat-webapps/docs/appdev/sample/web/WEB-INF//usr/share/tomcat/tomcat-webapps/docs/appdev/sample/web/images//usr/share/tomcat/tomcat-webapps/docs/architecture//usr/share/tomcat/tomcat-webapps/docs/architecture/requestProcess//usr/share/tomcat/tomcat-webapps/docs/architecture/startup//usr/share/tomcat/tomcat-webapps/docs/config//usr/share/tomcat/tomcat-webapps/docs/elapi//usr/share/tomcat/tomcat-webapps/docs/images//usr/share/tomcat/tomcat-webapps/docs/images/fonts//usr/share/tomcat/tomcat-webapps/docs/jaspicapi//usr/share/tomcat/tomcat-webapps/docs/jspapi//usr/share/tomcat/tomcat-webapps/docs/servletapi//usr/share/tomcat/tomcat-webapps/docs/tribes//usr/share/tomcat/tomcat-webapps/docs/websocketapi/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:39191/SUSE_SLE-15-SP2_Update/b63182c7d1dff92df4556cd5011c8506-tomcat.SUSE_SLE-15-SP2_Updatedrpmxz5noarch-suse-linux     directoryASCII textXML 1.0 document, ASCII textHTML document, ASCII textHTML document, ASCII text, with very long linesexported SGML document, ASCII textPerl5 module source, ASCII textGIF image data, version 89a, 146 x 92PNG image data, 1682 x 1495, 8-bit/color RGB, non-interlacedPNG image data, 546 x 401, 8-bit/color RGB, non-interlacedPNG image data, 2974 x 2013, 8-bit/color RGB, non-interlacedPNG image data, 1948 x 1360, 8-bit/color RGB, non-interlacedPNG image data, 574 x 1324, 8-bit/color RGB, non-interlacedPNG image data, 1585 x 1915, 8-bit/color RGB, non-interlacedPNG image data, 1667 x 2547, 8-bit/color RGB, non-interlacedPNG image data, 1476 x 2047, 8-bit/color RGB, non-interlacedPNG image data, 2312 x 3480, 8-bit/color RGB, non-interlacedPNG image data, 807 x 1177, 8-bit/color RGB, non-interlacedPNG image data, 786 x 1567, 8-bit/color RGB, non-interlacedHTML document, UTF-8 Unicode text, with very long linesGIF image data, version 89a, 20 x 20SVG Scalable Vector Graphics imagePNG image data, 976 x 756, 8-bit/color RGB, non-interlacedWeb Open Font Format, TrueType, length 21956, version 1.1Web Open Font Format, TrueType, length 21092, version 1.1Web Open Font Format, TrueType, length 22604, version 1.1Web Open Font Format, TrueType, length 21252, version 1.1Web Open Font Format, TrueType, length 22748, version 1.1Web Open Font Format, TrueType, length 21184, version 1.1PNG image data, 146 x 92, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 1 x 12b HIEutf-8354dda2608f1df8eb34117f06c483d8f05deb9f380b6127635ff9d5243b95107?7zXZ !t/6]"k%3 Ț~>o~NMs)G ʶ')Av<9j)vՈ3m}&쯨z ksц>Vr Лbv|c]ro[\٬.//.SxLtZg-- NXxUC}@CE7=ޏKPNq6D&b؝>4'#<'T`mAlYx(]i'rYĐiiF`NE^\ ߵ>dGwN>ĸe[Ye!mC8R|Wu-]6pjWOWQ":j ~uٱi#`nQ`3:Qs65$vBPJ:c[Tqz͍os-8cnT2F}Rn\دbM|Jy\ܠTFQ1ʐH~k:I>-H*}dpV3F7yHcۇlهwN>SsVG㢱^K[u[K( uW 0[Ǟ@aB N{wO"xmP-jەlW~lȾJe7 qG5m;P*4|\䨖g.׸XN6Bť`~A*Y\ ۫f)WHȄA;=~NGľh„ǥSu'Mđ/{$k_UxMPT= A0X",Ke4? .^*Ľi5PME>A6EU,("-_X\;bV!uo4G+ؚ)cGѳf_a8I)3q\XJXRmDV ww'`De2tGD*G|xs j0m}2/ hB[2h~07AFhNlK":5h"T htHOfq 'j0]< ;P$$!pQ6%ޔhvl z>{҂xb.]&fָKh4 3UfN;s}&;r7\ u0:;/ 3(?;=~H×A!=FM*ztuPlytP<آ\VWËLpMD+a)M˵{Cj* X>H?P%$hBeڋ$VrD0;3]?4=˸x3VA$)Z~P&I,쫙ǰzb!uRzW1u i+0u'U|zպ&U|,:Z+\^$k ȫy˹YyGw. `%rkB4!C==~6\ !Ɲ? h8Kc3/QQ傍n,;} !-mm]|I?7> R흾m㟬f`E"%RM`}4)Fcx ɩUm:|=H=w'vLTzvR> >RMg_ ( -u*{ = n'Vث,dn=v+t?y.O2N"gN^yHTzǗMA o9߆`SCYب sJy=!x*78O:/4؏Q!AY\7኎RZ\PC#Z$& QOBqQo:m-tR{>'qy)Ÿdr7>x_FDD[΂4tY(I%b#-[mlm'/a!/G=?rb0*k̬=-ȓ];j)YV &E qQ.D40Hj?. ҾLnے@QϿÎ|"`,Zَ͡-Cؖ׳gRԱߘsw -NW{OBvD.[4^u=u7lgZLLbUMGw+C%,MxOp%g*&ľ>Κe{U;cM;}9ĺSm?kB9W>1@eo)VΪn;[El#ݮ+Ď xG=y3s ٞ/lwb8Rq0(;ٜbV9UPh2>K]GvٱJ pgz$PI֬CK}E\oSW_~lĚ 1o/)3̠yS1إxFHxZK."hg(&CAd{D+ {M/Z=czJ< S`P@sQكW6Z0Û ͪ{Wɥ [ wf23 btf!JgWJL=g? PfΟzh }Q5H ,4ܕӍkaWh YJڙ8.h3s*.mTsVy5{tޒR^pЎF[|Dr̍hj2$bB !Jl(V 0%j]CLc-2[|M֩A2,@R7ɛT:)?hY0uFjq986~*-A}V%(bVaRB8)Xq+}n: :kZqsfQh|GlݽN(. wО\w'q-*?&4 a9){#?y>F1RGN:."pȫ:ŀK/B|RNq,ϵdvUd: J[zH+ )b̓|]FefQL$gm֠-zhU5]W|n^&]q B0!ΖVO^uPT<)oFvaVQqFemN$(Xr8ؗfNJ4!jI ӴKK ^77m"\rs1RI2;bOqO(~cПx8kwUi)-PvHz0 Z`ZvS#䙌j<A,r*eS BM )j X /TY# qêk:M^̅waA?JoD%kZf{w[xS~ܢ|sHU=XDovxO VLctЬAThI嘤\n/-2exL`w D5tIӎ63ZG]44+Fr􎀥4u¬9 (,Қ˸9KuɐbW\G>*Nj(`Pr_ d`/T3Y 6 Y~u ^2:77,(Ey]\sԅ'PC,Mk@'Us{V5 lA cAې~lSc sk5SV1Sݸx?f`rNLVZF0wߢ@1mU,ZDzeoɵye7:#=[N\׬keGQj+G!f>~h3S![\1ֵNܝҗ϶?0\_&lz82X>9G%Z~t|\23 Ρ[;%{*;}P,']ԴC V-ZR"o8ZcvzNAdd mI&s'"(VAA#i}VJkaK V 쿤30[y(Ŀl}Lc6j"G7,FR_ɟwJ#E{! n^r#/#ԖqP`V̾=rb,Tܸ! DBɰQUⳠY\ HM^kN )} uů"zZ:Ĝ\CvwP/)^ݧGBO?^|WKU!ZsXQ|T )d\xlH>ig6<틽~6Uj̝d&ON7=x-Z3ʛ{ 1g&y3t]*I|;y_;1qZCt¶Fe7iaƾQn->6Wڄ6VǪ.Uw=^NAo6ҀbͰ?>Y*>u&V8K,rȅjhZ*ߕU窫5]L̺_-;YK]_A]ku0 rY8[ixx-"oqPlP9f cIi#k(}eҝex":P(z+7Zp|݀E\bW@qBl ሐВ²h1^ yP[ U_NX {?r' yJhe?`⤋7$u8ILZq#w+_0EL;!r|͋?[\Q(%-Q[`FR\[-+-WLM~!a%+K8Ftx{%;4ͬ Z^z~, e_kg}V&5HG}5),}7EaUUe 6>|R~]*Ce$[[ Mn&38 >pEV˓[0IIU]/- N/4D2gy])uzy#11F,g'ԯwgrOT@"j%2ųKWpԗ7O]~:`n %?cg^eU!4(0ytpgk jGHF\>ѝ$ďZ! A[j:uғ ǒ+z;#4dĠq"gƣuǭ ,"t -O["Ub=RP'ٝW 戉iHnc0vňh{/04}X-6J Ohsۆ!?'! l]wXQ*!iC?yPƣ?ÚL")CXBI0ǝ]o2j^jπC%y9\ヶE? IH>(cV:3Ěxf " H!·wA{:˽uPQٵu21ef͡O٥d}2TЄV% GJzY< h}k-| Ng [!9ٌ 1^4g GA`Vӈ *QZ@ l5$M{,S-;y Z[LZ'HPGOgm{ΰ!-v6r|0-r[t[:&j(&ӱl"5J j7*:#U7DuڍSdVarZaˣyn*-J\ - 7Ll([Z1ps8H#Qz8'k! v} KIN^{7 "<o}Jx=3E)AOPذrn0CꯁyU< w|`2C0c0 P=w 7 Ş*}|P$dž#~TYhA:-CP;֎pHFTc{.QX*(DP*uFs2WU\ؑgp /'ȃ€{VM=ϿK²ODwU?l#@ ޿ADgݺ_^/a]Ly (X QӑoVaXbh\dZw3f`E tA\ (*/²ۨ&=F@k,Mc_?Ո^E/Vr/:OABM18hnچ( 21l0GMhtV f~LBX`ٗA | Zɥ /uEX ~[l5my4[n Ad5KjB$b*kVkm>Y|y;Z>R, 9Vi:SqBQb#_@lmH)R9#6cRBXaOā!;?;7j=h ?gdC̲x߮ ~6Q?&p=bDQSAk .1A,#!d7$O`N[L:՜A /?޼26dԲ?kYn wO}EP8/3vd 2Eϛ6{G ԣ[LT TYoNG'V5z`u~l9.̳A/]n+ FBP^g\ |Y:8m-ivaHèP\,T {\`@bA G`A2q.; F+T6DIt#rӅ| ( !lMD9Nމoh킠< ޚuu%kdw.%-χ~gxPKE+j&d IA (mhN7 -G*3~QǞh]s~E/5"2?I{GmɜU<5.޲3\/έ3k9/ODiz MTKdn*J=6Bk -.)iW霈I 4=;}tzd'f IG2_x%,>HQbC] yEyԮiiˌz2AA P|(f 3!w",i7^)T2Z.M#7PJmE&*uAf(sT:u8\Y ֍v|{|<0몖,Pa&^$_lϘQ p]{ø(W nO.2g>K_+ɋAu4\>/暓>> gЦO Hhil\meR̬(5<L"C%=3Y*4[|X~JVF(͝ -LOj sܧ? +s~kx){JNhhޜv}Kݿ0{^,t#3C,se V VQȌ@a'P9`@j xɺY]حE?+{K3Nwoxsx -r> @iW{{k>B%[ KBs#w"Ld5ma >.QNn U6#5:֐.(xZC)O0U8 . rn轔NҾؽ |I&I=BdN><]>GI&ëq{"aGA>LF۶unwuނ4 5 {G|Λ=䍶$$.Znu\-5Y쭭{>H݂uoc1z[NSBqMd_ 3$d6sB}=Kl:סA^F!a7jFX)ZA0̟{gkV0:[Y%6iEaj?"4 fV䧚6I 7j(U$8}˩]`XsqPu_o rZI\]&x0 @5 )HÏG%O FVe{Us? ΃ e@` ?)F! OMy۱ܒ8qTJST#`74Ӄ_eT\_~ FFzzvmVTQr.[DY)|Uvw.Dҍ0 XSq9P认odsK訤ZFl\@ErVhZ$)a4uGVR~=$#k1|cOͶ5dڔx0 US061 z:t*sI@CJ .(g< зڂF-=j=H_0~ٍ^[`vVrbjݥ \ê 1?dߗ'`ia-?I a2ᮞ?-W!PI-]$Т*{,z1D'6,HL\[MHs~"D_$'PU~#Jt͜k!c#|?>LFA?3pI_XKP-|}HD#(plg=0i6]BM`LA֋:jcOˏߑ5-  VM7y[@RZk A5%,7/ccMQc WV/7'[|*^!UNjU^;-f$bzn2X罢\JtoIY#ш@f1c!)n-`E:] fv~9qWrb9eo["1! T# {#6ڂU BY$JMl!CF>hߤ]oM"_6Tq0j EĄoĎ'tveLH%T{CE ڔ4xAS›u܇զЩ_BE'75C~$kߙ]:]obB2Ձ&R.O >"˫gjFC33W/?'!)vA\RtC!1T?l!jC@C#QbjԴoK9gϜ1*c\uK30u v.9`'@냬}T ݨb40" dc{<9/ )grTu͌2npsg SJ6;K[1ntA^m~]sI[Pbd/LpcQ Vh+R%;MNPt7쎝=:)ް_lO Ӎh!qP$ K߰$x\Kd\guvKqQ>ʝ cIH0qh+G R~\: B5H(B&#)ytɳsBD`*F`~㼖6u} q@YC*C pz啩 "M Sd CAưvuP~q/ ٠7?(g5$aNkQ)Zt}aH])Ts~o ]&P8R`zڟ&?nD V8Vfk|y]mc$lVn@42L:Y3qỦBQrW>|*1y0]>2Ϭ!P},k*sT1穄H7/Fg7Ȇ Nv[ٝaNU𣪗xP*?xreUܙm.cz[+[Kn:!a0").y¾M-Fыo@57m=@hb/ vdʮnx'ЧS{y˴5~S`JpdM\1WƼ)=օW96>I~G2Vj9Y~i0LRޞ 2f0v(ŭ*>aZ'#j|UGV k(n&1;\8DcCvmo Cz/xq(ǣ.Tv-7k%F`"N+a3p.L>==0\%( TsR<Ǚ]09AL0.̓ /#{8VK/ָ2pG[ n4ׯ, IB 3eWk]Wv&*źXtE-$ڔ iN'잔x0sGQoqjf]!$nNQ^O+>!T=|hDoē\Lѐ:ʃhq&db>Y٠!]5wig>`6E6B zk%H! ƟTMx.qi iQP_W%Lgzl᮪_/3C2u8(t;ǒ.\\_[ O 227HYF,dvZ>&E9݂cS4P- )Y1HG9&`٦`|M0AV;A>Oe^(gZ {Pve%/RP ,̓Sk7gƙRxB!} r;r y Cy25H8q|2Ej;_ (w%M"c?H%-F*D;kbX{ 2 ¹^{>3.[zʾo!¤]<9fF>*FF3̡+2? "/θ8FZ9Rn hXU{ EؽR\IWo3_-i|ci!ڡ"+)þciSkͭAaM|9Km gd9,`8r{6Ŧ,)bʎl;p4{NY1N4@a>3?n;c ,3 ѢyGK|S^7gnC?ozD5;a}J~=Ez`Gnv(iriIT`6ll#ZiÅGGb=rQq2s' iJoX`CҘr(p{2p;2H@&E7v[.ͼ)KCߗe@3 8!g1ahDp#(>lp+(@T:Q0NHWaY ӽ̯GaǛqryw9+,y_LHs48#,dHvob %GZ)n`HMD !T0kl_x7( zݦ Ôpv]U•},)gA_Qm8pCK(3ͥR̩:(d,_I;y"]E+CFMvOYCOG2Ɩe?b's[fQh*kAm|'Ch,.'LO\ f{:jq`68d<j`vUX6k~TO.&VHri$}U$ÔLY8|C,bj@#gvEt-ͅyx#ƯGp!ӟ^/';h>j א7G3&)+U (GW)yǚ;4|=i#ձ2+gN4ЂXt2 >26\h2+1t #hd ! K DݱWݠQ; ѫqDAZp ;PrW&"oдpf=Y״ yRYnoxdU LNPx[| Mûw>^#-\|^*k W28MfY;[Q)Hm_`Y֌^:=^&\ uVk{UB|7. mN,?Yk㿉+;\䇍_Չ{x:>lCy(#"MB#qfIJ,2.#f_&CbxvaeZ.b)6NwjLt K3)}*]wIηK ]w\C3&+v7ji ~fu֍Iv_p O~wM&[E.!hh3=q%P2;+Ӄ2SsXC!gMɴpa1p}$mU 'i>$Is7boHgOm}eNqhƸs 8OC6&4TE-7F܎.LV}2ysênM%$GzwCM=f .T`"G뽞~:.ǥnR333# }kYHr 2Di (7*6IN'i VUKR z`S+(n P1ƅz2GYT1sW:i2DlmO+&}q_ r7x´5ʓGc%jW̼okPΘi#$kKq\1G,w}7ɬbm,ITP|ᆰ*(V]TAfMj^ǣCeKH =Q}&ZAG(p6(Aofϓh/A>_Sb4 CO&}i.&׻; B1P;̃yTCJeAjŬyPE_E'I.i癩pjWNʸ57EaRQ ls?('#*F"aMaFoq&ԣEI1M;Ն.9 peA i <"FD2r(~9<,z WY[Aac})ABoxft{_q<|2xapDjjĭoM1/J1Da(?EvV%L^ԛ-#) š{1'/n$Q]twX4^ f'?-Xhܢ2S{#JQkd^ٲJ /kp+ `h=D{!=>mͶDDhW:Vowps@bɀ2صu~ܬ՝ ĜfgXr4*|xQ 4 |oMC Y\.8O@VߗQ=fdRw_DZ6~lYDLHf6-wvCg}6oX5,@H-Ÿ/(,ƴKךAy;0(ťGz g"~] YʼnF  _b%ux«tckY@( /;5QLEbń?R u\+qMtw2'0:ڏlȰnЯ{FO8JM>U!Ld xyC+i._Q5;{N*K_t,AXbhAVּO'8 "Xa:NWer uғVh Ȳ }Xq+vOzZ={9Y:qWOd@#y]5 4ѴpgwqZܒ{5+wfb32[d=i1 EaaBsRɷZr({QKzԵ6OPRYC7M ʈ $bJVC@HӻM^lw9/-\8[;z.PD* f75,p-7-rjǀE5"}mڎѐ&I|'q05FAgIzTn!0ElݮMо| چ14kHh;*i'R}Ϣth&s XbG4 5ʤ+FF"0WŶ .V(0+ Xuli2ٮ j˅S;߬t +GO"̷*k8֬F{w*ĜLo#E1 "FRaCzr5Vo2 E{R-ʑ+a弥ey:rzNR)3.$Bwf>OEzI^8Zz 7uD6~>Qw9iK), s;5NԍaMH$#Unppj+qY&0&9X[KũNe ȹo8~O4zPMF Y>*˰wn;FK`%s&+ =ȩdӔD;@ 6p@24 A3ܫNJU!/eBRMs 1]Dc& %KR˝8(0E"GP҇nVO16'q_Dy3-QܺW5|I/HMwA?D ̓*f?U+fX; 0t .|Z8vޙHQ~5= =2jB zGy*edœZ ,a2~'ĶYTiQrO: 3|5N*IpwכczV6N>ts{{8֊*HW(y~[%0G)}l*y'ُfyӡ3Gn;zE*Şjh66 S!Yiq[Lq[uGU+2umM<$\<$!pM/۟&JHr{A%Q{CbbZ*`5JLZOxRՓh(i Y<\﬋KnLT+Y)oThxNd8o2/)8Vna"c| Mv#+2eV|.z6= o`=hW!wg cFmV&㸂f(Q߹<h)ݻ9]1P$H^ݯXI& X4Fꭗ= SDAڊZ1\{9̈z(b[NN[NpNL )掮mQ^N'U|vHF |ߟ|YZ+6֟d;ki@6<]T% hd}/Ê" C%f[㱸HB܆O KadxX(Z\8tPb-:qٖ/--]C$5YSg5y9m簸Q~7P+hqKf=wU6ֶh:Kb %Φo-_a8Q;W$P$Ju8]|$]a.E$ݞ}H}Ãpö$gx?QX6\,7/vÅlsJ^+kv~2ܔKnᵗğ(\)tC$k9-m*" tD535Sibl(^F6ah-D R0j3ɒX&Mo񟉠G܊zwlcfP9Dz P{dS&ߴ0TFŀ&xG&uM yUZ쎻Sd^aqCM۰K' E񚧶Pz x¦ϵ9e59ƒ%qpB\moЀZjA*dh EbJ`*-B)A"QT'lژ/}c=8,gќ8[8@[O£H{U~_-ffªe_V4FDK傎w1$C͇z0-N|P$ />YZt_ T˟7*xe0htxxi%_^M*Pp=8lE wxދ4g9hfU(oXe"lqS2I5%>!@I6. ط`N 23Kz"q l4x.E=(0|Kucr*Ӝ=@T!oq1r+O4"\E[fP=#chG#[WN`'HgSο mךRԲ n((+YeɖӇģ4? *M_n kbQHUKǼ4Q֧<(BoWӿGQ fW%Sb3Y-ZKwF%G|.錬Fe@NJ,X*^Ƶy96Hx#<&UbTֆ.Ě?EiH:rB'9U63鞻[^ߜ=j*LRcze""˄VnAS݊R(pP2s@Oߝ}K'=*>m5'˲qcÚrb>f\y99K'M<2Qj2hxR'>P ]RÑiS0?4D[i.b$awW2G%TjL\UX b׏0#6TS͗6)\ios# 5bc2,1EdY-VaW00UTI\g Rj'[aYPzyFJ_ݬzyRR Jdq#NjZE[P"2r7nR`pVR0Di0qBW؆pԓ>2TGTOfm}oTC=Kl~۵̈́,i>%Ī7ӻ'C IcC{PЎUgC:+܎9\!QeۇGT^ѬMLxDsȜ&1 B,PFB*$Yp,q:Ð̓4AuDgrvc԰{$| yS710ث[g+,T'E`[(gáx<8}k\Yi^@)WIj, Q!s:BCoFNKe Dip8Zaoӆk䈿|lmxH.l .p'_G6vD(f y/#PE^֑[M1EY/^=KVfCl{=1ss-'_}$}F/1]vwVuh*5x}XN\j@+} M͵ܓs"Z[.C:9^ %RA!^kat[Y}KݏF+ݚZ0ct21B(R?u}iBYwmuqdȝ Y~+[*;n&;צ'a}s~4֦z 0x̓1ܕѯwֱW8O:gȾ kmUnhTF_% ?!+fo+?ҁ~lKˆbIo E$F EM `2ffþ:|2ayI )[0H`Fxyq"+@mFk>c(Z9L먮p,!I>+ssP׶ǏهNE,AE%!sWZ^@i :F:5zkRfa !+k~4/&+IDM\k%OAr?gqL)CJ5%?-H^& 2Zt@sP&^m<֓kFo' 􋾵{T&"bW4 !zqi!ڣ.rv.)ЕZAL*2K a) VB>6#0;KE,̳)f΂X>n))b#JA@Äf >cU Q Tp?cEpbHMvƶGCZ BmEӚ5"B(^P6g?ƧLQwghTmerg Rthym8{܎tPk~'U#n$#} */0(R٬b1˦'6q VlF!8Gm1[*HʆPiI0n],:e $wN3Eg4w=pF#Rq"2:BFu B3ElLI(<ڀc FNG+Dìx+.E.5}zGfuD<ނmG,LLL-F: ȯmΐ${FLÇ\0#6fdl3G|Ԙt r/^&L̉Ԑ0/OaPc!GAcFW.(c+eW^،$goI>1gCnG!P4ۚhWT#xJOCMN +@b\#6DtX>:83[t.zI\z+f/WieޔȌHwsuXM=cSϺ3jeH=%IadjwͲBڹ)4?2HE$`o`Rtj?񑮒G;¤?6Jf_hǼ1Jj5"^`Rdۚ 2:kXZt3I 3ǻͳyH #ɱO%RcDsubOƹ8#Lr1E$E,̙ed\j7zS\xΠMlUi2KamjۂITMe+n?@syv2g$U(1AnRR kp@>L9eRl:XjRz鉻Bkq (V: FW0K6+m&o])0taRf(vWcǻ,&&(ڱ2DQ܆"l`9X} z Ylr%)A3.`v/Ic[\'lr$q4 땆Qqx>ҩbjF$9؜>gL8pHeͺA ҔЖ.ZRCK*)ٜw o,/ԝ.V Mۆnl@i,HTsjS`~MNDWn^?Grէ:JCQw(JP+9tL[[+jy&, V/|I֪NO̘axk>],q+MV9x%EϽk?Z[ /K-,XV.gGU |sJR70 ٢>d;/2Bȱ`GO{׌H2dkг7xN]y&kM`Y3qi{i"9Mwqbpp(4U;> \fcA(_W[qBV6iEBPRtuٲ1s$w% |"RE:ǐ@OHl-M"`` ,=n+rv!Z~5ٸD+ۦ"EhnoR ͎qmnH38T;mj瞥>b/:L/&|VbM0kkdmx9h/VFއ~'8!Gvi0].3@C Ru(WE2Jcޥ@WVx%"8. &QU[6o0בNo썂T) '\0F2+eP2+ "XħyY/ZN(E `kiihO7mτ{XhTq0'-ky*117B(>N%zZ1j+ 0Vy?Ɖ.[jr1-n7[8Z8#hT@ 7F>0*}vbY,]jw%#&(/ڎWyE"`Y,Βu_P2.œ;41OBtBp^~IbGY×twwMEu˚](ag0.)}1iLýa |ɭߢj˷C.I+ul[ Xfr*.1hkq2Zʫ$>dDxk)/SPg&MD%(`̌U XcfiΣzy!$ n-N%oNfH-fϥTsX_v躛} VAm;ϻI K; ,*/Y,P_T00LS!x>Dg(^Rg5*'<_TRk\Vx;dž6qH.Uv?h;$#FTnotΓW'*c"BrK/zG&\eTpw=uF{ }muKͳÁdma ǼLY8]rdž(ԑ;́aspV,PoS ;܀D|l:mB;bx, `mD5J`(nHB fRAuqcfy~ E>Hߗ@pjsw"f5PP͘0.˩hD,>V|*}8<\>C`+A]}n"cS&7[`J}l˯0}z):+2A)@`lWZ˵Ò\ւ{2|cQ 32-|>T#\'7pI֞vX=Ws=(TW/luŻRv9͗;U7xX84yJA&LQ|[p?5,3!'s*i6״Q~Vf8DgODMW*ޘTeD Q5J>7ԾBx!spuE+^{"5ik\hLN&p{M(A!ǀ'jÆx4E;]nSei ѧ:Px]+Xb0#q XcЭ ,z4pN)QH6?FǴ ;W}FwòX >I)c/Rw;;tkзӠnz~FyE-JRQ šFDg5RjSx5*4?F.&eV|>U\v@z eS )Ԟ,z"mDug׾M)H~7MH*G]I얈 (EkՁ*aO9dL1O7'wttr1 d-Vl}{'5NbLhc8Z;=%Ґu=$řB i$EE"pr%D&?{B%&F }7+g+ggO%3-e ;o_y vYa(^ZMhA2~85q!梖T^ĝmVsoSKe`6'O%D6TWh?d<>t^~^x@ 2k:=iB,.$Ԓ*]Q޺mxK? GS\~R!  IW\6%%kdmF[_5}NNkM,SAܧ)Bl -DPQA$uc<ǭ=ZbѪ71b_ؘaBF @R#Վž]N[L[ipRnwmsaϰ%Fd;-҂̍b!ΔÍ*'MѮ$.qέ!X,֕%A(ڦU,ſV",]S+Wdീljμs}>֒0\NVw-"kwFqJ9um@$ ke_ɯp@ 8|>9/VG~;7[)ad׏A}؊Ґ r_K' "RꋊxBmζ,!%־!4ɺg>كC*ū}Ux} JkVE[Vwi3-̀G)Aɡ}qe/Gݤjα/yajZ}1Gȃ1*rpz(ًM6s[hW+)/`.d}9=NNDHܲ+;> =^JYlV:G Z&̈w9ϰvhufy*c<=y+jIC,qB/]RP Yz 2`_:\ G @T!]dhΗyn oͰoYFʰs6oΥ.k 7'lVb\奔Qw>3t'Ml]Ho|7*(abԁ>v?ȽaqyV=]9aL0mCtSgI ^!cPt֊X&Z|V2pw^YK%^wz$/Ph*1% !;fYtL2G9&%@oeЂ=[ؾ$0i Ӫ%50plcdPm(V0l mN\|a7%Yoh 5PPH ~z\&ɨ JG(˿5]>OR w>X`< )&<6ԝ1JWÕ18Ȋ g eeNro+\耳uB HqA_#i̫bDzO0H85r4l0 W +4QdwvG>C9&T/ju[ǔtN ?:&K8)_A Mue1V0 J//^{4a)NHPJnuҡ1O3d9If7y"c4DZ*dNse+HHVsYHg\xEUf%DG6Q,ȱyY;xF}܍gcOE }T=D() \+0fFvC,4zsބد^Mc̎+MG|ZZZi{K䟔6"-x8eju.~JWa.g&!s;6TuߗOD6Su}nѐۆ {3O$ PNg^ӃP<Wx|ml)1oJ%[ k*Zs08Bs~RV.˜ܕw-84l4rYdi]4#>"˧$ R.7 uзK=/uV.H,MgODr̈lX7ZeG wy ׫Fsg0iz]/-܇uF&Oө5=ZEaOP;CG:g FM `)CFGao20sn,3EVxF鳎0 +9!,\9qQvǸ]V?E[s4 F78>oAw Gد[gGP6{>2Q1Uw(I^r'?_&%&_ŅN9Vai* /l.2zal]b~#,zكC$?߷z nF/!#&l`7ޙ8 YLp+Ձ'F,Gmˏ 8ן߹_!R_^vcԬLW *WDM[=5X_IcGLѝp3VA ݛ6= j5sv1z*"KƳrXv\uI\f fi)|M7HO 2N/^߮?(PW?N+7uNZ!~ }Sy*r j y87kqBͳ 8vQ=.kx,89:(O [j7iA|H >= ;("VxP쇀bK;GYO_~΃ұ}6.x=ˋ^NAME~;>/yeUɎ]h͵̜q5 <ҟu>P^ pj62 iP#ŧU6tT1;w8M5m-߸=С CK+Oyo0ɩQp#p8U@R? 淏.)gZ.@ ugY=4AOvVcAdGXbݺ>$Dd˖$3ZOdCY X& H!s!jy^!.1)M DD+{זRvIhAN[VxQj%;DK60%dQJڊWo4S $L$oL(߶I ڋ1hsa[solrM~}-e/>Jo7ޛx%l˭6}4u?)V^uIP5X &dӆQBNM/V+![4* "`F8Ւ)>!:ЦmxMf׊FGv~ˡJ0Ƽ/ ~H.5^=f}j@Q3+AH ]j 9iAVA#a g7[Q_78=41=OpQvS86R^cwH*KR!?b{( 8 .{žL,C:OjT4FnBќ7 ]:M# hA.18O%o DNI9@?!˸_E O#UK9GJBr HN*B 2$+ӎ9^T;ӫy$+p(գ)- `Є@F,vwTXes"5){C^m;m@w3&|zމ۰G~Dg9E'o6v|gT+@zƇ #'4Q7.θw90aLҮl/쩠̯SV 5KC4S 1(KPFf Pd6y wCeD3Py y-ˆ_Pvl2KXOXfbq4US~(t"Ǎ ~s0Cࡃ M-S-wsV_?ݼ{LɆranDЈSfE +fl,: \qT(!A W4 )Q#g9EsDUU_SaY /R$nB~MM.` _tZM4%iK|~o9Mۑb LU]zflz B6 EҼu59dh4 t`6't6I3aR[rB{Ycc%/vFoSu&8u5__yV=H]̗1ԟ>i u%!q*c/SmO^: so'L9T|7r$ՎI)VaF&۵/rHj1D"]BߥdD䣕ԣDml,Ncłij݉T_ܡ.1hD9]n $Z{[X.tPuFgNs'L6_`KܚR]tyN[ G  v#|OcU`6ӎ22yE_6檸\uFO3hKO=_Eyb6À3@eG u-Xխ7~|ilfd^]'uNY<XOgw OaFWZCffdz _st^qgaev'zۧ>"ELeMp S tO}zKE&P^!k ^7V.g$g>d y D٩Ŗ #47I4qi87L_K Qnuf8ey 7O T1C(>O&`ͧQd,]\і*sh G wĽkP!7sFFlgbTBcA}4 OJ>gy =)JBJ[tm;( c<ݬ}A,)ci*Zvlt,kh3M64{#3O/OA៽0)| KDz2Oc/k"H<q2U8$xuI`O  &7]7orb qi(uQ]ˮ:{p1ҹE݇||ST X\}2lA6r[M(0> 4^Gc! 7Ql+a,b.ޙ0Μ]a(Yi*m2`E M1Sf@>`wX-;;Orm7eG7<\6`D!xoqH*xpޒN;i] 0!uzB VK;H2["9aDp8IY]bmƈ2IF #e[KbU'LUyІv&FϑV5B)Ml0S$'w!L`Gl7WOa&e\ߵ[b_ͯv[8y2mj龆ckSr;$&Q%;g,i]dλHEmev|>nKS <͉`|xֆN3{g5{q8 ڑC\WU/§7ĵ`xkt1 ۓT2&*t& d裔 Û@": )lj( r$\!̩cl#}c'Mt.Ԧc ;u+ &K9M _D.">]RP0NCr%bJ7=Z{+G)4àxjMr( A>zc3t&XSr7nUjﰁĩDN'[p'P0'}B [lp<GГMjJ $Ù Y4=D!{#QUjr :gT+sou-L7Ȼ~Le n7zK;d\Xwx=h-Aʈoxʔ|_$+IL86@ -B"혚 9nZsJx:lBDGVX(pѦ =D{ySZsS˒% p0LP7nfӇ}Vi ;Mu'$n@eOeTld=\ l%WB R} oC6-io#D1a _? [Wyf;SoW(&LZz ޫd@FErA*ZG؜o&VնҖ[\*vԼUi_ 5C] q"co5Ӏ&#,X!"~ǝ\ZQKL?˗juI>?Do{ٙ.ty3#.|p^:eUZy ʝ괫\ 7MϷnQ2C˵+T+j^NcA;H.>rq!4ٹOPV#;=t}N`f ,4rF~+շ|ʄX_z9p~$- {<!8gT uL +d|yx(ic1z5ѾB>:?9$ vȔYڊpTSrI.d7Qe=-BAaR`H !sz0b{#Ezt@e80M6 T+pڹ,5+&l丯}kF6V7_%Rl5:/?{L\WZ6OxEw„؏zĨB+؃!ϐMg (=xoL}(| V"hvUwYG,QK"|Tc ȭ%XCU XCs*Mŭ*~d:KQZ1oҁB4{(]J>f<{(;06\64UKydoܝoc6ў57r``!G4K!8[RNOK*b 0.\;Zn8"ېB*zzsBW-wF4Ey\DP")pOJϳeP}XI>KTܣ.M|BL0Bޜ_^%drhut{ۮ+DzJܸjɝ'G1yEݳbb6zt ]b׻"W$McPD~{.d4„oՅx׎ԕi>Ucqyd;n"wv(UӰ&Sx!;Xkč,BD>zGIx6k޳ɁDO.m<.ܹK0<>۸ q<_| l//~^p H+05]8݈|iMDyt.>w1X."d"I1yNpn{ P(E%곆YA*|]!d tO”5 AVW kv@Q9E$w||ŔKL 1>x[빝~f +J8͏-g)6ILdѻSi YD;7iZ _ZnD:Ώ~n-C 9&5B!F; 9Vp3As3Woꉅ`@&X5х\DZs$麹jk{mbuS}`4O@4 ,*`ئj7q!tPZ,W/[|Ÿp-ZO_EKr嶺䂛\KrS }Jz@r9B@VxK #u>M7ozaP; qDn+#- j9g t|5B > _4bzm}xt 2IH¥.v &U#2=%U!h6C}CmԭY$Hhj4˴nu\ςaG/,! ֫Y0Mv4ȝ<;+XxqЦG~m|rvs|4sۄYU7$_$J5,^QA۔b6SLrQ;7/A7Xx^# h3w=c4T6cg'4$܋cKioY#|0`dhIqsnE,Q!nSpUwTS7"::fzdSȬkNsJd~.hdӲK+^Yv3tֶ[ TND\4A_&(]N#dp8~}#Ąc#|P&Ɉ9#{<=}G xL7 ë1b @U&>ڍjߔətJjLf$JL>L#)یz9Yyr6 l,{,-_cLZ usPN !Pc㥄WCFmz`z zC=ޗظHRԐA=!,gtw"쩅`ҽ -^Ͼ-UBdJKΒx 89\vP`C_-gI``raf"R vt[5/Ѷ}0}#y S$ͬmʊQMI#ҍ n._=z򸁏JTk*mr~IxD\Td_FFni .NJ#̙$v߯f4R$!/HvE90o(t8Lpa/p wbUä_cs ǑEu{kRxd~םhvg4`W ȪvVV$I?*C6$%B ĦZ4w.I-na @ZQKDOg'5/4j{{B &? fSoԕ7:Z8-v)!T#kdpldYk=2oĴ\4)¨C:#Jlr7Kpѹ̬8`r46ItwZ4H C>;ƚ+"'ƀBwVw PH]M**sFmL|_Z!Qs]glRLFDi$۠8 `(2Ox>fpu2#R0kYK_jTEU @"0u8,__Щ|ɆZZC2Kf/jP7˘" )t_;R?mMA_.3;rG b[1xHY!t֏ʒmىG! *MIx,`" ^鈤{؋9,*r;hA0zk[5W/eXҚ'Gu;It#i1M)y7H}Df J(ol-I7=ke{,dv0GeQ>C<^@01d*ߓ)C5"Hcr)Y5fܰ j{Tɋ9B\GJa,,(1%͂/(0 euMkx"~3"ɚ;eh^Q_D #MECE&3Sq=v6u:痲s(%_o'J4iTNh+MPv盈q\PtZ6:~xX NSvD.r17Odh_4Y~gKO.q`λ> 0l6+)?[`9Q x %7J*M\ 2 EdKJw$򌱀p@? )BU+sK1m ٴ2Lacx%oWMH ڭ}_L#G_*C,3_hmBhxaiϜ{[WL5EqrnvmR$?c2m!n|S is:f,xڔPKGgM,6 XqTPë}H]Y!n g&(&ZN%I=h^L^Y~\!$SX iI5*B6O?ɥkYU|Z :){M!ڽ}QC.S.:fDL3Gۄo*@1`6iį}EN&9-^qH}isXoSrDi:/msMk`iO^:͙Hط AE҅6[] i!lh9WQG=QWRpkŕhm8Cb G(rA֍T ՒsӴ~k#FeJc;x Fiށ%ɷ|kfր%fSV F5TCD@x q׌!OE֯XAfN/ى ʐk괗uc6NF ُ(aРKug[oK5w.U]OZ)>/HE)4bj_XϪ\@zx]).Ԝ7Tg/5FB wP&m0,܆q`.B%-~@V@EݜjlQ$!kȚke _z "y3U}kQ9 e0qN)wYUfuF݂ISS'H4Q,*3{4wwJ"^c5xe&>Xgjj,^bpp`gaDuSM gJM11TeoYW5q3KrS"{a&m=K-ş%ȧ V]2t*ADuAg|7rbVh 2q7$R7!|)I"yU<ݿx Sm0t ZOq^ωG#jU>17,&ivmd& 2 $kE X]{KT̩R36fz}c^j T˦H>B׽!sLZRk9rӴNTg[LJ?u |%dAE0g&Af& EϔKj}Ԡ[RjSbQT3И5zP_"kL_2R@+ϊ^8=R'~^(Y c}YhmT}FTܢWw- lV@GگM1gb3"ЋWJn#Hc2O5Y9 6iN.?eޣ6 -jşa| B|%-wp; r8̨K<} j hOMAC6dL)%rd%xU`wh gk\XfPB#U]Ųz 8g[_$1w(?'ҏP u+ |FmR2^3^.Xւt`B IȚ,}Lqva*ui)fYy;GgAh-@ /`;˸fraLMۣi\iVTn@V}Н &É܆,,p1chmN=yǧtO}Kv@"Ќt&}*ҩV,5m:E;}mkn꼽78XsZL˓k2}Ol()xe+WD8"&w52k. 㾥D>+vaBVk (UKã9Π#`\(A,Z*ʀnڲ)SI36'k?:;_JAKI~-qᳲ) o;Gy T{i%AGboڹ:4Ѵ?Hďjc ǁǁ! s(J)EМkH:Ԃg6>\ƣ,$/g0 qg̣ AC%G64IOBD◣c_YLO=Z34n7}FҮ "W!1۝9U zݳ9pQsw9B+kwnz{'F& !Սnf7W4$8Q$nmw<5 F#o6EwP9#urXM\ۅad){ĭ 9BbagxiT] (8ubigcMZ@йR!< '[qJI& }s8Hc%*y0SXuԯCn+b6&j)ihUZ=5@rjL2޻-?.*ƕNj34ic4b&oxb!{fQ6ֳ Y|$Q 8һ32T͂z(X{2zP6^>l=J"kɔK;M"_Zc#5u?ł\bĻx2T;Xg+Ԧv-:(J#~#TXk<" - m|HE U,g./%tPL96%;XEc>5]1)3nxnN1%Ҝh{ahw}:j;5O!j=i!mw6Ѩ|m\m{+!C}Lֵj;m1K%'7gi8GJJm*x53њ4nz{:$緩zDK8Kc9h9[tfFNqHQ( wT/H}_qҊ-VXb8W#DU>YNJc̱L4!ɽ;R"wNP 2͕ԋREf]*zӢ ;'&Q'=C}ƈy X{ cz&E) tfԜ1Gׯl} > ǡ6:aݟZڭ^_ˬaޜs3g_9M?y{ry 6<U+OUR(I*}o*Bjy!-,[bpLkX M$-C I:aOyVp ,ּ]j3`#ʉxf?uk,3d|nJz .C Lrx.u.O*OZ;lD_˄&$SuxN҈!5Iu6N{{p86!Ӧ(IڭizB'Dۿscfr\յKWfxec_k]O*}s._Z0qH5 /#H_VCaVÃtDPwar-sȎN;RdWC#:u(b^;m|Jh˄-h|٠.//zbm; [ P*d7;gi! Ϗ4jȔ3,k\ش~*ɔmDpX6% {x䔚qo K;L|r,~~؍hh}+PF]⚮ omNSti[S w^˂Ř$r.EN^s^ yRJ* A|4$*s[uXh&L>pzSw픰xV޾.G(֠V,'b݁WRP qjl0uve0IuE~+kǂ @W RB~5 }U[F-:'-֑VOgJMb`#;\Pr @ݫuby yT:yyWM_(B!h^~/Ȏ ",s p%Ep0Mϟ7MGQNF.\% 5gCK uRJQŧ -{bwin (<=ǿ!s[SSu=;m·ĺʆ&z䟉>C^ $*d)^;5#^V9<|o ݘ!%1~D-uk\/J@[[l{(Bw> [>VVĂVztc^O|O, gl",fRqrMI{2gս> `9;4ʀ#o҉y%cS!?X]O:edŐi˟pcލ= ˑ4P8}L^O zQ>1߃]Čx'iSsΤX4j ϧgnV> ރ e.XNIسZ!i0U QhRs,[:}t?ײҒGryA*Kq\3ZR\Vԭ_"`B."Mk x\>$G)]ca0ldy'SF7)A8sw8n.@17t" [k=ƀ+=Ph,6K4eIcag 5Idt3o~W ܾP.N@!q- !P?IJ₯śэx1%Z2Ev=.+چ"Ѩj9<;]]X6'a15SڧlȜnn9WtyW? ):6:-?an5{o,w+th"lbTj|ukծv^wG|%6ԝ} A*?ww&7?t77wzg -. HW ѱK[<`GH`3ӓĠLFRB$KKm X:f B"ORZ73h--d0`i&/&E]]\HчX/8 >d& 7 NK̶h97B[?ĝ,ic~#NhP*wNEZAfdiZtAD5jr{3v)-.oN:jh2GrpWlҲyy_b7D//mEn3#^!׈#)<F_[ E$q,2]F /K-اD:XÑ<>[gtWW-Q:cZq_p. q*e#\L*t %{aŃ+ 4]3m ja R\\φp譀@7_4 c" 8BUڙ¸԰8z%W6:Nrq#6@3<_pG+tXQyFE[ݢK`l^0o/*ǎǻ/r}?G rvBJ7fC>@#7im) ?4S#6\\u1;M'lQ:{$10K|T4`$<3\e+D{f(Biˡ_˜teeovT!'Tbu}]xK&/!G #雑y1~k/Ք@yKBts.2c dTU(v5m@Cq]Ȥ߉|u!lw+ֈžj<2%jbeLfͣq U(J>'گ`x =p zs,GyW74oϵSb/pvwT;+ؽᰱO}_U bukL m #Ղ;UvwHܬ  %% :)"h9ORʾ{clHco6cfuKnpCxkh}gJϲĀz"'֫I~4HR{ʨ*S[U NN#.ҡS__gT5(])/s)ן$cb 0.DZ3t.$j8ltamv5ėFzW*6!MC/b_1 P.wUSoY׾b.j?yS:1(|Ug?J0}Q0tw}n@=hŸ]naS'~QZFʎpd d-fAm0"a?D9TB ߚ_;@XA).P8psTǸ<ԋU_ )` 9/貍jR`LtR 4OX_L|ܲԽ/ ÜnޫD%Y{8ndL9gc&,(e6e1QRtO=\ 쯫:,XIAцTSzɾ¦=;7"zK3 ZdhV0 =<]%'Twz F*0I[5H'Z9,֤=#/z"r:vY[$> po R=L㿴DL  yM>xIlcdkg?V{`*~e&uKז `p1)'=($k3zs+- *\MR3|l(B%gQ2U!u[4ʬ~Tl&m|o.13?.w R>^ꠃߋL4UXI;xTwm|gV*ARȥw-J2UL!a9zT)jYOa=lX#7Ң &xY!T]&<mfF15$㌑גvA)3D~F`w0%[7kކYXuNin_kZM'ːض>}.H \Ѝzfʔ_:x%+'k" St{&[ 4~^G94D=@UzrEభfp7=j7|sD ={JbnJhe.C&~^HN;CV[[g^` 7NV ,{`yMZ4Pr[P-aBߒp')[ԠTd̂LA2;u;V `Z5cỊ3Ʈw]#!K[p YZMuW-=?e'ڍH^jn;? ޶qm3X]GY9cVGzl@@Y W2*|.BpwTT]tBU\ [6»%~2 b`1 X.DpVpͷl馁{>%r CA[@I&m!D*ɧOp22wY#eg)}42>i=,->܍ | !7NY=j }w$yot"N6{̧}-~~#`Sl 'ws6:%-aON!ȈI%):ӜEh*j|Q s-%=.ZxMJ6jNyfeWv̘>,dWhIefA4[Xɧ3b!g ca8Z.5@r.1޳ co&V3U;>qvmI!f?+'͛A>'=}/:d~|vPV y9! l<[SkTBhTr;ĽE-QƅKhG+&7:6ZV&x&3. ZյQ2xD05(yWצhmGm:$֫Cו]J˗og7k9Z׋־',Yi4a.%ym<;7e.@z}^Ow#(p88\F+h39JgSxh0 \g|^<{G_{=6Zq4arD RGDyE,6)Y Ns{_X5%8Fa@F< kޤMQJ.g6c9j}6B3{FDWi8ءFq~0l!Ҟ{_oz(] oWX ƿGS;$ž8T-AA:"x|QTy҂XlS6HloN#Ky`*q6(oj ݗ5D*Lc ! Qi"ʈiczD3!)h,J L.Pt|A=( D=f?\N2qCYȢhA+æ~9jCh#ӵ:{!Q=k;]*u4O\ƞ|w 7{F槏6}2R]J+dx&x#sP+k#NqOaiz/9wuMrVj+^c,yOu y\O][d GN_lfB?IFy,W{!StPYdgMmqИH:#^B(TMghf\F^>AjF/I6 ڝPv_4ֵ'9?J v!؋K+ZYKqs\v^9uRZQx<ӂ@{; &@*+08/S<߶-MȀ](ccԻ.dv Xlja)WQA+7(1o><ʁgg@ C Ep[=oTaSU@M1y}mz+g`ӌK#[kh-|.Lށg^5>@CgOnB\wQ͞I~Lo+%t"3E$0h'tV[GK䏢 ]U(7PNIao\)W [YHk 9{|]grl֤2Z7z]}\9fv 3Τ+ODRlʨkim!jo#: nĊ'?UdoޡGZ/ڼ +bpe@K A慳g\OyLe6η E~IUy~?))ػPPO]Ȗ_١?/[pHL]9[7 7bzn,K *vJEYgij Xw6FFIn~GpDPUй^'ũ)*;{,|m-}zNuMT._5ĸ@coo[Rhm+f+̔DF޷W$۬@s>dd/;/L_{8+m4g|'ZҬ#Ü1V&U~SyKÚN5|?vl8WJiBlaaO 2 G1(~Q?Z|-S0ON֯T2Z\.3`'S1!Bgf0ubիZv=clKNW139љA9R 2ѓFBa4{4OEmLP;`{XN# VFR2:}5SHCaąL+2;n(5 C%?Z+{=Y4uy$ꃳ{.=kD;,FyT}J8lՈ>A ZW2 GarNncT  cޝP,jx>iUb(tNJEk22t%<G']61F!f\sJ'_bOtʰC.d;'lqsea 4q^'ݽNn.Ta= FmdDm[ x`o {}jħ0B -g~]^ @sO 6 . E~ Fm.xFS&\.k6pUdf.wj-oZ5"žx-9v λh:3'ۣf$uiT2d},~`E~mh'RXQ]{6#q⦆/T4,bm;V5~Xa>g* FZg: g51̀6-D:k Ð F5롫a\a\@QqY]M\"1,>bXQ K^vKV4M5O>Di+򍅕D׳xlrw5 @R%F%c/tAUMi%=e z&GbTJ u">ǸW]0]ǐ޲I qD*'g?wSw3U(ԿQ(Zoq&4RE֚++uf;\n\+O>~+#S !Ri04N6T4&ft' 1]Q+d<(GHZj~*T۟gufOInimPN4*r$Y~Jhʏ M8XYS*N Ûg=΢4l k^1FƂy+sKQ!>ݜzҩx=䘣kM rwhVRrQWҩ(!I@sg1/:B\a݊.+ط@.CL;xR\=Ud^jIO5p6e {~~tDoZZs tc]Bn ML8<+\֝xx~FN!OdiPr- HVϑYA:%L\E7љj*k g*z Ay-98W$g`"U}m.hiId3  1 QOWw?.ME5ꥆ_]J;+lxs,QMh^7i"KOT1M(dW<+SPg U8Re;AI57'FI(*\EH!l9cl5\`2=J_. Qp>(D}ܧ:b[nج}7ɷ;p(,̆,̐`k8L-ɠ8H~=tKyy—W;) D ŸWBPtGUXҺECI*SF!VSJ} A\¬ފI,! ~dT ́%5!Fڃzae1P s;\!_yE-Ā|geE$75`Ǖ$떡ϼPൿ"FzW{Wԕ0$#cA^!Ч[[ҊO/` 14.$[cA^y(MtBAzPC&*9v9hVpf2︎$9Fytj#|Gc@ë}^%dͮL#^9Kar>\S\9?{2Z<4 >z~/UWRG 1?Vo/Jͧjh1>Rf> Tˌ3rE2 sp1`Y Xg1N_S۝*T`G3GKѲPnʏycF] ݃ecC֎74zrv]v9mKϯgb>ْ;6E4 "y%d+nl ̷-{\^Dg!Β*x*&aih^ 'İkᬛޏ/ߋIz2bޙÀ`25C|uV*RbqTk|hg٭|a3^hi\x| ȗRߚ+OT8Rzaz?Ka5>ww ޝop4>4$` %|9Mޮw,Bxq#mTjΝ4,e|naHP@]Jcf.G>lTNhK-q }xX_Q$%R_ z<9˷g_%%~J?iEwQd*b.lO`*("oeQ *:W,S`{qPGc\A!bLeSW.G7,@j/TF5j篟!}߂i_>2=Y~ETEL?vƑD%իSR_=8 C!װX q$K:+ݛ\x.8s-ԛe2vH> '|{O%OOm]Z٩1tWN))=[FF's# DS b վʤfH|]eYz}{5iķ/gEJb-x6V>"ٸO%3ؒezJΒAMaaH&-IS@'7=*^`v%n"jw0#@o/EIWXML _4+tS#k-[&hq>-$P7Xm23q?{LOR][bnR ned?|;K~MaЫ9E3nuf4V+oZG MX/ǤzG˲e>(zQgabÑ㢿 o=}uN %k9YEp a A7= lco(߼5ˠq@S.្,qM!1pʌ>uh <`g1t1*?{PrU27rl4v4;K+0^)+ZQzfJ^&23+"$!<4wtP!|BUlu5=%bPf p+:mžNv B˻"m5Z+=_CmAL_?i;9IߠrA|lNqbFɺ0^Br堽|΃^oQ*̒Aܓh'B=Ǵ򾞼6" kZ" LE{+0Sw/EgEUUP|67X]if Iѻ2s34F,y@mq]&Mdc߃iu#AJ*9ݖbR bI} …'eI&p`*AvhPSq|ޑWPKu,6ἔb9OW ƵwUũ)au;k4kܘZr.5`~d̛qoye5<+29*N%1ˍn/(ΟNGBUu#[ &L*Y񤌪aC@ @Y׌8TV_n6Z3u&^M}6,[7MGnNHVU2?FX]tAR=%p:fPgkŅ ^S:iP8FBtu E"N9()rBԼIA5~?τ ϩA6XxC"~V8R5]=Zj쟱}֟+n^G_չ¶R ,C=K쓶YQ9~ME홥ηfqG& iZ;'S`ꙃMJr&@Oە#Gݢpg/x8tH/樠cF/a=\}Gri:t 3'IMA:k0[^^յ]d[==QW9'Q>s@ɷxg.3EnNKO.=\tk\ &GE¦*GX_< 96C8Bv:@M7Ϯ_;ɳ?84ԉ2$v,kjSJLZ|E?^b!mekEUTvd*B,Ko2a lr-Ž"sWmg>c5F}甫S06}h?2X#߭ZýI)^RRac5tɮY77%N?&Z)kFA+æ'c YQ 1]3^ڀ}^2ԬD`H63NFxjl{6^*OJ9 I7}P7N|*}I#Jp ܩ{#+`m f"ꬩ^++vB(2mʽVD"9U4h$SCg{Vn7f q6I28?Oa\IDQ V',?iSHi㧿f%Bnw=7R%AɵK (=s _ rJRQW>qMV͇#P@C z{x9#=b&h ud\/]gxA>EW<Xp*{? Du~/qzaZ]M|upTS0ϛ_  ɰz>yN 0,oWo8sHppZy}f2= q9'9WƒkWpaT1./tZ".%U'ph}J+'O~f\ EcVZK*B= X=x{yEmM}T}> ۉLZECŹ}/_x;.?"+2LO|VT_r9c?[ʻ,F+~i79CO= ؔfjj&a70lX^NU;RrÄgYZ)/) w߼ϻ QP+0䩤%^#jb ?ZUYJGn.9N!7r\x/pV'O*6,o_kS;/tџ2GҤ5JYd'Npm(@֢W6!ZU ,?1a>tuG( dc n%\BKy6 oCwfw27i&<E6H6j:si'M+*h'Fe½[";UnyBAބ*|9F-c☆5b =jSk;J#F0~@Q}٠:5Wi@hPe˥"]c|Qp^-ozB5 BȼSqVcd/o4*@ƺπǷ@6O"ped!|q1l)͟ړH94l h/)Xڛg$./j!O[6UpBh& q]^&b ոjnl&$\U'!Sy d3j/3@Dp6INf⬕4ݘ'2;] .ŧ0(N{SZV\ށNL~iHoWߛY˶*FAvϢB_c;vyY)b7# AX"%VKWYbhh٘dixa|$=#·^u5pz*H$M7MtAϏ6TW% ͲM~q%v(Hl5&Ms i;-&넏?1). iӐʋdE}_Y b k}%k%NUb dE1?7XMm%{QuLt_ GW@WN g#{GyPzr{ՏS}:͍ݻ%,n-x@FIrP(%D+}ӕBz(2궺_*鈭XPBM1xZST5D%zYQϾ=Y|c[o\Fdl_qEzG B+$V'KhOrf699 4)Ԇ:B_O`iz>E8;0?. @V!G:~?Uo0$XG ꔊ-jgն3!qcƕ۽92*WYpk(iw%=G끺v_'#T)4vTZM–4!!m3H̩-H9\bFH J9緡]YoV(="#rcpcS ug*{mo&F*uk@mlNw,e!\b/`g[qwtaWi9٤ߝ8$Oܺ]7R0jB6m#A Q`'ezZ)vѩy)M΍+fADhh4޿g^GCAjܭ\>M8euI1K?߭gx[M.*'yK" h^I0@T[d~#1[@J$ ~h=qOl.7CnAy-fnn}LGrbPn)O읂٧MzV2ja1U2[JH  RWzo}vpfVt\vtL\CL`98Nm;tD ?`G{zN _"*oKynhk&W'*rԷו*u]@SB.Ȣ ;xTx, =7 P)5},Nv_LDJ)ۢ_h)p|:|?6 K@{]컡bG@9Mbb ꃹP7Kkv7u"26* AHrSzۯʗ|щbnfJ^o*\ ~ VehxP=- TjꔌJ!R4H6 j'=R$zO =D}\TfXgCSFcŻeғXS5z&@Cÿ*L,4Wq"}c7akGܛsdݛBG%،)bʚUB-|=z w2[SZ˫[5*rbS{~Dn æ_bzZPLH Lsphܼ7QH&a¤"* J^kEKQh 4=xEP:ҀWbА0[c WݏэXf#MJW!im 6Sf8˻n因*mb-*MF(E.0󗝍V,6Tbt``mBcQ]7q)]vPG~*6vxߚy8אT#t#^"ɘrttsuݚ8i{:wֱ6xĎr-o=ޢXP~;sNMo!1ou?E2Cm{հ% 'N C޻ /t I $?VG-7\p4m*uI"睞57(RrJ p}ŴგV^=@ć8$ȮusS+o Va JzX$e8=B#o 8c M lT8#qYU("X74mmY]jb9HhnYo^3+{2Li'0/Tc u,tkI0`U9`g U.34" <'L;MbUuvI:eʬR_TN5$&'P~h3ic<$)t!0 P5jWg6 \w &<D2H_ØGKL/T{0rkYbs^5Q{nQ ]$n`#lk$3yj#]3=Zu'" u4!k 6ޚ{ߒS$hnq$SXA pusD,%}orZ;:t%"5A۵!f#T'viðFoE@kzU2mh!zth9;rfDl:pm4 Y/x4!*p&ʧk]d ]C3ɸLȿ`fW`L`hy\Aă&;3 B^ ]s*2q|'pꭈ8;) By!P`e\B濫7<'K 7w lwkp79$o{uSR{ &!]_S`~jG"_RlͿr-R"I4j1smCIVU+)ԕvg9'$Hs4c;fQ= [O4|}JTV]+3ݏʑHyöXU!cLmJ+)Rv7ל"-ӂw=#/t:i`\oryƪZ6\l4':һs~ӱCi Ԁ/N,n)~UohY !\ wtH|1Wq"`6at6|Bk)Ř?rB.gȹ84ey>F2Br?[YԊ8U5訉Uu.PrM%vQ-z?:1ЦPGk'3sT_f*N>* ~ۊxSv$lFCERmG3*#p!T>Y<`,ˑgԓ84*c8x{,XfP6qـ-= YKa{+$Y^9&)HS&WGRT(#+L8@Nɤ1'H/NgWbB">"vAmcw4AkL;\BeEqb<56)8 WHNiy` Citx䌎|uUs"Mx2lgu8a0y$yQ#L%NȯۺٵGZ#<2Qâm T.faHz$q^4}/P![IaEJ _!E|rٽZFӑlvB͌۹dyޞYaO 5KE]ROpft~epQz疷;%5iuNJD",ð=QO/꾜D@>£ {^i%7nY#EkfǸY V=VsfU=` jG1Rl PN"{< dnz'8~ `uTϦ< #䢽Gx3ps?ҁ[* Ea5a[ج5 |˭%h`s53d AM)DVe$M0gH s2JeIh0Sp3z"mlGű\F Goe&нuNЎAi(wtm`]n\NVb1b`7ڞXB흛m V40AVK`'HQ)m۬VE˜y0XZݢpDrkKpwӸ7pKMe5b[yG[}(f)yI<)üjmLHױl%.-$@[Xn[%!@*i8Z‡,Tb[$0 u?Wl ɌzOw$CH1΀GN*[̜(Ԯn=ɥ#Z.ɴ$lD3ͪT7?nPjfƵ=yt)]W㸌at0Zցa ;B=zQCW /D ()a.]ۺ&o}Ze(ŕGCai+'=p*C̬z/ylNVSSBr ~\WVAsȣ ۡ:·ljcbHILn-AY=dk \mU7gYʵp1.i/fI2ʻTr*s$zVxZ"nD,쥦ϻ1_)ȥnӾ|7Z['Ɲza-yf$^Ӽy <@5k ^~57opY<{V9ʨAAhwJ9ϖM|х:o:^2A\hh]<ː"Y3[zDK#gbR bi P)#p^8k28@0*"r)-VLk@XG՘0cGfݻx?S}"m(P 3M%,k/ F Q}*AuɚT#35>?N $ƦlRإd?;C=ԛ"'_pvƽ%b]Zhp4V_@_gfQUG#V#̔4p x`O/'Z}fl9U2%Ub}y5 ؞ 8 }taj+P_.FP+eNٔ\T;W*DihXcvEa#թ/dU:H oq_ϳ?Ӝ7 M8blb[{ş.dؗON4Ak+p"YۛUa$5M"踮?_':i}gCGȣ7(:~Z&HwA|DV2gu[ >36_<7_Qr;8uE"HTNQoU,9/y&8՞:qIvHQGb潯J*UMvגX`@U,dKZLrHʚrZm|w+DpX[XmfL3&՟0}iFD_T97Ftm5 /Ǫ` I"T- Zu%!^5&l |lrpĻmD翇,|.q>B%xb-L,V$/ ЋqTcĨ"U #!g"!Hǣ799Vv{ f+z[ľe ʁw`WHK *<\[vPY[]nn]GVXK>f 4t5\"{҉6Ǎ95z#E 0d"Qۏyw-fv! :Z76'^$>0ΨY횜hr)}֔R1B҅xUŗE.F0oX}X Cmlw}9^E&])`_b^v%yP&">%5(ȴ*=qf%D ˀ[(},n BV[%,u0\%5P&h5?v1 'Ky/whW~^Nq%.Q5ځMtihJ}2Phl YoO+q;/ \W]\qvj? P9>t݃&J儫͊*i^t#oBlqb `.c Tݏà:c,Mqf+m goD("x1?e( f"Le 7r&iFzӈ$WP\iGh8o1w~QOKy[IÒ5dՂ 61 ^щ4`@7TJƖ yn2CDwT ӞyOM]jo/2. ޠ8V\洍PWs|ϠF#+;*7wa p~WGǖRQO՝H^=ƔI;4vG]꾄,ӔrIiN; 8V F1g)~AZL-L1d{Aʴ4.RCOhFY"I?ՀgBH;vCBbQf0/CAVA`7C %܄W$RWˎ Hӑ_qn]8q[E\c=YRc zBpB짩 ouNO}AJeutxyQ>,>T ! c1e!6@ {8IxкdL=5R*UaWB۱K4<%`h\9ɷ_"Jtq$Dd6^dgqϵH6R1!޷Sf V1rL4Z!@ 3L1t G|E@T8Q*7Yá4I% >F"nE`=I4ehIE͠{(WYQ"rcmп1^4Ubc& 8Qq/(TǓ<팮ܶ8Ot[ [ ?URd1VWp|QŚ}w4_#?ðr=DMjK+ xFM6pn+V8U<y}WN}L}*h#r0fQΑdJ"^q # Ŵuo dI(ED?N#V|pϲ K>n%lg R[3{6{IIS6[9XW F@̣_DK֫\yqXJ/i^Fyܮ!D6SǷUܷ#i<+&n_]F246xQqʗC\5uesP!<(>r-J}{|ݲfp2^obxz^Hh8U^69#5޺޻t{ʗdƎȢF6w>Pp[Ho (cUҋ? Ɉ 8FI530853J v'1LDZ> VVI{< %! BP?=@-Dv.1 ;Ɓ)z-O}(򿳯;Nh<dw`cl@,Omm;K<H%pfx2J|H/2>|<+P-;'3`t fX tio;)2Bn Č)P7y0ۚ5 hӢ$yKcH#C/a6Mt0EekHO6Blh^4g9Z"R|;ݚ2] ݩ! 2{~1n}$GyyŽmR#'?OjHoWrFqYؤNI-m~a+$!]6 j;=b uuĭįdW!FhrNOo?%0x>੪KvkX3M&;t%{񵑍[.];*ٱQJ+Ð XmUo'*πZp1DLeAȕ`&(pdD/HޱH2ǪQ.$4X qR!mvr&\f ? 4e_½ǿh<_g%She2Go7EUj&R-E)”#24%Uuڼ|e1V{ T0ʀkB@Ш.{iB@h\]khrtAyN@3_>^FT(HY a>MqQdzy/ÿ#7b Zm9e3Қ(ɭ/oJ/b ӣ)` Ez#~1*]]D*/rі21)6QTCT"y?}ѫ)6[zCl?^@#9L*W;W20:i.g%7T0CڹL[^X99J@&!~2 9"{6Y#6 ^ه(5_`1'!2enW! e8C5[ԋVзv:td8D2F[qٵs3+R[ʇR"cg ږvl=H]71n6H5XIY"t㽚ۆ {*,tv['@+ޣ !Xscc)}aH?FMmNۑ`,48(n==~#A Tذ#=v{i<7cB͛s[GCYG` ^=g םg'OR7gT9Ϗ}G:H 68M 7I#H(+ԙj vAW_y, Ozu%6Jk刍 aAڱ9^р^ ;nsS*-S**084_$]'u `ҏxJ.k0!`zQ7LaazDY_uIbv CP>-)#;c6ƼEQy,䛩Un'Q!)аyOH|+ '(6pOJV{\m͜Z #w)%z[qcT}I. iٿSjϑU}+ Py> {50G8F}8;MX\Mf j'`&~^5+nS0@%i>U ~`݊r>4bbI{#A㜭1&i=|֫ZcK9Ѐ W596)S]:`U&cm ob|PDuIj\f65r.z%[,-BЖ|e"-gHTs%N%VnNPJ ]K O)T_">^9tj[NC^LWץ#&M;D3"W[uMw_ P}~6Eb"ձ.:lȌVXqX= ?%l)FPaaT`F!>_A|kn)& O=\"d-@b7+t(y,+;3Ά.vh[,q-_?}uQg?"u̇"B 뫅W(,xYwY )ygw+;hp]DP4({u]Ovtz4 r 2fqJQ>nv6[JF%ڏwB1_6uz7V͂|Fg /3R{_$aRB<} d>Yʐʏ)?I($MTQW:yV8 PU<l ĄʔLo?/_^fn0:pӠ,+($+p]DzXNq|ieF # 0מ-Obpst&* A@3'Ғx>< Āmx5'W@͊}Ml 'A4Cvl'/  U5H[Z%jN`[ĹMTMtIv2E]kOː΀?fczbU(='ssf}- Cu?P.m MpLg[Utj-;z?GM/+y06^,FbYg2*7@%77Ls(}{1;\m nDBY{ȴdEd 3wW,k^X'`Y*h#IY\%Cdbn~`PaI@=n ?pÙtE"#W{9OѸy* U:n"Ye2e3`^6MԁTݡ0{tZ2C 0w*IޫgIKO91j`ZΥv/sͶK^Ug$GBR9 [)}:v͠ fhN%) X(gP!W=a#Wb=!,=$]2{NJB33E'Qu>ۼdZ>T,4cKx [W-Un_ƴq,myK%txa)]Ok+RG#X:pm.'{y`?J/P^Ů8 T]/: #,3M(q׼H? jy<𴷁WuG],z$Um`K֬{VXM( "m6LX2`;0$~<~;WnbNM),ߥ?B.ZK=T8fC L#1?i ~ZNKXK/F֓3B%C7X\X(S[ FX/$x.Ӕr !vGЎ^̗6.g_[*NPJIoffGa1ùZ@7eҘHM+lX ;iT`J_l"6'¹"84[uDVCA<̝hF*`]B&lju,ȖZ<)}q$x\ bVA^9GOr^E~z&H[Gʟ-K Z<`b t=,Ȝc,%m@ab $ }t IY`K4-"ad`ӪVO ^B &<%tDIx<[ [{⧕;@3>t'5-Dg oFӎc.v}6+{9SVs)6dJ\ Wx{"\ꊲ+K| 5Xߛ p1RUGwp77Rs2h,VlvD>nCj*Dos$Z(j5#pS@mQF\X`A^=m'ݘ}'țb:TA `}30ox&i[6[vm6; jO=Qⰱ <cDY|>uڧlN<Z[1 fcUȕRƲ꒎  TErb ))+orKl ^x'EeBsX7nX,Rqc t ȹUb8QHIlMj $Ri?H Dޕ-Dj>4_hefsm9.J!Lj򿹕R0 T_ NH}CHk^#>09j ;=*@Y 6OU}O ]G0=MJ_Kuq5Ny}3HB2Hެ|⚓QJ-&B̾/?*m"cL1JӁ12rN1vv5rQ*,/Vb.(klz sIAq̋IK[u~?Mū&?Ua(AT(HuE8C>SŬfOxjԽKxN0 uK9^#cK&a{m5͈E82TەC怩QBOr>*I"ZW1}r/Ɇ&3( "Gvo{SXzGo߄@-5CX0 0!*Pĺ=I0Mlu r櫗M4 :GiMI(+hnrBoUuBW"$ tI~H~+$^]T6qB,޹="&tw&]QqlWVgA=W7Fl[* Ir/u'TFJ~zeٌm"<1 \ӇVapΚmd3pr5xhw"H4*{KD~D2wj3*k2-!4$*) OW8ZK ;ҋA*kl;a=D1f bQ_ҊaU- Ruj 3˽ޚ~uhm NjP%g+AKJS2@.p e4LGGv=/f>UX+@AG"&% _U.?]א<6A 4W\xQ9`9Q(\U|yƌڱBJ[S6c&DB%#K\*f$Ս**QcS%3#0#TKBw;WX0McB0:0N2)X@ݟPo* 7k2;[,p-NSL7I]VMJn\D|;Yq ti"dp4߷oL>2MƯWfۡ+Ǘ*//qWc6 r^I#!KJL-]->䁾`o[Jӯɂg5(ȆBj|)*+B G't qߜ.|q4smHQ],䊥7$j*h <gF Cd>8SХ-gnjJCꛁ)@S=@Snī,J*{›UWwNyraYҸłi\dNagy{"<ʻG,C/r\ g'%[Z:ɑ֌E.4q—|CXHnO .λWܽ9P.P[a@{KH+f]xeӜ{Hi\U> OX^!r}a~t/ =!"jJ]aBF=N8;!e"㷲 *#4|AxB#DLޭ8 VTdbɢ/Lz^(IN&2߲/.Sہx<"m\)Jp.t ԧyVD$~m6mtyFf {z Qy'"cϘQ O;gׅҾM9 de TJG$@7Y6sQ2V[މgG`'V[v3)n)SA8FN9aId'F{mppaiN/{$!"u7Wa )k~wo6K[#\@Kb+-$5nZH)E;WٰzY"I!dƤ!J$Ňݐ\Fw)CZ)<^u꿖㝻A)2^,n"3XŶḮ7oњN>Qևù}.Gc 5Bn]qQkh' NѥLsشRvVQk{&?2 sj}Uw4:;87~,`޹^FcŽ6@!B/] >Z(uĂ4p-Yűd?5v|z DH]ŝF2]OAW<+LXsf-QMXR:GC352G3= 8qky|#Kr]$RCn_PbX/mTeͻ곋zhcAȔ-/Hx؞ekfGHh^g~O+epHaX #g*6PP*W нk ͭkuс#g *vd(mdqVGC 6+`La"5'NU  <`DvQ/-r#&p>i;Y— h W&s,?HPYxuI(aV@.sR65]h/N +4尳FD#h'%(ZPxiֈiD!۴>I(sl[x򀒺Tm8"ucًhC:Ї.}dEuU^LuYTJcWk 8m}C+ J3 (fltԵ<ަ$Ll]1v1 vd@6]oa/m=[XE $Md.:! Л*[Yq:hJwo^:1{M\ /%`f i^ݔ%),* ,O1ɢd7 snuK:i|T&HJTi3h}( Y;_$XWV8d?.|!u]hZ^8wyDRv Hy"a\7 چSE޽bM-o1a^oh!?8>Xcjs&zjߊ軥'H{`PhKH^P}kxZo}ތ˖^!>gDm0bDOi+]oQLӱH=#(Gڏd.@">ZNDۢ0$|v birtI| t3^}GT䂗/{^ ~~7}' +6G*#VUN쓭XL9IT- _2/XӮLj9UP->WA2wQ8GE̕e{k]GJasR_Ѷ%AX8|=Hs,߿t]iE1s0vxڦ~YY##I}XmvOsOBxM&fΉ|$@5eBHO6`o}XdxOWS%ŚlZHbH_4Ǡr/+ܛ5X+,F#T7!NJN lS-@D8Z̩tcGϥ"Yw("]l\HqP!, O/ YeJ$ Ǟ_w u+mZmgR^s`(劖 qcOY]TdXV@MRjI̔N&Hϯ Hb["0'mkܹhL/HY%?(Y}[HOB}9Naᔴi:w1ػ'ơ'6Įm[U ^9C] Wّ/Vmla $J8\("%| ZGk@*|Mo!.Q7͔,?gMK Gд )dZ4 qЃ>(&,;{`'t 7761%(JZܫ G _hм#Zf0Kz$wRc@V?` eqr1Tr&'H*m*7;V5X% |/EN ej2[!wnN9Zg,{tN(8w9=>*bziPC1:?wq2Q66K2&Z;uן>Oj!}SsEk4q}$80e sXz~bȭH9>~\H UpJȟ7E4e!0v1ywc]p++%gw+;2"{>?Gyv~r7NjXmϏZKZOE .pәl֣^C>#d'3e ]4;u w?~i'`UР|j.*AZt=q@%ˆoNXU|mAY>~ڐURs 4 <# Q?ԯF]8r I]tѤXwAz(-q.ă^7g9trH]kdYg:ӋݳxSȋZ^jkX:'0f0~DzZ8G)*<ڰJM IND]cdK2 D@G&\iD/AVUS!u}:PGQ*Tǭ^tLcPt3L"*϶d8΂~D& -EalzEb=e;= -cT IGUIXv't7= $ mmgM:Уrۗc{S4k1ntDB{:in6YOGE#;Λ'PߩaM " *Xn\&Ϸ`S_Cy..lEcPlSx+gKD.ZP-%`\oOž'K>`u =,nLu)ilGN #"g!qX9b{ VzPd'jFU 7ZgzM"o+uҿ>픽 vT('O1yc񯟥${ZUa$83ܟ:p""ɏ4nP6l|c騒(;6K"ڪMPӒp8EzQ܅tv/ަtE$['UtJkmjPW`tFhB%̳`yAlY-o d\mF 3N({|4}ZVa+dtf]߽5mB|HCd97zv ٨U*=gpf6&yk#_ٞݲ]9o$K|5v~r5hK붱/*tŰLbոMOr1Η[OF2~` kj#vOVN%`bQqR)8ٌN,cAiskF 9pnhI1B_s ؄94=4WD{&{Nis sVe?\O0~W{;|K`MA3t$u\o2%O (F҅Z'Rq_TsOl:ަ?Kb$V*| fmOf3DOj~ښs7 A;o4aGDuŴiyV X@cM +3Z9Rkb"/UBۈ1Sr9Ӿ0W!Pُ.Z~'̏S˹G6cֶ?=TKƁZ‹\} [di0Jo7אJRc 'F%p;V=h LJ #[':D͜rJ H١ }_G?u+<>\kS6MccNo( 0=묡.\%FO ' (oY;_gۚ}wş4:R&1\c qޢWpa=~6h2`&_P:}oR4POTo8IzJ`@]B @Zi.t|帼݈1ﳝT Kg[ty7!A6 (,$58o-l# ʨpڒ4g%c};b_! {/0;ؚZf]̨ªa 4Kղc=# 1ǣS!4!&4,C#KoPL cFU,w3TДpstb V/X$Zb5JUڴH,8☪z(ǥ L6cd?JH!DW>]Z! W$('AiKKի5}Si&щƳU# (L^9B@f /SX#ep4}bL '\+8& nHb,QwVWܗu!:a,.Bm;.LaY0i<XKlCDd"YY8,ʭm; *PWj#千r(A$dS$/i|Xd;yϿ+&jq(]B`=ƞHaڔ" piB8SO_ F"7=B6#f`4hR\raWx\ z?:QRx!G+&_Bfd6]=qE5~&Na̋*-z:/-;g)]:z8B Z#ZЎc6 8OeZV ]IZ}Z4U뻾禨oXFEU`b]ڻ `\@ұԳUhD<'(j;4N[3&B""&(,yA:DmNeh-xxa]MyqMZ ] W\0[6J~  J)Z˅W)xR3GXpk~ym؞2*^5;Z(6Lh[ aar&w1c^ "a~ƸC_K??yuSVÕҖUN9d.OS &? U{t,xDk6@^{Cuօ"(WA㳼0ߥs!ȲD-fՠ-ޔ`eB3 N߇vrwҐa|qD?j1K Dd%~2yrf12%-;nӲ:SE?GE}JpPGE{WG>þ hͪe3']N; /(䁾|rk#Qwo{B fGԈiֿ:x50dKaC߄$[Lq{ ذ$-TCP+6f[ orr{ͦ-CpG(~Q+j,rI8LJ4\Ub9b׼(!Vt˫!2 .RP*~ѷ&n^Q#Bg즲mauRk1_U-a3 >|V|42w%;pZ1?AgEǵmدZ${˰0ILFLq&GLEK܄e۸V b @ Ң݂[ܶ_:h>:R X=TM߱(yP*埿.VR8!>EV.}ixv1 |@+Q./|E[0u0nP0bQ VAbsM/ R; X֝WG ?=2-Cl)aí[M}Y-i`aD'J.'+t-Cd z1ba3굍E|xLQ9o Yzle jbxZu|VhjZO|zέU CbE"D86z#Ku=W<|`QQ?NOyX L14Cn6"4~|\hi(KBo\r6EE!o{}UE}Tg+H+V}lrΙ*WqOXxJ7Ĉ"6Eeؠ]") x]%訾ȗ[KuO-4;5+IK}H.7Cgp #Wd6F3L+0Ӭ.4C8OS{_bͳ@lFlFȑ ,nϧXAf욱~t\D@aiS~KlAwFy- |ɣP| RPQ;o9-Sʻh*)cQ@Tc?,xX_!%- 2`y^ks^j/4qvgϊ"l<9.1ҼʱGrm >&u _sk}LV*!O^9e|B]X [ٕ$ Z9EdapmC2O!RZ):z YqVd % ue$}e w!@j~gR1A xHXq[wxz#?"%'f5ʵR)vI <棐|;q)]W[c#Lyɿֲz) rAa/;_Pfw!)gYwN{4Gb-4@b:L ou"j{L]FK0'}%Dz orľdS1&LQvY6h]U8}Vfw!݌t9~ y"WiٷHM]^_oǥH5x|ȸ`xü>3هܡ 7_~xE҅Eo[q$5u ]zЀjB,?j}1/[1G:4}h4U,VSQPDQ-kf.Um"[S`cF@漢TGCw4-DmxչFcT;I\N#]@'c>.|sF 9ΐSOItI+P"YhxH;; vkơ+ 9HKGx.='UzMM./F"A^LS:iDZFL‘UTL1-30I'q_? 2w#(z&rA2[3Y X* _p!J$tK2v#H:iL<^~qW0cj{0['_A8s< F4jr`Q$L' LDO/d9aB|oOj%żf]I埭T 1k.:f IT}Ҙ$ S K@5TdJeoeH+&`IئVzA~t uA> Jg}UEr%n8n:e3E笕D& H.T\x-;$>1o7#<#]o pqWQboc:gvx|oxSց]<')Kj:]!TT?r E%dxQ%[\#% J2뾖>?p XCg$_Xa8B ?t 5d-]dsoAnIT?2tVMCsix ݖ˃RAHOW!тvNFSn4sJxxTZ/Av}!ñꈀM$ːR(\l"~,0D9u]RT~q2?T`V'P ~8CF\*#T P'O痪8u!%91~ReL۞ɔS1.F8K0RnI@]6V6Pm5` &+6 j" g%00`P(sf4\y"ɎѲ(+@Z'X: ؘ,@ȍX(5_,n$Oy'UF7:|}Լ\'I{e$BBTDgdܚiON77>}_OTٔ܎6.ǐINZXNVgÄm>EݹӨ?cv>AAc;j<ez q_ը)zԥyd$率8a_@_&ZFm-ILMԁ^8i-?U?V`ԊY :7E`dq* BhXK#v *|EoxykqZO8{"{*gVWKC 6lI8'@66a=j8lz 1Ss=F<'{k @=o4=be~Χ0t:Z|G#볋ORB =; _ E2;9R`[ra"sΖ@ ) E:A\D"pQL]I,(/Vywn0 8R7-*Mx!X-R;C;(dLFj |obLC.hS;\Uے4F۟"#7IlWucږ䎌hI!cki-Gs k,xs)p9_@Z1K4 8+w|YE舚$P>@{qҏl3IjävH0xn|lOSԥxQbSɘ^3t(vQq2h16B[|Lzɲb=eH4@-؁Qc~)v%r FNuh{9'W(jY.~"^{O r$r5F:n-n UhL`q,qRlSeKƟiX $Pf Q&A|XɏTҦ ^3?ѐAV}slbq+n>X5:Psdg2Vx:X[O:=h|{Pn6KmLho_f%Qȡ$C启/|HR-)v?{$ӿG0!S. ^}wlYug7w{fYTEQw$ o^;}^"}օ]{$\W犖;c3 X j|7.¡Vqʃl&tT}yu7[kݶ:ȅDd\_Yj`@Qu#/;NCCAs"FB1%P&$-$߹ԫD" I$! 4NKeA[gsDL(/WQm ؘFPnN řk'A;F9IUGWt<ܔ ˌaJpǕ#Һ;</an>RTo̧"R'2V(i %CA H q.mpJm@k;#P8$JVa(;bE}o1Is-Ay]}{ځ2z̩M^X%P{:TL3 7hm}*]hy݂Ȼ^T7tA85,6gb FqҼds;!X?wVop~lHx^[cg_P'dAU?t vzOA2 zQPYXR8 SӦn d+)UGK %rx],tq9f4#ṕzl N}FA>掟~4Zi#EcP: vvzVtL=PG89!O6k1O#iD#SQ1NIFp>VEXz_ڳj\W=8JHrW`,0حq*k-I>Kี,؈վ!<fݬ8ԕytYaWg FpfN1G_@.܂c;Z]~s(0:&DϝX@a \mBc~tL 5ˑ|[,4τԷД2TO] >LQ/B\سwum-2-|wi +؂:H3plug9H+`vBD)Y6ZbA7OA7YyAGDϾ{qζxoTͤmoҮɨgYwvB}V86sE)H!cNr5䑌hh޼ΪHҠS1:DUgI|;mt嫦{ݲۀM}&!Đ?57O)(SwmHK-;R :t}`Aq Y׋I낑iv ߒN/bvkTz$ Qcqgޙjb . O E 83#˱/ {Y"¡! EzB+D X#QQ#?dJw w58Pv^$ynf˱*BqoԆ#,)1T`c\% ݗf8i+<'jDe W8bwq1L{h/h Eh7 ੏'I% |z٪Ҩ])*Q_gz7cFx=r z!Ý8ZZRy/u=):a'K *6?H_=z=}Všu%/D0 i`vѦ{h-'&`ȊaRqz vODbOr9oulXqVW!{*ov*F!CU Ζ~P$I<"`md`83zomd%aJ* p Y{ Hpѹcc =2źk}^PeeQPŸ05{2?#m݃TJc `@o?qSX RU);YJ_"PmOXbXĽ"1J'# yCO5v]O4i%*_zRx|Z>v E-澈PAxTl!<:{qzVrVCf $`ʰrBKPx %J\ P6v H>AS15o\sU=i3gАR&H+J=nM+_]9 ]F3}%CK#6(eD20,=D鑫ݶ%oq0z1D|276fsZ<υ0I6pTR*b=> 7'=c8"aq2}[2:͂#*f ; ?ʉ 9*h5y2WkȌyJE*!Γ]. |N^BjOOWC{%9H B$  ?PC;c׶dGU;=]dY\q󳶜NKyb&q\ٌ);b~*QB)Mq=7ĝ+5~N7e i}IK5{v~ "q cJlIV,#"pwZ53B0Hy `q1 ʛvKL0 6;l'&'HUn`:-Ͻu@.}j-I0LH+ -?lZ|U3{PR{@ 1ϵTM[9Sj /bnn4n'6̏z t~1Y2ezN\Cg # t1^+lBغKO$ȂU\n[uJ0nlW6T3-7kY3:jo"N鵿n2B'@{Ym.{l-XP+s睌)2IL`3F}Tl:ѥ8D0?E sߛ <'|Iqfc4EЇ֕IIZ* +b_~96EnBDk]S12\3W"'Me1@>T]f[^D[EOKJXƊw"U[U!hoduwɾX)z ?7i<Ԫߦɹ%"aw4A"4e;PEO&oԗf^oCf'mg5?Ӂ{1{vA%ICq8w@>dɇ=i1fP'nb4eܢ8ҦF'Z.i)}YXj;V3Iy.|jIOl~{p,_"kV&[Iak/]9 x$S}7!y!$E?`7C3S*bJ."QP]8 ӍFKjY9y7Vh^XD;(o"ŋ-I(=} 9! |"_Jn}H:ײn4Sz>LTɗ[WM$fS!,i*[8Ҁ# ’V6绨@rE` F-.Bh<YZ%W÷v͕)0o/r7?B i)/ BJu0AOFa6Ni"/Λcx# rM0VfEig+ C$Bw_ޏC1@R 2uk>˽4ŗ^N>'L`qQ9S  ­) _8Zb; Ey(29_ߥw8FmG[]TkZмUnhv\o r1xG? Ğ7.U{j1Uxiʷ cUn=bYk x 'UEQIoCMgI .DlVq>Y3ݬa 2g⼭?J(ϚR_l(`SVojt^HԍX{F9HPbL[n3i}J<4`.A 6dE2#1L!cZIpmKKS9adU> ?4I2q6C\cHjX 3%(15} j>úRÐ9`Rb~x=A@%BP~4-ݯY~>KJgrJ(G4º#;NSh>캏nKC&28 ՒŬc/Ӏ]ڰ[c;k]hÝ\}&0h瘴ܐ,?X}[Y3KE챭TPF=wj*3J~n ;(058#-Ǵ!V-]# j /7aʶz5E(F $2sۆ1= eLKIʫ=$_E{I{\U69iP>uKŴ*cܺXWYK.FpU" =X}ŏr {6i4z 0.ј`PJݯVhҒ!O'|֨{Vնe ˬەg=qob(l&Ӵ )5 s7vG~uv!x>^v9~ULL@-\h (aD_7?Ԣ&oEub C賌][&xNހ'qRēԲW+f8zrⓖSh RjOLޛvRHا]+vׂ9F3r{ њTMm#X^b?j@W0TGBv"L*[5ʨIb)*ӷ/$80q@eDk._+&"3G}@جZ|]83[ 'SzSI#s ,."ҮŵwLȠ4Ԉ:ȴaY]KJlo^,4= O%P$3@[/4Nd^4t PZ[ kYVi~D=#Td.nJ$m{F5—E#_v-O&A嫅 15 U|k`k|SAZVvUDYX 52>n=`HS\26,>M|^癩%ҏ7榾)&r蒮| z1t]0O:33qN J,W5/:H+gAݹA Z$wao`Ŗ{м_(=yzAXuZ^35q‡y٫ĊzցCG<ʡW  k ycE&.Rh=0tPQ++^x,ǘu4fk]GhEVuk,Y'QEui6n3Ø*Lґbl%,{\1aTqZ8{*|!8\#ile}ʩ &ʢ n|۞u-Jc҂E|ʎMH`#ɦuN>݋xJcN*iqϯ138e60 ˩XTz7tNpv}ЫEW3ŕic"J2acA~vZ劏<~Zχ! u2S ~1 +k JЖ TؙP/nbe0i mb Gku.c;u6\)lߙY;ܽT-XLH{n7]A`.Â=l*]i}`;THFil I\ :nns!m?6&ZL+mQC҉ H4' 4C1%=Bd"82-F nj!2OQFg$IXMeƟHS](r$)Eibe.UxTb^ll/6BiZXcyqMz6"!˜A8s@Ұ ~D3QFL8*BjT28@y/r*-b]8ӗ&G; T9WtF<$`-N<(X tP&ֈˡ@"sٴH!0r).#\P:M8kA&W;$CN^N=;F Yf bBL M |m;Ʒ뵮|*e,725jp.4E0)nvթ<&u'9ߩʽ`ဿss+4l͂)&~pN0C* 2 &1^͝Z- m~iu"L]A0mܞKduk?3Jίk)` g&Ko3;TPeRZiS;TDo *{%iqA2[HÆ8[4Đp 잖X-V}rHZu}o~Cm>Nbޖ (Ŏ<9)$P߻3YrDF13ia7$ &;EX\ߔlg7"$&RHdBB]Ѣ ]5iKT@j7'@Mg#W?*fDwb&\8khS oqcL$Ufu]][TE0';gjBp*袲{[׬\VW'C"&Vj"@zéJِs(g- h:?:PWKpQ0 @"45dM!l*rf>Mc{Je^-x\c(Hph nY4auG+;}ZP)q#Q>.+Jmo:{kstM:޲ C0'%:Д1#ɯ+!fJz>h$=4Y93=D-®|J:c '.N]৻޻+b^)TSOo]Rk xa6s/G)$|=dn0>a GUcv\7dN$y^=mobUL+Z1|UXWV1Pp[})2l~ݽ Ut/5"2eq1+@fqbk58)WTC}2S)YīeZ'}mmҤ NrNC;=XqkW9oHV6m؁M6\0q,֋-Q&?&$ ޹m-HɸRI_'l7bя8WNV2U['$Mh84k=U^Ϥ ̬bX8G,~Q &Zr*bH.\yFjBr\2 Ҋ;؈Gn]-C*V. d n ߖiEb,keѵŸJoᐉK&b#!fwh:X W5vwqTUu7de%z\H@8zv˃6- .xRH+=bp" `Tp!{Ey$^\U-QQea_C^{ #k[w3} ;)Z*I;(09\۞?^v A5E* MiBAA_LESw"_:xGHtRѲ=hgy lCZ-7zŹ&ԭu#mU#lh@hi(m?f\۔8,0{Oܪuft-'qw_q탎{x7czT"qOk(.c:́ =-K'!U)pXT<֐z:iuB f97m.@FӞܨ&mpC&AHYdTmkAi覿VtDwHx-4@6D߯. p%G){^RW"_PdLc_ ڗk4'(R%hT̍Gu+L1YZÚBζw:J_]Y!e~384ƣ n-| JjN+: ;QlDw]`ǵB$Jh2h5ƫn;vɪR.E m{RLX+RV>R*k̨^%t1(K mGHV,|97},l/4x쿇Nzh͗R{O?ej2sH†e.xrK\(SW)mˊ;G~J },(g:>zJ#)E{HRRmR&uTgH1Yŗh< xZNZ t|X1Et%1㈹д;S_G o>ʋ?ę "F;X^cPd@1/;4jBD[ogů+g@ճq$$1% KdA:3ok,o)\&RD.D#2`PFҨ>尥%5F2$lOUauԔkvZj3r $Ӿn5Y-fKӪNibFGٛED4 6[Lpu{jV` ұq?~Z˄'j=NZb ^6 FkbmRqڱuDxB `>mT?CW90*j!ju dd5!f@O.s34fiTzfgGB}B }\UM:!ύI,,!=5->;;~)#i ;U-3-nM BQ&61/`kK0`mV޹x3 VE}RtH,zͮi6P|xO"E+2&&L?],x+ S)9Mo̷Zt:־؊ t5B_*KNE /w291`-K4QnRB\m хJ=m6v(k* dT]C#l}\c@ M Fklڒ =.2n9D .)SoKTAp]6obhA\H֮%WU`Dd|+Jeո՟?)7 mۧaFM"%E݊xh^ 0Sn7-@'NCʟEmO(4f@9kڽȧP/ HٓQ_9)9hOJ^~{* 5{<AVN6RF*n":4⨈P%֯pFlީ;2֞Gi#eJ {?a4__ 8d308t'桻.j"4uI.u/UJKBc!iĆ( [OJ gl8@n]Xv"pk?4>|>2@yJ]OhعJmHAKE ' /b5 ,zƬ^/ =oyx\=}}Bwoaw}Qf4zZ.u^_Cxu/.f@M셱Rc+CLb.! @f)2KB0kA2+XHv=lw5%EsQMqn %"iw:B: KNO+% mH ج!.۴Yj 7˞JXN]mwGfg[~J>$.MYfH4ya~Ky{ifjY)fW2MR.:(!K|*?QJ,ko2Vʻ3/{|[)wy'0³´3ORp-$< 3/t2mZq pSdć*?+$Lv(H+1qD8cǿOL xOjɠhLX7|3,4*U:F拓rڹ5Uv{R(c{`Ӽз`OpH='`ãst/R6{C"KRi/zCim^fs؟ ^Bn^N%i^ %S>w'ܽ-Hhmܷfth)[8s5Xr'!#rpGSPvrѾ- f،X,-rmF-clA$}0՘ J\fp[U^.܈i[`1em3Ο_Ș'19zR׋_=mWS(u Ù_& D-eo_E54* ^}ॡ-f^ݯ#8?rEIBD޹2.7u t%/C1! Sx#ЮqYOcWܻy6C94n7ᢲgn_=}D/`D@mz]Â^6 UNKت؅ΐlxG]L?M)Q%'t"䓎QU+-_CGEuJAV0d%!g6=e읓>V !iu{/J@+HXgJ %Q@0tpMSHhԥڵJoo!TmGuFrDC/:DwӅ&CvsԤf:kB#GCW8zOpUzjŃ;ӽ`0U% ]!;' JZw`\N"OjDOJ\j.^j?pK\0M 7EU{8|.lt393{*\$mOj @nP[+`"l/1¸`s&ac tꄍO0x"T?&6l"*E bsfxV׽C6ɾ'g.O׮WuwȈ?h3B<=ۍT9% <"R?ʇ~$ 7w1_#⩾on5Oʘ 1LTsȩD0Eyf2#4U+8eE:MއP[:_s;6;: :\< .ΐpux EL=aP`"*qO\24cEvC_\YN/kvR,tw8lV#=CL0 0r-Z d;_ Z0=q? )ӮNET͚?! ]А\. !{W4V>Vr u떏KlZ꺋m8xP槦]QiG"s"ɴ`s+d7r5c*~L`'4gn;gjQu Snӆ^.r2]t~dCauetU ?U+td7n!̵_qL̉Ә}}6C ki&-LFZ5$ZDcLku.plm 5q%y9t2zFpM8T V\6㰮ʖ]$w7&@Q??W nHVVng Eak2H{i:`k0 P a5hSwT~a.@za Yg:N '$ qoIňtHipzl{8ƺt"S,)"3jg; "@"W>*MW? :фH/uHȑw6o ĸ~Rx񻄦tʶ}f kj1sȥ}F\\d뻞)I nUX>kdC% ]K k+[;El喍 E%g,6B޼߉id>I3仛x) ˸#28K}{[ R\lJGqwe1D̓?V!'MZ_D!>U?|YݷY΢IPx ŏu6nm),iDBttv8@@.2wCJ=`@xmdYï,dA!\oct"8a{vS{:vZÇSv='A*{6+m>JNܥJ5јd,{QYh3~kTUZҺhued8±n@b\ЌdK|')"2] V4KZ!^Jԉ>,5rbܹ,\axvXխIJ@B) o"6|ܔo6JPJѪS:DO8Le9@D؏ݓ)+ I6/ [J{e= ֶ7ǗPcNg˻fVF[Ħ8맮@5yZ&F >5Z=^9eG[9n,[g:cy(Yg t`> ο`jy4FEM\Gty#(Oޭ2~ hR"¢_kRDNwKҾly\<\35+'*U h [?+E αWx8q5Y&EտVߘ~sv-&/O"2&sW'zmƅ%e[1or6s 1] cdXOxu7e,.[Ŵ | a*0a6HHב$̙$m x*]s||<ÿ/]P7{3CQ;7:ɼKE<= Xe47{+L]sEdJbk Cijq-#'QJ}|C 5t .+%F9|S,b~Q" ꝕɂ)I[[Ϻܥz].P1S 8@@ppKزa 7vnΉ~4ܳ],܂3vz}u oώ|R8ʸQԛkGi26l6/icm]yb(j&槜=]\/$U*-yu}>~ɐJ *o#H: =+fd|y?Ïo!js3Lw3vi{w6q!M4Br"YHLD%Z1_xm .RZ^D0re#F{fW?Ց ;f$|v&nmpJ(|jP "l4y%UAĬZ"îvѢ_xV $H0f4p$o?:y02YV /) M@t^D& ڃ7ڹj} nzGkva& |Q)5SbBo6dߠ(ʊ / ?Eo9~P1R8ٌTAvCG`3^Գ<'zaHn3=`G׌-u ؉}Emo(cJV 0YcvZ+Mm!:d.q ߞ$Q80և*ubrճ-xFA@+_K-> cr˝ahOb%k@6tœ?QCngHi?G%F j{XTx.~X2RJ ͜-ч*}n36"TȻ0 F!,QX&vkbHj}| kf/Ն>/a]o͜eEQ/v{W_*upkzNɩ0QW N0`x"]Xo'@8&#MpkOKXIV[[Q )WD6b+un6 >8$r:z[e(ѹ[x)Aq5~֐ tU>+bɼt3ÁEy^GrEޥT#9˪*RA+ɁW^U= uGI!4Jt'@B"`thYLw!@(lŅYD"2JfS/+/kG[%ѹrf/+%:5{r(.i Z*:]ᯁ(βC>14 \8^ G\fL[~d]>wc}@QGF@7l/>H'z*7Æq;DfW@C D4+|sY2|8 lms``Hk6BYvX v%TBXNC7܍kN6hӊHq qXN? iYP|Dg3:zn+tGF1-w>Gve \G 8+|uShPvW\^+Uy1g!E M_/Q4^6`R ep. =]1,\Vib{k3(E u$9wj 3%|ȭ:";A x^AUVdlןo)z892H]O7Q-U193C*YVd,@6<*8QsF;6hgcY.R N%я6WƊ=\OPm/jMdky5e]Y)lڅ ڼo*7/fv&<䋶Z#&S\+<L8PL{&,LLh5V_)dY|sƥ7$*l>% z$GA O;smj ZmiS'U]gY+ ='~J|\4SKٴ4*tU+|DYH x:&7D1$hf#}P2Y՘YbQd5:l*'ک) ̠)[=Zf`3س݀S|vi"/P"QվYwe݂J>+>&W҂Ŧs̼!xug@pBRAƼ'zkt,^әDZ)j~D2G-L[NJ^dw&/Qr\&3`Tnbi|)^?a.K#7@%"{YG=1D __ "Eݺt²S~M#Orػ^u$=(j@HO6,>A[}G k䣖$۴ -DgاjʮD | hp8T]![̱K0/OtX0x+P \!}ж_9_px5HT <^\fZJ9j>gab// gCs\ȞvkORpG3!C3G<>:6껢K=sk -Oո>UP 1|'8##}[y tvhŮ:䰅AO$j:pG_f&{!?I$ݗ!u f1;GVq8)¶dC_:* *Q͜9KZNo磦iE\on]1ѨnQAe j%qs O :c|V |+`S54g2DԾ ;֗Pvs^S u,٦ߗkCu;Zq WiFXa޽ /A5m*@iw 3bL\:/.J1F5;ҍY((zr o-B Hsk.ĦiLiȟP4ez2qF2|UsEjk e$;]ڊG@`L6돣}J*!-v_?ೝpt,3Yʶ>[ЪTuV{Hж!"xlWG Hd9փ;1 vg'd UJ뿓lڒ60$ Ў*$NQuLyo`OПY?BL{yR úY'=!a>,aDD)T*5-W}]3ztI(yx ~CuYB*}Hn0ϐ͌rka|0iu7 ,D 4Y[_D1<|"6GRjz_.3(f⍙;}`,͇^l.?;(;v%sԙ|{{@x Ny2a|džAW dYHCX?Ԁ ˢʏlbzim jGCMd-!(bif"Cd:D3idU$^ r _P7햇ͪ~-0u :^h t] R.a!\o{BXTmAoCI9),GPPU}?dԄa$+1y xAWnfgS9@AO;8F.)7%]טM~mu34yF")vx"emޗ?t 5%cQ/Eoz;r k@!]Q-m)Fo)εL@ 7S.lc3V& v KYn!eZ,ͮ1+adaXbۘ~90}W|R'$%vnӐ`ؓFWT"3jڄ`aa[i| ԵwHS1v] }dIvXb+L*}JJ|Nߨ/,H 'reKCz:PX41+#!I(!RhkKP+/ǎ>xWq9q*ʪs`zg4^|z'(@lk+ׂY;8B,o[]lmޝ5ŗw9 oso,8䥜nmwV!cV[`.Nb}kp'vZHq.*e:<Ϗ$I$sxcftQ?1om#714yR~Ϝ(5Z zF >{kmonYs1$,xL(uJޓGX Ai8g$6XaؑZqr e);3!/Cci#uNh`ߩ"R_p:C0 ԁ )'T[$/\=|{dJq|ܥ)1#W^9~NLBDIF[# AH?]I"*:=.4'UӘfo3)y[!K^~[;rj9$G~ێ*rwrgGPHbRK{Y;][$aЭw~vJ@U|w9qQv]!Lů&$-zn%J`[B&\`%17vbS#[̏0K "Z /:8,6fuސ6eݶϓbV0 wN!5/R$|`]0_!Yɟ=tCIS$3s~ҕ8,nX|XEkLm^{>(醳$0Yegcζ WEa\hk|?W8~kνQn*52l{stOaAJ f;DٶUniOFu"9m̎Bⓥ3$u³@n-1LC["^MUuץwRNfx@ټ^RzL#]#l򵘗>Vϛ;u&/E_ILkZ(Mkxka6R+bkq;d*]f~g۹):Ko1@GQ|^q h'?m!bd^uGi+Q$ ˩oٯ@DaG`+/wrzE*6 yi.>iOnX,BUW0Y(>K>Q)VQRxFn9Or*\pP7>bUL鼃|jA\S4h%YFSOz [o|X2J ^̯@DsQK#F߲X-KIJd& ˍ>TuD$ fJa>{+تW2k3_1r =>Z:%?E ia ̃{S]U*6"1gysk 퐆" ^Wռ*in8[͒ckᓀ2"9UD [Vk;Qsr( 8a!NF')Iö)fNJk}iͧk:K/͆w]_NYo"$!q Trѭx 4D?] v_M҈ tÙ =Rrf+D{q OW wZ[=SenZ9H$dfFۍGD'IG c)(<띡~3:!-a~(R nqVÉgw* I+ISibeqpSawX_ o+svգ?ߨ>DВ*(x~6sTn&Bsb"ŝ@qDeU(6ĉGVmB$ mҲט?IHF ;:ٹ:n[c۶b^K<*HCSyZ$wJ4=ڈ]lT?*!:-l(Yt]k!`fݔD9+cCc[-a4زw:'K2o\bpT Z F&|櫄YtAƜah` )-ˏ <⬄^h\Abw(=}fV_k/HviǭpMov$!ub3XrV8F/)Zp(!N iWA$sC`!71رqrCaY =f;Q-yƸӿsH}`=ʚrI;2\x9 Î9(v1^wDGG&%o|bPy~{\yT[8LA9l:EG*p'{q 9ZL۳m|Uh8y0axT.e.=ؘ5ݥK! 񿤟vL k|Fe7NB$X|h3l:Jx{ΟTn!%HCB[9LgX+7J}P*Rk2v`\%) ISuOڹ/. ޺ Wr n_h99+BԋKîn&==;}qrE R5^H1u[)}FWH+UJFt(\DʴKՈָe*`q˃^,%z9Y:e* mEd\hOQ1R '-K|k;$wk khRNt2XPL5+&kMWd,U-y|Qs|T'^3b]`l?sh+nJY_wkD,߳gA~Kٝ^_mi0 CrTOc\Dz ZܛθAw`xn!f#?e\m/!CK=ޔϷ0GrFUbd2RcfDWk2۫8fUi\mr>(: \oX2V|?bt#".#Ϛ8X9+v7]G+mS92Lߒըr,wt:Zz7 C{i"&\u4)x9t``6_LAv,,8u7jOD1"bXe1^0HËAt&by ;Œssb]p}woY)"(;0(ٹ?wM%8VEk0Me$ɊP}!<4D' \ZOX'~=&I%AuOʥSWQ4/ w#aCCz?.š}g.od5޹^\('a修L Ţi?7/0v5W"GΔ,E6giݛ7&Ct觃̟:; J(Ũ^]]~"tp,4hID~++ZRLft7)D҂դ/v5hEWXHLQsVEc8Bo`ЫHYg4LB gU#{f`$): 7U=Y9,{vr@ kuEa+ , !j۷TG }>;/ a+q'+KM &gmy6Θ{SR|iS,ZE"]f>:= @VKRKAJM+g[CR1 XU3Lt~C#16Ub.v*\:nl^tZA.ҐUDoթM⼝̜F cxvGaP&̢ !Fukl&jobKd9Kgc$/>;ހ %OG`\oE@?q!'r.Im2rVY̽P@"KR6aԿ/8T& WTeHӖ1|ˌZٷvA6d}zNuBZ]Cy1}+cdY9.5oҙU@'LT0QgG'XG#M;J1aQ=Ueh7UsoT]7Z['T$Ζo:CjM/eWh&O_qFI~KC!f9z\U t,5O*-l)ej,ZXvYQd7/ U081udw#,ʏ a&Ծz@B.Vg9 _CX] ;):a R6TYO>d#*ۑn!dMX3yc:?m()la\~+fi`XwhQOSa_8U&1(hp :ao,S!ͦ=s`c$B^ϋ1pHvJoTf.i[rJ |VJ{;mRtZWgI y?S%/]hB$k$"͉bMBB\Us3Q+5v$߃o !QGw@$Q-P~_k'|ޛH%ZW/!B XW;'h$w/fi}M q͛: m?"^@R٬4nАHypY1̪Eaè/lb*[ %2awYpM|8FJD\r+tM@ ?)ǘ_!`"qu]8ix$$A|``AcK0;Ͻgd$u#";Θʭ=OKb,=0@&pczt;+kI9ja?jTSb?gX. C%(2d(-3yѿxsg\ׯfj}%c`KN>KI=]'j Շuf%mi|A#fkN8e//_>Qx͂{AjvЙ֡1BUeL¥Q ^ΉBC|

/燴O: zڷnOs2\eӊ ے!SXvg夒? ]>{p ?58cedrӃ6RPڼ(6 Pdsrm ?\x *-v{ ApO2MчDaHdW` GЪS~9<jc|}'WAo[1gxF%6OY^J$u>Eݴ\, %j߰X)MCL~~3s1˫{Ps&ϲ f+ieUFwWW}\Z2ڄ!6$lPg`ZZ8!HSI- }39&&s3\נN(~B4?4bJ8v̤wV#>@ڃ!uԬ+;Q5&gat2F$CnvIA5,BOwD8u{18ÌU omi>U9kP_#9R=wK$%hA&uoNX2Կwe^ `r?(ؔ2S b Y%7ȲfC.}7)piX&-f fw7|;kq}Ն)2v2i`r)Q/ޗ>wPJ+0` !05*SjSRD8U:s`I:~chsQ%amod l(g]́:p/wH=3f1ρ԰l'*_\r=TB} ^i&Qh`rmRhVC붹RBYHg~Q?aUF61kT Ӱr|1 *6wVm~K{qi<->3{:jD2=]݇66w#Td|q /t%clx½v@*$!ޮx>o7/GpMG1lo ϮNyzPD DŮM HqSkI- *7h ]Wo2u-'qi[9\>%'TQX0} $o3}/⥨i<՛>ӭ i+8)Lm YU͔6V pe)8k('{,>'{ݵ#jUuAWD#XScQ3Ǿ$!{}&"ӌwC\#o_ɼV '2(ލ:~{7r~0mXd#y﨎Xa=Tg!&:$rww9k؉*BE ^?ȽQاѠX)f5EZ#X #vggd;L=LtFTI&n[.K~=Hzmdo|OChƑ%4:sȝ:wJ)Wb25 9q0{bfe2XMa m%=ӈAAp ypt=yܐSdhu{ 0hl\9\ڮ6f] Qhp9g]~Lb3r -G3M:tx;aY-NydEr(Cdd'Wn~ C۪F[2;M^A|pb䈯~/qZ^ P$] k#㞪jٲ Lͅn@75nmJƣQ52tVtb[ h҄0RBzkr6?#7EMDu 65Ǡ(dȒw\FA_x O_ΊrL w+O*%=IO:+mԼR7M&,,2pI Nz m.4n'~Τ-Y_)O= ZhcҟtF8EC5 t`oY? @L1Oä#42~P`$`BOAK#Xpv))_tкCkY zN",ݽnK%j)]. +p[6ΐYҷ oGp؃4So;/|N?9}سjH XB0r:)ɸكRNłPCY7z(Rt6,&/,f6;}@{G/TPJBGU4F䛭1=ϝfufnşw+o(j0*Ӽ~۵f] 2$*h!br%NѠ'8dYOFMn_&sF砳<SY4:B:?<-SY8 8(->%hZ^J1iQ}3Vky.~-fqk8DًQ A-c4pg@SE~Q:Ko\%3(d!QZ~?-xڔa繯)1$jfz!u;GKc`#n].oآf3JVC%.FK`!s*ѩʡLTZiFRF¶fPtJ; N62@5M4i9sO?']f&yBtj0Ӥm]Q𚒀h0)D>~Oƍ^PE2Yz`fݷƼKQi/U'$ab~bH P:IUTMA+54aeNsy_'m*%xIeFN؈ ˿?6GDk-=vZ0V&7Nw] ޽vQR(S Z^.nڦ3dIWꖨ3;z}_y%eۉtX,jT$QkqnrGP?y0/(3׽S`=~f IJ;,zos qzHORtF>ݢ):ihK# )?ܦ[BSFO{& 7gҼj2QCU92u.tH:F-!/pX??vVۀKk>P>@발kBz~ʤ>uZY )\lgh.ܖM!!$_|A}c}dz!=* .Ƃtċi۲ (4ڢVNP)8n]YwHd[#-d֍N#cnf*# HC=w>ͯ vظh'rn.uPh9"X^ƒIޣ"B{ԥ=t"iL֒TtۗQ9Ēʍr5soٴdY%A8-W0'*e4ۧZCP {HH5c{ X`\dY(5%EHaKP.THYs] F|A>x4Żyj!_Q;׫'!KZLR!uשƢ<=r n,C6A/Fݙ)QEرk' tִrcER_]PXv:"*' ڂ5f/]~x`gLe@N0q P =P%Jc] \ '\[TXE$ \&SyT0ã#C\%6=I Pwzѽfó ,e{!ҝC8H} R[v~L"|[YDO{]B0Uy"kTr'4BXe٠$IFr]OH* /y8fGs 쉫jq}V Lf]#|# &`iJ $\[5k4]g(%ƚB5[I%VQ`^JYQCsPƼ)#c*R$aqK٧ q/4:#=_V*7#m&+.M}WLơ'=GGcnh/"Q bk-M) s롷Bbb8oGmHg'?8titu!bt[dYDH刁EA[wK hAGB5qƌ^")I ~R`Fz#-lO/Bі9xEHޞ2'Ke':t9Pש=Ilx#w&<m=;!"UႬ٨E2{Ko9~nꎧs7a4g,Omk1XEa]؄v;DD\VtN_èL=uFՉ}'`F`}`>Kj0ĔuHGى#{ jև.<^™k@gC .:Ot: עXT*6GJrgPzE\9Ig[]$Fgs7dU/n \^}L (|GbǐpaGޖy zd.hi]"b1uM\'g=h4k{L N+~8|!ڡ%AG{+1fkFcٖI٭Q|Ks-~DKBund+^O]Hf!/p~ ә1:-Yp ;u5m:4Gy$=85X&7YKe~PTK6kОbt9IŔ$}h0j!vBV 2չ0v)^Ptyw(">,m%9~UHORi>sg ` ̔j*}$Fy^%ڀ~n02u`xQ^ z̘rru6Fhvh *xKVsF[ :ٙ,5vchD6JpZ]tbik艘~j\ /|NbS㬷˙#(oyݩ]) Z xf:-OtB9~sTVz%6ҹ PG}Q_$bW+Hg3,$QX?wd-jR$g¼f\a,ՓQmUA0ԋj6@#YmyD#Iz#B/~`6ۈpj|U`$&H.R&ԛ_Wdfz}wԓ&Y"J:u`$Mهǧxi VtyƫXԃ  Q* iH.f.ZRZL,xx[(6a{l&ys-S[au385&O #$ O\fz*%{@0)~NercOZ1! 3!yeуBf.T' j[ "&?<֒',F D^:' hpĨ [o */2$oR?wlG"]6(NƊT|q4g| 7'C0a0Su&+nuFv%ۄ8&#iz/kVm%߻cƿ.9 $GݥP2ݥfZ.MA$!&ҥBlCO]:\l/f㊆䄨o b]tOq6;DBur6`L "N🖈$mKl"Ժt eb)KWxe;F|6Q~*nXr|5^9=$*v!VNn:2|Dr@sPMGXuLC}% >D'Rj.!AʯaGNb rչ- GY2{N;#Xq@ɽYZgtk= lXsϫgqW-U@|D\\J޶mK0Oj.LWmzj:nkAL.liFa昭ΤK(شFaiWrb1r9β:)rRnÍ0k 'DsWssJ=KIq%]#v L`Yyj 'cBֲ^ͤB0mW+;@5>7`ԣkEhި3,i6wP{8S}Y8 LӲoXР'X (/VhcHRu$swPc nZi|JW/GRLW_+.\i58R(lP\3/6$ Po5q >tìMFTSb3_8Ŋ"DeoLNxB,!ux:q`A_L;oES,EEq|3"!05~1Mcb{4w#xj_ϵuڥo@NR"3q9߉,'@u<leW>Ib ^]]uB C7N )x&T$(,R r;t~7gHoZLDijJDAEqIOV`~df!To1S8VZ1qS?8t}c-'~nKS|:t;gQ2) wN!?]?lK:;'mCǸGwU !?ge aןFR4=ؘJXɿBC${H{ObiS/%W63$*Y;wTܓCf'_?y AC^#]jJBěx׹1T"uE-=H>9:_ICd"ij㡣m ǬT4񤏯sIz80}J+PWŸ9x,ZNvvOځF3Vb [Hv}]x9Yu7uWNʱ &fډ)U0Jb_qw`Cl߂;hXx3!%|Kf1{Su 2U >k m2УYy,^Űիg蹶SNyWAXB lT!'x-aqK@B_盱3*ͮElkG_ f:BnFD}#5%>Z]brDI`t;|?clFh #Kl?M#jOz2f3lۯ75W$ )@jkO΀#&^2YΟ~a]3I)iVu%;IƆ٫XLprƼY{Q—hT̨P j;ƒ&_zbhTm\xi(Nr)Gp}ʺ(hy^,N{Z"^QMfҶ4i ʫ{zlHHNG/J5Ց r|?z;6C= %=VQwOsf~!PqLe5#w3uq C n&;-FӋVU0y} `PoS]6\ĬMb u,I ?ݸz1s) ZfϠtO]Ӿ[a vrt_ ŵ|l;<喱'Ü1_ Sg#aJΡސK)e2MZ F8]j*lei;^a),r4o|t#7ي 1,ouRΫT 6Ww9=TR\{GJrw`f xW6~-?Ѝ-[Y&U0ж=A^mCg/?c$&R?BCUTUԧL2 lՇi8ʁ9/ȚcQ9 cyUH"@E I}<˩1U`1˶>݇+*s5!Wܑ)N5MR񤼲HN)ӦVu7QzUS%n з|@[*Ih;M]7hs<\;3\}mYn-ݭ fg/Y9  ~7Ktq^|0Xrz54\fz?9ێ́ e]!)0-|8`{}Gi3Ս58MNq׮LA)+^qj- siU@GlI`ݧS [ca֏{aGmҫ 0cwevSJ5ryFyzVŷ;xpP%jK R'%/&xn +LXE~K"V$?Jhfj'?Rp+ B";W-Q j}ҊR)<8NPZ6UHj4Xtcoxv*(ԅDR9Q׎ ꌅH~;ωMh$h'NA{tUx{c*v Ț"r6Ҷ\tӀ\4]R&)Yy :zvd.1~J<\81ਪĦT}*GN#`- B(54R@>{Nѷ^`^ұ%S$bJviD"Rw}SLsuT%^رM}gzlǶm©M6cK 6X*>.|f\<'w 4V]+a gU"mSO>B-͔E=^! ZN J̏(}e8H)}C$L5֔.-Dh֣ߏ%<ܩ4_4Ȟۋ#ǩu9*hDBq&'ޝ%F*QRͼ*۔drx$,6,6EA-O)+HoMjr#԰hG\9=o¸[x܀ jV;l 91|B  dHjmtpiwkF?D?͑D,Wt9{eB/ Õ'{W w7rXQ6{}z)wKR\@NEn8Sڝ).^7+S 4; F-Ӭb9!]=}YAt.DBvGGͲ "VF8( ++}4j-|~npɾ&a~G'4/1w +gKVьy~a5!1@;r'iYSފo".ĵT3 ӡ 8W$2=З:ߪ2ǤQeZkiDž?\]ziR YjxtEm+^%~}> HXD=Z07"ϣdPőĉM!B;V5)BwMbip[Rvy> LjX!p?N0LQ]\#vL,ov»%%7匈vVϗECDj;HC(|# ^6NJ_E*mȵ(|%#xOZ;X+5:S9~f-}J唵4^WIgB. #KL )nO ^{J4N/@2lMJ>x8m!;Lc9F__VGGJJ 6A&'aGyیϯeSyk y^)bʠwʅul!u;?W4N>/G(xQMWSkH_aSS?r7rMauE fb_"8G t^ Nj]O'UBҰAy<+Vh=5o[UecMmJ u.v·nK`ë́\U5t~ZWS07WT9jI #HyY 5m5 )L0e~.眱U3Vύڮ6/ssƁvs͕%t2^Oih'b3S| %D V[߼-?G RLOY!v$j^bsnIJPo 0`Qsg~ ӝI y'K?Qr h`6d챢.d HǛ `5bTP?=_uO}9yD .M ?o $0zD;({6z>q`CMAVE0";uys/jͤu2AEj?Qz7GCW[WgWssNUq YSs0 D*ps@f'KѶii sg-gˍg &+?ek[g7a=$iEݩ7`RN@.״'[ʁ#-mυ!xEE|!W/ @ IHT[,$vYmNОvqc @&眘5lbn%z`)zҖ×.^4Ig<<ʕ0\L3ːOT8` uhþE(q)}APr-[>#FdH;וOObF]%案||Hnu9ux :۷jXߏ˓N·}0\kg{W\NZ C. չs}6u҄.5 s)&.Z(^.ڏ/Ee=2*b۩DH}!Gw Jp6\ĉ*qc2y^3ڷՠZShtb. )iy],QJi)s)zC_H5)*aU(G p@FIg>ث)ryg_~q]WV 4ϝ2̣b6{&vI@nK$S'zQcAҩd"ظx:aȋՏ_an8$AMN !NN&q(@EgLf%)l{)z{-0v)>R4URE2~+_+X4hj+V>IJnP0" V:tɘ_akkTqhŠd*JZ ]:G`._7X6<>LȮ'- emA^k ._I RUɫ4a ^]/]8(J2͎Z 3^o5H Zn/]3eToT{huGfmS 1'?VΌ¬0忼|^=h 37q^jJ;FCn"#vř W=~a0YPک gwinHejeYx"X=t. W D};%M|u&mqoB x}*̾ȃHiEgY9G76e!kI'Ӵ 1H0~ T7753X,Ԉ& Vf_م{,1BS)jmsz!؋MOZ84XjMC" u$ PϮ6{enآ7EVfm4*24шrYý Cdo^]*-_'Oƅ L2.q*gK],3U0;A{/o]D9kvOMտ'5T߬%$4"RF/uwpߨ2f͠ۋh&=$ev{ x. 2Gl ۝H$=]@m+ <}Тq솽 Myh&Ą]AfMi\qkx9ǜWC gUǤ,mXBq*~Jd@}g<acGaPg=ARXM gb՝G2S9XSJ5cCoJZ3˚[vX%k4E]޵1Hb懩@65F|:(r̋Cek ꊺ9McFP5wo p:ړbpWm[I/Hȗ9[:/D8*]Khj6gDBH݄yiV+_yqZ;;Fw0!XSϨ .txx׏!':9'vc2vXt46fnL%Seig]*%nV2Rh1 YTXl̦}S? .a0>_<@ *;Š Ź~TU|!nA/,09'h?L&NΞN+,\xB_8,y*ڈY´Čʶ)*֧,Lշ8*#2YVΜTy]?Ѵ$f8p*Is,D%t*NbPǼMێ0K1H/Xk-R"gL,kγj~tWlO>4ftys{W !fkc eT|, 3*wkV Sa>8W t%"@y$/D,5Ce35[7fX]JE3N.^lz8-m.J͖+gZ66TRhbϢӥ*LoNLto<t=1RΤ`q|N%(|f# ub aI<΅_>@oY;^ ՚\|NDsX }b7VHU"g  @3_'9jt6ONo -'嬜ɞYW#LPUh hKpE:Ԣ C+-;/PR֎\Z6lQfnzsw F{1um}3cO).Y(OkCr3ߜ~T3(a`㸻/ܝ<2}|^KrD_ ӵ P'9x -e|ETx"x~{H9lm+u G [RZsG;u ܒ_ཙs8\,%Mvb&{C:Bh>k"0j\+єpbvjZ耼o2K6G,,K\ = nO0G0BcκWdeW16co Nҗm<Пv<Ә̊qxĖpu_AZWQ;cX\Y5RVrF/u5cb'QNxuⅸݷy5nbI5`2S2&6dbZ6۬!k;nw[fj=Js%N.%N0SX䕀Z1.ѽ'xPY`ᨘ4@g >'ƥz:%>OaXb=r =UǜM"\jܽU`Snł?"emY;{Oł[_cI% ]w1LiȲp4i.@οuYv\f\.1w>\ӻ=x|"+<[U3>iꤾ6rE @6tnΠJj7~IEXUC,wqgvt~J3S7 )twa_ }Sl&4\<:h9g@a&$o$lI,ⴄI@aӕ$ $^#j .eh̽ke+oc#KICQpˇ l kDToʙӀ8jHꥴj::0grEMK7zø>j/jc!$`_ M *jt;_b*fd0kWݹ@QL?[d{F) e :F+Cy=Ao@is2z-HVP95X PCy[SC#T mɞ6қänB'8;p 2lP"h7a@352 ;󪡷 =>B"[Ea6?brN~~[A0If Yv3dy.H'TR"Cocv9!҅sɰ(_gzXzVBx6žhAq8S 171ʔpȲR6K}<ɛ~w3mQ€^TS+$X~IcB nh؎HSJpN@J@#tF|n#n^gx0 !΍S>6UltG2/i$ bʓENP{uS{91q';/Kncz&2GV&PM䓲wr'C|gg匡BS&Єd_d[N[H,,1lYɝΖH{*|J_οQ ~j,s<2D+QEm׫?7DNx!cVQFk$JCU,u\ɋF&]Y<;gw oAn2-LuB$Htr{X7 WC. Wr;r gJ@*^Si-m]b&Dj- HgcH_3*xi{) /j48@'?); 섨\9%h4r-Z0 X+ճc FGXC$ZV/^. wi(?\n_/ ZC))fI4ckgФJBo[ނ7; yR\5ty)#0K ۙ! ݵEzM88/z_FvӍ^L r?|jɚ6xtz8jRӁ#C1[Rv`teӂX "2A[u,E`g]ۚ1SupVEp]*s2SBP5~{1ЭMlYsԪ yWa{^#Vy*PP(M{ybɀ\z-oh"@½SUݜ46\I%9ɍnD812'W.eg7\KTF~^2ҒѷdjiޯTؽr?-Db2F _?VL0(~֌j _4ME-RC7R],$-Ͳ'Բ |59dFsG[_/3 V  ׅqKϖ's?> x :5p 3i>Y*NrG Hd 0j:=fV,#/qV,+2={Dg2aqvQht4} *I6ED<,?.ވ!e#g0k?寐xjSZ2}L&?sʕJ#NՅɏ49ݜʲֹ[(3klSY[?f軴olrR]) im.Əѩ(gVϨ15c;/C<ƥ^[i{E,2$uisc^8ZC<5)IX1cn8CZ_N,CRܹђOv:l+>ހsA)C2EsUY|l!+jd]~!7"M@d|>b_Ye_Ԟ%`Ratq ףB_mKTe0ŕڀ:N:Jj8腙z_଎t׫|Y-Q &F CWt}_v0kZ'mUo-|t"m0J5|e*YUTq뼸c Īk&3aGp>zewx/iwgȱځ`<'IL$( ܂L[FMEyɯ]' R4ʌ8WTJ7 @b$3Y=QnЖK"ZZA<p0X!rW /!AJ]ExBc+ .'Eĭ j1?'y&U!^T<},+#6#8R'4@__r,)ͨ6T2trk`ؐQ]›2\ګz!i445=8 62g]W:.[RVK 8:ji%Je7Tɰ$@9[ vXϰ|)& 5,;^ihO 6Q{V,L61.rEHHGc8|-pVnh]GwrVDR|l4KׄXBnXi#rJsul)GjVkW^x@A1i|.VZfJ_bvezΘAb:-J?ժ$ E^AVc6tg;AEX djW3cL)栔Cȝ%ja2#;Hxؠp硅 vYXyLPϡ0-Э_tυ%V ~Cg?Seu 63KL,emKL d9{JX E'w5Od( #QIkG^2FduE:Vsr^2yt7v&~ ȺBq׮x-{9se&Lajqw x)yu!_ez y<_AA ߑ[*#a~9*%L~RN36yrxpBr[+Ͻ Pٛvژxe"&\ 1۶ĝ,@gе1k1`GE:I󁜲%o&wFi622ĞR*( #4A{\ča&bvBy1FT)<σdGL(T|KCB#% Ϯyo&ƙ # ZC MP[e?#)n9o>):\]eC-XG7f~s. 5%)O=p t͇X{:Q'9GTB25h[gb#> 0E8>JPeE@N-;_1fPpwR9-fWPBdBy>ubh3 .]c*ռ#b @zvԙV-&;$bHk;7Wȴ,}T0G @$dkS&CKظ3NN~Z#Ps[>'BMWhC)d|U0i\*ـ_?[mzrikeT^B؞ꧧUT/EHY/J!#~Q͚[=K R",faR%k#@XnxfE4T T) ⧳uh~p}S-f'KYq kr[͕`޸tTw6P cK)XD)<9xK>"iȧ5%(\0ENOϲQI8()؁(Զ!zB5Y+)[ > H2Jc?B ^OӁ5+q p\lT q,xO/=O(X ?9?lfA%`JH\2]r267IIYx bNC¦.C^T%9!Icoo3. gr)e!W&v `,#,m $O[l'zZV{Y]x#Z]쿄rV0#GҟcNm"ml:Z?9C"7HFmum7~' P mXpv\2끹w0g7*sTУȩį1mVQ?2éd'y+?7}ܗ[*e @YLx3w- ! o Uef"&$n^V4$!_ya]YfۋL>Z34LHnqo{ꂛ2B5v_mrۇW|Sމq)u]jc%H*A/SpI*8(=r2rP\t4Y S|FaďXu?y>VN.<s}Lh 8JǞoS;7bnTSvNCu5,),8$ ?dX^@,"|m Ji({V[ | Q%0gm t-U,*`'1ԄөtKP\*luniX gR[F7_?¸g4XlT}a7fbdѥ[>,:w`6Txk3SUi=fKC UAx4er4b_C1l1gns?rqҢE*6,8?y$ 39/ el$L:ȿڇk_'a XK|TMnF0Nl~Lnǧg ;ٷQbL@ |K/ s6]]$l: ꫥjyAȗסI_Mi*+"8p {?9o93wwΖ&׼&Tj CV`*b6ȸҐaV 9 Ywط H{'@g f|LD&&uh?d@o=i'~0#/Y06>1 6' PW;1ljNkvPf  AA?dk#c! tO6E^3JRXCÞ8)M܆ӑXۓ0d7֧x>ʏ[u*՗dh$!*@M$'),\e;M߭hT]$QTBݚ(4^S0&M"%vRTGw~z ⺃ku"7{T+y[! ͛}".u& .ujyk(UpZrٴnr6%f8XxSiFMbAN"{ح w DݍPL=Z0 /Pj+~FmƢ61A&jl'(&#s!;Xcz4S*yɖ(?NS\7NbA{lRc䩔"D>A3Ԛ 3&& ɠIK&3úa>[nN_GUҎ!iAm,=Q:[#$OC^PJk{D2H,xli#(߿0Q$d\{o\ihW_L&8]Da17խ>#W2}H 5͗vU(Hg2hS'碜)[BW%凑s)q8 mZ8@IgO;S,q0 2﫛OXS *yJ?h hr>\Q=FvcB-@KF' NxX v)*ޛq|0WljKF=q* <,sP\}՞/!U+I%AuZ Om$Aw:e Ⱥ@i‚Ar'\8"Yy]A4}N-) 8!+LY"\Ko=\u\3"ZAy4|tIǤ}r"EPAA[ocA>rCc2C(OY|Cu^:M`i=w!gosL+ئ!$٪91~lARt$7_g"LRf`Q9ޞ3Cz!$,9O7xh^U֊^;bk,S,U/odj ؉2)|XNd Wp3fi1Bkyy=N olZlی)r*őd^٨cޕb]_(^)Rz{"C蕢H}/"` 6d⑆j{K;:FdepLD~²~z-sD_f]ޔ& /7 zSo iS[Eϑ"}J~5o@?p"D-7%s]nʷT/ocRaiOYѣ6Iڤ2 ~ZJ}/PxaǮXe|Emd7$Ta{4[=*ԥ |/]Ƹ+[% ;DS/0,1H'f4_n= ,}(JAcZ˃)E,[SIQ犣UDї03uD< ]8s꺈5l3{pvlysp q+-P5(#a(<+T9RO\{ˡMU= k} 2.ٜ-"^$HܑHeGu0H§ X9|k>M}X_% ia>׏l~ds618: ?X(趜tǘ.w>V]+OSjY!9iKa)X2(a-\TA_!8;6nd^$P@ODPxiZ,n+dOј/-$71]㢹;G;15JL~m/tagɨ(Tņz.{kȰ#",O= .PjJٿAHr67m  XY, HHn0(X_5vjZ(8̌WSmHYԧ?%gT|-DڃS4(iO O  >9s%E+¬r ? 1^x H`x&g؏QE:cV+yٛZ&d52MJ߈7gԏG1J݈. dnԃwi電Ԑ LTa+(v c'T_hLx_.?`5 坲DYu(TM UV>OH JCXE2+тEa., Z^MO Ww6hFWEPJU8*BvV}vrRÒ)/V+/!O[ys=d}/_zVXYj++ w*XPTUV%yCt'L: sL  r8,1L۪c|TJTqDIldf_  N3>Sڏ~Ǘ&@nx{}BĻ q NOu֠C!ȟHeR7.\ߔ)7-M׍d+NoX\A9M33.Ԅm{%'f>ܟMȑ6t^'El^l+[oA¸& *$@ݏӋuPd.Ljc0Ҵ6zbE%7;E{R)ZPk7)qWNIldGӖ ;rf[q ,Wyv IE1DZJ|i(:4ët\#xV+?`<'M`>X'IJuaYMծ) x0dqB:>Gw)C&?bZ.K#,.Noݤ1Ը(6ZyCt,!4 Twkiv*fje'z]aAx怿 QaKI|%y[7qt>f"8S#tilhC|eAopQiYtp.ME#706|JUd'MEb+ңtypu$Ncc2eu lr}a ><|׭6wv8qFp-*:"0%\%Q쓛QKyȞ㕘$.hE 0K #^XƨqD&GK Ɗ#k t79])FH̵a*oidX7gMvР[C%+ PB)%?zcL)|ư׃ɍbۉ&^Qhd–3afu/xgXшj7GIG--}XZ E,٪KKU6J;9qwTlX'a6$fHO+hPNARPG Nb52t[ɸ`ٰif}(E=VB>f3CћJ$`;UXM=Nbv=#?VތTcwbE HPe'mf a<&8)U*^9@:I7ƻMyggɛ.Q+l+ tIQHDh`vULwao@=.]p)BNA/2AA,82j$Zf'kNO[5=D7;.~fŭb>Xvֆ,Cd5RH7:p$wRTE'#j^\pGUKdKѫSF^ O#_U0/pkm ThE,*E˿LK_2XF"u Zvif#|KȷOy@N [$ $lfBdbG1jy&ZFWnN{H Px^Q0vğRL&#(ScC `9H^QH( aa.q.Bu:>WClk krs;NFc GH)2}N;5E&&)jQhaPI"8TJQ QgEqx/ԈvTO<&.j{IvOģ͔T+~1j'?-ċ!M,|4VL*B Myg_)_Oc=zs4JDZ.0c….e9@K~E.0=CB0cVpSU%0YhŷŜ)YR|vqXXn*ŅHvOex!$&Dݱ@Δ~Gz>,ig.ƨ3jIB AbxBN59(*_^ԓW#3#ɱ\y`J4cΉênxKaMةD7ۨ#é;H<ע뇩<+a,Ѣk.VQV CyQ)4)ұ]UҲIj[_$C_Jy YrQΕ1ȗ'H,TʋDXՈ]AT/(\'M趺Zs(Ys=K Fhm-izv 5eXbW{wr;ϖ@ݩbYh@Jh>[C[ouDRs\f?a;O!t .o{ ܻ  dzޤtϼl)iFܩ+3^ڹ$_,,њ<Ɋ%4wNM95wQ[SY=:+.T5v'lcF99 /uNxѹhD鐑dxnd+1nxOɩdOЇМ~7.u 5C-٣,~3Nn5rPf 1 cwd4z4!e0) Y Q/R.~@h'Y:޼(ECX6d;Ql/D!͐w0Agl jG@bDG[>}B6`}TX!jAFH1PUP..@G_X "S 5ԻE #dmtrY}|mDBJEܗƫ bn.o%H?o^nbK[NO+yFTeh2$CЉF i!/{ibi n~&7an,o8ޜGW+` /߼645e3P/@1/ `]Նq1 6 \TVR=].,USmZk>ӒxQ*c:b֘U6#FSNM܊<" =&%e%I) bɘ:H4>;h>R8Pgo&ϲ;2GCdoLGb4io %>R؎U0g V_$ ļ3LkJܡ%?f} !3fN1EZڦF^n/ U4s NGCOS#-]SAm7cW+-fȓurQ5>Q|I P[d-"'P!3Qb.0j;Z١~6:Yv%iwE@gNI۴I#n.Ll 5frXg͎N"6ltLɩ 8ZK]m1CˋPﯵu+++\fۮe7VZ2UWWHށ*2AY,Mh[U*2W04T-ۘV,u-wEaYwO%Z::P{Bp,1P"4ӕ ^4$%bQf]tdq Uf Fh+s3eJ"6! i2t0T:5/ͧ{$_ٟa6ֿNHtSMz[2QrvtoLFR5[X- {ت-f#Ƨn'm[dIqu{cl `/u2jƭzyjVΘbO\bˆ1=Svv~~~Fvࢵ"[nBdZ=iKQgT셖R 1G=o?P"N4I!8`~t"C;ayy<"2DOf0 fc 'AP \)PpRZ;n `z1'(a8k:St};'$S1!SV(aTpP/æQZB(\Y_Eh9U}GCWN@2Q<򾭗@EMϜffsMErP<a`y_?p#>!-< lse悻FleM | ]yf#|sӧ"IT4(b] ,'nbwl2[Ju98vJ0~8Z;(IQT$fjawq}9!靧$6tqj_ߵPQ7$XE@CHYn<憼5'|Qh`MME @̝*P3{M܉f8qC:>4k?xF?Imts'/x TLMc*@{"#&!%1y2DOx3P3_EDDЩdd ,Ӫd+ .hts?FF,P[C \\A_% -Va=Eo(fɬ<9¥glXo\(V*mVj=c0#'іfQ֣qls2_!_ic+]XG'# >{[^TQA"EУjwvol}U2I!_)йw:ljp pev?eέxuO֔GϹ3W+4:J Վ94oǻ,} nR b=]zs&G; IjDi^ZKfJ?L2.^^aQU:$@gk?hZg bF.*_C#^;%QDt^5;+EI=6BX3%h~CM?z w Vzy rƏ%<c#8:40"G1 `ݡA?)`0ظ >|2?fWA@mRl&E([:Ոq/%%!IP0+]BsSrr3O$3{&`b43%:oRAMk4!/cDSmԤl&y1a8$^0R/JL~f*Wyc2b36UJ>)J&$${u<5VB)UD//WX^:IX)%cqhFSWshŞ3|`hyZ`1DR4ycک:,%e`|qA2% a0fHG=oiGN\:ϢC>b8 ;DU]/"7!})w=4^gOA{AJaQ)u+V2H^E@-.љlNwYp_a$cI`E{P¦L2 _{򁯈X^:vEyS dtDGDQ+݄}a':6'D-嫩W Ύ#(D p֣/3 H9q%C2|pI.mJޛ|aPPW-y>lk7馗3w">ļEU) .֖7[g܇-QVz~Yit~ڦ.Rڷm;&l on4t&SmfJN _¬P9%_mz'W@ly],l{KTCěthorDPtAFf!0m{lMYM~_,`$(r*_zݕ`T2CNB-BMƊ;h-Ae6{ϑ~}:]'o⺋Wo*` >:Y 0TPk'802B));|R@ d`ZXY=6XAHY$tF^R׮9RNQKzk= x5ZKF)IGVh2"l&$I+eϒДCe;Kߖ VZ_'u=0#t@dKRw \)G\XvbN'E67^wB[Ⱞ?^MIZcp7İ8Cګ:؍,axHlk{ 8ׅ$0Ѥ_ALQ .>#N(Nh}fQ"Tj 1L[ۓRY9Nv,.rp#≰v4h&ߪ4%V?OAQDƞiS lzSr~%E.Q*G^,)(S6Zlyc;'вfqL^ Pza |ҭm;JHyy=X*n0dɚzCܓ Wq`#:V1]&2'**ú #ߑ/}DsoV^z洁vYClBK?v .8xh뭇7NM,sGeǀ$4UQ34F ~Z"7i#o-Ѹv0/sFxgWJ9>I|n`Hkx:i劔PQg\EU g;ބQL-]/!}?p7E4 Hn[zgV؀l;3{tBt!d5L!APZӲmsVӟ(a@\Oy0ٱn?ewTQ/CF0W~g#6;WRt$z渎MD_FuO$!"sba)>|?'o/ )iaI.!H|x^\q#u ՞_ٖY頧q<׶^ @ݬxFB0êp,銨MXח.1ddxKq86 i^4#וӋ0k&3T4p`ݤKVf,}PMM]@3yƘѐ$Rpo ~/%UµҔѮqϙ(Ǎ0yd'[j8;Eq>|>n;UZFsT:2uPN- SU`͎rC@,;&%}*glM^6p8)1xR=*\^e*DZO6SEiAZbmnٷk~L(AF4U!ݶ,$Q=p`ݍese'~h+TKQQW  z|Dn!\G۫9Vnp[[ gvZǩ}VRKH4t?Gnk*fیh)I-NxvV2ߪ}62 !냜^~X ս>࠼7uSFߑ1>ԥL/o 33/*{>JiyH0)LafFzki#M6Ӽ R&yjmZi ]p1MMWqcܡSG% nW'aAɏ@WHO+=E u:P\\1)5m z>oaKDWSGvZ/_KIhRC8zE>~u"863mtZ z<(W+_(G4f7tq)ݽy <@A+5mC" D댐$oIWrᆯHR,z̔򈗆({E]r !2o]0w"3?czsԱF]ʫ1}JwarnZTh/6y_MʻQO-ſDOx&_֋p/ϔn (br d>JVE=v.Dkov%~G$$U5A.p8 RV#f/- &bb8}d_{!^bjkXQ}/Ά?蕏xinRTi<¯aC,(1}@{x~ !/;npTKMAbBTlk[|kWٰzi7jI :3%z|T:|.Ob.N[dGי|kEROPkCbU&v \v@$n+c(PQ/)[-#wg~Fq('eւp$5|nߩW,^|͖ME~Ē "8"EU,ʴ(P7ޔE^GWC,S (,X47>J wJ[~[k3F~pR7 tXpgEQ4vYý%?ndu.pBEeCy B\sV1y <]™܏C阄 Gƻ{'k##GW_(9çF0=hҔ"VQX eXd|8A+..ܺ-,.5! c—ynp,J.ӳ!uA:{b\Z `?k}a'6nd$!.2A\>Veboiijz+!*[FXaq)@}/)meMx")Z2yDzVoU ]~a8{,PF )'2@FUߴ2.s!SS߰YnGz0@kw &Gj;qb&s55j-ö Gy柀 ^]GT#{ `^j!'K0a.Dðb91{^6[#QW4OJ Pov4D,CMbg2_1nJROrgCƌ;iT|* &U{'*q=,@wlңj ?=aFYVizLediD+U$ܯh)[&=QHty5} !ҁ?<*ٯEhW^ 9+/e'8e1%᥽'VԌ[NY sז*˵VSР6{(!U@G}Ηp~I*d>^)#La"YxJv nm˰QsHb$36-`;" C{ďtMҍK }bO<8?㲹_yk(ϪX#89m_R%)y^,-Wc\&9492S/6`jl?c,7oQ~V{ & Wop{|O&0{v<$Bgo'^W}v@ɼJhl.ڧ".4ؿ5b:rFq q4}%ѣm&}PD*g%*Y<ڣ{#dmtkW8 \;;]im8W63(6"NL"*G+7]Y; +#v"Ty S$e}j;y{'[D4eݨ C!M]cKZ@5^2 ڑƭ7JuaOZ%躑n[`vΛ4Nix_B 1IӶ lgA Pj{8f/ 9IR4T=Z:)'K.*rlR], eSSaxG3wWZ8q'Ԑڌkr'CDxyk5ͯ1y0 )R.>3oϣaYO3z/nUiT1,sʒ6,]Òw3h3ɓe3k暑0T0Q :TmJTx [JI}mK^MM97>l-J77_ ">;,0D2}o"c##(ڻ&J{chcUX-(ۀN'R'#FE \bRˁljn)%PK&2ԧ}3jHPsGͽ;)< ñ2z)9mF˚l47VPMF}` f~=Ict:׬em<[=plqe> i:-&wJ9g7/X~ƒ,>FB j`!MR)L/:`M!xE`^5Iӫϣjds"#yQ`7 , !w3k ·OX5/pȻ3xY@I0$>0,;?l>]A/RxTYx6SC1ڹ;y0f!!v+ AVZkeB8qus$$}iqy06h)&t* hJdFЖ4T :+HFyRQ!IA5,>o۸T5njfGj+JbM~dHN>J/q;>vaȁU:}6p9uAbߥp;\ 4_,zMbYt$Մ3tIs?ݩ >{BaXZшP*6or~qoUKIw.ǫ,V`- oȡ0H%5fyxx%Xr^ *\;+v.๶e@w4w,XD2Ike4T5Q#(CS}/4 cصM۷[1س|Ƅ&>uP[0 SFǕaFv_e݈?M$cA%:g!'Id]_w İ\X7ϨCD/(Xp6jͯp:v08:N:W_X`FL({ca9}[a廡F,!^ \jlX*$uIBNclJ6SIOI 2` ec̎{O0mJ)1rڢA,סR,{PʘT-]ybaBG"^bs{hy;oA:|7CSRHj"4 (>iWb"mh/!69/M|&99|ֆC ZZ+aU>Z<պN✅Y[ p61bC(NMgnOU*ekKBcJADtvRj}pVL'OG{„`x.;Lw-uˠ LϞ@G((qآHi1cy'j~@W=˙9̘k8aRL(iY34QoUX(w* k[ﺎ5* Md(+[H> $s\JfmIVh|ɿtAO [[=N1 \g0{tѤ5t;'2@ lJBy} $ tX9m R5[{bo|!p*с@/RTTOMB mZќA]GiS&> ƽ/eNr" D8V˷BUs~B9 w T>K Lj#54_D(86SG|h lnp|]rR,S{0f߰Q7C CLJH#VɆ%ZXw5 hMT$(uZ+Ɏ?tHSL1?c<T FŻW&EbY47;E;򪍀|E pt'5L$ ER6 /|?o O[ xsU]<ÁFrkk,jJaxRPcK .2 _(ӲiNK+S,)d&kq=Y4-P8ɔMȇ_)%OP:ۿΘ45I_Gb%dMjygMw(#fg=MRsps{aJ#c%Po=ҿ`1gqЅIOɬ*޺) 3tГicK -Z5UC\@@u(VEUKI$C#>ߡ[11Y0Yi[T[g yφZX gPcq uqߢo{\;>n{;1lWvY?)W?8ai7Jy_*WrY{~&4,OaK8Zwj|GdlVRs 9~h{*1I_Ye6HHzٟ;zKӓ1ں$45*yVuA%aF ;H~'Aʊק3@[]]_7!.˝g3@;83AK|!dznK kHsv1QVXoKIN+ynbyĉ+~6%[`@/Nv/;7$Vgw۳FtGZԧ! @iB/ |, /kj=Nj!2j!O`Xυ ?+#9Viɬk׸Zj ]RKe+i![T9Wۻi,3^ x45çS 6-'=lH]Q rA^Y (p 'JX˰|b^;f0X/Z IB3:xޝXdo/ &X)qY$Gɜ#I%°cM% RGL?z*m]NkᯡJzx0#/OUӖHxzZY/b+r x )!k9@XJ0oQ6m<3QaGkg'6ɮ5>M~?4օK )V=If`Ge4އUNys8y̫t_RE ^EeSS=eSZsUFXC0#\{k?_ Z+ /wx`?uڒv?PSAo&QN#nPyf":ĵ9N(RNw^7=݆'mL2NPR( QwCj?9a?8%mQ۬l+Pq~پ~9s&ȫA!;#)YmK<$g4^_ Y7!feaйPE6: P2K0Ή rVbT!t%:M;xJiQ*y D NJ|.*5E!6JrMЙA0Lή)m'>şs K[Y L0?1.|1b QN,֓Op }b{˫HV+Qck[ϘuhO(ZJ%[q>,V]~'H V*5{'pbH;+Q*k hii#G(^rR-)⎆JVEBJ)mMhzYWw悈uěGKihrd3;cF2-ͿPb加:AuŜ#+-: $Fgw:\z Yf/NfzA\_an!6k.΄8md|ud-g7]FzL~bNG?X:tVe[SAvʰC%gYRS[$: C^0ߚrLЗ2O)?5z%Kb:ղ,(g`e)R;k<0 !@QtaɕLpgNs؋Z:~COulX&v@J*8vJg/%"n,%7j-&Yat3(`WPBeMp""zʌ'?tdT>:1JJ}{\DmDzT!p4 \t8P!c6'dNV(kKib.>YkW!AI^1 b\戕5HJ=n7OCȼ-qھ!cH[Ө't<"E555'@߶da r6+Zl~SM)hQT IAV~{9Y4XJfh3mފT]56 ۬e溜`[a2GUz1CN0fo>>D8y::yu|+;/7lƱC.vLD%%o& 7T}>,bl,%!ҿ?xۮ[VZ ۘ(:0y* :E/c)\o(>n F$}%Ɏ>CE_rlD:ǩ9P%G"@!Xdž{# Q3ep_%onPJq&>,LEܨ^$~!%Et\b+2,S^\SGE,z-sRtRTό;kY0пcոIJϯmRMV8h&&Vޗ:.x?E:9~i #8!+,M(y(Y`_ |ɟ6|?Ť!`\IY|= y:bRo*/DqÅS=|ۏ zBES'y}pnBl Hp+ (o9խh<Qt ;ߪgև쥺{̑ӆv$51IYh@i!agIM?1kKAE;bLB#5\]>NS>+f1x2E+)]sn]F @=,~x 3ﬗ*abl7%OcS8eĭ &\J6eQI+i rDEzw$︆<=OO[e .묑~[)l7G|ࡃQ-ڮe-MU)L@ p4AH?)i8S 1&t\)垭c9O/ ]DHK E]yqJ%Xn4P `1-wNZ>:_`ML贱u?a'; Q؅% `C*aeՄ0,mܭѠ-c~ %9CtR>tX: K7b`w !Y+x!:+nMtIfqEN {r /jX S;OQu uHE$67%Qca:,79"FGh6cE5JBY]LETmJUy 26Bژf튨. h1}Z, O11nr27Vl^vf2a!A.+HUj cr!Cאw*ʗ"V㜡MT. q¡I֔o<yv{ٌ$Y7M() u*0D>y/ ^("@Z^L*91x eism ˇŰop*j-si9gF<pN >e}M8ldU}1Гijq!*rRB͗XI-7[Epɺ W`1NpSLOw`Jm'Vc~TƼ ,9\4chw0)H)vqFsn}ӢgS꥜ob} KR~+G0_LY k.B)(I׃A 0^lC &h}<%Mإ8>AV9ePLL>|, \e@U =w~E\%Ug,C)|jdƆU9-C .Bf 9:OJXJxU#5le r=$B*A"gJlv-efB@CP5c74m-0'DϟfT:mn+FGo NJT:5+匜DHf3 f8/Qܭ{}V:A19Taqj6%ȂdeՍlMi¯vs_Q<ǚw%L/.O[BgQRhG=WsPqSĶb!#mDeXSfCQ@B: J`<Řm Zv7jE>W$l`X~X. UE+\Bgۭq)ޜ롑4%10Qe<6̍\1NϜy[]0a벗1w+XF{Uz1ϒ%s草-*87LkO={}yُDt!*\47pP2־$R{61l>p,Ko=5@ޚAZa 97-->:G\\Ā®"(Vzۄϲ{Kҿ씒` EAb2TîES'Խ\^I^`jth0 [ ‡ &xpꢄY2e҅]Rw5*ªsNڽlORz+Sz3xNmwWp,\pulζo'_Q !!hӦ(-VES^yᶗ)fZg6pzN@-/´ʗ!f)4R,4$9fXH ŨMi6xx`qP7v2*)>X'۵2`Rձ3_ ́;Y` tY.I[ט cHU42(m;*&+~\o%%kĿ(w5л{k)?U .NKbgT~hw=/Z2hZ:Gn";! +WՔ[əí*܎[ϹX._h?;FR<.a S`OA]r';Vx$Զ+ !ZDG\'(Ñ~gwˎ(:PY]68-@>Z1l\CK {'3YSLO_qtx< I9kD]T'Iv%uY/r9eݵ5 97X,H kADZY)ԣ?DOTD X XY0:)v!gܢ@ֺ9=Ҷ+|BApKU[C."qNt?H5 nVuq±:9V˲{ٝo͹KG16gHR8[]nbU~Oe=U4=/8Q)rŇc #~ ouRvSFϲq Q},y ]b=b׀LZ}!pմs7Q ;F Z}G^IhnJ9}JYпPNП9~ګICqDiow'8jQg\?p8Í[Z¯8>y%opٜ-j l<O &^399-~Yorѷڠ<;AfzӥHj1om$ݿqg6߅`Xu]WM ۿMLYQLpҊ`@F/)krG=:'$= =EL-qL_ȲWJ 6*!i׸9M6lBy+|;VZ1ȖS2ūu:"xQ^lQ6#CX{6ßhV[VΙzvߛ9zX9-T$ҰQsO\2I,y5-k%Bƭ>rtAL6 LY}̰#tq-]2{wA4DZqQVx}F}/A7hgV4_ȭh 9L9>]>j4MX$ޞF2l6T+")9Dq ?_B<95BًQUiS]6.>+{XjsH\8v}R "@.n%ǦJF Rۓ&)<6qL߸ɥrrv*T<:UEq5 -\?3V-lG3V$$w@ۭcZ6b) ʁb kHNC]Ub?oz½ j*'ԆJ<4+ .6:V׶ֺU. \bw2iC x@( E )&@ܵp$C]~_08* K8щ~+ =|U1[! ʳ5a2R } A2H)J&ES:ڇ(`/ َT]4) e;E-(z0$4Aɨ" iUQQ܈ =$ظvPMI?;WT{CF:2qcEݠj䭦Ҿd--9O;&Y/rBV؟)zq%vx Ir|'`*Xqc;"QIwxJ&i6F.\ %ژW[39͘ D;H]Wy~G3jy}*` p~y:Oԥ;54 ߱{8A[^6z/gƈ.j #Ɯetk#G^S6;}Ks?mD }S@>h# W [ hgku=3oP'#b'DX[=.R‹*tlqeD,}k)_7Wݍ9:Jl⚢Mn%O"NNS0DϧwByC&G7%݃gnbnIlڂ%Fvm!*W[+tY1k$mp3K=|p:m<~1 +Eʤ-aPmy`/4}t815H޹>ykK#Ę%,Lў %K5- c1Dͱ2 +6ӚjM)wɫ޼?bѹA ; )_\$t6 CX3)&1SHv^e V㣧l5*H-*gy4_V`m&%ea(ZFkZܙ {L3^@uMxv_['ںwO8'$fP$HPX9ԏNՂ0:0QG7~ ĴLgzO]jyUOO來|r!+!K(  BRp#A^xtFnB00zpAJ㽉\=vm<' rw`UJж$*x ̻hdU{ RX.y(RaN i|hNרBk~QLAi57/{Bcvg{6iӵ6F YAdD c_m;,NΡvه'?#QW9D`+a-eV:y:sG+0q(!.0Sj)鄕E|qLsۏWvV-nW=W*i?DLY7V%63AfaRtt{0׋14eVob}6崲vn+7d+\ـaWs#=5 &6=I@?Lz`:ӿMac]ܣSG)sMU%úDYNb Vu=W͍A2 ;)qt\Ccq |XS#y^&n P<kC軗)Ӎ+Kd|]' :Եb %5T\3D-}NaD5]# q ]&e{KMM!U)v2iмy\9F,\Rp1 XG u^FЬrdrNޛ"<7ʆhhSݯ%A6l8hFspmٶyrY ur,?U;DI6tmdM،h:hNqW5U'z"e/^ϸ|NhD?1F 0Zoї9Kr;ZK߆7*`'sE8aUpu+ҹ+%Z gEM1k qZ%"甊3%F{*`t<*֊׈SRs* !C2+&F1&͐PT!0 l՗,ŏޅ39*tLJȪJ3/$&OaE@qNYa"9^EJ{T27-9v'WZ)®ʒ1*0A3!g^C*[uUϫCyvuE,q^܁ Enm " 2e0%6I""Ayh[Vos90@]g))bջvO#* %Xִ5eaWd%NTr4l)-w 2_5i])Lww2xZx5|Ձ@CAU-ʶensX;@)kYmk2aݐep>K&U"sjq !j#xv+6:B}a_$YfGMpaO'TJ.Ò:%rnFR+M#27Ȩʱ8*xa! 1ϺQ:Z1A Q 83sOoiof>n\ Cq5 u g2:%L,v Gs]o|"Š'o*atצ8:Ӕuc|}>I'/BL l[W]@Krd?qοڭ1a[iCr|VL 24( C ^ljzlhTa)!д%8f`sU:/6r*$uK,ꕂd#j Zc F|xH[u2c7g:A4 md0dUǸ%NSM9^~ El;N4oE )-i iyJrFY&)*zU@8C.uWdjb9(>gv~ez.Ȭl`PDY2{7!a~j;p[gKeC:mk}v#GF;Q6zл߉(n]0vX%G]`l KE|P󥕺aT'ROq]:ܧΑ^B7|VW@.hE{LKt $S'RVM;o;2W%`SU]O(e,-"y尃B/ ;Ў4R1 5RG^̡itp^F)YO: AtuDS[xxvf;D Z#^&R}nwc+\U@}L$S ~sTF 'ejZE~`0r%Ӓ ?g"pX%:ƅQțTlH3J:0,V5 v@'rC2|atgT!l]XJ(+\f+>)jb!m#X *o5&zrz!;(d\0%&9O}IH0H0ʄg2Z~ Y0&1=ǭPB#BI.*jS8vgS`mt@­J~!t"NՑBnO]6P_0:8Ҋ(_"wZvBQ޴\7IMճs nI#wݏZh-xꠈڪsN$3W,Yuz@h "s+bڒ(-LBj-$@*]1  D3u k2̈٧u>VRħ{%Qg,֥F@)`ƣҊ S:tdWOaҎh'ZMG?)K#yIcuQ "?ub39?!s;L&<j?z lnalƳ5@|ʔ7vﮁf(R-$K} TOﵯlX#񗟦'wĀ&lT60"nPݑƆp` }d+qA:e\4T: ]9']o:66M;hB7 .Hm'L-׏pWi .'&L! swȝ%{f&RqH e[rҼw7bIL kGr\_zLx^uddžW./eI E5Tfi;rџ' CV€ 0P- !NǴ<%=TpHȥZDa$52P'PBa]$q`4ݷO#ڋjb2;;3M Eqra5Tl5SЀ]?@->Ubŵ >EJ qb6UG{JR hC%öc]2!pfL @Hsh_&Xf)lI58vD VIЛɯWRI֫ݪN#^F΋CT7 =R LXLRFH^Ղdza@Rk KoUG~ H(^EƟn'٢,:ªVIYJ"pXF@7Yk֍#Bi2]lBĚW 29G}_g@}It+pcI"l>S,9ֹܵm=*mXV+,a)E*6#W(ʁ(NJ5kWOw(w,ڭ8te#(jt1s6x\PV߈XnTc,T5hxvg̊J[5c2GzynPo" ߐr^[f샦 mNB˷"X+gUsjic4}̍)kPyz)hҙ =~>䰽C;y{;З|`(and$3DWg@q+|m:(HWŭna"AH]tJ2_YP])oP:26N2ѥ< da*B")J(9xdY"4[Ԗ'/P,)So-Pci@ F 9)wI<%*eI+eSW,ʠ[N_7ʢp2n@pʂ4NpӞ`N/ dKU RvٍZ:SaǞ5:7a%s/,U1wmߠe.Q\D8R: 9珜;wyp<ք k1m@7TXetS(HV:AA-Z&WaL Z٤mRB!+G{v=I@(_fjFxO VaX=1X-@l9{.I?fF}pHD5*"եPk*BCМ_mG&S)Ӝ_; &ѶoA2R]!&n㶲s JSۛ%?1qyOM ڮY9[R?u7tw-DyڛjZL mlǺMW\$m~BW5g[1:p '"|Zj,l貍>ae̼X*w6aݿaaWQHR~ Vpw*Bw&q琮B'sߨs3_SofL*u+?kuNub6Eڸ- To$/7KdTUuu@2[!s`v%B7[&0f<9iR#d4"x[ #fvM.K8v]';j3dq{U(\Pmv 7 F[&(.U8|)]: +^PQ"D+Iex!aF> \G\*yD Dq=/=oQ(h.@2.`pIM IvsA0+QݑqRrV8_Jh j;Ŝ=g {%Os{ F: 5vQ W͊ݾ7xA~>jE"I_s4(nW4Z`@Nf$,GԢK;d;ª`(pkA@9}(}/:3. f3@73n/& gz$1*>w7F bA.VspN ]s;h;)+(=v&~ޞP!g?`cw|L!݅RٌdOC<|ؔCM|llN&>dIWLH,St.I8)ΐ$5 CB)&Xpuݭd 7s2]OLhI0tß,޷Om&؜OxA]$+j?g R#F Hx&0Jj5f@ F,dR> R5唩,Hg|_W,gW+nW+L#E74!8܏nl zWms0x|xz0Q ]/An*:>̥0sȖU.>r|!>32Ljz_c=vKKL,e_u4 CkבMeBjs  f?&#C "jHNT uy=jJ߀5sgTSg|kƪ'UӲHOvlB5iv%Xw'8K|g11qWaeb+|x-CX61ar#v~L vtQl "=bx*<ߜu h\dF9A3j:LQ#T&ac(Ц뾡.BE zbaϟjh/B[He:Sv_>L>k:xG}L}nQ/0SY˝5f@[#5 SU.A_Q9ISuC(Q z\ud-Qauv:pv΄Hϳ@#BAR f4@^G/sECJuW-/pN߂Wa7o˿~pxdb& #|3t'P͢(aikɚ#=E]C"6B~ eH-*p֮nb`β` 3 Ȳ`?sU29 tY=S!d`dUoFûedzG%^jюԸgE]jgJBѢXҍAӮ]d._,3 "is"M \bkCE>$WʧV f f@h T 4]V e<0-S%i:&&e<$4qShk$e%r(',T$-g$MP.?~ }to%Yyki(e{:iYm-&^$ҡ= #%^?7kMݳU?ǟ-gͤjWKW'y\y7 +m5M) M mab15 tR.Ëy*p`X 6FYXWmymAA3&COG~N`a$2W2ZZ\z2!? QRYQZkm9y |>q!u@xi=- Vr4obe<,;mgsPWf'RK $Q S&#-~ wsȠMcV1 t ,x!LG8F'|ϏYOM < @+Ϥ4g#xIxPv( 0oKell{ChF:|m~x*w:a?&m(W6i e L&Tv2GNҩEbƐ`BUGLH!Be}UI@LIK[ X[t}A(Ӱ3Q6ED+W6L+BxTj6Tܵ+: auBGķYX'p]ݵeTj+ޟ^s-:^tZML}1ʲ9ˆ͛Hp)$,Ζ"[֩sR#tXh$`tU)d*iᔽTCcg }µ2|~ ,t"nek|ep]?V2p`(_FPH5PݢA= j9%g@ҳ\S #ѫ7`n:%ux w<54s F򗄳&}qQVbY8/ }~I8#Cyו%gv,4 pPjꏎz_|O-uXIhz<[[BIǠ_A{KFYfUU^=.&+G1&U@R)CA22]x=CjetòMiflUkV2Q3(vUZM-73RUoSE_`y tBxsBٕzTQÏY#sjYVdn?(¶YnCz[=Z2JUu{F3^nsI_ףe_l5,0?J"ܚTRn &Oep@D>꒬5fjcYpjƎboPmv.N\樛vE~ [V)bVuŞ^Jhe:fuEQpvXzOÝ=0Oì̦q\ ?y0s:z[81 tXѳ;f5bʹ Ur7_]HXnܨcC})ǗjU0/iLSIJnޓO M\5joT[Gڠ3^fke$c xD.t RbSF׾Q6KQu]LVW:Iv+PF4U JJ2~7jډX=Xhe9ڧXpDȅSMhxw?FJ添|H*dW,'@&KG,E*6aZ2][g3Lwl;BӜ1uש=ʇ)kGXRoU%k+3sm0&DX8 `y9N&p:f\ZM!4W\ɖL.XJG;`M #*Ƞ Veة#1gszG1cS?NZ>IQ)wnHAfEQEnT%3gϰ_7 2Iqm|_R6Lq3yh 7ҵ/cݨkY$avxΘT9:0hx2ov0٩Ml˓a".mwp;RrUU#M])=[C/aסir?!Y%{u y.i W"Rɟ>K,##$,'*LH!:8oT#V! he$6 cSfZ ^MMɏ%ۮerz4gL;B_YݟbV *q$Qn aߕJ.>;h -4| T@5qs 9ǥu@ȗhkx%x<[`B0?oN$G(M @ҷf9 ,ZQuTUTзL\X:bC( AROCjnXݥFbܝpUf?I9sP0qv JfJ *۰R/ pD-u <4ۮ]'ch7XP{jv<aP/?<@cD 6{m 6plm)!71bA +[/c7|2^@p)YgA~R$OU&I1f<C{?Pr:&-$Lxߨ:ЮdIi U YǕΖx\XX՚ب>$&2Uc+N>kU2^BtpyVokhژ2b,H;D&,306cHp͓V$O RͩBMB/w&Zq SKI1V٨: d|k'YKHk: X:VY++LA~Ƀ% B4b)`hg^SHHo!i~>%0/OxਪK-+U&pstw{8w/.ޔ ]rX~ʿ#/3, F4cq}v=D:u}l٥J{V6b*ɭ!X+ԏ?kҾDV[aX7~| xY&u GZOz],؆RɌIOۨ4ќwL$d:IQ6<++\v(ߋ . +\d#J0KL.Ow&Z'r~359̶\W3I;1S S SGU`)X?d2ʩ.:L2{^zHC0~1rN_ӲOq^2K- R<`rs6}bj=\P{cH[BQ7'?4CS %Ά`V7 <?t*7>!N~ pMí2->]žp۴]1| ޫ*ѠtpD,rd# 4E j-*eC\nă0'+[i*˜z4;PXUC##i*D.s#4[lO..Xgsc{S[,zyʜXymQ=(3u}Ɠُ{B֗V ~mV10ˍSD=r[>xcgD2u6ě8/6$,;J"_[V(TEs-÷) 3$d<=k/ȣלVLa+~y[Qݞ)k׭P+cr_EҿAȽ5 c,+c-Ծ׺{:FB]apx B aBnK 'py1m ]2(#iń =&_E=~A2_ql'h6aai'A-E!V~-.ie`Fppi'`g# Ed+a,?HDUGoRp񵸗_gSmҜ"~'sx_3I;a0 ]Tu\гՏ<!K iZIx9#=rHmwԛ:Ȝr!LQ-ί]mj^ၸ!L4nzQ+[V'4qVv;xi8q\׺)#[EC7@XI>b|gG͕u`}b*W;5RT<t>p5&BfCT-O^ŮͶ}#Vs) keG63y3EÕɮ* .(u('.'ZᏰpoGy.L%4sm/.n՜k"~ =D]-~Qܩz>ͤsـ?$jupB]_^+`Ь5CQ~2x DhS<7l.^$ܭ{TT͉XCmُٖF_ݎ;M'!r0f$rM3i9_$WB҄P!(t֛52ȷҳ]Ɵ4PӡV&>*& V~fZxl?E/OR--_:-sbտ6IؼQ7/W  &XH\Ȧ.Lӕ60xm ITH9(@u1y.Cl04Ip5tL<թJ\w964oz<뎻HjskW;XńSaćöB_3ֶBAYO_%CWJv팏-- %WZQ"]?ק3:&;c/0 R +'X%i@}aASOAu;GN] ԋu-kd{WD0|( Bi+D&ʂz" ɑ1YT̻H{lfv3b;"? k=\+x):²t(}@h6SϐDFMb$9a4W鴺I!4) u0ڭ+yڕ^D_9!woNT[~ &vn*ubd)`{!}Ϝ-+ gt5!3㬋+ J C8FnZHS0F[O)'cE]mVAĭNShs_Fvx,z(I"]4!T#j XxϤȬDr d=m +Ih>ճP :!.s?с8c~=Cw9Үf},ȗ3F*0e Y)JstQADS5|?.NGZ6^|V#q+zzmT$S65&t!q%}) )a giw?QT0O+N"BRL_h5B+TʾhQݑ65?90ajt6R5Kjjip8O 5XIE,Es5U}2EUG0}$p^}l HS3v(ɡX1D]*/=:l~(KV9 #bkuF17D<48"y߾E$8<$5k`#[h0%p7 ,1iotd==mШ>6 B<Bߢn 勺%I.Iz{VF~ET8/mg. "&ܞMX>\Gz^-سHzSÃHkdgY7q8[Vϛ"VBbAcO۾#ڍst7"*f9@X;=ټ~V\5oWryށ ] FZ%Yn9 &Qol)'i\ٔF7?~Z5߄7f% r]1k"r=6~+EcO&:R4/ 4Ԃ*\*siLBq_nLǞƮl_eQV <ZLo4%))*rg]:z'/ތlkXŝ:hS8$Em-6S6qDfV%Rzs.n ԫ8K' 5]_qKNtVvL #jIi4ʊbL~x$C=& dC}Iyȭ%ܿ-+=2*0zibgŦI؜E%]׈ NGA~2]ǠW=yƂCPUz(u:@6js HZ;cUd1[i Gؗ27_N7`kE( 4, RnK, 3溑0fYF[ (3!(#KA.i-ֱ",>XUهמYo9k~ &N8VsnE"JTv~}8`~Û3{y$BѼ_ݳRfT y6Ny0xL]Uad9FUy!ٌhDxw,/TOab*6! wsf]Zw`6Nӕ<myS¢$ I?AXGh ;Э+u& ckyB`Tx[{ ;G(|?M+91z;"SU#$HqyNRGՇUU'Ѥ%^W8Qꬆ^&wMT.ߍ|P:9Ӎ )bHal&h NZp$2tNbURA$$u+-Vz (_ WD|;R_7JG>@A4#Y[Sr]y& ɶpBU3Rj46 *`XFGdr]Gx5(e@TbJl~F`*1{MqU@n8_j`\Я,- >K̤1~)aCddfDnn_:#=lWfru,f'V3Ԛ==~T^VE!ʓ(8a27~pg.W2 ˜zB?|##cJɄҁYMI }&-?ȃ1l?~؛(إ@110S>͆' UhԐ[\_fu?Fw Y+5 R;/D"u9?⿋i:z Y .7o Rʘr+> jrd߁Qmh7~Mpa /w rݓ!0 ]i`lq,Im1o8wO4z#G=2΋6L5!f)2dUv%TL % ;``+tg6w*'R-3d,)43GPb jes0QK2+o!vIϊSiÓnQ8ѸgPx܅m}soJK+{| }q$P /3;%tY&!ЂsKT[ Y Jn*thI;qh!tAz\,(! ݋"za~PˢY;eEVXϠ,WB6-U1 PeBnaIЈTU:p'aFR'^<` %mTElxP Gi=YBq,\qK5UCQKJvF xR7/72Ka{OW$I; s>%#ЂΌƴD:p|~VFE"$sv h0{JN'4wlu|peWB]!!ӕ {@o@g Ph`t:cqXqCXV0+ȻK2]:rt4FǿəJ؆wpצG6<"t2) 8>mZv-B2\>EʏFu;m<蠺핉FtmٴPC*|J_Hjo0lקͧvh27fN5h}'T) OtIdCRˋA=4_ǝ8"D[.2nݞ*h53z744]d)DTR|Gm)e $XVPOzi[Y`2r .XOin4CЉw`ϯhsVRz&8GX)$`$5ӽ<ԟF~n2"x纮 #,,ڒ5ZuihbsX[ut5{MŤ%ԅ(s?ފLma,ӽ 5]}QISєOynm0!}U}Yu{={IJ̤߮ڨT4٦+9dl;jUzŦ!>ϫ{@RzW4Z"LO֐ GY0 \[\N~|r/" e75+Ho\0 #j5hdSUlR*kAD#( Y*AqzoS_ Weϗ0ΒV4F\)0|a Dx8fj~v9*^_YLDSm^$B~O ҟ@[!v Q̀&V| \*A%8 kWo|GF q1*N|(RM?Ad3BSNY׸8a(tyD|ENJx !+{x½\fUk$O sF :@beqOL.z2g=a Xjãnk,ى WhfZכmBS*vh9VUMc-iss'=[,4I |S0q\麢X+{EME q>RwG.8(/|#$c+'O Fv+ o)nb[lFJ|!^2Lt+T$u:Y EN Vbqo:r,ۊ^Joxm|3tGqt:[̉ݥq [ёQ/6PnRVcCOF)!ϣkqaTIa$E-求U"m^8"9v<, > ($fPhfvv٣d ӉMkePBYm]禜n`?p'9".Y0@D&E|.5Zai.P`]z͍8DDG!%奨ŜƖHTt3LE3ۏys]XGIAKpRdjZڴ,*w 9yaaa4W$Q3 =S.g\G Sܽf%|`;4ȟKP/rb/Q,aब6~9޸sF[Fzd}ߒ.I#=KMNѨTd +wl繖%+ W~QJ*7ou-E#5 z 4äm_` L4l$g@ə,AZPOmg@0K]ŻqtbNnIMM`#g/u`E\ZX_ ȆG|`3~ Bn%a@Ӓ(ϛ w Q +i0|hDnk@o4܇;yJpO*1Lbn^iҖOF]^hx*gdMq;c({^Zag_=wᦟ&w?Qs7^`1Ɛ|}Z<'&.6EZƬ?,~UAf6J^ӟ0x M|J]@+8CA︊ȰZ削*}|CLNg7(F 3SANl$N0%̷iFҺ0ߵuAgޑnpg[uVg_̂Lsa|d!m(5MjVfq-A4NOQb_\G__x\oB,^. [&4^jW^;If (ڈ]јRnq f~4z~86('~\,^f6VA{2$@:݌_cߟ#u1K;-8R0oCC0G7I穩+Aa,8g90YCc-Qҏk{` >W߃3@ʖ :arY]>+N}.[I:.Q1َI?8`ӠzFAhW #vj(3ɝe00)2po rjH ?P. a;W$t,XͩOT't.҅!WmbdSL-/Ž~.x HE}v γW_ H!He\v&Stt T{U㈆sL;3Z6pВĂd7 jr𨷗r)_0tS4YyӁJ/çyєU)KPSpf77i_֍)OtVz|7 ׈muT|:]U0rn&l7>A/ Cm-nπ&z;m\qhx1N@uY4F>ekS5jFYVCt(ƌ@ $#rd V ,*62ٔ2L3V=3 鯋 /Jn8c8~gRLnZ;"p @f%[vIiϊ';n,8Ov+df8 G^K\E&N}|8w 9+/=~hݎF*)'O`.oʅ9p~U *.U4dɖeYf. @x"Y8JU,lY`̠]tm[/}!E-3^Շ3Iw`îlKVUoSsLU:@+ZN]+?s}oY3h%|*}'d,L`姶)z7bJ]DE8㔝` 4*a M}=nC*- Y9XiK#uxx6r5GwrRb|H֦fQ.]sU?݌bJ).4c7Lj`bƙ N*6.2PyO_a3$ +; c K2b 8DOλ4@ǴJih:=nZ7BKY7;t)@ -CX7.hyR`VmL3+wPTGdDo#d0a?K)ʏCZձn>&yaO @>RVɑjY~p,tn%pCa+SC\fUFKYQ_x)lq9bRs:zEt9 { Hpjs_5z!ۖ"Ұ)2dEOd4/E%Zo'A\V>(_}ƁyKp"(iU14<J!-"J(M_CyD. DIO)[;v cJ9% h=}O[`8W!,CW%1mSSmb#\` ]P D">+\xGQ9U?ud.`d?@4iazbM,:s*by2''2^)ޫS*lDo,ɧL+yIu+UǶÊ ?/Ǧ(( iJ {ٔrA#%A]1nҀhy~cI8:ع޾y;SO~.|w -rЛ{(m8f{Ֆ)_$aY:$X'H<΂m𷝶feC:;] ۞}"C=M&rY)0@GOjL8ZWÙ]rf]|T(YglK @WbMdf1&mU@1Mp1yΆ;B8`@F7HdÁ0L uuGɧ8LȭzXp8zoC&"k܋#'\ ˙R0yUuU3=*kϊ,oCCO8=Vĺ"j@ ^V"GZUo-ϫJ\z/#@WsPa*}#X4q~66{f$vJwSWo#k~H0#b) vu əheaV#k4)p+ԁ.+YrBCuSykށ\OA˿O#qFɴ|Em) gDzQ)ik1Duiz+4r!S|+`FiJUe8>J7~XWUD(hӺA׸ lu쮯A_)-Ϊ9ɹc+R%@W`s_.LbAۄFT## PA~+Sf5".f.:lX.8o4:[|^jBaD:u$_Jw)֯mtΨS Uc ad|v0eX;b=o?:W}V dxdI.|1$wM ܩ {"נV bN'inh]^]jn8O+bL"SbHJ|Oj-7r.2acE/5@ۇGU+AU`rCJF3|11̮(}݁!z40ZkO'bF{o7 >+ep,fezܧ`3Fjt5՜GRmݠ3=J)hCQ,gӠd@0ឭxOrǜSJ1$jG4v~ǵQdG*>(ո/s76ZMTZOkٝ̈́3%T6ֺ #y%Ʊ*G\2<|Т#q Գ3xn"[VgBn&C7bt|$mfdLfII?(:9#U51 T ^mٻuiB6D"^Mh:1H` #)9M6Y ɒcBZO}\FV܏E!w|0gt26w Fm$8K5:E%!d~!C?]GCX.*5waE[RlcҝEM i{^BD if0Vvr(1vu3Wl'21uObPS߇>iy«?E~$;'/-awyƵJj|؛T΁`J* ѓQ>. 5.芩\kD!V"g1F499):^?v#`4Fx\-U*_<ܛ1.\mr:LܓN&] /(87)e>$߷eF~j?4+Iȏ5 KS01諝7l8IDuE E~6D"p wp[Y#1BY/?D ۙ2|_D%@6`'+Ùq9u5^7>sg h cugz9,ϸ5Y RezAʂ.a):\>,KW)S@:gqX=q[_s9m:kw:C<5:CV3S[?2P;)9cXD7c􃃮Mi/!SEv%$N܊lІ~aVLy.t&y4@ Su[.H5]=AK 4E`=}lA-xEu?*l Odwofy+H!A$˼Vǽy$ԥFuI  9vON;mU -t)}H绾稢,?Y63\}9ӈ8cs yY<&#Pĉ͞Ps{YzL` ,ksU_?yo*"_>\  "bz6R;nN^z3QRcO u8;eH}rK^^s rD/uei[afZVƜ*$y-y$ĝQ8O~}f3YҥJf} l[T :yb]_03^.o` y{Jة!g+$jV(ʖ yd/w[,. ?6߿N:dDacF~`4Ռy*ܐ 1?I4zkަIC֢GGp+~"K<.|Anʀp @\9&^]p΍iZr2Z,(~V O|߽X@xUMهn#q*0+ ֪6cWgD~?up5hs;N5s+0KՋj /z!I%֮cg$?Is[pqrb; p$x+!_(Xuk6g@I3̜Z^SvLHj|o\0:gU.3͂2jξϦ`h+,Ta&41eT]Oa==^V^g|gØ]VQ?+h7/)a#gr.J ;FJ v0Z^&6Oa#*)@,WAqRQ!"Y\ |֝W+ +k ݿa7)qbRSԹ >_`=n=Λk6*}#A mLl7C>̗#ZN:[ ]< !rĪҍ&f\}Aj^Oq7L|?!W,'cS}J'meIP1%B!ʛj\ WJ~tD8>{LݦM()F*\%f#3(*lf{ W5N* F3Oc+엢PHq$|1S=3ኙV`D$D}3.4"Q"̙0eko,GuGnqn131ȕ IbA[ [tvZ5 xX-&{4x)Y̐]JB.bU >mʈ0=!9Β8-Nm\֑2n>P ^bk{%QR&`z^9cIm*y7$| ނK{%kA$(>7C]j |W-lw}ۮ(Ot۞RZ lrf~#kzR=bH ՚4PR1 7Gjh3j9gߩi8nVUfM6MjRISR{gXvQ ԘA)`vg%;YuK4AE4 OpGp53cn'k=7_х-8T;k,Ro5V؝F|st8]t-ݬ̈́u@$.)ryf&k(A A/ʹM~,ro{BJ>DaK F֌bEj\[>Y@5v0b~٢)1I3[Mv_z_J C܃fS3 <@LO&JXP-gxK֠ }'l+ԟ+E]jV:(9C:B%ґρqިME n`QJ02>.Q8ޫђgpGH,3>KҌ9J`0 КV6k+%A w^ aIk$c<=ߕnTf+-!WDj=]'Ahb{5f%[79䀮Ӹ >:xUBk20@;oOj[ʯMbܑ3}NK+žEGNIi=""\jnpI9Nm;u[z NSI״6өAbN׵* LUGgUH P "[]gK vh9(,\VFE w?^Ȏj;^WB>Ex15\ #{OԤW7(i+z[mKºrU0݂|>]bدEN\`7U4aVM EEڼGin{Ϳ|ln 15kRޯ'{{Feefȑ}D2//r_.^=PY( E&i#G-5}4`=bR@&5c[ԓ,ɼ+cڤǐ(q{]VM{WX B۹MaKPX&XoڡW|GllCح'DM~# UPgc`.s]E;@,5 GY/uc IHLVة\oH\4gOwހֲF)orNnZܖlI(bQoVs9L]i kyERrFh!͑|0)r* >$=zK :7 zӫZD ={ņpidXkh.;&UwFQTiQ''sAnI SzHM1"|[Aej}<1&CcpV5gKx&j9m2-s sCm"q lyK)E^ܿy̻@]gJWץfPrQ\v.Ġin<cAe>z7ܡBN9A79 eKzO_g.wx{ڍy€o"jכtߕ.]Kk Ϻr 0耴jZ&5Y?~1otoh+4;g5)z$*m~,M unJH\L|iW@, ムͷ@ / <m:QE hq(CôٿNf\WdƘA-bՑa5^>D "q4KBvJCKt>RZ!ӌ]rhÌ*?g)&Os"sze?3^jkA0U*9a98cimzg0sQQLy7#I˛jLbUcQLITp`Æ먝y3,"_z +*ѦO facv}g+CK 74nQq>΢p.N(e?yDPB``w@"YWT!2`HjI.ϕІI zaGPāeoŞiز[jIBsEjHJ>n 5!k|t6GFDHɦ+5y= P,R#:S>.biż]%6ei4aHK< ôC>OY6/+I\0hO=+%e05L-D:!d4dWab|r+bg?7罌Y3E4Gy[Z3L4HVZTd+ ?t^Nx Sg#w筢ف;|n&JZOw yjE!5zNmm5k9Z!NTZ i2> [qaJ9AW:I7k}ڀ9Y G=ewxq` `~7pnQʲNܥ*u)gxy^wP _>"M.eb{V9w mzMuƻQ`ҥuA^MnFq:Kp_I?U+>EG-0 zfQڈBrey!cq_t AK#-ظ [d/,%hU⎹&@'r=8F$ xg.^:2;yX+uef6Jm <"m7Ym1cAWl#he~Ğp˯YyHr?NW8Kju+ZEɝ(dk'Fs {ҽ㈙+Ÿd*W Q+NoE8kS_,0~j˾jFQM}#|Hd_'Hv0CR걹%EE) 'I"#p}W)ʉH(X:o=1IwmpFWq&1kz/tGͺPt]N^"誐i~W>ctc`)5"T[20˟g?ެ^W>@f.K*I=;[xm(X*<g&P2y\+&;/u2:4Kg' o@ORhK%A–'Sf앥+=Dg&HiSdJ7{HKqؓj#_ǦW-侐wYRMoiN/Zad#U,.zoXtL6B%IYKeBUYɬYi¢C4})ϭӞ\5wr9PjMw8VO̍3-ͫ;56 $5fM"M'Ԛ\muC-Q߿Qul$[}|_Տ8~UvڮpGV-ltE!H~x_BMՎTo e e8aΥ G|,zl`fb@!Tj˧9"!>_l\׶G ke/-]xFQ 0S8&=s$_[anLʉV'mZ54&|KX|G $1_ҞLp4{m3ǨgS៬N+$ N ǒdGت"ԋe3w ?⋖P@_,2^TDpKy&RiO ~xי_YtH Ar^6\1eC|M4S A6$n5U d; D_f 8>c:c:(d=^1OQMD\_ BXT v_} ]t]牟(PnRCsS'¾Xp HH`dK2H u7l<]z_*8#7 x))sNI:`t`B@Xf̓ _w[EU."+\e &vM4|,NFgu\s9BS~q!N䒋4 1μ#WSGwLdMZK 7!w@y-l⊊JH&^۾.gBC˒UC+= Z;;곇pBSLɞGw²‰)Xn9wC);(7%Fg k,,OVj眾mXd#V] fIAqFU("fa!O`,j*{naopu,ytꅿ/DQ ^ G ^ ϐ0[*b"yY T'wd;6+ܮJ6/[XIJ' An@D[OhToدv^!R "O7u!ycf/P,(4?82*ݤ27)6+oJ*O+5$` FDT<4LJ\E}67沚׍:r]/Y27ʘ)%mJvReUg;"ɘdD",\Ʌj}}iAxU!ohe#d8[׾Lܗð͋it͹П䧳j!j!飼E  a'PWp_ 6T( x/l}kc\kr'(](F^P ̰ֆnpv/y)LᜅR{"/C2h51Wq}].ˬ(C: 6{Oi-*m8}Mq2$mxɗI86y%&Y;-J.ֶ?IFy~RKB:[ݣ#Sm0WbS.5V%]wOWIP6.\+[=s?s5XJ8hFGC$afujHOu!XR@Ƿj'X?ۀ>X+Ӡ~'>H|ȅ3XX"è6E, Ґ|Ji)҃}MߖLfn`!TxUb!9̓2*N'빙-OOo7?o} Q!wk|;Jm;Tn RUD7 ) _3sgZj{vb : L.fLQ_dD{]:cTY^k"/ޯv,!2[dPt-K/d'(Pᓯ١| S7dz@& F!O~ąݪ"d.8`ʎxbt5/pڥ9v.Q7[YWΝ*WG_r2v_^Ƃė W&ƝD=c !BâG+S~h"󾷯{¾crInezN0ܾmDb5pȤ+iXzc[K,:2k ӱ< Rj픃MK)' ,_ۣ3/#d^{}8s+>&{dA:FT]- G?fV%gT]x5̨$؏ց }w 9KG(6v`,<>]d]~"*S6O~ƻz*D:2~_ Ai5C&47 `>0Tg'Wwڊk_1]UBbt/*S@ozXlʮ9IvHAi}4$J>QG .2_(xybpO8S JxKnZ) <=#JW[NW69(mu~yŕo#ɈPJ \fú U .ݕ+X 2(v\6m=bM#kďMƟ'{;-QVWN[uc C hgAQ|_g'G_QpuQ!zm ☽"iOnOW3׼/ׄCQ|#F8Ҥ2Sa^]{:$ 5P?_v[( 6Rc

1L-/W+Dd\ H03.ÜL*p̒c?pf^ B0 {MsI}yOߐKTêJ~I"$P8YmzEe^IrzUQ5 ) zuN>+ uwABF4 i (r \h Ap3DP!^1&%3 `u2-'|\p~\V;"%R\ް8չ$MPj:Z ].Z岑B7y!r`i/[-۔ ~ozu0.sk%Pʧv@~sVE/6q?88R<( |.ۘg43ݫܓ4F&t{K=D[M7wL=*Ń 4Ҫ[1m~0'Q9v|>ˡaXYe92ʛ?C9-P:Q*5۵@ijޯolY9L+*k$0`hP~M>\z^\%’&gZ&FEi50cxqq=x^|Q ,y}Ne$n8FrGv;sqYPn@߽)&~Q A!Xz3.#b ;K#~V5_%iYl2s6~;w_Dmhp@>ig>kW꜉Fbemd*-k<,0,|'y:Wp_`j>N'!wT?""߄|p 󉶹l*$Q{aB4ҋb"So YÔzs5)kK:}\o%@dQ+ol;"5ĹNO0@Θ~H{ਥ\F @Snubq!te7&ri52>#VT:YW֚j1J("ɗ&t{pXY6K׸ 0gM*[d_ecVhn*Nz}$5$Ҧe>+{u|0.^CC(.*hå9l'8n.vhz4akn DwlV#XBaXLoORBCk%'oƎ6/J y )POqʢ B$AQ~_A Q+ ׈gtZ<3TPœ!) Nhlک "Ҽٮz)TCT#]HA2K/79TZVrz{9y ?Dj2|@*St6|gZ'ƃ'c1ٳ|a5NuH;-Q^Ma#R. ؗ"'xEZp.&EWk 5qż{VaYf?GqC D񿡵 [,Cz^UpDȜj]oNq [BLF,SĆ5/9M,YYB"4<_4flx!񣬓kAq0Z&0̐;`rkLJs}uǿ~fF6f=b/ʑms bn'֖}Z vM{^8 3fgtC5]w'4+xPYDSmpy, Cp[to<6(8k.,Xs?j[H}n6YDxTE>h|f),!dTq萊 buc$)}t[ ~<p K@t[6/-IT' rdE4b}C[ -7 $C#q; 3lSZ4"<aE\\iE̶I;-sJމLu|c @ XJgyickꐕBH3a`9$l y瀹\sXVvyhWb))y49)WP&%^h!W.(ZS\͓X(&$ix'em.R,$pwB_$% aefvX4oW^nN;N5k1ԱF1 0j!z0Lq))5ō9loKT: =H'OOyJG.Pjw6E {2?> V3#rRY/r8 *|HQXuPu6RnjQu E #VqډJ^6jA fЁ2ҬXնнq՗:,_\@֊Jw@f="R3/nbq|[=WU5*V0tM&2¨駏bOZi۞Ci ;3 re pCBkl6 JbշuJUU02*F_f\lҌ,R~Bw\?; r}?jvf-C$Br%^왊_Sސ9*j"(?Oy EM۾mG칈8 ԐKx z aݓ nޝ,lǒ^FëAxٔZ fTjO0=mk 뀑#m` N8>OHw_DY^q8P!j$Y"ԯžett_% PF`(!ely!Rhc9"RJm/p(q<{Φ(p売vUoegRZh&0ۅtB W [[x(;"^H _hWR)sVFa{V f] ,Zݗk[<$FTe9>, rF,ֲ @#`Iނ(ϠxZ cשs .HEv؀Ϭe3{a$tmDx5By^pc"J#W_v$|5"Ja oO+)q71ѽug48,FoA/̿ƠW%E{q$"ma6tcÁ&Snk-qޗm5y$ JF@K?^Hȃ9=PuFKVsGMZҊa~D9ؿywG\(NzxNd$`mI]*# #{?cj|VQGsMe3&yE@6k:] 9[jJDi> 9y@|ffoIW'*0T@H9jQh>FC jG){%I0^(vbUI>0 H_~™M[QZ aflږ ]+ ٟBzc:rq[WAba[!Fbcbg",#*kJR L_BW(rqVF,=0`4{C’buKs2vvM7f5~9VJs5 )Yȹ!ʏti܅5heTJ-Mi&~1_/,#ijAD­Y}4Ӽup3/u'VTym MѽKs"f'M:2(3Y#(aL0pp~\9Yޭm[sw0# C|.kB\J.9#3;(CKq$b^qCzv/^x94Uݦ3MXkQqVىZsisr#.Ēkd\#cY+BPc5yaXe$g,}7&cg1x+g8AED27ԟ!Er {MxwF`D>] 1&Msٻٲb]wh=aa^Tx`.Yv7=g ,gI%ZXѣ}(.H݀ʯ͟ /]|&%zڅ92m_fuu!K9 xO}Қ mslR5.QN%'G/]@ VW?W Ts# x6L/f?hJZ/]@ﯙCq|:"]7ЈsF^3L#M~~')}-z/rN`ʉ_st֔+KX\.Đ  Wxcb9P3P2B blxHip,6P; d_^7J:9B:s:xfEb0n&Pi5zѷ1U0}4~nmUNkQ6,UF?)[ak(+[)SIx-_<@9@x:znAB-'xHcCf\6`cD%V~n U^կtSJzhpu zL?zZ”v֫IsO+`R|yI0}NoD3/ S9\|T+ryA9^!`a&ɾ6y& v(Q-U}mD Tºgش= Gv4=j}3~Vr,PvF I^(Wi_0`w3zviɛ/ZH6pӫ}F[!; ~Կpa? L4סqWܽNo1 P H9G&C8SDD}Ttp 9hmS3|û@ 4Ԃv5f8xՌdem$)-g!>M@@ e?Гޱ)ܱnf Ѯjόv>zu:TX"lj?'kV굩>r2pjci&-Ŏ'SC$R!t(ͼ걂5xR|COՅ$Fxw&E( 7sEKAboh 9ٯ0+3o)$$FNNGg@ZNA۴X`e9\XzfWn7!Z~WL3Y3EnQ$fv=zhEهSs:,V?)>& &>iR,#0n[K lځ V3|ctܬwQCRn8ֿT55qic^F 1]^ښf8ng$-kLXzeGRg2le@Tmߚ{IX8nSPS(U.e2Y@$Wc@ VV j|YnRE5UJD$x:-԰Ujy4[~n af7R틳}q"Rv 4 [t"HǪ^O{AqO~ '0-Uifw/E8oܯu`>ta)fSpiMTo}(y2Cv#-a7RIBl/IKĐUڬ{oBbV_o"S蔑%BXEk2lqIJyCt/^Op$T)2ٳR V}SXẴyo׈&7Y|YQ. c;1"1jwjBr3Lzo6]_#?NczJj!(+Xnΰh%6H֩Ae𛸣aeoqD炥mSEwpwͧ^ Q} 1ո“ѡ? H**$Pj|1ݻY˞›u!ݨ0R,cn@ b 9? K -lfoy=,y,ͣ` +ƆpQ@)3TXD\1X,Q\J l"nӝшNMŦj>3Zgmtoէ0yr;7AC@{f32ԕVr?['O^Z+,a"4kz4s}zWǡkx`V[gyoA9)W?PXG3ք5 cSsee2d 6W#Ufn M'_=^d>3Ni )B/aU1 Qd KC߉7E# if%*ZsǻZU1C c 3-b_3fЀ< $ԕ'9M0rkA (IC<᷍)$$Q-\A`X F[[vIt_l9PdnXue՗qLEWEI#IfH|͢L#&$jLB9HMxnJv>' a&Ee/Q2#Dh h -̵ 6Dssw郓.eirap#O(x5NňwɆ qJ VyPO{+q^ARq Ks54XNCm@ ;peUR0.!.pZxd\zyx.X:ԏ\:"F-ֲJ}{ۿ줾ι@"dDi7!#s'iGiQ0ވu0c7 n `98xo-oq>d;t֩x.*FQLzx$ݫMd@+w 94P 6 {fm}~gMqt ڭԔ5p@%1uÊWPq>j BvU]q'9`.u+i|\7~&šeFƸ' Z:ה#a/̥ϵlXYN5$(V"Sb UPްYՐ ]&{ 7x3EtUy  /A׀żK)lAMCHB.Z%zMm@㧊)TLcV/tlBLFv7YFc^B=8dtn sA+DCXU;VvC75.RfϖDMbyYPB!`Ӡ/}<"-^|u<3K9 B򤏵%lQR+\jID.+vX1Pfg~{@jgf*᤮41 2]/I}&8)oǟ-UYgBJRD$ΘS8D1Zj;B+B)0#V%b4g^.WyT8#SW[7,/9$&):EA}m}{ EsP"YQil#2vn+8lu,Y:2&}pW;?J{!9Y7g,hG>cK9 F}m:D/Vz{JƸR:#&/g+ 詜 W/ #Kk̋55t;alTł4JX("dY<@Fnh2Â݉ns 3OF_Rx!dnGu:NDL[S^3H^iƠeMsѾ ܟ*ߵ.2@VxlPvhTlrrGh8i4';FY9om,rm/j  CژV3֢^;(IY-J{$jS,5y~]wOLc44 ASOp0IRA+F NfFRAW{tM;a駰2:ڜKrYMywtnS 2PlQZkf1CJ43 CσFZX2ՔrbƲ㊫y?q^a+H^BJcnKef)6ZA(Hφm˞nr1 @\lJWdᦀO Cʔ/65:s,3_!7 +B'FTL[ y>ZK38ԎF*L `ѵm݀H꼋!u`NmJepϱs['xo^BxK-۵=[ %_:ܛ'}HP?|&K]d3زږ0UBz/ HSP@Lv  xlA0"L \jl;ED (HH D1Q,fvN1$Of̲`1 U}g 3v5+Kq=2ſ ѧ /~:Klej-`ցakN_y H+Ԋٮ`9)l[$!óB^ ;Wg%O 8MpSu}LoCu-yz,t!4]U%Oi}q&f] @q;֖]hf;/+c(jң tMF*0+:t#W>m-љ2놋K?.HkE;8g o4-D0̀]ƞ,݊*Ԥw @w- "β댶 YZ