openvswitch2.16-test-2.16.0-8.el8s >  H aw4 !F^(*v-4b5ItsQ]JR&&+VVpryhc@L86"l=}HA'ݜ{~Ʈ in#P)05ANO?~%Bδr/unb=lR ":aE\Mv>B=戶 ?N>LS9%sZyMpiSQ*% )9"Sq{hDR`F]A+?ͷ^1c6358b985403b748b62eb9d971d4fd2acd295ef7fcb644e5b1cb119eaab57a12dd634b7f35e3f4ae1b5b9ab9e9c5f420fa2dfd3aw4 !F^(*vһv^-~,\HA\8mM vV}-S[(h9 &X4K vhэ/,H%)¯ w`'^hdpvJvٖWkt()5!H՚&sF~+bs@\I}#m8Nzɽ~/|p>bZ)*xnWQ  MќewMh>jHmY'0zNY8MS $R;;V>V(>p<F?Ftd % D ,HNX&& <& &  &  F&  l& & &&@X | D (|89: G;0&H;&I<`&X<Y<\<&]=4&^?b@wdAeAfAlAtA&uB&vCwD|&xE&yEF$F(F.FpCopenvswitch2.16-test2.16.08.el8sOpen vSwitch testing utilitiesUtilities that are useful to diagnose performance and connectivity issues in Open vSwitch setup.aocody-n11.rdu2.centos.orgSystem Environment/Daemons daemon/database/utilitieshttp://www.openvswitch.org/linuxnoarch + eC/S&qq##//  c c+.4& < KaH SA큤A큤aoϜaoϜaoϜaoϜaoϜaoϜaoϼaoϜaoϾaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϼaoϜaoϜaoϜaoϜaoϜaoϜaoϜaoϜaoϜaoϜaoϜaoϜaoϜ84294e6095721cccb09f1cc181e25cc96c7af37a20b8f495547f905918259565c390f8a60fdf45087b79cb55a0306452b30caf2c85b7a8c25670827a08fda5caa3804ae502677444d5c65665150f3e043538425f002e78d031b99472d85cd39a2cbb1f71e93d96898befd7ceeb9d1970073a8ec7323c047c448f6aa62dc481881b7a478c7ecda73baaf95f59801b412b794ec3ec01d011eb8b1734526c8d4fb85c7f75687a95ebe3cffb3aedd7264d9f2380cf8348eedc57299ad4feeac1608a45a17e4c1f53b63085d8047cd04b3930130d12e274b74b5cdfc92a9723296f0213a32a901fc93d1f48f92d3a117c786f402aa7860bd126d067ff838cb903f17113a32a901fc93d1f48f92d3a117c786f402aa7860bd126d067ff838cb903f17148b7e7af349b04588f32ee1388e8728b4f3891b90b77c2a117d45820fa7e1e5648b7e7af349b04588f32ee1388e8728b4f3891b90b77c2a117d45820fa7e1e56c6ad6090e1dc7744c090b58827b70b6fbf0475a34520323bdcc1e7e54b4a4221c6ad6090e1dc7744c090b58827b70b6fbf0475a34520323bdcc1e7e54b4a4221076f141a2d9a69ca1503674295620a3a6d70a755aa1c5b28d4680c2a5cab647f076f141a2d9a69ca1503674295620a3a6d70a755aa1c5b28d4680c2a5cab647f77b8b12cf4502c6e8dc8faac27a6506142b8095ab789982f7160bca24f354dd077b8b12cf4502c6e8dc8faac27a6506142b8095ab789982f7160bca24f354dd029300d6e00a95f87f27154c290d0eb27aba2731c3d480b5dfa8ebfd6e60b85ac29300d6e00a95f87f27154c290d0eb27aba2731c3d480b5dfa8ebfd6e60b85ac64af516dc5a203d3b9a72ca055b7aed15b5c7fc316643a2575eb14b8481ac35964af516dc5a203d3b9a72ca055b7aed15b5c7fc316643a2575eb14b8481ac35963321bb6e8ebb8f13be94f299172cacd18b984cb3e325d2dbcf1c935e9faac0163321bb6e8ebb8f13be94f299172cacd18b984cb3e325d2dbcf1c935e9faac016ae1fe068926a93f2519ba95e524662d1cda0e06f0ee96d685a484c31b254e35d39acf1b2b1206b9bd36e27bc88f40c2baa88059448b045980540309ddaf4b1c784ac074ef7f8e80f5791a55d218357c7115a0c79b6e90284020778857a8cba7ca2923d1e9d0f6429e9483ed8e58ec38b480fcb03d3e07907c5534a6aed1d79e96e2dc224d82b6ed87b93eff29d5ca3d400029d9eefc459ed331316522fb1ba2ad062d71cb8e0e77a7ae392ce0f846fa18dee9dab2e048f0f4cdcb77b257cca3c0e3ae6ed34f0592a10b82d672a2439cb125d84f30b8f6b16b7777a603b7ef2a9cee809f4d602cb4bf0368aa12ba4a6c8fea36f2dd0f97f9dd13f58ff137bc229dcad70353c09769b1d67c13cd2293775cea4d6760046dd212a576df0ea7c86324ba91638b092f798432221e85ca114592ab254996e8e111d2ff537d6c7acca81fff0ec9a9b3e799af1cf428c0f77bf9b0fe5fdf8edbfaf1f3e688cfdf1072ac25c34190dcea60a31f2ae123bfccab4e0c3f2c048d1497f81dcf42143bd64d033bdb059eb7eaa7cfd7e79aebfa33d0ae7815711cc7e7f47665e0b76e2d3e6412rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenvswitch2.16-2.16.0-8.el8s.src.rpmopenvswitch2.16-test@@     /usr/libexec/platform-pythonpython(abi)python3-openvswitch2.16rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)tcpdump3.62.16.0-8.el8s3.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3aC1a8a.a.a.a.a@a@Open vSwitch CI - 2.16.0-8Open vSwitch CI - 2.16.0-7Ilya Maximets - 2.16.0-6Ilya Maximets - 2.16.0-5Ilya Maximets - 2.16.0-4Ilya Maximets - 2.16.0-3Open vSwitch CI - 2.16.0-2Flavio Leitner - 2.16.0-1- Merging upstream branch-2.16 [RH git: 7332b410fc] Commit list: facaf5bc71 netdev-linux: Fix a null pointer dereference in netdev_linux_notify_sock(). 6e203d4873 pcap-file: Fix memory leak in ovs_pcap_open(). f50da0b267 odp-util: Fix a null pointer dereference in odp_flow_format(). 7da752e43f odp-util: Fix a null pointer dereference in odp_nsh_key_from_attr__(). bc22b01459 netdev-dpdk: Fix RSS configuration for virtio. 81706c5d43 ipf: Fix only nat the first fragment in the reass process.- Merging upstream branch-2.16 [RH git: e71f31dfd6] Commit list: 242c280f0e dpif-netdev: Fix crash when PACKET_OUT is metered.- ovsdb: monitor: Store serialized json in a json cache. [RH git: bc20330c85] (#1996152) commit 43e66fc27659af2a5c976bdd27fe747b442b5554 Author: Ilya Maximets Date: Tue Aug 24 21:00:39 2021 +0200 Same json from a json cache is typically sent to all the clients, e.g., in case of OVN deployment with ovn-monitor-all=true. There could be hundreds or thousands connected clients and ovsdb will serialize the same json object for each of them before sending. Serializing it once before storing into json cache to speed up processing. This change allows to save a lot of CPU cycles and a bit of memory since we need to store in memory only a string and not the full json object. Testing with ovn-heater on 120 nodes using density-heavy scenario shows reduction of the total CPU time used by Southbound DB processes from 256 minutes to 147. Duration of unreasonably long poll intervals also reduced dramatically from 7 to 2 seconds: Count Min Max Median Mean 95 percentile ------------------------------------------------------------- Before 1934 1012 7480 4302.5 4875.3 7034.3 After 1909 1004 2730 1453.0 1532.5 2053.6 Acked-by: Dumitru Ceara Acked-by: Han Zhou Signed-off-by: Ilya Maximets Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1996152 Signed-off-by: Ilya Maximets - raft: Don't keep full json objects in memory if no longer needed. [RH git: 4606423e8b] (#1990058) commit 0de882954032aa37dc943bafd72c33324aa0c95a Author: Ilya Maximets Date: Tue Aug 24 21:00:38 2021 +0200 raft: Don't keep full json objects in memory if no longer needed. Raft log entries (and raft database snapshot) contains json objects of the data. Follower receives append requests with data that gets parsed and added to the raft log. Leader receives execution requests, parses data out of them and adds to the log. In both cases, later ovsdb-server reads the log with ovsdb_storage_read(), constructs transaction and updates the database. On followers these json objects in common case are never used again. Leader may use them to send append requests or snapshot installation requests to followers. However, all these operations (except for ovsdb_storage_read()) are just serializing the json in order to send it over the network. Json objects are significantly larger than their serialized string representation. For example, the snapshot of the database from one of the ovn-heater scale tests takes 270 MB as a string, but 1.6 GB as a json object from the total 3.8 GB consumed by ovsdb-server process. ovsdb_storage_read() for a given raft entry happens only once in a lifetime, so after this call, we can serialize the json object, store the string representation and free the actual json object that ovsdb will never need again. This can save a lot of memory and can also save serialization time, because each raft entry for append requests and snapshot installation requests serialized only once instead of doing that every time such request needs to be sent. JSON_SERIALIZED_OBJECT can be used in order to seamlessly integrate pre-serialized data into raft_header and similar json objects. One major special case is creation of a database snapshot. Snapshot installation request received over the network will be parsed and read by ovsdb-server just like any other raft log entry. However, snapshots created locally with raft_store_snapshot() will never be read back, because they reflect the current state of the database, hence already applied. For this case we can free the json object right after writing snapshot on disk. Tests performed with ovn-heater on 60 node density-light scenario, where on-disk database goes up to 97 MB, shows average memory consumption of ovsdb-server Southbound DB processes decreased by 58% (from 602 MB to 256 MB per process) and peak memory consumption decreased by 40% (from 1288 MB to 771 MB). Test with 120 nodes on density-heavy scenario with 270 MB on-disk database shows 1.5 GB memory consumption decrease as expected. Also, total CPU time consumed by the Southbound DB process reduced from 296 to 256 minutes. Number of unreasonably long poll intervals reduced from 2896 down to 1934. Deserialization is also implemented just in case. I didn't see this function being invoked in practice. Acked-by: Dumitru Ceara Acked-by: Han Zhou Signed-off-by: Ilya Maximets Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1990058 Signed-off-by: Ilya Maximets - json: Add support for partially serialized json objects. [RH git: 885e5ce1b5] (#1990058) commit b0bca6f27aae845c3ca8b48d66a7dbd3d978162a Author: Ilya Maximets Date: Tue Aug 24 21:00:37 2021 +0200 json: Add support for partially serialized json objects. Introducing a new json type JSON_SERIALIZED_OBJECT. It's not an actual type that can be seen in a json message on a wire, but internal type that is intended to hold a serialized version of some other json object. For this reason it's defined after the JSON_N_TYPES to not confuse parsers and other parts of the code that relies on compliance with RFC 4627. With this JSON type internal users may construct large JSON objects, parts of which are already serialized. This way, while serializing the larger object, data from JSON_SERIALIZED_OBJECT can be added directly to the result, without additional processing. This will be used by next commits to add pre-serialized JSON data to the raft_header structure, that can be converted to a JSON before writing the file transaction on disk or sending to other servers. Same technique can also be used to pre-serialize json_cache for ovsdb monitors, this should allow to not perform serialization for every client and will save some more memory. Since serialized JSON is just a string, reusing the 'json->string' pointer for it. Acked-by: Dumitru Ceara Acked-by: Han Zhou Signed-off-by: Ilya Maximets Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1990058 Signed-off-by: Ilya Maximets - json: Optimize string serialization. [RH git: bb1654da63] (#1990069) commit 748010ff304b7cd2c43f4eb98a554433f0df07f9 Author: Ilya Maximets Date: Tue Aug 24 23:07:22 2021 +0200 json: Optimize string serialization. Current string serialization code puts all characters one by one. This is slow because dynamic string needs to perform length checks on every ds_put_char() and it's also doesn't allow compiler to use better memory copy operations, i.e. doesn't allow copying few bytes at once. Special symbols are rare in a typical database. Quotes are frequent, but not too frequent. In databases created by ovn-kubernetes, for example, usually there are at least 10 to 50 chars between quotes. So, it's better to count characters that doesn't require escaping and use fast data copy for the whole sequential block. Testing with a synthetic benchmark (included) on my laptop shows following performance improvement: Size Q S Before After Diff ----------------------------------------------------- 100000 0 0 : 0.227 ms 0.142 ms -37.4 % 100000 2 1 : 0.277 ms 0.186 ms -32.8 % 100000 10 1 : 0.361 ms 0.309 ms -14.4 % 10000000 0 0 : 22.720 ms 12.160 ms -46.4 % 10000000 2 1 : 27.470 ms 19.300 ms -29.7 % 10000000 10 1 : 37.950 ms 31.250 ms -17.6 % 100000000 0 0 : 239.600 ms 126.700 ms -47.1 % 100000000 2 1 : 292.400 ms 188.600 ms -35.4 % 100000000 10 1 : 387.700 ms 321.200 ms -17.1 % Here Q - probability (%) for a character to be a '\"' and S - probability (%) to be a special character ( < 32). Testing with a closer to real world scenario shows overall decrease of the time needed for database compaction by ~5-10 %. And this change also decreases CPU consumption in general, because string serialization is used in many different places including ovsdb monitors and raft. Signed-off-by: Ilya Maximets Acked-by: Numan Siddique Acked-by: Dumitru Ceara Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1990069 Signed-off-by: Ilya Maximets - Merging upstream branch-2.16 [RH git: 7d7567e339] Commit list: 0991ea8d19 Prepare for 2.16.1.- redhat: First 2.16.0 release. [RH git: 0a1c4276cc]  !"#$%&2.16.0-8.el8sovs-l3pingovs-pcapovs-tcpdumpovs-tcpundumpovs-testovs-vlan-testovstest__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycargs.cpython-36.opt-1.pycargs.cpython-36.pycrpcserver.cpython-36.opt-1.pycrpcserver.cpython-36.pyctcp.cpython-36.opt-1.pyctcp.cpython-36.pyctests.cpython-36.opt-1.pyctests.cpython-36.pycudp.cpython-36.opt-1.pycudp.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycvswitch.cpython-36.opt-1.pycvswitch.cpython-36.pycargs.pyrpcserver.pytcp.pytests.pyudp.pyutil.pyvswitch.pyovs-pcap.1.gzovs-tcpundump.1.gzovs-l3ping.8.gzovs-tcpdump.8.gzovs-test.8.gzovs-vlan-test.8.gz/usr/bin//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/ovstest//usr/lib/python3.6/site-packages/ovstest/__pycache__//usr/share/man/man1//usr/share/man/man8/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnuPython script, ASCII text executabledirectoryASCII textpython 3.6 byte-compiledHTML document, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix) RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRutf-8b0335ef4ea32f0c332678fd38a88a48b85c10d8b8eed1cf4a024a8c684c0e07b?@7zXZ !#,V'] b2u y-iSq gY`5DYx:SܔL9Hd c8bH$nhaЈkHWa%xny=>'UC skRh6 ShV0|wry"?Z 1j}~ 7 =JxKbְTZ͏;H~8jT,تwP2"ڦ^5INޜq/aQ))PBe3<=˛$&1(fpڠhKrKŭ[';%jeH8>.b=1Q ʮK*Vg~f2"ﺧǓi ݍh#:yVDif&ASvN씯NzFJHn}\ \`Ճ v"hb2n!C)C:}z+Q)b1 -8;l Bf9AE\6 `uPp"lDP2eTR̗bG2shp5#z: E6QrH_\0VobF_űkHL[ĭ R#G#q]\4kRZ ȉpjZPn7oJaTꍄCdMTLZ(37G51[&6Qx~=\Ҳ:qL P3T*П?Fޚ\keBXu]<|ƚ)Wbye><^YZW@62?[ 9xX(0L%: )-14PF7:I39pdW}qT2q=ll S %q]aSZPR9̆Zsxв"L\jN34v:h~F!,Y١&8f ]FqSVcZHp϶B{ `ssa./Wt#qpȊ& =XؼUržuƧGjC? žɲ˳Rf`f_ht&j Ng9F1N`oTs NmkF9Fln(G(]6.+o66/JK;ij\X4bV`E{MX5\x)6 7joL{n++ U,X_t{XRܕ.>(%qJ>RK[8߽J<=x;`hC1*Μ⠐}e_~B₋qW*,$~M3rKoP[I[J%:R9h0`D3|mckR1wdBog18:KY1@wVN Ұâ6FU' _J]yC/5mW~h2h}O.ۙsEMs[% a/W80ǭ@I͂;lIO]݁/gۓ4va5bQD}H\oWRYT7@`d+$X`$;ɺzG?kڊ"Q{}Wվ 9,,Tċ)vs*hjsjY^zoV۳l|n Uṕ0(uG cNo{WטZw 뺆ޞ nhv8r)P<ё)!C]5PTfC9r8U_Vs"_юm/SL:<0+3UqA l`Btb)74nk$ㆎȧ|\4'xWx$UnQcQ^X{,Y!$^ 5 \PTtp!qyqC.23XDZ:zt< Pw@HOnЯR8oe8R~iE,$Y[PH )JLgM5YQ ZYsv2D,@5J|4*^dٕa-IT?S[L?X * AHu@ZvXq1<6(wK zϚk$VLcZ j,'snhY1}ixKnzIn(6G1 0*JR5 ײm%SrnCKE,WclA*bӿ9:hOC^1%3hS$Ym1Z*MI~mz1Yho<_ G!ia@:.G@Bm9"_׷CW;-'icn#t|Hb)nvRuzÌ&2n=qE2<5N{UyI7TAVqODެ 2~uiǼ$de%\ _kU_J ab!R6*l&.{1w-=x6#;ecU#)-V0/0`b_RrZϩ0 ño^bη%q *QA9n`av~z܊4kњ&yQn0](5ҏ YzMbPPEV/@Ҫ Rc·,1F>Cr!xOmVpD*K @$3wKp X1 ֚9kKZb}2^ i!wұWO2g9Fc̄H>A@*pMn믁~:xcf14p r%3!FZ(NdD syHoю`I9/I HlprilTJ4⑅GӲc5*#>nT!8ccnd NԱB;Ye-2v} BPS+~=:&{WlqL#\lB\$DO[A(+Ki.z1vSW[:tW(n+pqKG*JG@M4aհ|ɪ໵mjW[E sxL{ âڳyU*=M-[Z/]6m&ŦJS.rf0 Qsq7ֶ}lC]f_醓Ecޯ]چkrq3%w|_@PTQ%uVx޼u=O1qX3 9(5cY?c81FN<.Jd2\6ߧ.\Uhn< =rhQ'l@ +Ti/$-Ħv ~[EM6U"S0h #mJYg:Z0R*Ii+pfZ Xwh$зI*cҗUSxDak4(4Ju$%N=؋b.wڂ&#_)7'D.SX NR0 >/(s'g\7W̾ 7:qny6$ZUoGpq%Huȩn5j0<I )YaCIMW ~a]2Ge!&7%41>i [5lSh}_SG_17O>B63ģP.Zdy?pc35 dpIzBr(1, |DvF%I!1ޯ%OR6s)me*\2e&[~ȩ PU4gr !逜 t;ܻ\N2>#B1LZwBTW?k9ڿ|0s!Dṉѯ =‘J g2 l'H/vE.L)B5~`CM I%[*ӌUw.ٲ\ ]sI?de xJR*RJ[0 W/F(iR$%н):Y+2yMK>˺2iMX! ~]ḾV =RE/=Ľ3$Dji0!v%R1 u`z-a 0(>,%LHgq LHN':"QD/`]'Z$ |xmYh޳2|e߅!ɃaxAg?6d@pY& kqԑ Ck31 2=bm }/'5^;7_)he8 >0+ψ*(J@ȸO?%>Lgn| Ċ'4}w %geMq,+LB" V;@K{wK ЀTqYի|m>6`MQf-u} /pse䝚K;0P+vgfsν+YLZ|-gnWgY ><`  b ,5x.:OtbA>aQ-ځne~-WgR0bt_{@7+d/<Ѱo ~)~ iOP)g7R@_Uy% ܠ'z =r6ަ $|݄k4 />}mS>"h-ɻ[=cgE.\6n>o[T`VhwJ/frԹȭ[ J.rvs %fxo =Sچt6b:ZzbMX9%mq^f23*bmsj )1Lzh'&MP&O$gO_< L{TV֝w͘L Lަ|="mOT`Y9E1$z3Ն\gLTа>h|n]B:I-L9 0 f.Ƿ뮉dӢBzN䞇h\t;IB s廃-꺻EЗ_w3|nPY}Tyb|;ţv}qjq[̗'O„ ^+BF CWŽ GQ|2W܂>&KkX5(ńLA-pؓѦ*o ޹Cr {Q"K,tx#[>ghuYP;l5=Vay9}K\E7񆛗a(]@gZJ9 [h)`ج@4)Bcyɾ|_ O&R_@4|O8bܴBnewbumLˍΦIjmZ<5+FңipU\:VBshbg v QGT#X fFUexH|P>J}&e7)D< $H#7ӴfHg4`r[1=o/?(Z^$ C*.KI}D h>hΊ+*ٙ۟}qdEi¶ubTY%7ӷ+t*vF|p96]VID֔nZYH/S4+fP$Y82[FNN jT*nZIنXuÇMu1P.\o&vBnICp#F,quSZDN3ʖd:IF?/:" 0FH <ѼE&֋TW, ,@ odrnҒ6ߌ*PBӮ1ΊR6w!YB'㯳c8|jE{i:lɨ'ZLF WIlhdU+D3'ٵp/nt0PĖ{LMsWp ˞Wg=*m6Ɠ;)]ߥÖ~[1MM)b N~3(&EgoL(NKB^1;ۛhd 6i5{2h\2 ˂y-p j"]l`NPepL |~AlXRǧ }C$RޞĊz^{HhD$6~%}F9 T~}DjOxCXׂ8`e+j"˲Q(nzaɏPn;>~I)\k6\{ahnʏ%NQEQ=U>}љK]}R\ӏ0n ȱZqǓSF[);(ktqffeNڠ d%}w"J93zBv -\E0HM@:j|B;Dr&Lt~Yd"3Qׂu獕!A xM}XeLRMFj 2AY2lޛ#5 EEK<>_Rh4͹Oo{)e//a\}#<`2,ERp" qi-Dk RExe݅Q~5(w55 DB+fI+Bdǵ?}bן8s f7\W w| 7K$D![M3{6%x,U.:cCDנҘW?޶ocyˏ-}ku^+ 7S-Toz0^v.#Wt"$Y*8{EN#ɵ&hWFZ`;D.Zob6i8/t; ˈ"hFC%rVGRk[TieRb~ oq>=gP n"C5. SΤ9/^qۈ< (G'l|?AK*2s{#-5@޸N4O_#~Щ&h&0OVB D`QHq,P`Jy!1= +!zwoUL5b{uğѫ&+&ʬ(D\"cjڮQ/lH;ɠ\;oAL>l]yٲVzVA8:N0h4 YYh$`^E?tBhxb|?HIGJ~&~3ؚb˞ҐggXúcJeGjI5UHXc9 S=u)sDŽw[^ r%Wij H@lR.Z<9VOI+~%LR3m|_]VXdL4`bQ t]8PC m T@]zo?-0X%$7-0ڭQ@ȂAc3h& DLlUȊ? 6y:&`;ޙmV,S_LQ簆Vzz?A#̀`h_ۏNF&*E@>EiXsY,Οbv8浠/nqv's'rAX :#t?׻&lanfݣdg}b)^3̐u\ XԑK̹K"xiQ L*$')4͈3 U2DXӐ]CW dwo> /6XoIP݉:/TRL.A恎6"CgSo;kI`M5Hv2MqEp*ycsPq;aVL9ц 9^T#Z,uuHN`2JֳJ?oFzqSupAywZE)I_},P3N+ڕKD#m"bvjx5 b7 QHaҋI@בZzYX k5)Tk)rH8ɖbqpL= K-pj7㯠KiqM::Ύ߅9pG>m,Gv&`^ )#$v\u5ԱDf`+例8A^~A'j5J5 Ɍsd* 1qx> }Q$'OÚ{ F@ H KT:.}ʩZV3),3W#4CldObu% vhhznyAptjGs k>x ߱.r~)PG* %Ө_9%˪1ax5'B϶ɂwϯUoa1_/EZ1.a4tk.ЩpLmU<~GrdO٢ LG9i?3`z}"DRYyxMĚ~Cz 8 7;pD'PuRe QvCRʫkd[DS^* `pت1&|ݭz$-+GH=xL}OQ#|FL?[Ҫ>"l3j/n}\)#K2dE؏I`_< ( t^ާ{ kMw"`8jli_R g~ OmKY14$FxV$ ^|+g\M\'6d=7Lẖ c`*_hs=Gzfe`3croYt| !H,~pu NQO6?&-!6~SoS5j,ɖŢ#N򭉲Gzp9 %R5.:󉧗E<>;*z 9vst,i h[1ҫ'-*3ҪN]:@r{m_~yK8 K6me_Ffȣ8XuV(GM E3r&PpDjԓEn'GShBp28X-;fƳ>va~R~XJ~!KQtH{.{`"Ё3W9ĽbrɎ 뗖i?h5ǎ4$RrStkL3Rļ62T>V:x[so 2Ldrn_ . gRz񰑩4zr?~ 'I}(&d޳4-1 qwnqpv|ަ _Y':J5Z->##:>hzGҏ'ғn4 QجP~[PѸ5}dK85^e4^nU"{FAN8Xp[t}ʩB&w&tK:~hkC xЃH;2| yJI&]qHo "%m[ !)᭎,4jKbÄs, +Č4F;gN t9""}أ.NL]6E<:\=ctWkq}~bXG. :LD4yYEb];XSx-ki1 =kж%/06Oö] c o4:j-vKOJP/(c 0dP-ccR1[AcXwax_z;O"wxüm<›BcRv& Y=eG`՚!ʪUrMЮAxCa0 1ڕ4N'JmYf'NG /2OQ5yy>/r[bCWPmt[}>ze㸰@R>* *!nmL26n0x*fE/&"w{e5"+y` ذ#jk৔)bF3@:V|ΗSMCWXiqCSpQI9_G}nQy%CvM|ツ/(蹌kp73xQƿFd^9~Un}K6G?+۪|K[n>2`cke;C?x Za;؃wʡaPjuvīp%z1w9&tSsET!O (}dR$nejM70WHU-h”2ӺRi:EwmmEh1]ws6Fm?rE%i'6+'c`2y,Ku/}NNL?pm޸: W|Gigaqi E 4WBm9Y)El'Pb6P 41>bԊ ᒢk iUw>[8c,S!-nG@L' |ׄN2Fz]ʾޟm>_kԛNKמS\F꾗39CD'Q]=$F b<7gb%l bS=8.!^ JԧzSNԩG( G2J8nÛebFJ/U}/4=Y$V;<:ʯ!ŠmR -R2~A7c@{OUۑfMaIëOsf /rX |VaDJ {4:G6zzXbY8ƓW[ bSQg*"O?ȸ7Ega f~>/F'9(0h;IߢTEfQkYr Lj;@kWd׫+zעMμn>?\4( Z:؂ 9Qp@,/ M8:9-ck<抣jVGX:GT(ҫ&̶*w'gĠV ]7⛤ ┭4=7 b뭉oZb{Hx.`Y/wA_򈔃RYu^By?q@G!VdwU\5s^zu :1Wz*Rc:|*vi dE4Ӄ?Cij؝/Z/cC iĕ؇vcbnD]?4Qggw-c5T625%HRZ6|B nنJ@5}MlֵB.OFYE>6s-vqOÕ$DYR$Io :SL,0}A,K`Hw_B~S]K-#1\ WP>ivLpev j^/`p_}x]+ʬk8!`"'0141(".nn:-zJ^JZʣ>AYg${LH6/`E.BJG0AL-zǠ_č^нjj?aB+~Rs9FN?׼\Mf? rN&T_>lƈ|{M=g=1li%SzD@9 R7 ֎3 SCwέ%6QYS+gk`mrzw`.s.ݙ'J.9?8D;c/4ǯ E*E5""Vd `\dReŵmA8ݛltg,Hw"~HM&s"(DənlSX7+?L뱩f|vq)0UL̗' c~|5  .lQŒ3cf#4> h" Ii4 -ܛSZ|jԥ,ǛՒN r7;x--> VapdWmwu ؍{/[_y$BU}K!7xΤZ)JUW_=,)*ⵯI"PN#)ِ(ϖ|VT[.+E&^] O?wp+e$^z"_Z!_e 𯿠{̈C :>$*qv)h0avk=#[x\Q"I&_E\\ٞ&9 %Yz,#߹.~-y`k"> 5Vz"v5{C}p O >މ-#`3VؠA!hq, #'"lGo1^][ۏ1G+[|#Ē}VW {MD ۤT1؛3Vu({EOw 9G b&!7~ ,;x]oN!U&EYEOĀ&r 魠%[-_qHk`K>X:DBvc'ֵ#W͛7r& +lѝ 8  }ݵ`J}[9Nؠ!7Gx@˟vPRrDF+YtU6>f H-퐣3ĘC 9}dR}yrǣ\'<_Szɨ,ho|uq簙o5bA\tVLV%YvPw(^ۆ`Aa WA75]]ve)\Ϥ%[65z'/o TI=g)c)h=oteK.Re?L x?j^M=R`kHF؍*p?M45132,@aof ݂-MKf>B\ hMDSP'zl7o"á>4 p:!)ϱܕJ {sÄ:tE ]҂M ?\d7/IӖJXN[o]TYH+v^0EzE 5grD M#X#-pj(H><`)U0a:'(;YhtC;^%|6/~_ zP3KEFFxyS,C_p~&ɵ@%h[.C?8j$,+եG4ܖ<:Fi7J.KYv Ƶԙ<*R+EM ]i8jQ,ez_vX RT]w,aH 袁lZ3xertxqƘ1p%o4ov=# *IKpQ)ՙݒvXNm T.Uw!%pQ(p$aS0}!ySb\#eYzC* Й-4 Bw~= ԾiU D}Yjr8vV-zO: ݱmCHlta IrC))b# Ӕ@6C9DUJOTA vԕbv@(ų@'$=v\_{tVBEfF{Y. %N(~tĴ|K'.,1E{ si@oְ5jk~̹SQ>|V+)}o7NCOTC5|ҷyDBMGUM.h2~M.⠊ S}տeb6Ut1Mv $puFQYJHصJNL0N#ͪ{)M)e޾*X !'W5aͬixUH}+W3 h 1,J77B C5yU <|f@b[ 3roIr)Q惄H{iжM4\ot B11y+PkIʴFA@{"  M#MMt̆ȫJg $Y%m\ls!d]S 'OVR ,Ύ FsA22D~~Aldrqxy͛fUڗ2(c@Ky,5Ԛߨ5{/Dcү4d }4V[!h`3HG-Xx$?S4EI !Щ\uBڦvr ̌^' OWߋE-{![UݩW (1 4gն 8L U lF,?_rTc89f+uL9_:2e9௛ld%{"kR\[[EN;A@&6w@ =#:Sds@s$& vտt_ %yk N5&L~137K˷̅^g[mf؅;Rb +1&=@Y^!x: [ۮ7pA~`\/u]R|@_;Yb3RN}jKs-mj]Ces婒A\-f@CҽaR,f %Mi!}Ac3LQvi@{L҆hP6k:3ޓ5Vd'-_YMYc$BvXt J!2c lÀ P_tY>R҄,ܘ $Dսm ~ kF,F.G1צ6ihOUw'{UGOzR엞:m1ng|eۈi4`a6ӊoq|N\fkPA&QL*=j{GtMU3j^-[?z א+Hk*&ޱ r&6z\)ʚp%PQn=yb9 jwVV(pa; #paن[mv}&<nd[G'䊱ԺDl=.vw<c8h|C xSU o9̱׫?Y~|_&R`95${ ziy5nZ9?B?O̫ O'EɬgAbP<4+9_|ALz)py@^ 2 ck%rֳ@`'=u !G᧏k̢kZPE@ ozPT\?F5[8[UMXo J *[xW V5Cݱjk n[ˠ*lN_鰞b΅qǛ4k!M@44|k5jw s:۝*>pi:|cJ E,D +wjq,z|4GG8 bI%]_)'`PV&x83/μ)xvˇ[J&QV߆xUybGyKj_eLܜG~8*d[5^+c̳d#tT(6pci\=*ú,׵;#&{ Ãb(iBPl"Lh ='@!X9CjxN"ٹc}Z5q F|^ j[v9kڮ-VzNfT "dClIנJh`n!: ;= sB lڑМY=q>J@mg@;ֺeC/(4w\j7|JCYNx4%+WL;wgr`QL ~9vJTw>?9Q`ϻ8alx3dGJH5<(S}G!OP%v E =/FSGvxu.ȄSr=|;Wc`E $.k6d s{mӘc;np5ƶ\K(Ȇp&t`o [e87㜤l#9& ߎ/yU9 N򐑧oT 8XSd3f*dh7RXpϗ #EFZRc%J!- P% 431ْ>-Ypc1h=6FКYA=.Jt0pX]+AkAw}bQ >Yj@1]1j=v(Vzw_\#/jo)Wq)?K6]6=wgPz$bHA#oW ]Z1 @cSj{7~galvn_u6 {4O!Hv1i ^:-2S1!Z|c N(#o.߄npFmX4D=]#kO+j`IP  ^*-`F ђJ#bUH$彲k!y=+x`;7%a )p, c{I |ӝrp8m_UrPJY Z&?ݲ+S.]wv)!]뾪e.&An1y7 ^5~RgIvjZBdC)kO7` گGET *=sb:sa^>;Ɋn >\1l}59 O&m< f֌[jGѦAJl&&Kg B@+v͓ ~Kw:~p.Z1E[(jhfB{@Ou`č硁csJqG#ߗ z\vN:@S&]*.(˜D)u簷lYlEkR\ ҈s {NJ ď1cuTd | Klfo4wE=: ?冎2p j0``?m'' !L^֨^ZܭT <ycaE;f Rs0 Ĉ%VxD2D Ax3%9Zup|KZ5ڱJnޑ3c[axTԦ3V cuy(D}%7lu|\8gzo\d#Ժ5ѡZ;6 B|HQ9 Pew:Ԝ/׾\tDA}3Mley>}+[2yjzs+X9s^iZa+6?LT` 63oFXo񘔵nkd^I5O?_L{خq䀆v]Na}ZH6"?hnJNu:[ĸOqf6jkU=;K;r) ?'(N?ޕ:KLx7me2H]Qp.~v#tDT?7nzV[&׭ v.**-qH$y7WX&Aдe  %;N%1h擏~4-1 9 qo##`ޮ/\ BqjK`@rWlH .<CxOq}q[pb'N:RMDr꫌K+Rۂ.'$D991!o7j/ZjHVJI'Oh<Ěu mg^~V4I%ABgۍ.R C!rDžYxHkNRp#9zm&9(1S02<*RDY%ȺK -`莗 _Z ?BwGםʉ`8*ltԪ֑*E%ߜ nةm%[1Eđ5ZN֘Wx| JyO|X6? n3ώ@ ,jJ?7Uqܨ4)`%ܵ70P PA]PI"} `eN㝀d{)7gmD;m%' (4~xڿϮaΒ.]34\Ǭظ?E}K1.JP63끅Rf-}h`o̼&66Bu٣T\ k3Ū-vPG=" V>h[LeOdۀ}UJoxjHNq7PiP+Nuu|۳^7 A.;Џ7sy<:kY$ Mj\ϒ:!le_@BZIùiW.JZOl]"w~%VN"XsK|GР*R zwvE/sCwb>&?"DpZgQ'حz*#6l%:k&Hh7ES,o1;ǽ2l\0QuⳌma.vfb*,1G4:) s cNc!ٔ 9llOy>2۹l[gY"r஺ !!TL.:{/ezq|<6>Bw)kǜ !l"˼ f_2Q/>~q#^ι,$V4)CwSV`֯A=gSS~Vzq\sfϖi~toL=J v΄2t^=^7_H4^_D|rYR$4:9)!ؠ3i_TꧣBoX@ҋq21F(N<7v>M*8!˥ƺEArd1ϯKkYa1YGh%[Y"RM-^!`ppTl=_p7u.5R-C9BMAo"S5Oâk* 10(W gxg}0t(k&Kmg~M.Q3zu+]@ ثJ:jej*jŀDW'ELFg1lx*jJ!e2]n\uRnVk]a U?~пTY9f9g$SI܄LJ > P[EƾumIaZϾ?_h<@ 2ji2J*uF5{/Tl猉QDE\J8,_uRk_ؤ~o.༗PJ:&W掤"%畺Xx *T5רZ~}*[@,:d MW IW2/cU% h.RYԏ Y>?]l4ʢe瘴;C@f.;n֯'F)YGhu X;}|394T,->.Q<8yç%h6QZYQ*nsz`sхD$#lY)L r^G w[8wŋI/ /:\KF>b7W9@w8~Bh~D{o[Yδ%D^c2F~Ô<(*xPnϽ%k k *qjЎ6 T49JC #{ŷ^0tD@ Vy$N!ˤ/V%ȑFrLgYGYk.0 dLesrؙ|p<_ʲmkRC U^1ni;ӳ/jPB45'bŶA"6 Y4N]1^Jin'<>;O'AЄ|УGHajWӥN%h,i/4i~*wIǎ} 8 b5FU`s2Ab(:Ƃ?TFx2HX)R &zS228Lsn.g8 M0xe(R]dI LúG2^ _Qj.ӤT)3du0o:೎a2;&8H !4?$u)dvVrM܁q'MPH}Xm8&&Hb_Cǰ*`9-=5 >N*GiP95kF$:ZOJXh[zwaPv`< H}7*JoL1+&<'"@zW%X%4m[y2!Dt D AW9 s?z^ qLt{vɼ'i #\iҫY}alb9WИmpW'D+gHbA"9T}l IsVx23QݤI{I"2` !3[?soCR0qfU~[Fo愾!*rXp{S1p76'13Cw.{ Bm >b97J"JItm`M 1҃Hx!NSN 哼CKP^S^=;RPp7.-ƥ[{(?Bi)tÊZowc'PH Ku16dyfB} {MvqK/YKn)N6]ke.d?\@(O=RBc񑋜 QF,b@N?ى_H~>A_ <~U@'Sճ[Yϼ2/AH ʇ|/H`D|9B$ij#A >\d,E|56LϜr&s=QLV=LRդZӰ^{GESh#NOJ>QC%Ew%;6 z zUZ3eVTz9Ha9?0"iq4@:S.(9-rzU L޻IzFlT0(Doc2#A2K|tw71e<& Tz~?gHb5=1P*R8K#X4._5EQ>wgD$JȠ@p\LD{+խnw&qm5&ŸJ`tgO#4vcD_EgM@F'%l 96ĨZ;{tbN ~g&}q:vAJhjX{Y\|^?05t y DMhEsW6ADϮvebJBi7,UO%Lcbg~L)6M V>[% Sg/6w9AM#=faߌ|ڷVyJ&Lö|{x>! 8x&;xs`lE4UO~8nFS-g+bҗ(P./J9oė ijگԾi'D9+MET0Tl&rebb]+RxZ_6LOJ6D3Q\'?Yп yU5?k?wL0nOP)l!VrrYhɔzЍH޼.!Y-[d0ٝ.2R0{;!_d CZ h)7B6<"(1Grl(jrLW|FQU`-XsN@NG=*?.9d.7e(*3;Fz&VcN\OI8PiKh11Ds dTc=58/E?=W 8*8MHVaWѢb%G=ؚnBk=FFn.O7-ux3|HN gHrtTJ\b6SV Ҩ:h#gD4~ -CMz VN>poUd4B!G]3|Ըrc,~>9+}C۳rr ̐ZNl.XR1NBCz\.ky(BVBJA Rh;NVUCu\|*MЈ^6W6ULӐe"O_S{G^"8F窡J{ P.RTzFm~ GKG%D_Iȇhlj83w0)Ռ"ZZV +i?F=Ue6Bs4Z "xw'Y>P`Ȃif#ʰjXfk^OU ޥN4zT< n<~ؘI瓛J$)W5"}|UxٽI59Q?`V~c&t1LDfH/VhtǏ8TE)8[e^Pѓhnݧ99sE{v#>Vˢ>cUy)wDq[-O/\ : Q:H۰-b {RغnoݢoyմЃBBO=#tU=]SBd2bUXA~kR#˭=*I*5u0kxEn!>5W6T᯶,Ü]PigJr}|/d0+\]AsIz%>; –v( MocVO~w8%mF l)HNId8J=by4,0J80Ԇ\]K=kF] źݮ;&[F$ƭ[RP1P5VQGACp?Rz2Mʲ-.3l a !=^wʵzT8.x; ][6%׀|S1k~~R ͳ '8گ@'XԻ{qOR ƕ%l0طق%yR&$yKݟ 6\?"?>CEExѠ``e [[ru\S#+E=wpw)d_tzwUN p#?Kc:|9o.p',{"i{`ub4 Zn|.FC [b$r-M3+ڛƤF@3PakoRv^SͼAy> %A@ '\-$Gbv:4gVPlxFЪ%'9>5]%bLcRD'[,d\$uȋyj1lPUnv$PDtD@lry4 28#R8ZhmjL8PyݎC1I.d% -N?qY߄t ف&VIp"ҸiuMHu݌]hP?VmꥻbJ* ɚ/pʸUF9Tfާ5ߢ$pI&ڕ>P\S/vqKc: gK+! BlCYdς(-4YaSXr1 ʑʜۭ$󊝪: }\ɛb Urʉ1ZpUMFJtcזG.U7b!c q$]SK,:v뇗Gίp t8ӌT f|sb잷ZĸJ0%PG%>^ _7 1}xk~ˤ4[o1xVC9Е\CUT 't>%&!=zu5bc39y.d > 1+ W"ƏrHK\z9 /Ezio]qIgZ h\jՉd4E{^K,n[ݧ&iޥ{ )pF:f'ˈ`_|\vtݿk ⠫[ίʈރٲյg8#nw֊Ø"=8C6:ONmǰ`PH[9_byJrc**C[aɋ]Z w]I*62aOײˇ] #``R[" = OJylLP 7')_k?2Hy{%*Eظ@>xvi) -$T>I(SrMYy8 6ܕͱ?CHA( n+@# .CV7Crm"tQqB~e9q\XCy,ILoH .Dc^'OdfCv!}+̍J$[>ú .Nlb_MҔ,F%gX s_R͈dsr f&0h/E6=('nF/0׵>W۲2=b} <$Xųz=R}%2i5u/vMNŻUvm5edp*C29>RZfZG@*_dp,3r(K`.!}19%#U@a/ 038+hJ(&]SjsP8'AiuAƝ'~kVQ5:ܳtYgMj}@sv]kLkSBˎ5}Zhb,fjY޹6W:D)^u;\ fˎې>\ k\wHzz>^޻ 6;Dv!?h/8Yg1眸&f]KW1UčkHG>޿k97gp$-؋h;yCUڹlH7556˜Z}s/x$j*3v@(ԵQr$0ȗQ sDR@x"@&YJ626 nX~:3Gp5؂ѡUͭm7 {`\j̳ʼB #%Y .._[hPF@;759 I{$8}ww,'bHOz#JفZz䶚m  ?ߺo[+Vq7# NQo;P HHW]4$c+k8Gi|d$+@@><s*7.%ՊK^6;1`?++DljhIcC -PmitN-(x׿9-Ec)kTQ{%ٻjui Su(xMײ&ThYtlƳWQ*wuep醒&:D0JqFep[eG!L;*:2:\Lgf4ߝlXVڨqs ׻T  L|dTg p _8[a Z枭N|I ]T]}5at(j1^9Rw/T-f$I6&Jn`>w-y"}e>4^]D8=+ Byk6]l6- WKP],Rd,!ޚōپHPU ĕSRR Zw0[ǢnFLgggr,՜}T3\ЬFPRvsjUj $u39?OVm. N;jHR#:#%^0JG,A9:Nc<'#kAF[k}!>4׼M*߱j$v2n{zqŠ1w& +S ~"LuK2)X^l{6¯tԩ%"}mT&ZtFjq%$쨧;=9klܠ؇6p;i,+d!IR_KXmHה/x!x Qq9|Ώ)b1KOciU>"N @.\-AROn_q]G~r*@\`^-4s?UZ%Ow}MYn6UO.+փI1 )2oS[uww(aɾȸ"=㯴B&P&Zʔڅ[c5&Ӟ{/ހ6-"X7m̃FЀ0GAz;IE'yN܆8b˟wRi^&^,ORN$l&PGk;[Zf%jÕ{ڬatl"[PĦ׬:sb;̨j0ݟuaa::]V7k=qb+wPo#uBAWȫed VQ:xR8)%}>1}o+KV]=zRt 6DfC׷V>E-Mm)Cq|CYÌTzM5{DXӅd@*d_=> MyEM(дg\G|bU[v;1X܀F|KvT<奡-u߻Ěy'ie;`C%pf#nDO2ai~)7 ;L}D^sVXۍ ⒉\8d=\hcQ2Y-J/ڶ4 &Ft[Va \dg)f(J^96U<*N*5AK{Vaڟiz^as߄LspAGjm;%?-~KFnF`)A [ɶs~>=#/a ?6i0=VG`)U]u-$T T19:.AO30SOB^O^$g7>()}>~@h|Im=KA v<fPիf94.,$_;a rxNƙW|I#1MEE38,RW1mhjˆhQ<$+~-t; Wf@!J'|9tn|{?IyK?>mRl,eũ?}Dc>pe3%ɎoC$I.VXOrϬ' A$IgO_P|{kt;>}ǹxRE[RNpb.ŽXgwkU1Шp ]Ɨ:@ݮx -ǀa.BU }-8?Eơxi.IO@wi~KpspΩ)-aG̠: AۡnX[,) ±r8uWY"&@=5AbT o^Ah\e g+`(ëw{F8$ǹdzFFpr^"ؤSpϒ؎lh}U.7˅ WN<_ 1nʿGJ 46(#QZ6d9g ˏS_V`yy*IUl2hZHbRYНNy({7%7RC0$2X$_rDAx0KVpΗ%džc50
    ss}ESN8o!\{ɳPGNu_yeٟ>_cܞ+r,IW;:|Ťqy"DӥYFCl/.m䉡hJ̀CdA2$HZ^ VsF4f:,/k`y ‘PZ; H &;N9W*CdiPaL5s.íyvV*pv:(`\Y)-0+r..I^/iZ0 ūf}eQwn&?i_Z&[9jAk*k/[I]yۏe\̩ܫXK7 =قs7K "$ߦ{ ^[_s|GTlAx{$M4'iWFOPݎeM&|3Rd&,f\M>9pdžYG<4`H6i>.i]W,v:1-ImLԚ>ljqt,9\# _@V_nmktvv^\.IYFtI9i:ծ߾QP!mn!`# ڽ,z e^[fU r[8©S}iH͠EksȞjSEحU0^w*@,)߯Sl~b G~*-7T8Kj/jjb*<%ތ_ۺZ/ O7 ,dI'WawMZ#ssgL3d cj3ڸl"̢T kAJ圡 )䦊QEav{]Г%Ho~Ċ@{RJQd-Qt0\\|n=2L9R4tE!J 6P)v969 ƯfDQ. ({/o|+Oq(7e2հ܍[^1kpO$=s3V./RUO'x+t]7 WD $Cܙ؜OD*] \Scw`V #n[$$^%ء7ck؊SٗCv+|!B@/836N M6l5= `m4c`&wZM>&! tiZ9h;"!)_po*Eq^!:Tgiwߝ>[t}%Aw'tiLBW45@pl@K*@{cbqLBh2Q((+~ ;;Mgi>ÎIQ6 ~QrM;VBĴP+H9oՕCV41^r &y罋οr7a $_4o DbF1GpcLUJ'V>H.Xg۪ZPLVIK<`9ñxOE`/u/".˺KNKY[um)vl/X%(Z skZJf}F7ru&ʭOȎO/Z`#[(.j}uK]^.OPUh*rxPNZ0RL<Ѷ8br;/4z[Qhz1IM/bJdaL!2e/]j?fާa~;F6$lהSGB֟}w2.0ﰁ&.2){OzE`5̧z\`mÞrQ%Ib)٪+? M⮢2D`@J &0+^g;1S u$'{nA nH]D5P}6:6 d9 JV(|{!S۴J=>^jOZE -ǩñ`0;Y Oձ\'i#tB!w^ eDgFBOf^R:ALaI`_.?