dpdk-devel-19.11.4-150300.16.1<>,%c$)p9|pyhCY)44f ^/I ;֪T 1Kz%E}{+eoeN`Ho!ZI_dH%_7y<O"N]4'B&MU4;_pQ}O$F/q:dt\'8 =m([4l^/K]Lį'B[m`m/ xb:C͎%W@'!˦Ģ3D=&XF\_8[9n@vڜ진>A?xd  ! NB Xx   8  t  pHx   (8F9F:F>@GH<IXY\],^)0bcțdef"l$u8vш w\x۬y (,2tCdpdk-devel19.11.4150300.16.1Data Plane Development Kit development filesThis package contains the headers and other files needed for developing applications with the Data Plane Development Kit.c$)sheep74&SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/Development/Libraries/C and C++http://dpdk.orglinuxx86_64 Y\ jFgzPr 9d*ms xfZ+ h~C4%N'()" L@F 'wF*.,7 dd6M 48'O{8i ]#6_)5#d +t%@ d+E@31"<]"(o ``;(%RL \b3G||Xp :_5+_$4rt"<,|*P 0 KQtd#?uS&Bm\$<3EWUJuCZm-!r To6MGlwF%(9 }`enqC>&R-f.s7@!_u;K;  >8 %#Z{G   a% ??):tHZ/0  %!##""!!! ! #*5f|+c > xPv})]VjiU ) uTgTd & k |#   SF jmSDJ(A큤A큤AA큤큤A큤큤AAA큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤Ac$(c$(c$(_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$&_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$#_VC_VC_VC_VC_VCc$&_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$#_VC_VCc$(.c$&c$&c$&c$&c$'tc$'sc$'sc$'sc$'sc$&c$&c$'rc$'rc$'qc$'rc$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$&c$'vc$'vc$'vc$'vc$'vc$'uc$&c$&c$&c$&c$&c$'oc$'xc$'{c$'zc$'zc$'{c$'zc$'wc$'yc$'c$'c$'}c$'c$'c$'c$(c$'c$(c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$'c$(c$'c$'c$'c$'c$'c$'c$'c$'c$()c$'c$(c$'xc$("c$'c$'yc$'c$'c$'c$(c$'c$(c$'c$'c$'c$'c$'c$'c$'c$&c$&c$&c$(*c$(+c$(+c$(-c$(+c$(+c$&c$&c$&c$&c$&c$&c$&c$&c$&c$'5c$(_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$(c$(_VC_VC_VCc$(_VC_VCc$(_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$(_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$(c$#c$(c$(c$(c$(37cd46e6c90e6d7a4ad93ca0011aa39c08ac8b7379ea3a07b8db219a630b2b85b878f7f04074e8a382d99b7aba448654c2c855d572eee9bc703e61fc5aee43a97e750b1727dfb3a9396a2df58289b941959d84263ab6ca7353347245ae3bfc054dcbf6b42773afc8604e7b723cf475c670899bf8012c411297391509f257c1f2c017494a8779d3834264dd524a371da3dfb23dda6a08b83719bb25e25af8787aaf30d588f214c89c2d6c6b085e99fee1f7543c82ce2b8db0cf6cf3fa9d146fe6d609f7cbcddd9ed277ed4d0a34e34e2a52dfb7a7da2e3f24fc197f04b661811e10a66280c5f0a2ab84d3dc276b493b0a24b0e64199dacfaa7334f8fb7fe1ceb3b252c298ad5e84ce3fbc51ccfeebcc274ab88f2aee16dca5a27c69e8c79040efb13cf9636dee80da35aaca6df579b421c4dc254c4faf9eab057e1097c52a149e879e2e1eaae9b56a84ae6c9beb1482ff0f533272ba8a64d7977d12c299454723bbe6d477351935a03c506fb6b7c49413eff0dab0202eb8d140385689c3d9f982a5d63c9a49c56e988a8b5f2b1a838e190d8ba82c2e61f5356d2cd1c92385ef447898f3e4a2db7e9d6199bb8819ac153d9407ac6bca5eebd114c63c3d6398fe560bbb287899b8fe6fea09c31a1498753f918ba84ae3e829764a435ba6e3097b91da94fe3dbbe58c1f9c57c8afe6e399652456314a75c4b4eedb4e40faca7a1f84eedc33b98340dd8f6629ce81f2eb067271914b45303b3c310cddde98568e0d8dc5c1834961188b4a91d7005741799bcfcea6d06f7f7b4048aad10a42077e4c55a622df8196fb215ef036cca9451fecfca031c9eb4ef7795e24de9311a5d92e047dc182de549da688b9f5afdfa1188e0d8b542225cee07aceab82be4045ec984473d2f8abaa84e34580705b3c2b649baf86e867c5096abad6aae4d89b5b4d444d9075fce319f21c5b3fb141a1c323b00a2e795fe8c3e000b49322118b2bf6c042fe2b6dc32440b8aa4592a4d0a9760dee228442228117a11979b3f085fe4779b746820054ea6ecb502523bd48e46ad41ee6de00546e30dd29a0ff28b81a68a2a52af3527bf4305f58c3e9bbff480b39fef350b22cb2943422f0695a74877a341e199bdd6e26dc8a0e20a382e719222059d531383c15f60514d351b8813e58c615e793d00ec1d4f97e635b0a13f49ceb2543b15d800320e6723d1c04e9c4d1b9de97d753d6a07d336b4ada1a963911400b3231f86908fd0fe62c5d8d3d5a8a0ee95fdb8a00501a1c5a89834106628ec4697b1aef1bca7b089f9832bb61bfec8bfd14ca531feb95c57a2913bde662d9774463bba1c7aa88d1daec72ecbd172ee060f39d366744db3d03379918717c60b270242c48199567594c7b42f2380e367da3019a8be383fd6eba0a50ea5e3de60ce30a63fda8e108ca5a401275f3cb7197866222a3cb44263069e8e4a3fa5650d4a38dc7a3076d71a3290011aa1ee245739913b7c5019bb39ac14c1869fcb5d8fd4ba7798896fb2dc1e98b92c3f38e9c346d947445cf36a5ffac7a74b26a4255a11fdcee375521ae85de675ab25bef862ebb6c42a4e93ad0b574c5aa48bc7af04e7ad16983374885b7604e1193afe767af0b7356783ce859e0ab1eab218625f6b8001fe0ed1ef5c9a855307dd49ba867a3c0cb076c320ab41846bea10156d0872cfa9d6428284a499da4fefd596a6b82de3e28c0a7c7e72a0e5f3a21c4e5be92efa6eaae8dedee63c7987907ae402a14ce9c22f9c3322df604f27386e7d80de2bff9c6f50d0bae7631ea17af3f6bba9b9b2a285f1b62f292ed21ad1f4d59367df0846c02c668fa9b083f162a156f60a72f56bac6a45d13c7bf6da905bb0f30743e9bb1127c0532809a9891b377135a22522411bbfaccaaa2d0b3cfd908898b6ed8128360cba0b5d88878912101bc1ce435e7d254db4842dbea32950c022ad73a849f2591c37856a5c37732184eff49ec6b89e89338a202b535a9ad57ca0b8417f3b8a32c1a254bab35b987bcb13d1d690bded7f346b2c355b55ee9ad6f74212480508333d7dba1548539cb9882417277894c0813a773afcea9e71312861c9840694123838a73a8f282edc8375822bda7a895ed8fdee1a1258babbc279f9f59565c6f97acb703fcd530e519b7a5dfc9e0b804faeeef54ffac0aa226bc765b893722153a4b093ccc0660d2b8427b71a2b99a46aeae3aacf78936cc6d9dec59f4be8fc0d0dbfd0badeca338a1757627e0759a96da53f52c0610685c6f3d68628c48cfda96166e7b64bd3fdd60b1592523151f61232ad49090281cfe77d4207b4a37a85eaf8f154840d3992bb30f1b74b44cc6539c5e3e61bf8c5981bb2e2dd9b1cd742428a1ba42b16e8eb523b9527ce3b5a5e129205909d0a7913022127b12fee6c50f0f1cfe599e8c687ac5f17de3bb071ecc16b0eec1de842b4d982b8316bec3427fdb5778d2b7a2b835240c1c1ff3f3432eddd0fa33d7fe7fe8f58b5958da7c67281c13bdb479fd964102208cb83caf67ad991b00b82d3e172d141cd39822986090e041f403c6e17ff3a9575ab79c37d504e9d954ad2291592a405c519cd3eb0ae815987ebbf136173157daa77cab04a16b089abc243a47ba11d9755581a2314056b1b9619f57c0892e71d0b01295dca9b5b416e0d5b3d8d99ed1b23fd8b7a51cd3bbbccc093c53384e47384923733faa0b0dcaa405890c1afe2968899865be329c18bf66f6a5af041aeba137792bc2081d8256728b5ba8587598e0c30a46e0baef2a57d568de4179fc99b4ece5eb1153486ca67cb9a3bf733dd80a3faf7287c2eb019fcbc8e91022dd16084385a9001b87f82a9511fc167f215748f473a86d3ab31d84f7f0b3ceda63e6082531b188bfbb9c45fd4ba79bf972f632681d2f28d3c646884f35ebd4a452287d9f1f2e838628689023e464b26ab703db9f6c4700414215dc5645f3ebf9ad8c7fa99bef5ba884ea8907066f46db097fbcf3e075860033aba2d2de8580b4c528d491ba339b41c76ba2f69db7e5ba43c2976634b902bffd16c9c0fcf67fb6a4cf37a3d5a5eba4270bf436f65e43fd08593bef25eab4d36ef0cc31c391b67829f2640441d51b71325771bf358b600fb71759ecbb744c9ece53633d2112f9d747acaa97d64b62b21e13ac4ceb5adb3ad2157e04bba9ff1ef7cfc299b96bfb1973ad8de41914808f0b78475ea3dc62ed2fea2ac238575bdad1d7b9bd70a2b01b6ad69378b33d35ab2d648ee7edddc238a18046e486d2d8540910d7930fac73351b3af3d18af8991b0adbaf44099640465e29722e585732a369a06bfe4d56bd445438edd840b75b564c0019c3fb11d5cac7bfd735014bd71d19aff5358895518c666648e3c7a8c465ab0ffca5b504c2d5bd0e739d3be0b094015a25af6309bc57bc108e34492e715973b4d75ed7305bdbfb192289c00c43960b0116c815380dc2acb18685caae025f145e7d3e2fdc9e3aa2b86db958fc4850e0f5e738c8fed21cb18cff326187c0b91bfbc5ed54aef0e9a95803b656811d6fd658bab51d484e88a4df75674c74b23a62c13af333bb36ac72c594ffa4c8e7cb908428e0547bd4ff6a24837b50d10e1a97f946bcc02ad04882ce0f89fd34036f3842e8d6bc45522f51f86bca6f274ff097e56a1737b9b65910fa021be46b69eada46aaaa17a5213d4bf93c45d469e0d3b19a263031d75f41e09b528f1441611791427e7bb53a4862ec76affa18663900dd69540abe1c9c0a8f70d01a0204972f2215b6d1c2895bddb24cd7a2668e548926ed49fd2d61589cd1cb87f650c669b8b41af9e947fd258bd98c7ca1855238fa46f61fe0d50fd8f6d8cce94b525786588fd8aa1a73949877cd77df0986bab9f947864ecb7c3fdd427fed8cf3ecd09c7dd2672dd6d47069b92344dad944ef6c5cd4398b6a5c1e6028fce069ad547fa50b116fb83b5aa9a8660fe0432c5dee2791376182e0a77abab742935cc64d244e6eb3d8668164702367212f4fa1f1edec639e87a2e1f995ca01e87f199001b3c53d160e3204e96801d77cc5083f4465c6a50a71fa1cd33bf1898b18fdfd7798c1cf3890e96d56db30a550efaa2eddb3f13dee670fa7162af646694fc21b327c072b02d2c0922f1d2d34d7fbd2b7ffaef0534a899692a7cc7f8dc557738d16929c568a742cd0d5628bcc9cbe8975ae0d146ced2103c295b2c9ed7dbf84303c29980b662f0cdf08ddb004c940e498431002659dd7bfde6b6e59dddf8186c9061520fc468ee7a61bf16809ac1a89dc15dc9fa33baa0044c036c8278d05adf6f92615a6b3da56005b820cae8a6156084ffd059b07a99a6fda8f6b6c4458656f1bb218b9de46077e0d52f6d1b9115436711c2a88d7983c6648db4dc86bfd1f7f58d1e68ab783326cd8de89a840a0c127a12814a77fb94b172a49f9c370cefa29bad1cd39092bbd9a54ed8ee78b5faeebd2253ef83ab02cf3b972461cc24fd74b303eea8fa9f7ce4a019cc5af7bf3bb96e4ff3c32c19e2adb350ce9825ff7ba0495dc833c74b3303db7def4f6a08eef978a38e788b1adbe3f10d580453f527d3d68cf350050ab6d489ac407b6e05f9f3b40b4ee0fa900623e443379df1f7b5b39851e81616470acd7a3cee80e02e158906a86e553bbc701de2cd1ee23d50d79f03ea9700b15117e8010bd8f0d90dd7bd8b038510617f20dbf19803d8fe7514e0dd0b88c3987678f7f6aa0cb1c1808889d9b0c103ddabd09f76fac510e3f14df129d2b3c129e7298e64ab4cf58d9b5e23b9937ce74701ce9d6fbe4ba783a31ab783b332f8b38915a40f88526aec880263b984c7fdadeae94b3cd30283f74b45709cc8cbeadb6b83472659553e43630a05240a178ff5ece2bb9f79ee4c21ab0420dc5c3656a9820239eb0c9dc6b2c679483adc9e63509d8b012cb226497b355034c3a0658ba1be47c3793939164beafba02d03e0d1dd17b4201d429b4955cc8e639182e9004cd1e7ab86dbc97c424084e83ba7e8926753f082e177496284bba841dcc01f5b3b54e1037dccfed4e132bf89acf6f5689d1db4e3d9b11471e0413a2f2f6c2666e0b8fb1c183e481857110c8af98585c37b7924be17333a3b51e548f9dc9b7f2b1cb5d6a75bfd0722406f7f26645d8e7057b8a3bb1f807f247dd6866ee67dcc92b84b31feeda2329b0a8faf851b6e08f5917d0a2e0d53644826fca5299a4c6c014e35f01bb254182230fca2be21a883e9b4dc96eec9b5c6976659071349fd6ed59a19806536befefc367bce656831ea4d595409398b377127939bd4f9ee21b96f549456e002cd687def536bb647c4735774aa77efb47a6a95dee2af76e146ee4a7f6a8d5c5074991ccbcd071f6d775160c561cdd2dabdd5580cb435ee39202e3ed4a215de69290779fab092c163b0ea4bf692d0e91b9f0acbb93c6c153df3d22f6e1c7d96584ddf2302b6a3ef2fdee37967a3e3c2c7031359c86daf335b2001954114e4eb538d1056e6d5b48a782098b50eec420294990b3e8a9c24a70ffc7f846f837bfd49fbb546bd671c9e400bd0540dbaefe803275cb6995049317ca78dda9281fa5a8cbe40ec9931a0a3abbec39157a841b23faeffa1d11938ffde79b1b42471bfbc64985c41bf9034291b2de611630a078133486371eaf837089770f6b706c4d184d759790466e01177a25dc29704c0af17ab56b9f6f1c08e27b44be89a820408ad7a652a6f058d0887e75557a5cd0b55fa52c9c1103f76e0845f3021822756e0385b914d1d61ef26d9fe1bf9234e072cdc05fcc761c99ad31ad10814da66a5b6ffb45257a3bd641830b4ff6914c0f096fb9c45acc4559aaee9b206155b6ecb21b4cfcf6538c47a562504143166d51780abef0b650d6b217473881908df10a62a9247640a3b22fab43b960ea1e1c38050070ebb9bba0cf1666b806c0d15cb435f57bfbdbb4ac3be74b373b6c3b9097d09f7d873e6384714b3f0ac1679e704f24c9e0c539e8bfbb9cca85c694d9d387de5362244a46c674f6fcc39641725f5341b9a7351cd35d5d635007f341639b98981e943b1cb39af6d47f1e118c7ffa91bc85a52a81205eedf03bf1a84e993b33757d6a24c1cceba5235d1825bd5733958a554c180a1b124f2a0bde2ef5084676924d8363c1ce15ecedbdba24cae27a85d6edd9e015901d19fc6f97e598732c934185655772b7e6a0a98e78f1e97f6c9b600c9763b47487854e9d10b5ae08490bba397dfb7bf9cbe6dbe8e96a600548513560eb07bf3967f4be65338f5c8045e0d94e96278705db0f58e8e83096e3c8da1336633a1a849a25b1a9eac938b02da70e680343570c060e26e881e8ee7105ca6ee12ab4be57ceb26ea3b1cb2cda2f991cead013254cbe92206adde25806e0a81aea28c2658ba76c6ce50fd0867bf07e6d60234a7837b77ee99be67f76c17904ef95ef5e3c8d506575d802f67cf100226ca1bff546701cdbaccb18a0a04770b477d3946ba7210f237d459476509353f9ef5967aeb1adc7ef47345565ef519a92ab32d2745ae0feff922b336174256c818e4c40b601a9b818360792d1a0a5791be577de471405f953b23ba3028e0d48314ae0ad520a7f18242ddaad1517068d4b654edc4373a5b17696c02a93514e77d0f1b6894551ae76bbe2c7934c0f86e4f0a79c2fd2a7d67bd115219c53403c905cb1dc9418aa29e1d29b880814f4952a9aff374dc335405e70a2b23065db5aab4f035c5b546f2858cfef8433c0e0acd900555601caadec9aab250bdec8d3637700a24dc71453813bc6a30a6007e26308795b7b14d234412babe145d35775ca569f9480cda556c19c8adb0b1d789e85b4e5c93674c62a537c9b0b031ad7d92f67458d6e253b1d8d115ce26719e0520220ec20461db15417a2b226acb0a560e4dd0652282e4064ad6b3ae18bc87f4479547d90cc0d1f684bec8c6bef877c3e16244a49bac16df462769e0ed6e8260d7f4d09b359cb03b0b7d553c5443acf27e8eaeaf685d7809a6a51572d88a526c255b6b49900f4ea28abcd9d3d457b452be9283f1a34c60b5f9852284e67c25648209cbb068ccbcdf2ac2ef8a2d21564453c6a1e71c837e5c317e76456fc5498423df850aca22f65f600d7bca925163c7172c61d5f27e6e1c43ab19442c6dfa1fef222c2511ee754e35312fd3370dce006a2fd363d439f22c113628c3e5ec26a0c6c0d38cf7709288d37b64e88dfffd88f76d3059decc65b99377212363c975365eea10e8d3a8e102fa151b947d45d170287c3ca90384e4270a06aa0b3afe6f58faef5edb9c23ae07b055ed9c13b2d44a31db8456e82234c4bf40668ce8c0624ef19030acc712a45130a08a0a43d1f79efec5c6d4ed1ecf35933169a34ee33081d84dbe6aa0bdaa84ec73b6c445481f65afbd00538468d3ec31503f867b244c8b5eec738074489259cd2ec706b13bfcfa4400e3cb768ef2c3b441e9e007ff56805518523d70c07c034501b36b867ccc5558c6861d068428797de21e163fb7a805e699759cb93245c9e6a4c0096eebd3a3f60456373bdca6ac81624512e6c5107c5e3f88f25db376f4582bd65fddcfd9173237307a041dcc3b66c5534ae532779db29ac82637125a0af083007f8e9b328168550485091de7e0d7807c4de09db162a8b87d29b0f355eccbf93312cd662af69a0c70e256ed4e4a881acb794c470586aa4d132e48ed05573f56b904e15d2c38c4595e302ced87b9ac612979693337fc7128f49105d4a8ab03fc5cc072ee53d5c85449c49bb5cfb469a4657a0c6ccc430e4b27b4dc615e5b3c68c1eeecd7f2a96a5dcdef89c4d18578b09c11b5aa9dab1d89aea7abedf5aa320b55cc6aedf27173dbe066397599bce000a68e26ada44c7ecb77575857bbf14d15283794708c84c5d774600d3c4d96eabd1e4a7f5a545fc7e07ea92d4d9218c967994fa2f7e96ba3733f81bc997ef6cfd6d7682cab4ef56d61a70da8b19317baf6c24e431c9fa2b662397c9510f67cc180077880cf94e0097a42a291540a0fef439de141385f5598b2ecc0c1e2d1307b391c6f5b6283da81cac18310d4ecda6578495baa53c30f5bfb2deb77bc800d13b7d916795a9d74da9f4b24ae7a6a4a6e76c358d93d8c694f41339c6829b6512d3e028fddbc9e9fa33a5d4afb87700cebda809ae7dc74a863bd48cd1f813d1d5f1fdfccf56230d4164e748c5a01dbe26a28c98b96eda98c5c0f78f468eafbfaba9510f1cf9be81276b1bfb62f9a48dbdd717a920c114bf66048ea643ddcd6a1ac185da5e02d01a0dcec4098904ae0fde5158a4e6f95cedaaa142eb79fc24da9c6cf83b9644c674b16e08ba7795c04b242c8fa1d02b724368709041f3f96fa97a3ddb47c1c1b75cef19627de4abc13c3fb0f3d6a6d23d57993252cf9360bb258d45c6c50504a5abd76044797d8e21f2eaac139985eef03e8dc39894acd0e6094a76ac48d2830566af2d1c9e0161803fe7ba8ab2a10f5a05dd12e197ca560aa6a9649fdb34a5c086bb8e508956d024e9d1b9df0300f0072a93d42328f488f0a15b7d2486b9a3b2f6eac3dbd11ca96478f62a5afcac6e4c903bd969bbd5010b3b372abd277142c3a0e8a4a56865e9e61e3911b4f87ca7d02123238ff22f7a46a526e01bbaf2a69657ded8f6e8b6896b285ec6edfe7c70ff90c084b47fec0dfcc6a2f188ed08c44d47ab3404bfe40fabcf4c55c276de06ece4a4c320cdf316946214cddecdc9b20cffeba780b6fbaaf49aa8fbbad10bb3f806843fc7d659b9670390dba16a750d3673b8bcd806584532a12169a973cdd91b92f1933474b144b47d36766055ad43241c3feadb4f0cd2286aacd5c66c37804b5f0d72cf5802e1941940737c4905878ac6cd986468ce7bac933a176f084b47e19ad515b24014e3a02d9086a0421c7bff7ee85c326272c94755bd8d5f17119433f8224fa676a16b5c759788193b3e59975a04bf229da0b45e6181e45c7f5301d5346a819492b8e504663c4ae1d20d2540fdeaa60a1affa1dc6b8cc662df36eb050408f12487eb58dcbd40886d3a8b51cabd95651273dc7ef925a264de52bae5eb9bf5174013f261d203ac10f6be14c19d59ae75c4b6384522a5b88106f601748457253ff85363a2c83017da0eb9ade6cc6b12aad9e2d73f8fc4b04f23a85fd7dd0ef6a89bc2222094d54bc40e6e5f90b439c9ca58e12e25a58e33af52c5ec315080b09747480b9d0491ec53ba678df99985c8d25de0d68b2042d84c175669ce1df66c811ff17eab7520c285035f11af363e1fd344933546033a84cfa226ca953a297f3d9defd8b7ac4551220ba976b7d607a7857aaa33d93580d9bfc85f68b7b68c9451ed33de29a49704d85981619dad123f1b7852936d1ab5d3377d5668070ef485277cd801be93e4d599ac2dd119c0a92bc0b91c260948a0ad6acf592ff4c51af16869aaf4aac37275bda4c32705dee6df924a5aa7059ca8bf5a538c54c7a0dc83f341cff98db055bffb4693ce59e962d8a7d8be7a6e409711556a79abed07ce565d4c8bbd71d9cf956f0f363608618ba362807aab74935fee51060bf6c1ec98351af0d6d99ab52ac4216c9402c6934388cad8091208ffd5ef54c65e1f3b3ae918f4f03af1712e5bafd70805a336159769b0c4a4c5f41db6c4282b16f6c720adc4dc21c45baab9373c6933650391c75553825394e8efc2e41224dbc8b6fb1bd2f5bfbe1c2c1274c647bdc1aa35d822203f87e4b8d7f6d270c5bc7c6b9a2186fdea93c4797401fb14dbee7147347ba2c0b75dabcb9ce14b00fd6f8fc1481a691d6c2825d3754ca9e73457aca7fdb35c7b35d58b27a3629dca01965a65cec976fb6b779056d11cfb4ed4ecc2c4d791e8364bb3a1f4ce2c657d2edf296122a307e7faabc12d75db5cc3631774b3507f8c05371ad801f2b636dc0a70de1d91f895a792ddaec943324fddcdb74b65651a3a7d1bf09233058974443904f593e6803fd7da9ec3cd7491b0044139078f5df228596b3c0697a890ff7272b192aab1d9cb91e9a11c64ce225542c30e2b18f306eecd0f5fb36250922c843b9565b44a52952f273154ea3cb9c757378552e8eaabdb194e554fc292e4ea0f8c9f8c0602b3d5d1d9880b4130eac55fbc8ed6dee76d1d4fdb5bae5149538720b98fa7a0ab6fa6b4b7a4d9a8e4438a0a2a20a7c474d73ef50fbcb8420ef4ab1a4012d54077de856a2758992ef17894913ab731dcb97b93a993d721681e4c603458fe47a763dcfbd863104e9cfd8ccce23fc71f004962a73f046d43df5fa4344e9a787c3715b5f35b7169b876d57b48ffd5cd636cddd04ef77bd108e1da29a530f49f6faa8f179d0d1c1d9030fa17abf71a21925276747ae5416ff990a52696b1050b74693c75193477384bf2e5bdca8e615d3d2043bb0af76f76af76dec08410c336b0002ede861929c85708e592b64405e42eaa7740c12de37464a0c06c0f93563f3ca1c2ac59a6cb7db8e5a9dfe92c5d5ebfca4065f6b1c596ce8c77add3caf9f33ac866d9b1a016b99e2bb7a28a8bf3e312df12be168056ffecba546a7b9d7de371b312cab5b452bdd94868b0c4f6c869a729473879b6d9bea449fc6652fad60fcc0844f6f09c283211371cf198f04f454d88f305f86f15b0b5db564330a0f2b1ec484a1409ce391752578228f265a71fdab1293ec761f9e9e64aaf4b69a1353f1c0770102d4cba4a51f7def184cd655aee2c722b167887671b2b64c20c82934e755dd36dace404ab984336a8f5a07221c45210fd3875e2c9e63ad36e8b51fca317a59a1db2efb6fc7d061bca2d6ebeb72e6e7c055919f5e708e726d042a43fd6bea80bd25380679b8d1e7d3de1307f8cc758dc3d82f15bb52bc37eb852e27c01cc4fb684388cd1d9378d85e7fb73fd85dc7b017a10c8d70081d379bddcd1dea72550b1c7c8f284b77fcece93cdb2b67766650578b002dc48d12925c2390c307e16b27098e5fc8f73d23724eba25e30915d628a68f530a99f2f4f2ea4d9614f184c8a031654d1ee0282d3d454b4d1a4962a83ea884a995d13a16b5909e55738851c675df05691fe585e23fb4655d926ee16ebd01ea9b17f8bcc2eb17d3f7849dfb62c7b7a38552932af75b3e819ae77df5d3100bbd09045b211eaa94559a90ee0ddf7562bbf2a2a92942a5b0ffa1369cf0bb223da8e4273c1671bb79be3381b89cde8125e420923d9d4a714677af75731e875ba17765711e72fc2d459e41f3bf8d6e6e6ae299df9f42e5f00bbe40d1e98a69e73d1675b33f2049edc734abab826d1eef1294e4132c6743d3ca6b74bbdbbd92bc86b7d8197aa4b76fee67e94e476e1a211ffe4b5178ac10b177550ca9b0754f100ec969e8a1292d3d45c5769d341dc13b85c9e1863bdd6af5c1bdd7ebb1950e7911f4c0155e8a34f3311147d68bcb935e377a50e54c518a5d40817f5aab0f097b4c2016bd1c67aa30b8a7a481f332be00334525f6b4aa4e13147bd6f2407a986d93cd51dc8d40ab6862be7c0a3592cc49d6c298a01993859f321b33aecb1c221426e647fb89a5a8568314c65a9b3f0ef7b7d712b90b303998a84fe1683c9d3e02d10e4dc7a20473020a5bfa2426e4b8764ae0d4c4c691b50f019e26042ea6ab8c3731330f5e55e7a8c4e1a6063a4230107f9710e2f18632dc499d07808dfb01fb0b71e1d93656c4f200caa50719704d237369ebc1cbe7ffb3c79c4f98ad04b203d72c46be0f12886a9646f8f0b1178ef4383f63e1fe6946baf19d2fc9d71507f2890a1df0a51d9457f89aea38b46643ab380a13000a8c7ce070a531719cba07361f17d915eca4d48e67a674f5dcff5c09d3e946673e7740ca7708c203b0bcd4a1770c821f3c94942f2e0be81e3962958ef39880c8ff41d2a29b456c462d2d8435da9b0c9cd3462d7e91abf89f90c1878cc44d8a305f1a801f75eea6d610e060a1edd94d91530d9e2ac5229330269d27d65e16bd69cb5b6c033f2579c02fcc9cae78633e16a00c74d51b0664dfc724adc2aa407dff2cf160a6df62ac39270886e6d014700228fa524e57aafbe2d476cffaac2d7694b5d946889fe3fceefb12d8bca5df3a638872912f92b761d4c1551c0154971968277c5170309c1912f2c781175ffbb2ba48ed7ec40a6da1178138088d08ae608331302d9d7b7d8a37026a5317b518d46678ddda0b720887559b16a394801f07cd370bd512c0364f9bb71738f47ebfd2a6e1b60cbb3f629eaf7e32996b2958e3a1236a8653abb447398b76aa250c2f2830468f48ded346ade86e0f98953473ca4561248e6dbef96c6e6b75a9428600efe9ee85b6605806e07e9413e798d77fab892b4fea097b272650e33dadc0941d2aa0f956f37bda2a8865067284e1b9714506b2f870bb63c0623272919b3edeb757688b9ee3e4c4af436511ca92bb8437ff0a6c2e89a1484c6e267ccc0af4bef44d95c95d38fc4da9c205d3f01f3f3e749ff2cb5d11ef0acf9f5751907e3254f84f89d3d62fdd1eefdfe350b922f8df609eca46af648000b4a40a73677f4bac3ccbe2ca7b6df27dfa60deb513da9495b85cc837108bcf85ce6fec226aca0072c369ba9ea2553fb7b6bad4403e50fe579e471c730dac177fc12dc6e1a2565dd9ed197c4a302a1884ec56e9bb5dc99ca53103399e94086fa3807be4daf59b872982b51e5a5dd5b45c4a941f4f31777cab22c96329934c584df6f7686e6a85d352fc6bf5c9dd224d9e14de85b12cde2be365a7db2e338f9c7a32e02cc0f95856a76d837dbcdf22d6bf7fb023fd63cb454367fdea955a73846c98a47e6f1792c40609b25fdeb75549c8824d46d7f5f710ad5b6d0c559ecfad231500695170003d19a952d881d29c9e1635a8ca295ba0d8b83044ca10ee4d346c98a47e6f1792c40609b25fdeb75549c8824d46d7f5f710ad5b6d0c559ecfa2874282ee5b3c257c1c989521ce92619f0e30ebe5f58c2fc0b876d6bbccd91ced7e0f4345f06874f51129e7c722fae475237cfb4c27a1bc604a0ef04d32ffa9d5ffb3dc64b360f8635e4e9a14777aae4c0e5f5347035ca276834ed893ee3560ef9647681614ed6797fbe304e3ab5127e7a86218cbd9b51a6fdcfadc7351c61785f7b173d01f59c0391f76452bc3f80f3e05ff87863a6a8c88951b3617ecc25d61ae71d1211276a4739566a61e07388dbfce8facf4438fe03c92042e2ffc0b50f710aef907f753a6a1b97b0336f842724757c77254a7dfc06fbd4fcb754c5aafce2ea652a916d7b92d05969f83a7d4f870c0ec94fbe74acf165c9413cb759bd7043f9006b6b5c5aac224616a7719ad6b4938a7623c51afbb8d515249dc6877f24889b30bd3430e5a229613af5a2d584e3e94279b5512c70c799fad802bf354ff883156ad86e1e9b7f722b2237a47f405a4cdcc15b3aa72af76d323a537985ef1b9b38f08a46e572396b31a951c0a427403a1b660afd069f9eafa6ae257a2638cb04e3151d8d572c2ab16248f1dc8f8562c6f9b58f3ce5109da27b06fc8982966a5c01d07cf53b903a194c8ada1c85129ad288a059cb4b88ac8f5401ea5e0e0483cccac704dd2315b007e870ad67bb27c84c5d30f4b9b1c826ac7123ac8c5d1bad122bf032f78bd99c7f15240409a42adadd5a90ddceb8e7e6096ebe4206ddd339ca962e885b6d4a7fc55dc02da4304e94be481e5aa57dbde7d4f5b494d9eb5a9f368413bb93c326990a8a3815bd12d43cb0c9958bd567669d8a96dbbf9258c790d3ccc5f8ffe2acd7b191525e2d0a06388962c771a2688d6f9fbe3d0d79efaa3e4020413437f476af2766851ccdc78b180f3e0a9f7cecb5fa28436fd6697dd0f6cfae997f8de179f3b3ba2fd8b4a3b07c92dc80796227de2828fb068146460a6cb91887eccb52182416f9f59ed37097c2b6175cea9ea365f0744cb6f6475811e04a766b6c50bc7f1482334b1bda77c99a8c7089977bbbc27b9ea579cabcbee63fafde37f503c3f08e7f4a8907d3d31a7534b532f6ee351bf56d3f76dfea4685fe9b38f08a46e572396b31a951c0a427403a1b660afd069f9eafa6ae257a2638cbde663f171eafcc67c1c371c3eec1bec3ab6432708075dbcca2fb02a2d238d3ba26e886d060753c5385290554c4f814e0a1c6c09f14a811d909f81f30e54adbfa47e53a1db47a4af26d84c911133a59719e3283681a51f00d5bd17a0a65af86be0bf13be08fc2103c88327f3e280f1688cdb4f9642e06bcc5a7b4c6e08f4086435a9fd39e0c294cbddb2390c5bfa1a5c56c9d65000f65b3c4e8e2426676a9163330bc581a6c537de69e86c8a706d856bb86861caebdf027902df73195154291bc9f1677d7c9396a65c103df3c05ca6831f86bb17df2f5ff91b79b891fd108fbebc8ae708418fd85d525091cffafab6e520f2fc089bb6585197a6a2124f4ead82878c0adcfad9b02781fb1cf62196f871b824fa59a1177b1bc861dbc9ac7cd2793e75fd9d79c10ca1f4849a3693d2304674cb6f477c707990b70e0b272185b5732c954475add49896145f1a283c78230cee8a605d1856f86ec70e3df52098e15324888c3b0424f29e4598199bd7f3907037ccbc2cf7694a422efa8a6c9119361ad93f209608583130c3fcc192d187737d27818525f409c1d8f4b067fc2c8aad70a842f562db41fb208145c66e804fe94854a0e44578c5f0597297be414d79332dc4837b03bdf60aecc58b6b42fe75fc0e05389607f4cd93e9b823eb5733d86acf44b0b1eeb9d4cfa3039b568c03372f9d12ad41e1e40093e1a8867d6fc762e5604071a04b43f269b6e6548ab92985a974dc916482136db687d6571e44fc016b5187f6d9b87f217c94dc950bf73b89a2253feb6d9b2ff234e87a630188d33a5e20381c806825975c923a0acf90f500a1fb430b0764cea31282452d5ff4187c177305bb11bc2531a8c92edb7931c258ab6f763405d6ae7ce40f5c399e676a8e971cac62a6efc0920e43afc54db80c1828dc49256913303d5c1d39b50e9da851425b533a796c9ee3c5f12aff957f63ba8c41ef33a638108bc57614bbb596f533ce30d620ca23b0901f9a2e2a4a620b3d02abc9569ef68468e92fc9c955872e38f71dfe2be55968de462ec5ca9a309ca8b26064053dc69e1785bf2d0003234f46b91c57b44b6d25bce20c53ec598af2bf0998f60c16387708ec4010ebfb4e24f0c08885a93d3d2c4b4652f31267228279ad5750f3016f8997017c4b0387968f06e456c084e902d307f904b698834523cff96ef4442649e5034e4c67049ba2b7565e2c7564f095cb456f1625de15bf921db66d51d67f3a6c1a2e006430329e44e04a19bb5833a60ec9980f1756422b07fe5f433ae00c0bdfaf9d402620650acff70975e7aecfb377e623b28189c797ab8ee707eb0784e9fc3824e1a7ec8b69399a1fbf938cba66bd40b1bff5ae46df273eaeabf78d2250140abce904e03b6a8db11a4ddd0e7dcc24765701122a05bb09beb98d55595156097141c0a2cb8a906b433eafc83850ec81c9c387e467f6541cd1a1a7bac7ed4b62126197b3aae465947d0956832be80c39604ad98c19ad976db59f74f5f74a093fe3b0f35dc1ec2ae2fc254b96a7951ba6f2be32d9fad31773d41778b5d8790ca67592bcf3e998e1c9063de181c0f6a4bf91bc81fedaf350c40525e1f0112650b63b513cbb3d88b8c3b01ce0024310ee288ed8a3b7ce841bf4776f61fffb7fa91c8a9089dd065ec299c5e14fb47da502211e7d0522fc4c5c6ba1f5eb543bdf2f7f163e34102d3fb398207f5e33800a093eef7b264df9604353a218208a8874e84c157e0b5a2743a33ee364dc8e03f1f9619a9444742f64b72a55bd9e0370a8e3204b19f3ccc58663a74615bac4ca1c4b1262ba8d70180108ec6200c989ba659f8755d95a1553c932b554ba3765ee0dd8426d0a344ba00de114167383d37cd0f08678eb5b32159a57abef770b2librte_acl.so.20.0librte_bbdev.so.0.200librte_bitratestats.so.20.0librte_bpf.so.0.200librte_bus_fslmc.so.20.0librte_bus_ifpga.so.20.0librte_bus_pci.so.20.0librte_bus_vdev.so.20.0librte_bus_vmbus.so.20.0librte_cfgfile.so.20.0librte_cmdline.so.20.0librte_common_cpt.so.20.0librte_common_dpaax.so.20.0librte_common_octeontx.so.20.0librte_common_octeontx2.so.20.0librte_compressdev.so.0.200librte_cryptodev.so.20.0librte_distributor.so.20.0librte_eal.so.20.0librte_efd.so.20.0librte_ethdev.so.20.0librte_eventdev.so.20.0librte_fib.so.0.200librte_flow_classify.so.0.200librte_gro.so.20.0librte_gso.so.20.0librte_hash.so.20.0librte_ip_frag.so.20.0librte_ipsec.so.0.200librte_jobstats.so.20.0librte_kni.so.20.0librte_kvargs.so.20.0librte_latencystats.so.20.0librte_lpm.so.20.0librte_mbuf.so.20.0librte_member.so.20.0librte_mempool.so.20.0librte_mempool_bucket.so.20.0librte_mempool_dpaa2.so.20.0librte_mempool_octeontx.so.20.0librte_mempool_octeontx2.so.20.0librte_mempool_ring.so.20.0librte_mempool_stack.so.20.0librte_meter.so.20.0librte_metrics.so.20.0librte_net.so.20.0librte_pci.so.20.0librte_pdump.so.20.0librte_pipeline.so.20.0librte_pmd_af_packet.so.20.0librte_pmd_ark.so.20.0librte_pmd_atlantic.so.20.0librte_pmd_avp.so.20.0librte_pmd_axgbe.so.20.0librte_pmd_bbdev_fpga_lte_fec.so.20.0librte_pmd_bbdev_null.so.20.0librte_pmd_bbdev_turbo_sw.so.20.0librte_pmd_bnx2x.so.20.0librte_pmd_bnxt.so.20.0librte_pmd_bond.so.20.0librte_pmd_crypto_scheduler.so.20.0librte_pmd_cxgbe.so.20.0librte_pmd_dpaa2.so.20.0librte_pmd_dpaa2_event.so.20.0librte_pmd_dpaa2_sec.so.20.0librte_pmd_dsw_event.so.20.0librte_pmd_e1000.so.20.0librte_pmd_ena.so.20.0librte_pmd_enetc.so.20.0librte_pmd_enic.so.20.0librte_pmd_failsafe.so.20.0librte_pmd_fm10k.so.20.0librte_pmd_hinic.so.20.0librte_pmd_hns3.so.20.0librte_pmd_i40e.so.20.0librte_pmd_iavf.so.20.0librte_pmd_ice.so.20.0librte_pmd_ifc.so.20.0librte_pmd_ixgbe.so.20.0librte_pmd_kni.so.20.0librte_pmd_lio.so.20.0librte_pmd_memif.so.20.0librte_pmd_mlx4.so.20.0librte_pmd_mlx5.so.20.0librte_pmd_netvsc.so.20.0librte_pmd_nfp.so.20.0librte_pmd_nitrox.so.20.0librte_pmd_null.so.20.0librte_pmd_null_crypto.so.20.0librte_pmd_octeontx.so.20.0librte_pmd_octeontx2.so.20.0librte_pmd_octeontx2_crypto.so.20.0librte_pmd_octeontx2_event.so.20.0librte_pmd_octeontx_crypto.so.20.0librte_pmd_octeontx_ssovf.so.20.0librte_pmd_octeontx_zip.so.20.0librte_pmd_opdl_event.so.20.0librte_pmd_pcap.so.20.0librte_pmd_qat.so.20.0librte_pmd_qede.so.20.0librte_pmd_ring.so.20.0librte_pmd_sfc_efx.so.20.0librte_pmd_skeleton_event.so.20.0librte_pmd_softnic.so.20.0librte_pmd_sw_event.so.20.0librte_pmd_tap.so.20.0librte_pmd_thunderx_nicvf.so.20.0librte_pmd_vdev_netvsc.so.20.0librte_pmd_vhost.so.20.0librte_pmd_virtio.so.20.0librte_pmd_virtio_crypto.so.20.0librte_pmd_vmxnet3_uio.so.20.0librte_port.so.20.0librte_power.so.20.0librte_rawdev.so.20.0librte_rawdev_dpaa2_cmdif.so.20.0librte_rawdev_dpaa2_qdma.so.20.0librte_rawdev_ioat.so.20.0librte_rawdev_ntb.so.20.0librte_rawdev_octeontx2_dma.so.20.0librte_rawdev_skeleton.so.20.0librte_rcu.so.0.200librte_reorder.so.20.0librte_rib.so.0.200librte_ring.so.20.0librte_sched.so.20.0librte_security.so.20.0librte_stack.so.0.200librte_table.so.20.0librte_timer.so.20.0librte_vhost.so.20.0freebsdlinux../../../include/dpdk../../../lib64rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-19.11.4-150300.16.1.src.rpmdpdk-any-develdpdk-develdpdk-devel(x86-64)@@@@     /bin/sh/sbin/ldconfig/sbin/ldconfig/usr/bin/envlibc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libdpdk-20_0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)19.11.43.0.4-14.6.0-14.0.4-14.0-15.2-1dpdk-any-devel4.14.3c@bk@bj_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= SLES15 It needs rdma-core >= v16.- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files - Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 - Updated to version 18.02; some of the changes include: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx5 driver * Updated mlx4 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added Wireless Base Band Device (bbdev) abstraction * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added new pipeline use case for dpdk-test-eventdev application * Updated Eventdev sample application to support event devices based on capability * Added Rawdev, a generic device support library * Added new multi-process communication channel * Added GRO support for VxLAN-tunneled packets * Increased default Rx and Tx ring size in sample applications * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169)/sbin/ldconfig/sbin/ldconfig  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     19.11.419.11.4-150300.16.119.11.4-150300.16.1       !"#$%&' ()) *++*,,*--../..dpdk-sdk-x86_64.cshdpdk-sdk-x86_64.shdpdkbpf_def.hcmdline.hcmdline_cirbuf.hcmdline_parse.hcmdline_parse_etheraddr.hcmdline_parse_ipaddr.hcmdline_parse_num.hcmdline_parse_portlist.hcmdline_parse_string.hcmdline_rdline.hcmdline_socket.hcmdline_vt100.hfpga_lte_fec.hgenericrte_atomic.hrte_byteorder.hrte_cpuflags.hrte_cycles.hrte_io.hrte_mcslock.hrte_memcpy.hrte_pause.hrte_prefetch.hrte_rwlock.hrte_spinlock.hrte_ticketlock.hrte_vect.hrte_acl.hrte_acl_osdep.hrte_alarm.hrte_approx.hrte_arp.hrte_atomic.hrte_atomic_32.hrte_atomic_64.hrte_avp_common.hrte_avp_fifo.hrte_bbdev.hrte_bbdev_op.hrte_bbdev_pmd.hrte_bitmap.hrte_bitrate.hrte_bpf.hrte_bpf_ethdev.hrte_branch_prediction.hrte_bus.hrte_bus_ifpga.hrte_bus_pci.hrte_bus_vdev.hrte_bus_vmbus.hrte_byteorder.hrte_byteorder_32.hrte_byteorder_64.hrte_cfgfile.hrte_class.hrte_common.hrte_comp.hrte_compat.hrte_compressdev.hrte_compressdev_internal.hrte_compressdev_pmd.hrte_config.hrte_cpuflags.hrte_crypto.hrte_crypto_asym.hrte_crypto_sym.hrte_cryptodev.hrte_cryptodev_pmd.hrte_cryptodev_scheduler.hrte_cryptodev_scheduler_operations.hrte_cycles.hrte_debug.hrte_dev.hrte_dev_info.hrte_devargs.hrte_distributor.hrte_dpaa2_mempool.hrte_eal.hrte_eal_interrupts.hrte_eal_memconfig.hrte_efd.hrte_errno.hrte_esp.hrte_eth_bond.hrte_eth_bond_8023ad.hrte_eth_ctrl.hrte_eth_ring.hrte_eth_softnic.hrte_eth_vhost.hrte_ethdev.hrte_ethdev_core.hrte_ethdev_driver.hrte_ethdev_pci.hrte_ethdev_vdev.hrte_ether.hrte_event_crypto_adapter.hrte_event_eth_rx_adapter.hrte_event_eth_tx_adapter.hrte_event_ring.hrte_event_timer_adapter.hrte_event_timer_adapter_pmd.hrte_eventdev.hrte_eventdev_pmd.hrte_eventdev_pmd_pci.hrte_eventdev_pmd_vdev.hrte_fbarray.hrte_fbk_hash.hrte_fib.hrte_fib6.hrte_flow.hrte_flow_classify.hrte_flow_driver.hrte_function_versioning.hrte_gre.hrte_gro.hrte_gso.hrte_gtp.hrte_hash.hrte_hash_crc.hrte_hexdump.hrte_higig.hrte_hypervisor.hrte_icmp.hrte_interrupts.hrte_io.hrte_ioat_rawdev.hrte_ioat_spec.hrte_ip.hrte_ip_frag.hrte_ipsec.hrte_ipsec_group.hrte_ipsec_sa.hrte_ipsec_sad.hrte_jhash.hrte_jobstats.hrte_keepalive.hrte_kni.hrte_kni_common.hrte_kvargs.hrte_latencystats.hrte_launch.hrte_lcore.hrte_log.hrte_lpm.hrte_lpm6.hrte_lpm_sse.hrte_lru.hrte_lru_x86.hrte_malloc.hrte_mbuf.hrte_mbuf_core.hrte_mbuf_dyn.hrte_mbuf_pool_ops.hrte_mbuf_ptype.hrte_mcslock.hrte_member.hrte_memcpy.hrte_memory.hrte_mempool.hrte_memzone.hrte_meter.hrte_metrics.hrte_mpls.hrte_mtr.hrte_mtr_driver.hrte_net.hrte_net_crc.hrte_option.hrte_os.hrte_pause.hrte_pci.hrte_pci_dev_feature_defs.hrte_pci_dev_features.hrte_pdump.hrte_per_lcore.hrte_pipeline.hrte_pmd_bnxt.hrte_pmd_dpaa2.hrte_pmd_dpaa2_cmdif.hrte_pmd_dpaa2_qdma.hrte_pmd_i40e.hrte_pmd_ice.hrte_pmd_ixgbe.hrte_pmd_ntb.hrte_port.hrte_port_ethdev.hrte_port_eventdev.hrte_port_fd.hrte_port_frag.hrte_port_in_action.hrte_port_kni.hrte_port_ras.hrte_port_ring.hrte_port_sched.hrte_port_source_sink.hrte_port_sym_crypto.hrte_power.hrte_power_empty_poll.hrte_prefetch.hrte_random.hrte_rawdev.hrte_rawdev_pmd.hrte_rcu_qsbr.hrte_reciprocal.hrte_red.hrte_reorder.hrte_rib.hrte_rib6.hrte_ring.hrte_ring_c11_mem.hrte_ring_generic.hrte_rtm.hrte_rwlock.hrte_sched.hrte_sched_common.hrte_sctp.hrte_security.hrte_security_driver.hrte_service.hrte_service_component.hrte_spinlock.hrte_stack.hrte_stack_lf.hrte_stack_lf_c11.hrte_stack_lf_generic.hrte_stack_lf_stubs.hrte_stack_std.hrte_string_fns.hrte_table.hrte_table_acl.hrte_table_action.hrte_table_array.hrte_table_hash.hrte_table_hash_cuckoo.hrte_table_hash_func.hrte_table_hash_func_arm64.hrte_table_lpm.hrte_table_lpm_ipv6.hrte_table_stub.hrte_tailq.hrte_tcp.hrte_test.hrte_thash.hrte_ticketlock.hrte_time.hrte_timer.hrte_tm.hrte_tm_driver.hrte_udp.hrte_uuid.hrte_vdpa.hrte_vect.hrte_version.hrte_vfio.hrte_vhost.hrte_vhost_crypto.hrte_vmbus_reg.hrte_vxlan.hlibdpdk.solibrte_acl.solibrte_bbdev.solibrte_bitratestats.solibrte_bpf.solibrte_bus_fslmc.solibrte_bus_ifpga.solibrte_bus_pci.solibrte_bus_vdev.solibrte_bus_vmbus.solibrte_cfgfile.solibrte_cmdline.solibrte_common_cpt.solibrte_common_dpaax.solibrte_common_octeontx.solibrte_common_octeontx2.solibrte_compressdev.solibrte_cryptodev.solibrte_distributor.solibrte_eal.solibrte_efd.solibrte_ethdev.solibrte_eventdev.solibrte_fib.solibrte_flow_classify.solibrte_gro.solibrte_gso.solibrte_hash.solibrte_ip_frag.solibrte_ipsec.solibrte_jobstats.solibrte_kni.solibrte_kvargs.solibrte_latencystats.solibrte_lpm.solibrte_mbuf.solibrte_member.solibrte_mempool.solibrte_mempool_bucket.solibrte_mempool_dpaa2.solibrte_mempool_octeontx.solibrte_mempool_octeontx2.solibrte_mempool_ring.solibrte_mempool_stack.solibrte_meter.solibrte_metrics.solibrte_net.solibrte_pci.solibrte_pdump.solibrte_pipeline.solibrte_pmd_af_packet.solibrte_pmd_ark.solibrte_pmd_atlantic.solibrte_pmd_avp.solibrte_pmd_axgbe.solibrte_pmd_bbdev_fpga_lte_fec.solibrte_pmd_bbdev_null.solibrte_pmd_bbdev_turbo_sw.solibrte_pmd_bnx2x.solibrte_pmd_bnxt.solibrte_pmd_bond.solibrte_pmd_crypto_scheduler.solibrte_pmd_cxgbe.solibrte_pmd_dpaa2.solibrte_pmd_dpaa2_event.solibrte_pmd_dpaa2_sec.solibrte_pmd_dsw_event.solibrte_pmd_e1000.solibrte_pmd_ena.solibrte_pmd_enetc.solibrte_pmd_enic.solibrte_pmd_failsafe.solibrte_pmd_fm10k.solibrte_pmd_hinic.solibrte_pmd_hns3.solibrte_pmd_i40e.solibrte_pmd_iavf.solibrte_pmd_ice.solibrte_pmd_ifc.solibrte_pmd_ixgbe.solibrte_pmd_kni.solibrte_pmd_lio.solibrte_pmd_memif.solibrte_pmd_mlx4.solibrte_pmd_mlx5.solibrte_pmd_netvsc.solibrte_pmd_nfp.solibrte_pmd_nitrox.solibrte_pmd_null.solibrte_pmd_null_crypto.solibrte_pmd_octeontx.solibrte_pmd_octeontx2.solibrte_pmd_octeontx2_crypto.solibrte_pmd_octeontx2_event.solibrte_pmd_octeontx_crypto.solibrte_pmd_octeontx_ssovf.solibrte_pmd_octeontx_zip.solibrte_pmd_opdl_event.solibrte_pmd_pcap.solibrte_pmd_qat.solibrte_pmd_qede.solibrte_pmd_ring.solibrte_pmd_sfc_efx.solibrte_pmd_skeleton_event.solibrte_pmd_softnic.solibrte_pmd_sw_event.solibrte_pmd_tap.solibrte_pmd_thunderx_nicvf.solibrte_pmd_vdev_netvsc.solibrte_pmd_vhost.solibrte_pmd_virtio.solibrte_pmd_virtio_crypto.solibrte_pmd_vmxnet3_uio.solibrte_port.solibrte_power.solibrte_rawdev.solibrte_rawdev_dpaa2_cmdif.solibrte_rawdev_dpaa2_qdma.solibrte_rawdev_ioat.solibrte_rawdev_ntb.solibrte_rawdev_octeontx2_dma.solibrte_rawdev_skeleton.solibrte_rcu.solibrte_reorder.solibrte_rib.solibrte_ring.solibrte_sched.solibrte_security.solibrte_stack.solibrte_table.solibrte_timer.solibrte_vhost.sodpdkbuildtoolsMakefileauto-config-h.shcall-sphinx-build.pycheck-experimental-syms.shgen-build-mk.shgen-config-h.shgen-pmdinfo-cfile.shmap-list-symbol.shmap_to_def.pymeson.buildoptions-ibverbs-static.shpmdinfogenMakefilemeson.buildpmdinfogen.cpmdinfogen.hrelpath.shsymlink-drivers-solibs.shmkarcharmrte.vars.mkarm64rte.vars.mki686rte.vars.mkppc_64rte.vars.mkx86_64rte.vars.mkx86_x32rte.vars.mkexec-envbsdappfreebsdrte.app.mkrte.vars.mklinuxrte.app.mkrte.vars.mklinuxappinternalrte.build-post.mkrte.build-pre.mkrte.clean-post.mkrte.clean-pre.mkrte.compile-post.mkrte.compile-pre.mkrte.extvars.mkrte.install-post.mkrte.install-pre.mkmachinearmv7arte.vars.mkarmv8arte.vars.mkdefaultrte.vars.mkdpaarte.vars.mkemagrte.vars.mkhswrte.vars.mkivbrte.vars.mkn1sdprte.vars.mknativerte.vars.mknhmrte.vars.mkocteontx2rte.vars.mkpower8rte.vars.mksilvermontrte.vars.mksnbrte.vars.mkthunderxrte.vars.mkthunderx2rte.vars.mkwsmrte.vars.mkxgene1rte.vars.mkrte.app.mkrte.bsdmodule.mkrte.combinedlib.mkrte.cpuflags.mkrte.extapp.mkrte.extlib.mkrte.extobj.mkrte.extshared.mkrte.extsubdir.mkrte.gnuconfigure.mkrte.helper.mkrte.hostapp.mkrte.hostlib.mkrte.install.mkrte.lib.mkrte.module.mkrte.obj.mkrte.sdkbuild.mkrte.sdkconfig.mkrte.sdkdepdirs.mkrte.sdkdoc.mkrte.sdkexamples.mkrte.sdkgcov.mkrte.sdkinstall.mkrte.sdkroot.mkrte.sdktest.mkrte.shared.mkrte.subdir.mkrte.vars.mktargetgenericrte.app.mkrte.vars.mktoolchainclangrte.toolchain-compat.mkrte.vars.mkgccrte.toolchain-compat.mkrte.vars.mkiccrte.toolchain-compat.mkrte.vars.mkx86_64-default-linux-gcc.configappdpdk-pmdinfogenincludelib/etc/profile.d//usr/include//usr/include/dpdk//usr/include/dpdk/generic//usr/lib64//usr/share//usr/share/dpdk//usr/share/dpdk/buildtools//usr/share/dpdk/buildtools/pmdinfogen//usr/share/dpdk/mk//usr/share/dpdk/mk/arch//usr/share/dpdk/mk/arch/arm//usr/share/dpdk/mk/arch/arm64//usr/share/dpdk/mk/arch/i686//usr/share/dpdk/mk/arch/ppc_64//usr/share/dpdk/mk/arch/x86_64//usr/share/dpdk/mk/arch/x86_x32//usr/share/dpdk/mk/exec-env//usr/share/dpdk/mk/exec-env/freebsd//usr/share/dpdk/mk/exec-env/linux//usr/share/dpdk/mk/internal//usr/share/dpdk/mk/machine//usr/share/dpdk/mk/machine/armv7a//usr/share/dpdk/mk/machine/armv8a//usr/share/dpdk/mk/machine/default//usr/share/dpdk/mk/machine/dpaa//usr/share/dpdk/mk/machine/emag//usr/share/dpdk/mk/machine/hsw//usr/share/dpdk/mk/machine/ivb//usr/share/dpdk/mk/machine/n1sdp//usr/share/dpdk/mk/machine/native//usr/share/dpdk/mk/machine/nhm//usr/share/dpdk/mk/machine/octeontx2//usr/share/dpdk/mk/machine/power8//usr/share/dpdk/mk/machine/silvermont//usr/share/dpdk/mk/machine/snb//usr/share/dpdk/mk/machine/thunderx//usr/share/dpdk/mk/machine/thunderx2//usr/share/dpdk/mk/machine/wsm//usr/share/dpdk/mk/machine/xgene1//usr/share/dpdk/mk/target//usr/share/dpdk/mk/target/generic//usr/share/dpdk/mk/toolchain//usr/share/dpdk/mk/toolchain/clang//usr/share/dpdk/mk/toolchain/gcc//usr/share/dpdk/mk/toolchain/icc//usr/share/dpdk/x86_64-default-linux-gcc//usr/share/dpdk/x86_64-default-linux-gcc/app/-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:25950/SUSE_SLE-15-SP3_Update/06e7d1a1371fa731af18a74b9731d929-dpdk.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linux   ASCII textdirectoryC source, ASCII textC source, UTF-8 Unicode textASCII text, with very long linesPOSIX shell script, ASCII text executablea /usr/bin/env python3 script, ASCII text executablePython script, ASCII text executablemakefile script, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cb7a4cf860f854f95c915653ad2a67f808fdaa99, for GNU/Linux 3.2.0, stripped RRRRRRRRRRRutf-85099a76dbc1cf44ac3fef23cfed694572d3b034c065b2d525899be2fa4594bee?7zXZ !t/>]"k%aW=HM?{yA.u_/o)xrHg;i枙v ].Ѡ-j7%ԘZp=aTpW>U]*%Х; JFjc^-;DnJ5! ^GdM j6 Y_4p^fB~/Yh^(1N?Ì}2.22ی&˭%o`Nי4S>&n`3=6@R.1 Ρ5Ja8Cg{%i1 ΉNk\\(6WQrXwWt %tNQ,ZnOn/fqQ$@%1Zƞ =9E gW7yf>=n=yvóP_r,լX5/WgEb)HQlu_I{Gw-큂T5|Kt3~cV%(75ͨ:#lGFv)xũoI&.&.~$. eX|KT57MI}Z۪D/T%':&DD׹,SAWRkxW'|ej>%'?oX]a:D uoD)?an!P.o^r $`RyQRYݢ4:w3Vl56<fnէ|TDžР}沛XYPoz 9X%l!.D=Y^,4v7맲_ ÈmZ.I9'yb@vfPyk&ՐB.~\ hHDa =QT!jlM]m79 F+e,dnGuKT`Q8~"]~IP`X5)fpHFݿI=+\m99{W2BDl^3(QT*1PGW]oVuzTW L n@}Hn+f\g0%D)nvl`+m` =,6ؽR?nƟ)(-zf?ہaʳ߉J78Y8rm%zJw<$GC҄_X, ubʫ ψ"QF#x,})GN"fC!oAqᕁ h s2-$zO}:b3 OP| 让zf@BahVG1o(0ugwgܜh|MWB0IUz2*{sLX:.w\!d?0j+F^#:i%ڥYQ跠'dKEڼFIF5wA:JeOP3P|ɯ1}գۭN+X]3LHuQGF`"=rzWe*G-C | X0=GEA&T Kx#$^ja7wv9Qj O٫'1?lVj@;?hm&T ;\Q;]x;<O2ў7"˲M;$ t`n6b.^h%$SM) 'Jo/HAB tZv"@UvWOl(CV}IjOֵL?I&EwF+J ,itO5bU<]Nl?* 4TQ`HG(V$gM" [s"jۜ!^3paPf >QTU@S^duLDH]f]׾CÈpApmvCO7rfdJ0/1 ϼc0$xfJtv8K7:>wl`UVgYilnƏ֗sluUa`.B\֍CzeO=pqrO QMNK3 ]{K@Y']ϚɸIi6UDcPZ*D}?]h!UvXt BUoQK)5\7F ~n2o@:ݷ+5ĆG,MRVOgHOy|^uM ;*HoEnPk$}ah-Vtޛ~0xV\kC).rMݐ;h?qk @58S |03:`Ti|8VXG2^"}/!>d@|ڻ;?DuSݳ ~\=BY#4-Yދ" =Y.6gyOebV\7B4CJ޽M:>GsIdtp]dc!+L7vK-. DV5w@?<MUOZ#Y؉+5W%|K_L3ú#kb2]UJ߂#FN 8L?$1OԙٚW|?o*Vn:3o_tS}~ˊrp Ad(4fýy,asNX c1 }2瀷LQ2U&8([KGPж ,+<+˷ ^ #oyb3HΡ̋+C.ërwe+j(]'> ߘ{KTި ?AզW]]{ eB"y}E*C~I}>=qMY?$#5|43 X%QsUw̪n =ѓ {2!:;Iw|Q6M=bl_jȺ_0b\D0/ᯧT6Uĕ1*nX"w諸a[CdUӏ[c_b@{\s[& {ˮAڭy58DيH6)?7_ޘv=+@é[w-yo$)ؐ 8? -ZYi`%Zyʒeд6.LJ6*}|57?9hQh$ KS,^&$\& Of C3;LuMU'NfK3oôz|@?̖L-kvo4^疹|4~ M>+K)jsq`!(î:̇c4Hꬄ%'œ ;k]{qHrR_aTi:&޿t WkV.cҤ*+݋H3j(?!`nlu l‚Cf!";Ubv,!l#bR/^gZ=D-} WكϢ۽G ~&:[E2oYh%//WZn/Oǰ!AQ㴎7UT0!'~sk)Qp%<_}ۊ<]8Y)϶yZ}{b VH#'2cvH9|?`/Fۋ:6 Q](ͦRC,NnJ4D&&E6ZF 1`qe u6e* $riu.M\n>'Sb, Ģ&R:s]{;x-#v!`uLYAݎMbpR^w*xbkFW2~diZ /Jq&,+oWu59k P;S|T{b-kЉmfa3.gHσhnͷAHBQN8FsWTz~(ƦjJ??(-ݬ}`B|uf{GAәp(O{9J2!.V gRvr u})}||Ed ,a5Ԙ-nP֮䠠p5l!r(!yhS,?V܇ C7! s_e +@]pj0|-Y 1ǰI(E11|ÎUvtǺgw+`FT*(X+b3| +]1v `l%C .쉄ҳ[CY[*RGC jDB?<+Zlb)=G uMQS3&,?@di ϶Y6*Q}# ܿFb~5zzWK=q R`Zy+>kVٖJ\$[!fu.rbEXGd&n9p--e[g}Gm&'A1֌jt8-4V bXsyg}.l7 `VS@Co>[O0'`2ihhe|}3h͂U7*U 0z T۫SPa5 (BmpYDn9FB).uc;N[ޢ#*JOەsЈVYq# 70@Uo7%|KxNr!.J" ^Em 8Ghbdq\BFIr`#A9A[ce5"#5E΅zeh]џWV]w f =܄d" lnPRA{sexCS 8̼x_߇߇F9}M?SR(}zvdh[!ï=^7+U.u8D*YGhG0;J[~X" )UG ŧt*T>3h@7h"bT"?<&}ϩ9m Wѧ*P~n|z9P|e3,9y,}@G?f>Ps 90wG <ŏsk6 x.LW|X5M\'-Tyg;ʁG&y3,%aӛAb-R)*Z1m1/Y,~3U uU\U9+&_efۚN?eŀMB_\&SBjc xt;x[3Y=Sihl)ؑ?E\k;*5<^+Fm5AV!8@ ~+kAd 4PVVil-A#-*hϒWi@Y^ov(\7bو =e7Ԏ#5RP-yi ׬(A Un 3۔m1<T/'HOPKO1D?Ȃ^n@Up0BrqߌK|"A1F"0&o-\weG6-jBvq *mWHah\K`1.&w( ;\kppx 9d``6C#Uoc?>*kN﬉,`?S&a2*zkKQQ {g+!Y,3h\}&ƨHSSehSVF.(wFmf/hH劭 d8з0TRcTl#m1m\vg""s]ls/7-ȯ'0mפSbL2"-y`˞ZWs+'z>йiS-k) ^թn}0C?Vz};uL6hU%.&cգ:_`=|³QV}TiQ)/FN>[>s/1)Y["\@s@q|a81]m,ϩaϗ|DHӁ}p5sbag!ZS}񡨷_@MS_{R bw|4@!!ᐆeF QQĒ߼.LWh>;%1FZ jX8k>r8Ms$ _F`[_<jbUE^[9?IF,LmNU˓xF_I-<$.U@=/e`v18T;_۠BᒪJt`׾@*a ~.8 FmgFu)Nvjjw)ȫ^Ѓ/p5]9D~p0l+# pkŕ{!#gcT~ߤjK'/<{aŅSP^1&\øeåSV ~ˣ`S+x;{2yQU9n :vZ h哰dU/vp"b9x.MzY y6u doL>I3`(ɘִњ e'd]PkўIr={U5k]#g^h~pݾ;۲'RUiG:2r1V]GaG>~"OA ů~h 7|oǭQ}Ԏ5-xw >:[,ro iCƭPX%xY"FyK`M_\HG=BP=x7) ի>@awJwa&\%_;Ǻ3n1%ƌP,4l*JNi@6q喃7rWm4R|Sg٪m4k낊lw!T: 6$|)' Wfmfޱ vj9=ln`Rtf岆d#Y1Pgw!`D J dm`,Q'F3 x1v f=(Y\ 6H.powt=<[ȫ\7 ܯM3zXwv{MsJ*%/1X v֫OED!$:x8G@ _`ʵ.#:G[#+ RewGǩD}N_,v,=}U3 tHV6һT|5wFN2Ɖ_s.!DHǧ@CR_ť2Q5A>n h: |q 3#2su껡l8&a^2odCثV! *ͽcؑec(o\@9?%ZF.U"LvmDV^qo'kak{[jT48^}^gD.q;=a[4:R7EwDX^EhL~idzb ;/bhߢ˷ V>P ۈ\](ΟNT\X rxm^Sv@A4{!Y qd!mPyN kZ@կNρ3mOi["d i;R}~qdib37 SݪnP!KVK4 P{gOf/Hб%1`]g}R.}vw4{UTMS@r[5 [%\VeshiC947K)o^̛ޛm673p `WǚXY6z:CFpsBG0jEz8bAy3@CLD믟<6ٲ1{e5(bI*eZE1Ξq&ܿ3PVpzaxB7.A| Qm[eΖبN;s2޶K;Rqijlp[s_0(X%Yk1TF]j%qWB$RLU ēj~Ѭ|=`JR]r4- }X=tފK^{h)a&ZZLpo;|ɯt%*nS湐 YI[UgMAĆ5r^>pcnZij炛 Mj(>/y_jYWnI+ jFE5GeiuKv$56QB_Nh8\j 3L_kR%b6^ SnAwkK֘<%C#kG~B&1;7)ڇ Re $oqCݳs>-O'r\hp<@+֏ԪnJjŲ`e;(N|_pDAUale$hs tfYQ2TNR3esA5GݨOA&h)xU330c^qk[ya$:s6#< UD*${4߸7a$N^Fx=c{~YRRw΃LԲzÌSɐ1tny2"n31d:&WfʲE%_ԗLN+9{hl>}k gO%fzwq%H0ğ3$5aFB$i:!Ҝ's*~'\2Ц#EV1+| +4D(٧z%\M"G*B<\%r9|`ry|kM+ؽA̧h! "r1TQ2B@e`DEq?g4uѭ4$CvG%5\(U5mN}s);tk:0 p|ޙ|pr"(`IȒ kk\:vp"YoE[ɋ65@N?T׻.v!| ̍x:V}64~ֆڵ!=9\{ 62[\Ũxj6'6y TąŐP +a ]|{l-(b:Ĩl,aumHFb1~yuk nIg1LXqy WVkߒ;@0o TY)57ӿ[ s~1])o%׭|(se-*̇x3qiz D $#1>4Zo,F_T =#<6t V-Dq݃%6w =ͷR9LW݈[] 'UDȇtIuo2l 2lY4\Rbԃ_э<2HGFͧqRwyִۓt'qxwtKa: K"9JIp(K Ѡd3J8uSy0*\iݎbFάG*A'c׌N@%X()Ee OMq܄$Q r bk9ҡ^S%*Ԥb7X8F}uhׇWQi1wv'Usm8V[Y/(%xKKjO /Sˀ~{GW ^z+@(9 Y'AV(HC_>Z헡˘ "r>eYnHk!fW$JrlJYΙo}(T;*?u1-e?wuAiW7-6 7ef-~u3+C2偅h ^;?vHsZ9{H7aClkXxizE9_X}{;#^!Ô@ӲPN?@C!aDg: ]9k\|覀h#C8%- `fO``G&!o?tQ5p_Dpb~8WQVԽ/VV U9X.uZ+ 5hp1{kJ=EǸ^=z`UgW0ǣcx 3rhu)@1u}5r;@TD Cwsr4l qpdȈEe_dg̪O&3ϰ}YY&SM beJj] ,1!P|11CG`}S(&mxG:>/B+cap /ss2f!Քd҆8KAk}b>$ <S:)[o$W't`M`f4p%OEsB#RT"75,Zu@nE.]oC/&`~4>_]/Xx+]" j= 瓊HnkB럝Y )X՚'DlqE OSy6^.,4`M eoN6@uE]$Sa)I0BYE$Ԓdvox8Jy%%ny?fRXv_7/&-^@Bڨ6F9U-k@=*oCGP\e zr?a oR>DrxAe*N9e̼RD&! %0Jo,OzQ>=qvLGa% i3*J!'a̮TiRQɴ8F+w0I1BH7x761HcĒs"+!9Φ'@ɵ c,XyrIv%+/+~YnkJ&G/ p`pU<tF oV 2?*S 0[F` :˗V<+j~eE ?*U$P$S!0sş]arjBf(%Z.Id-tY3*75C:KX0bIIeuk3UM;vo}:Zjo'-p\A`i04iiyL2EݭDw)b:"G,Cֲ<ƌ7ɓJJ;BuU" HzHp/_w2i4&k%\f]2'gMz#ϗUfwy❺A$;?VGبtQ A%H 7ݡp#rh*b3ưj}21xYA֦3P<Rg ߟ&?108Yo[;vu;q`ɻn6&Q4 ͤ̌+B6˥x~! QE|8bzѿ9 EDl)C35?0MЧj3jsjJ\z\UuJ5kMd~q/U_t}0f#};w<Ӈ{vk62'b1pnW ['* ̫- }rSZXpԊ4]Xy\`0p_#MiX@t'&BE> D1;we_a^wkXL G`x Y_lFB&48Jn?I Tn'J,@^"W;lxYF|o#ҔJi_͵jsq%,jts]UNi(ង3}Nbw>'@C)),.c4p`{|,Ry 2X9!̹2i 0U,j2uɣP tCA=\.y$S SuM3RO_2"j_jZ _]1!.aX>ͱ2ib #:bO17(|IVJ2,3{as1_k_.Ki OV G`{i}5z` s6$nXMA閑,/IOCB^#A7fH{彜Eݺ).[o70_\;g+:7$?MߑJ$̕n0arOsi?ນ;?_-D5N9x6ur&fFERߕ&g9%awnݍ?`m !s$[@3N.W;J,GfޟH o;Azz guCB}"8P9t}2!+g Ҁ/aC<5h뽓l/Gт=mMm嫓3" fP= vF#B޹㞩 mB2{v780Oblǂ>lRVfZ:ĄF]~!YЁRIQt=kd$x<{ `BT~:d7}N9T,Oi̮v&77 &ZQ!BGFz(SRĒPK]d.smR fsNIG}EW'wBqS&XV1{k7fJa b}j-iqd;cP \ )_pmˏ*Ѥ%ADݱL0ڌת 1C$w^n@WS ' [ĺ?~NV?tqpcUIY1 Te(q܍/Nwڄ&t9[i'pR'9 q%:Y\FKS M[,ѰumV 4LE^7(T>wfqVv&σl@DB=i]!ZVϲ y1q` Z؄!eg4Xh}ZCΧό"v/=9@;qO R@{#'[s{f4d;0ر3K?$"or-#1}#JSxbf-Y"DzׯQoX_X&pD 㜐<-Akk ,%~thf}(_ZzNՠ~<:PP /23 TJnz?bD@ Ҵ_4 .RM)ZrYZHqug(ymHΊH d4pp̵-|T/eCvnFnx1;QK+4LPvZR%m-EK .Qkuyg 0bMFOE2g1a2v^5v"V,EtaRM@VR&>ҫ ġ=!bKPQ?BM" L l *ٕU[!s 䂫1& (mQWM>IrZ@T*:G*՘Ez!w"a6v}-_m_› #3&NhKŦw7iaƯn\&nGcܢ@27ͧUPpzD_vcЗ@JF2 ۫L $ Jݎc{76 K؈hr<mNBH]9tc`ij1/a 9b('?n JlzυvgFم9àFk]kxXJ%6@F̮II` HW?kpxifqHoqH$o .[Plgh=Yxkt1,6 N$=8 d<)B2*Auy8lQn"#_?y?r!!ڌл~|:!< uMOMu VD$W7R I`KO?ڦâ9S$|OGsMrۯz& ;r);Ҷń6 X| 9>*΋O0mΈI"b!eMCnisHe(lwmc.帍2ycsҎHcTytYJ][ @tYY] ( J!S*@WFA|mD2D5LnH+&WǠHwhد텻5&KK&fc.PqS( 2VLIpW>]wIs쎴G ԎW=ߺ[gMǀ=ż=o"{)6k[}7%!>HeRa$Bf6΀RshHKlO};ׂA%i!Ii}>EHYA(n$Bԕido'! .jfKc=hXD%Ԯ&L}ya=)n<{-+5l @02!rtD`PC@ݠT̗n%B̿.Hb!4WlL >»e4Bz4=LÀha0M")cQI-#l|q("m jdS֐/X߽33Vv[O KI V@ ̼6| 6%{(؁2(\P.4lϴxG;tb{ v 2=WIennF7'p& s} L|-iߢ&GJugȵJ\ZuM*bxg*6~l4{X CpA*2QZ'ʾ q~f/Z/e"2R݃;*+Jg7 A"OMI/qZH0 <~  "&&;4EaJ7<~$޴ZIZ]YqI@#\Tz"sMTeJ_BKԐٶ~w]@ C?x%Lde 5 H 'zûU.*J?B܍ӴX>yx^ifڿN'zӖ%Ի!hWComa d/H׋;QTlYp:.prsb6}%_HS$xhQ\2_0zSw :̑\dbUCpD&<&.1q^BsL'׌m6uPopI+Qkq ESў5;OwOϡ. t^ c;S7.ڝs~jcR+1| ڥ ?EFZ^J4{E*|&Nh)F{%or||W{z7w#_4ÂS&_3m ig?z,OO%󏩳~ևs.r)KZ,M;ݾF{Ȟ'5uke6| 5~;5|_R/2pυKJgZ=0OZ?nʓy>,(9c`]ƟO-2֑$h#:S-Sٚ 0\!Y\L t%NZ楔tC '8!~O-. Е7!y g JZ`YKnz|.qu( }K4q¡S(,7znHߛG{y's-nE+8jdjxmѨ6U+W~hB}% i"P93%D/sѬnmOcKPԏ:;Jq@kqU 4u˝4n$xǯ]i9]9^"j(c^F0!l oGCE +oyVt\3[] kntc^σGqEnYt $^(ky}u tbr Mc-YC&~"E.^5h>n|Xk| FWyWnj ,VyR-~E;OA/jA CU΀qǾ"^ U)Oƾ HGbB^YGu v/.{ZŸ$ItчnQEuuE,TXH/]nvt5w/W(F+龓lA:Bh~Ǵytebf{@{ 2Oئk4Z^V63Ne^n`|nd%ϗڪmkp<33~[҄M!;qƒvUA+8zۧcfT5bC63_=I&k3\ ;ߨ G[d?V8JS2Fշzj?EIzqէIW›Cp6"B; fh1%".3mA+߾ }o/u` b^qxM,ح_#;V%# $"*???~Y^e_,3oMMfpn :rDOf fM\u#tPNgC?$,LBLܟ6k軑xo")`W8I Wz13+=:%Kx}9o,M=E28 5$C?io N T?&.+&]4?%fT2C!6RBrW$]nnXxE1SMl?,}t5k:L)"wϢǭJblj  ]T iT `}_ĠuM&Yg MmJ%8g{ET#̫Ml5+j|fىT '㼖 7Rǰ_7j3[W#-xz6óbAGk 5ƅ~@fC兏pǸy5%?, ۲-U?6^0dL6snFĶqfyWdq.B{S1~V[4@0b&NWw}yS[]75=lt($gR扭mogTlH;)}MZ"m$WbVF9nXK Ţ{>[N"J1hN*sH= Mܧ"-V榪 4M!s2)ze /ǠER]gͰN&^ We֦2h-6 qGEMJs^7do.,i7Óf;%>p߇ oޱw ;O~Qwijsѩ^EUeh.ЏoꢗIvog?x5Ԩ{4O ΐR~K`*MgxS`O*okZK3=<#i_]xaW7ypk\A# *ݼe`-s5Bip/EcvEJ wj<_[}A$C>%7̏3c4W)ZG%YI?4$pe-JKM;iHWgy F,=  YwWzeg#-8Fp1*"˵M;fj|;b\UֽbGvM"d-yﯘM#yRQMuآt$H0 e2~&2P5Ӓ=AȗK <&b,2 UgUuJH+T?43'~9a=P-`X, s:r9@,wfθV7 E'GhXBt>Ң]JCPBιc5Ф X.AK¹a+9C%R-/;A;KTG"YNVHF.Fx^2v3 49uQ%֟m Qu)% K`t mj'i-MrG5ZYD0C%؂<#~ezdW”vv;Q&EX+J~&I +6GAVwb9F~*caY y{cB9aIdk2̈tq|^i"YkX:D#2]*vBG TSG#ք>?+gw17ち{DŽ4{:A:1e*,Pbnj(ČE}Vl2w[Lf?uj[*Ĥ[k]_0>ڔt{.k;T?Aj|E-8D#OD 4lGwz&K1/*YS `ECT~6gنȒB |g1@p]ٱc ^K{&UIX5ǟ,m|`*sMH!F6A)*{e9(P!@S?&r\,Yǒ<\u5'ϓW]+]/-a)+Z3njJկԟԛ6\p&S|[[8 A\CԂ\&F_(Z{h'7Aw`4D#JkV]Z<i5캬=cߏT0gI50Cp]HiA8%1?I˪RVZwȫ] lC@0lEf |2K،ERYzUIBI_"zBX mT9 I|; mIkֽyzZRΡ׼[⎃6.K8rF,E{Ǒ\+8qbX-/ [D'Mfkw#Y'gz:SIc҅!5!l'l8@'d !iJv|L"ٺmiv Ȏh,7m-MUy3'_TΆv(.)%UH.Rqar!sǗJBl &B*(Yq9#Q_TI&mƋ*2IԄ$LwS7HlJx_9aeNB+9)gIP %!}虷p[5u܄!\Q:z{OALMHVhr|QP@4 Ks3OSL{\q|wcuuZ֌E\Fz5TKc|[<3!l#9کk@i!<n@~q`+'P/-kDWslOjXuE-HLγVc'?ݪ)i'XcɨGA@IH .?[iBK!Zv~t vmCw(@9(H;G9moM-Η_\h |jZm%ƹOpvl%PaDeWԢx.J eΐCK!]/-D~[myyK mSjMYlŀ0nC?]=7(\KC2wf,!F+\z _R_T7c:JtBST6#?>m6'',:陱ݥ2A@'pIJzA~ Ǿ=O=EDpn |Q !"`oitu@VY)oVƝ2J <њ ޴نLeHRRզ;Q; YF]1K tfs"UlNP9gްHiuw]q+#QiOWQ20"X匈vaΝ3`*UwƢEnvݣsm,}stMbSFYV3Y\oǻﶄ>l@BsRktv*݈]ސPB4SZlC0lgnjNX5_,C`j ܧ$XBn3__ހ4hCFp ,S {s^2 ޖRb׮3._ӳbJ* %0 dd뛞L_R،^NՋX%Ъp?!fk@z(R)pv$;0!AdeI?^Bszd6>ۀALUbЫf% Lzd, pp~x_ƒUW|l9WI?2~ې cP`eWP>얭J<֕SPxhߕx~tC$+?FuԌdhN/  DMVd&w+[4J$9? QW8v>HjYkc1\A q͇y":Gf6mQYi p^ e["/TH;rA8ef>9y(9=ӽ^QlY#J2w4ؠ V9yVl,g ]?A];~ y.6:6',k`vM,ASt-gaRM%9z ɉ %K qrKNKV=^?.C2I6reV+MMsW<)6_jfI { !# )kIWKTM9DaM[D;dI[W*YmMp*[R$p>=Hv ?2_wUl2hH8zQTUU۞7X<%tʳ֡5`踈$Pw  GƐ凡Z:*^ en$qHgO8#Ǘ;h^+zHh֚ͬŝpSM$p<&AP3C%qkķNq a{r{r7C``c7Yo#RY!@Rԟ&7SvK&~}neEoNo,uȖ5egDȶp`.^}-8 !$cC5.BJj!Kzο$J !Nȁ$(2ׂb{u {$0sMjW{js IfV؀\jAFnp3j1n˼q4%,T;mX{p%h/q{VH=*w+rV#KMv~݊LwʡβQx0(ԸfD>9t:n;հ@4;^A싰ՎխMT'p023%.BGl-r>k':`α!e+Ĥ hMvﲉ &U#hP[oX@}7u\\Da՛곈V N{lUd69{UFf B$٢hOoet@8'z'u==/6!3Jh"$B'C=؃JHe0ۥunTenTnmlb +05ʹw& qE]fe1pt:kfDabqcHG \7L+"uYgT˩ŠbF6?5XQ8ƾXU-OTbblM{h @z<gcK?[^ٓИg1u,B'f-VkT@Q6aLUdVh$.xQ]V( =ݔ1G- nC7)wNxRۻega?7hH. ԻP\^ar"D̻ǕAW@[W Wwz=:8btwR9hT)Th, zazqr b)u  Prn)HUmj*b^'f&଺%QT#Ml$`:iR˼DQ& Ki.pfݒ{핟mBTdEcq9VߑiK`to6<NKi:vx1RDHcҲ9w˲ i5"wwd۟q޲""žy Gq`d;uۈD @4Q BT5d^A jH}mIl*w"NO tLmJ훵75 ;Z&%3}:Wx *Dw1Fvki )ssϟ RQ$Dd$Wv}M !`uErvƥ̂~;m/SGH$ϑQE7F#cW;@MT CZdgUD0Oq#׽&tgI\ʔw*8ZY?^;#Q'/GZ}Z[[j|k"OCk6J?bO4Ր3au-I"03LN>kn2~[9j1̃0z =WfJ|kEP)* Xkѵ]]pcj!EAdww$>Eاk]49H񗬶f>KUFX=^nW\n[\)uP0[R̋WZҚN(1n.㇥Ou MX:/?0$<Ͱ>V-EnV<.i, WІu0g3 brމmKݚkBUJ',bwzӚAn \*95{P(e H"ժhf豮҃5^ڊS,NH5TfUA\;{D%Ll{2 gemz_6-gixrC0FF@DүzcEkFa:o2CL cduv0B+x@zb ruSQ)K~kު-yJYX)Tlk<]k9*d6 w Q5FU!W@ M@΄j Z}v=)H\ eVݮX[Xӌzx# {@ܺޗ;GRlERr +F, I8ad';,q^k>l2bH8QtGqs'75g2.CW$ @FYHWp0*dOF`u8 e΁(F)emsB׍`ò wx 3to} 7 .6GeL;cv)4 Z!SE-fo.h 7MuE9 M'eɒt"!7Fc'$@z ђ,HVշwdTW09r |պG:0!al{ t*g6ÕF \C]p."V]nG=z*&/ӕ1)jPf> eサ 8; &[`>6z,"Cpx~T̢J=rS-Phup[§ <^.ǃt֍$D𚽨=J qėܣ2ưKe%[ʢKcTq"w[`sq>tdB> }d{]Vܶ%\`x[f~AO!@ R ̈.zc#i$4l;0wWr٤*R- Rԙo$h<뀨F&G5{#RDzr!\%wtO]_zq)$PIA"._ "9 E+m6:(U^30$ k[.8\>)zr 59pk~ or VWޛAf d?Xۛk$X{~$X8n}=ݲsr9 -GÑ2bX|.>Y* hE'@Y/ Hiq%?]5/EY]. H_,La'Y *]wqa8H:>(wim9T:WڬH8S'wӚQ'l9ʁK5m™wIچ#E T|}ثat6?S)mWm=(7P!:.7$;V; Z(E}QC Y$E %8:Hc('9O ЁJW6xOl9NsT ɽIo /X.D6eKދ~ dǙ|6,ɧ̾ab-iCUpO zTSud+&$ wܰw*d ȾJ=Z`V&Ǯ)\c\ $.EkmYͩߠPluWk!*R!1Ӗɼ4Hᅲ(Lu[e躐sH܌INHFvN ?^YTE Kqo ̋ՅM7G.CMtn|Rg ?6`%Ji!AS$}kLD3u**S0rq&dz3:mAm*r2!+ TF'Y B} fA:R[_c?"i0/QFҜdQf4C(!Qq;M0!j1enFgj<#2j=]F_Sy#w^HtaR8z闑zqijv&@| zcvVVO,A\Q s1(bN .d/Ue ֢ |`G J*4 /PK % SP ߐ ǵ'HڀXsU YanVj "_vߡ &ԙbV$UosxU)-d&J|\V+ߜe%\]*h:e;ybIcO˳zf\އrtGl(8r!YF-iWii=| u fRJ1f"~2#D>8$1JAMPOab? d]Z+CՔ (U.è2t]+#M1{5&%Dꅁ<Ѡvߗ6blwߴƉG ZcXv>P[MHb YU85ܩzf v;(5_:M#a(1eoY P#9jT[eY&zg6[$)a%rUWH]7RgKY?>?4 -"mrzhug.]|So:}Q2z݆$O ~Ui|:/v׀p:" M VLPj%%*t@ܳ+rw֕kyr?lYjȲ&vvC#qZ?6ӭRɹʰ `?0f%S%-jc|p;^tzg ܜi.1f4zG G ' ;2y#_l rgd-$?iGhH,3$Em_Ȏ+c9 :}R&7BVS$Xx8㸷ߍ6RɑxSj|DvmW<': scLMT@d=9VH>U04x3^Ux'?hq]T7M7o98oEpO B[;-sy, y{n!v[󎶾~Ob.*RC,1vn̍:JCtCm3`V~t0/neUc(SCr^&'-TA68y/:sƨэ8

=N&^r]̣![JP ={=MrZEN2^P5^iM :#;oQm (y<R fA4qre``Hb4Ѥ1mG7WWow< P{U+ʸ¨Kh:.!A6ιV{T+! 쇹 ?Q*ٙ[^VA.H Swf?=[gcy=oZE*] wCIqwxU:>/2!(nֽsU*̱\%@;hI) [Ma -Hi5e* &H{,Ϥ TK @)AyUP9`s[~gko%3̠ )]^Л'ch%C_ʖQg'a_<6+de}L=Vuzb%I\F\W^NTP]J%o3yЭG ;>ҿ$^1+=hy(#X޿ijٳ`ALJc5#21:W7~L&ji1VjE'GDMX:Hk=D8 Usm ~܎J.I*Ot>u~%Žu7Ni4O=HJF>0t(4rRUF&{$kPZڈ~'\)ZDckR6M[3jA`}i}8Gwy֠JZ)xA?LJNj8 /IFhd^cQ<~_Aus >៺LfWPa34uFFQ|~;Of/G\&Y@찱pƀ4pQ oaQu&Y0ZJ%( ei}hޝ,I9܈sqޅ 0}m3Ԋ-Fl}14R}'3plz6괝{̜0ߌ!p֬N-QKritU.쉠*Oﻋ*hD*Oەp̓GqE:5L ".n)T$$e{9co>ԥR'>/@GDB)*x>zb [ڢO|2Pwᠳ2&ZfpEGrr?Ͷ0$Mjª$Aw4 (e(][ &A αe7&%{lM  {z#i["j}q/&YQ 'i|,Y|ǞFw>nsͱ;C\5 eC ׳Ν=}{F&yDrr;ʼnC{ 1g䬲O@AbȷYcm?TDŽ X0r8E9re:_BF#SP;*Kb IAt[}ýįί|#7$'*>U"^ XQ`{VY$zPAS=hP'U.KDgI*(A=MDˌ"|4/צjzuCⴕ- b,\B7/Ԋ<ǽbbc5Oq qsalMߣbfmۮܸOoϒ^{puoh8=np7*=k !^Dl{or;x 7wQK'=4힯ßUQeT:i! S7i!6]Zpy __ .nɕw^LeǜώgUǯIؿ)Hdm~hA-){r@ *eeDtFK?xTCf  ghfB9_N>XlKDÉDINB%^ih@aDŽrqxE2H{R4wB>r>RfL#@Ax,Ilp/@ExgMVĠp96Z {;?`>G{Ju}=T-qn"8[svS>ތ'4[S\vdUWu-NMT2'Wئ3,M18](Li324MU2( #e,PL@'/{蓋 Exm 3Özୂk⤿G5o6=֚LuD΢*ǑrPu"EI\ OMIMpiif>sk}oh}0]Y b8Ip0อ~6n|›D_vT!LpQ⬆ TϹ*A0&w=; cS[oz:*^2F1eNF? B=y,IaAl4z-ZNbq{b$I4 >nDص戲s*旴ROħzv !Gt,n喿Uÿ_.KbdCd-l֒ Z~NL2Ҋ[gϰSGw@FXvA*yj%6#M ԃAin|Vy4 "\X6.<^5}Bs|s< =uYf}7>:X9 iU(xj UJ,OWD8Us܆_(s+)>ɸ˫ ŧLT1%ȭwrƝ){dU=RՉM_ AUAھ'KĂ-7W|j~nOY^U>U }'B uw< B3~S`81 EU@`K+GUʺ};Ws6W1pS6/"vV(fGTˢ zs():)}Ɨlo4Zm`ٲ 0r+L}K_'Cѫא >hH->i L.6CJ|f[NYDHMZObF VTD7Wж!OAK`f"WeKvL< 乱jg ]_c* |\i9徙v͜p[Ve;S5BS?D=bX3HHa㓍0&ͷA[lSȪp\uIbhǐ-Xe3 @n9' -}&mZh|fL &Ev(VO.b`t+uPN[\) /5nM˓kqM)fjJŹw.!PԵsO$!u˨zY`W8 _:ü\<ģ'TYm)F]=ٮk7 7^:kzؖ`;C;c&w sYeqk:#i*g`aۧ<Ή{P FF$BH*k-Hu8vڍH)b*Ƌj9eZg͜qvy#`tWcpX~?n33_p}\`t~nVÄlJ~ʟ0̸j⦄o !F#K3y +y ꜏ytEd_B&nQeaȅ+g3b{#nus!55>> ͧD`=-M /؏ 1O[X^kJ|ؓ$- YcCW0~ %iR+R"ft|/H;HL%ZZcKdU[}׻poG'SQzt^w; jģLja-A A S 1x:T|+ f]{kmD{fTA0פJ~^@l\o YI ;j<ɨN;𿫡ٚZ])ĤYbf}p5\jsxE7Ź@^(n"cUn'<%?nBUGOȩO mSxLh5 @k@!E团n{b +gdmDAF_TP/(" |خtӀMg4u=99ӱl%zWH%#<6_{*T^gfQ[;Sފ45/:":6JnYGᗔЗk1p޵TeGk8JѨB9 'N0vڻC[:#b"9C):K{EBD4.!P/˼\ zW9RXŮ6AG-O<խ \aN,2#>S,k0J{?i@oQ4JV&Oטwv0!Y1y>A*st@@s(2/pRaTij(Ȳh-,U}%)"MGX,('V"8VWJ%9%qb2#{fqxfãxhOR(LE-mIJܯߨB+ 1xhxMwϾC$NxnU>e~ZX<Ɲ_ngqqwr-=xռ$.X'XYovE\1^cw cv4\3f]V%}bؼcD9BA3 ooy"CoMlo'(k YyxDJKJg"G W66B֯X*,uYj ./ Da3p,) Ì \09#Ű mr%Lc O8wT>9ib&om :__'|rJ$pϯZ&]_2fQ'6 VD㈱_GYD;J?TvBc#:9%H{SdZX ݑ /p!u> $ %Y2HrxKQ}]{{&xu岣q6'5K01>VJ# eW(Ri:-+:S% 9hm Ўe EZDSZѳZO5V~PJ]9!JOhFl'ӖjNt_.~]6$m3qAs(cyf:/woЈkqf &42Sq225_ON/lޙB e%1F3̏ho7~.!y=!?oPmۭǼ-TD~hɉZdq];J&F9mJ_v,qmN6S&F5qq| m8U̎rFs @BE!LAWsд!M Y``IhoT ^4W=c/~٘(-3}ڝ"Bu8dQy7PȌfe"lg9}s q ~^n]ݻ,\-FNW@^RāF/đzq' g-FX# bbf,ග>VlVtbWtFi3YI :*XkL@abzq- )tH@8D)J ߊ0&J.@![Yӧ2,Fلm\60nԯR[&?ޝ@p܊W7\aʭtl%gRU$/HUKgʼzzBnOc>-{ s҉[!uQX6?ݍ^ADwƀ![r5l+qE<tmT =5C3vH+5\; \EI9(ߺO̊G{rDp@=+okz1ety㕕ݸ,w,(|fзQy$@,y@O|+n\ŎxZ%T]֙qrݗ&A$%_̀Bt^".¬m B)w ,jeWq >lFٌu.u74W>$LVن *x|7":QTGQ| ,npS, -℡$J.nc3;Ns^qj$SQ q! ]<~d(=CP'k'^8# COh$f- `ss,#R^6?nWqzB0%RgKbt3~ŷf&b# q .Lxr-,0Owhsu -C6+R>aHnRxemC}Ȅ哅 ZCp \-bhE 9J3 ;%x{N1WÆYȸPu43V T;=D XX#26}H j~M@^}*6Fm:yi!7>x|īQAEw%b- uI;Tq@ kF,xtZXqgWGuٜ Ԯ xAHHO^XgVN\?X$m`ˇMXf/#珵N-?n׳5CKՠ<6 T4`7ϏYee'7K-%ɼ&ZV˙d'Qh%+h3rrW{\ a吝r PE(gZD"Ѝu$ڴLH|Ϗķ_q#cN>GEҍA`_9Ttn !gA<ɔY{͚Ėg $ dg;]YbZto]Sfj|I$ds6$AMIdT%(#lfm?R\_Du&uKr!sdsY񐍨Vx+vp_ W}I_s/<P>-RGk-)cx)\rvˇ"%8W1ÈmC ^=B rTzOB _ְ6זL54!F}-"7G `/Nh+ rGvf`R^o秕rSi a)ށӹGM6{-1;0r|_yVy(eBdT2D@i\xөi*.b\vBPc4gOv^MleSkRr -Σ2ʬZ2 ̽SA z ]0A@WOGh51` ΝCM\03e (iOr}+NǪ?Xh srnx//]8VQCB[>9IlܦV3鳪=MBh {m1\;zdy1C(Yx/;2'z[۹?ZUwgh9= J%rWEF=]dfA^8]O1buz cwqcLj%q2 yGzrMNpG什9twL| xtI9pU/ƮNfQG'- L87 οCQ,RY6p_= E%Qj%hc( 4uђ: % .vI-fA+Oh-ߩ]5]Wi3p(2T5#Óv!eEӿ^bgRPQB5hJ "rg3gH.vY7{3G98y!g1g?$ Eo1d@ #(&#;a]ǃ>Նw@<ÕGPkS/84@h~M 6Cn]@ `44%s ۳0y aN9@5$`+dr&g.<4&7L&hI"l{Zgr Sih$xU3yA 0 Y'kA+-%^Bا>oϲ ŀC&8C4ElzWaDK'!uyJA]8Y.g=YBT(KC,7TQ=札^tCK9) XZxb8(lEbG# \ۓ(D˽r3A z3>^%0˼0ZM%4'(jJ׈rN:%R@XWs֎QhH]ö ]պ#b6U|BCc"=32]1 e/7F(-fߟQ*";<ˆAq  (Bf{)T92]mʣmgij԰^uPT.|Sߛɍjw57.:}cw_dA'?俚 gmҗ<= :۲YS˪Nv'^1q;\SA^bq1Cu$?ASjFB ogE>ef Zv8{<|]\zb\%[ 63ȺV2jQ{* 'Gǘ: 0=ˋSvh'K>C(Ob5mW{k* 49]*8L!)`F_џY}B$O'eZPDfɺszϪоfL8vgW ޝ  Y>mݸ*xp],(8 %gBi;)34%}H5Ir/,E|]B!1Džn)ߴ˾C3tfku.*"R>I>5p"}PS!洊y( j 5Q3lRf2Nzw^?ض HԠclJ9 _)K %}Lש|Vaet3hH1{/pW17I?+7%V `c2*U~Bzd҂. &Cڀ9k֪c)#Q ` ]+LP>,"M,d R_A%lh$0C}}p%DDE`>1 p9Ak8$= ?K e(t< [cV1:>̇RxA]:~_J@5q =f@ah| 0R3t*$hj9hd7z ԫḿ8ؕK5wO8*L"uJ|^f5V_YЉ;U3g+I۹9VrU&77Ō$c~oYO/S] H_D`[|k3OAI8}Sc6}`oXEZyyu){(ڞYg*~#Hoye $%c~xGjU 9JΒ=y6rt(N U$&9Sv+Z(ݠ-R: 'g1p'- b%gH/taP)s3pƮqxFsZѱᮁ.8Y'_E ę<3{=ĸ%[JǢ^ ݔ!2،M8r2'.!i2,8h.Giʋae@CcL!Ks P\LA؀{`ynmNdePwWKzU{'m$mŚ N. {ѼIfyZBΔfϝ>b9uHtwl]|2#⋮>4C"XX,c3Fn+(-Q=*I (zUԨV󻛱,Y:BU#JVXKgl+ 'h0 QdRRHх$1{Ԕ.gq;"hX $'x"L+ mt +!j^ x$.oXZIةTES:y_A)@\Oo>B"'9+^w ^ I.Z 6:xƟY<]~U9yZhFL$+%֮<Rn_^o*jIdO[_"S߀iT%yT%&IQ?T9|Y.V%⑮ EO1$X?_;m@t8OPzv't#*a&&xߚ] ˝ԇJS:j29qՆJ)iPJu51*e!~hDQB;sj:%jRRYLp LT'}_K0Aڏ,N:0r891b)"s׃v[WF=J>dƥbc tG=Ig}Pbڲp҃xh4ut*^/gz.w8dDձ;G-u|lp!]g=vr"o!b[a'UZMd0[0yf?.t0?~"h?a156,fV䛻 XCj, QjUoOJ!l/?%ڕ|J}Nֿ|Jɥ`$- !c9@l3&})QHŪ²8:aZތ yRFwB qoj]!PWDT V ~Þ݃!.i X/)QdآX=ZP; 'AMN ((^ -d$|4~CU1(X]e?rh Yo{v#m,n<,؆1g/( vP2͇ؿ >خ"ScyB Vw5&JkkϡY6W]ͻYUDW3[OӺϸ?2U_EzW/S_w#?G" 3#/qVϼ$ODz_d!6#^5<nG7.;ea!(4[_pBE=CAG750G~<TS xe"MM lK*|B!TYD\۾q;~ *+h{ZQہ?sq~g\>R[oLK5 * Iw ]EbFaq-41]( ;gg_ϞWӳh i尫 xּ;zA)ǥt1/װ!/EƘ^h.2(w咉9쳸?>8?<,˧ '۩V sM&,_o\q zW#~~aאahip4,\0q(w=t'3!|)kIEP}){MNz7w*%]?|'o_=j-=bdҊ6dzhoYzkxՑfE&ơ#Kqw=P1buWf_FG νƢ"][pDR_p4DbxE 7S\*N*0]s_vf{vtp }&ZY~;gpw4dƨSs Юoؐ,LdF\,J }w &Gd3^:0d~>/%Cl<*tLYUe9Bw;_Py~Tl{}ZZػ h?+FLFCO&Vg pl$U= A-]o\нIFR)$mjK˟-9o1*.h[T%CO@"K60"rO3gH6Cak3C*bLܧׇ~aC ,m?džLE]؊sGoR,O?x@[mkj+u9vh0ǕX  _fduxD|9ZDtc w\|,k/$zNaZb@<Tj~@i6"{$C6(r5ЊAnzaST3~|pU<]!AǓEP/qI*+yE7ŝ+o yt>xmvhwK}sJ5H4^ZA8$_bxLqIwxK"פ  cUEE#Gl"SD(d |hA|JT/YݒZR띺uwzsIALr?+#ڨ(9 9V"% 2#ע"U6 ew5/y1#Ul ֦ٯq%-wL[Z"Kf%[=_X[$.";.̙|`mKF,to(ZpR?JI}.!z|"թ] ]% G^d\PR\wI;$gXyS rԌ*=Uuo7HqSp# l݌öWɏ0@ 579MS^恚Zмx#M%I8 F82(hw]R#7/C;krPש/C6"FɈF=Yj0/ABm^lj wCDĆE_p( ٬+o`ǟ.|i>T~W๏ g1*J3Y2te/(cR+ \˕'RBz9CG@;g !w`#3[FWyG[LD*6C'ꍬ)#GaQ*CNoO!REaٱC~XaO's{H`g28tY~c܅zxaT|)\DіD3JAm9?:J5YH5yjɲ.%Ư[%<*y Z dDpU6U3kDq~Z''4ENO᳤_]=4-|W?ݬ(=]i!S#C^,s,k:- :yJ=\H}:ܡ| }_z|{/DFRC >R@Zz1`_uU^ 3-tT ,LRڕދA(kjEWyjz݇IE7{A qKWZEE{mCZ{t_=uAJ}z;Q]LiQ26bc+?BƑOL/7A+6$]$% kx^LDGk[.F4˜wV!*Z0@[5+6bN@%]iAbW@v8T \ D'&UOimq6cuVLj!m?3v8;}7~C2mxGf=A@u&])-Nhe8z JCƃ~ƳppؔBL|#[G{70H({^_l*0-y@ hQ%Ž^}ոDf i/kYz KAd֛Nmy$Vq$ v=|ϫ#]sy^#0`[c)Vx. '=hx,>&iӧTܫZjvAXMc*@9;bLڦa%wQ=ɛkDz $CA6 㒑 +O]¾hM>2hq'Pe4_aiKD#M c?doc-zaX-[2TCۋx$U țk >~VM4%+ w,HPؗW2pv=l<ڡV_wjA}LB!ibОq9 #8yrO-~+xPWpkG:G`N(Aa߼1wuO</Z9/B6xteYNs!q3#?qWAH'1a n6͂.=H2bĘ_ rlLF y72myH~PlɠG(^*R%C9ߋh;dVuƃUi8Ϛ#➏ {Cf=u9MTL<3du]N&b7Tpdb"bTyiozM2@²u7E`!W 'R0*FгsCڹ^Tb;yspL<_yw~#}\z&Hbh#Kbգ%  J? .Fm86ЮC ^Urw/.Vjyg䧑rupe")GweӖ台ck?9my֐YZ"07lRʰjt+sarhx } B>D3u F>bnR5C%(YE'9v\`1٬v _k3zJNXXLezʎpo>V;r6@%9p1$002+ƭT4tk3L9fd\G΍'un~(rC똁Vj*pwq"G`OĮwseNŀІ^Kÿ;v l>:,)8/!Eo卟0F ǧ `9Y抾)̧1 K}Z߅*!jm<*rq*X]X.gP!a]~_]xu ] ܣGv#17cpT<$v4Xfw&̿4&T:3k8Ѧ%6z 3NF}h.63'ҦGr WD]'k[iOIh󯙺#Xa6pf-|& +dn>e-\;QNE ?UY`FT:jL5g`ǸB 9Dqmi[!Ҽ MZ>"c*e /S G&:*X*YYSwxm!yYDܵ*6 _i->ky9تys-֧P ]p̳rl(?PF?]9J弣=3NIt+s']|DCۣ)['# ]=scfIB8b}e G4ӌF:]_R]E)ۯhewTc k' d\nÌw̢]V BlQ@%,޹E]5bOd37IrZj\y-FVt o({9<+-筑-m1V}4rg-1 hnPUp z2iӰTobWC Iţ w` jOmy̾{fJKpX}me|qACa]HÁP0ŭ3d}GxSQy&A'ȇk#7jqh7=̊ղ%> lI Dխ _Rz}qQS'έ㉶jn;J8'G_ &]=K7.6!tΌc=Q)FQȦ82J9o`aX'а6ꋽơbR>6qWP%dڋ8nh֔&,3+XʮfY aZTFp>IByk22Qd}]$8Z{AϜuhٱwXρ5`SsqZR6;wO)␠84*ttzZSGşPiu6PJ)^^K-bw y3ª:9b/]T=San̂cȨJ ai#@ANMgWQePv*~qdQW(6 L ~.XjVTTͰEx## 4 .>*AJE?9n⚦CwtnvªQ/I^^ ;wbơ*ɎDCPIcq-m|C-{FKhyoDV)Z@UXڳ͑ii IjWze "Nme*c/[! D |MI궻fjz,qKЙ@^E\mUf=IF^ w \UpAdSb>~֋G-s ºS?N+nTUu#iUÁbAttS3e 6֋,E$&eƢ{u§C<@*{jPQȔ+H &6gXb)Ibhw'Ͻm5^jlI, ,43iXtf$Ň!!h F\BY8bX8J޳RyK:C5չ.=^66ݽ@`/S@L5{{&aTS#=´j |ܰxW>ɭx򛿨C+soA`O-ܲYH3f=\rYPk!O5+  #ZoD 4$HǧöÍX3fҍ@02NZJ".UZvЈ)6Iּe܇ `ik| Q9+k®cj Bt7چ<DfME!A'z_R^0Lo2* ;qq$>s6}AzzmOOLsѿu\-oQ.`虵х d7cL?ˈ=ِ0w I#]@}&9G9I+ޙcMd| Z݈|I$)&MPا \`_o=:skvYqۇh[6JGAֿSt(*|\?`kE6ykgsS[D~'haUYH?;2O-yVėǐyjˇmHEp|(C;t86lx*V+,)m=˘9׳@': _6h$CVdkFPGhDzs/ԫ`PS{KK2WOmw5ąRP1b&'o9'xnw磻V؜ȵ4ܱ`ɱs5ZKtm奚JS Lt˅uyѬoEjhdaDG{ĩ3ɰghHf%\%=nb c.\8w h`'̎!{TRCX+bk%AR/Φ7 nq8lU7PkhʧľCaVR":}Cp vX9e9Y8;ʘ @삪V͐|/fz $|P31LP4^SOS 4F8C[ _G pR"柎MCw1{pV?M)\'KB(!6j5Br)$RoL?<ߍ˰)xTPvrkB?5]`\Y26{}Gyˌ>_7Irq_*~ 1ʫRwN)>$n::xp 7YF"4LbρwAR; ~?~YZ{c¾sa`S]S9`m( XzBq^. ,3g>!q"{Bخ#h;)F5~MBe퓬۞#$*H} E˶(֪r}/D|,~d|L|4j^\ Su[ȇp)O4ϪUA`=8aw%?μK-ekD G&f<$K%ޠޭ K*\ K=-S)1~M@[KoULP"f tO}rb" ^qsbUZgD7"t(tB-KT85<`F4PO#0W܈Q ]o}3ɸz]iDӀZ`O#& {=NPx(#3Lv ;bNRCIF}y" 7t?>zA ()F'YM*A1vDRq[0ۛ{MdXOF4Z=]F?,#XۣT`!wCyI,%e: .Px D{k *^"1:Dr'ESuU=2ϲ5 BPL^ʽ!=QJuP!Q$,tu6ßNǫF jaTS4֟DZ<>d~6%)u!p~0Y]|IC$R8S?G5(;E9 G_ZOqKw =IGJi ##Ȑ O؅bx;A lEPudsa[g) c ѱSYѝa֔'(h 2eجh[fE WPv2+zߔ|CAC 7!*XA TIE^W9B՛)Q 0B%VR!ML_'N!E.a@{17u[;P+?LkOG=]g I.4]\V^wx1z ieYpQt>9&@&9a96切r:BujИ#U!!*\!OPJ&l{+fસE 4l'f'2QYCaW[pUOLTSh[}_^E7įg졝uu!='emV#["N]H8| BA1g0D_sq'k2=3mYSx?eҮN31t%33ۢqa+vTR=. ,rL,D]>=rbqrK(Lf f(\,V+=[3g>_ljFjgj73+[5e˭p>@t\/aؠ}<Ғhu e@=*TL̓J_~<#l 4ZK) OƳԞ"iszo`Ae=RK:u1g>Et|T) eަ"!{#.^pDBԡnL`1eyy|IՔa.`'[VIc}e?BӥKVKߎyMVgJ_ք!4i5}mnㄩz}omi5^2Na<o*t@GuB K+ 2 #s(YX&%d%ig@/X?Y:1=;̺E?MQ<)jU}&)l)x4: Âk_/Biï~$fj YP&Dyum0JCo|*hE uvˤ=YDgURޔF-Ġ<+KltU&fbB1 ?NcIܒ,^QV+Oܨ ,O=J<꽴o"{e4XhYmK'θ*M8׭M[`}>}0N#gu5bOyR\p*g;y)l䆐;obe@VcxNTgR8/FdV:\%%S-~^7 b ccX:Dv^o?ppj^۾p/l^(FbF\׹J6;,^\V40"=WB% %%jP,kG-HpZ x-}b(ytZHN2(V&\,t\w [.W2+v6r_ Ua^Ƒ@4I 9tŢ໕E7RWԫυ;$Bvid[!/zmʨIX.T"~71:܀ez2b, 㖜Hӻ~, ̮v>[ ask^V~b`o b6gYWwuQT @Vn*M < kWDŐ4}UKЅ{ 2 _ǭr!k]p`j(D$Kr ;ҒMj ` 2$tSp!v*#^~燉z'|#%* YbVP8ߙ[ ?yC^K7Z"aw` J7,LA>cM6WM!SWĖ>lU AnWڿ \ %-pFGuA^6qX^uqf=xcxVzhgY4+,|hIDjg.-V#x!gUʉw_0$/5A%Vm3?ŶY[mw|~#Ϟ =spqijE\<dwW1صz{=QT۳>Ӛ"9,".IhK&iKo<>#WZS=.ڎ;Ѓ#hc ?*2&5pb\N;hʹL"H  QhkmW{ii]n-RmJ=rQ͡"Ѩ9T$㋩AR"soZKIw_qe\GlfTzw/ Go~yZ3>v QTv:}Zw|(knouFq "Zm@k#I1~I3鴶N*&w[8]lPܷL&lm $WwL0 ultrh4S:cXv#r+iskZDLSg .mQֳ>,q#Hߠ"S+Æ.89**41dQP㿽C&a;!'m,py 55-? w ;!xd; aGiy>7͘V_eL!l  xdжKP Ϡ'\@p墽٦iLWɐ3pNkM?$̽M?9qt_p`|V[0egW0#iY==Ü78Q9a)&8?aӽ J:F3xTg'g{nߩ/AyylˌYW{@vY!c]WV|+jk8ƤZ;&|BmB4`ƹth57ѺpzHe1ب~/+HA1#_B3c\zb. W'9n]-ۋLHON4@z`̃o+É+ :f-)ȶyIdjK ϨІ̯IJ\)Cu_ː[/.wߧ1S!zp;YnWnWTKfO ;^*QY#МvJUNJsv7Ś/RmijEYWrJK3Eٲ$|Vke%W"?,~S޼s>emp%񣑲.=,x/(q%塂66 ؍? mDeɪ'eᨔW?/iT"T)l_Fݦ ]tqWkw,(=NŰd&ykJJܭ'aF [WX%(xMXD%\s7pQθMJQšCRӵۿ nh&@Wu;uXziCs_X$i+szZiw"D8 i^bA?XP;,ܬFS*"Y h1m*vO!Ohb b?DGu7!Ӫc" b{B"9N?= ZȋulLOP: VOZá EʝsYch@y9WAh3 ֏e]uSb?5zLܶ㮟զf:^PΑ̥$ 9RD/Pqi[KLg:`zG*2R\(7뮏: y}׶Mҿ@1QI2B,~o@A񯒿q 9r|٢(8gfpY@T f֍Dɏ'&8+Vh}C n+muNU%< S o/2"F2nQr/|hz+RļHH e\'/s.)uH-'* .l3 QC;-i 4|0 >T_쮄|vfZ=<$3Ir:O*l1j]vaty ѸzM6-UԆ3Up KLrMĝq%`7fP/ey Mf$<4ҕD93hX(/<9qQib&g6){5+é:RTf^iCUKT]ty8j[⒖Hh6\Z$tͮŮDs~(*x?F|fN(a%g-$530m"kVoC\K}O[?x [i2(P9JJa6}ƿYVZ{9~Mc\ewm޿P&2G&{:Q%omE:D#d#ZUS%a viޞU ;/ep_۲k6[,Fɾd[sZ\F&&-nZ$ }C}iMm>I't[!\N/#MёOqka!9OX^3=6_s }lQj/{,StqveC*8@)"ȟ;!O?tdG RX"2G#}Wp6s4Ї-tp&zl7nڭlv?j&srhÌ]ՙDUN^r6RCE0t(;HsX =T[ig~6xX*iQdݬ2 ,=( 6AuhIm^8 JP e"W"56=?Fy~aݯf.'ERcw,&ЮQ+@b/g9|$%wt8Ȏeb"[5ud0h!5֔Yn-spV"n,;`Gݽ[$@vesb{_iBv]?[ҦhI,!;`,+Œºz\(֔wg*ɛgJM9NbY1^pdN<<=~79fHC;[R(¸$ұna['>svoE\ 7.%H{Mh~pd縏Ƽ1s@Y,O55b)7 Y'Q|oexRU_zP,Zj+B"0Dǝa觿8'n{wR4#˲,[ܴ{̻I[Os#ŋ_5-8M} vp8:6H|[aa۩Z CgZ}?|y@R}4/[& ~Esh=%^1 M7\q<e T/0OZŰNEM:{Ozw X0u=\ŠBe6l)HWR{Uvd HJ{]j֮#j@ 4aoɢ]g1'A7,Hi|F`REL4Fvzo,fTGĘVn_g!ׅ%#B)?v2YHtN/|hf5UYWQ;41r%9'sE)oa6nMɒBa>KY}ϜT_~͜M/TBIT'i> /綄znuȈ _B&v.{gxt&ܩݭziuyi2$!^C.կiyY_P!侟BO+)G׭ضtt"0x8ѱO3IBÕsgWKG{^qHLCO6σs,]%M9#30')zՒϿid&a7ã‘쓙`ݘQ"Co%>SQbAĕ]^ ,.k?lK̛Ա.%n@uzd_j0wu2"\[w2x!S#jLcTbH (=3\t=Mpxv%F4^Y _{z[|uE40hE+e: Y-IXj>{400%L2l0!Ȫ5CJ:Ng<629C<~Ց܄Dk ϡgyBDze7Wm( q!R8 S% NK1BF @S8+c2~vi^,dkbZow˄z=X3*٢_#E:&ckZ{;xXoSʃe X4j4Ar3:r|s`^ѦR rwQo\ CUfP sV'i:Z{P&W\EO3~/7H,1ߌuQmM )bJEvԺ-VHx ,={ݔ3Vz ds3yӒ'|~Pݡ!0!4Â9q6z?#Q!иUlM[9ϓnPS3Iüjk%RbAP1-ץAaΞ $Z8r1bM?ceIT4㗶' iPsr ̭ͺ8Zbl#[!Uhj0s6k OEUin||M6(6>0rD{pi~bgqL. ~kjIi|%/ݵc:@JmC -V nՔ1p=ajGEo=ά|r 蔴qnHe>5%ɘFE@໺`?J ڝz8b?EMJR@]G1lW)|QPi8JcG~tDfA#zGZN U}Ga*7Hq?%4[*,`X1b L*G"bcʀ?iEJb(rN ?=_{S拰1}`$co}-Hx&yIq1A 6תD`T$Fe|E EV5h!X-eڏ7On9b-Ѣ0VR12Fe_5qVY͙kZ'rj˲n`#L!'J ]%_S:+A{91 [!%rKP؂6- 4z5"Fɴv:ShhXXgd-0)Ecā?wws IW}xH`Xo7a>mJ+bc%TP_>ݮf9G%w+s*cˆhl}0~&8*N]57y0 _}~CGs WL6?` S2}SԫX"pkϩ ; &?OrPTJs'ZǖlJm'>Jгv3R+5G$1}tiiea%Etg/ mp2͕5K̶!"׺8AJE8By0XXd볡jP=sy`}H׋qUL2LSjCG9 rA}$M_ $$+XA\+/X+I#2V r>DΏZ`+kڠ)+<-9yP+'^$0If緮[4Suwzn-xwT!XTE"i2[PNgSDQ>Qťl܇ ݂G ^f2Q{I3.ŮJ ^Df)G~0ס}&E{a7YtaW?Lar {A׹3xj!~K5`DLi]*$.T~?Z*KT;oE2n/]d{>a}t9찥K|ܾτMwC7 EY%0|wPO@(dŐ`9`Any =ҾHIYggɨ˼MoQm1bn7_!q_sadpLpf##LŠV>TѺ;X0t'L}!hTmy(4tw(]UESoN@`}ɴF:颽BХ^Z ߗ Q*I?B ZX^yfkjDldlJrf R_u j\qġgIM'?0uLXs8})GuqW\M)8xHUm= IR}! i3 8>#i=lɯyx?*ZRx`SOOgݖ`x#_cj?;TLL|`C%E!Vb_$MBS$It?BB`O7~[kfr-fEԿF[c,yvhJ֪N&c`3-(