dpdk-examples-19.11.4-150300.16.1<>,tc$'p9|V+Psz(噴35E] 8Ny#wZ}dŃ`t>۔#6$/Cڤ|t˝Q4Ow$#9S%fb'8|/e~>fߗ_,>>mHe+(v̈́2|~Y_^ \wZ;L̥_vnk -Dh:&>|FXW N${̷-6$ f @)> W'JP u?継DgO>?#H?#8d $ T2 HYiox     \ o /4UUU`dv(w8ĀF9ŘF:#FGhHIXY \P]^\Ib0cdXe]f`lbuxv)w xy`""""#4Cdpdk-examples19.11.4150300.16.1Data Plane Development Kit example applicationsExample applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding.c$'sangiovese]&SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxppc64le 0   @ 8 H 0     8  h`(  h @    8 X H H  {NcQQ!62A '^e`5'2.ci =_1/ h E {<W*_{  tjpmj[;iE  R k o    } uL%3,2^ H1i 5jr:3i;jC"L"8:-7F ? U  M>|dg{f!5{[fovzoar|gH{of{fvzoaHS.r{T( Rf i p)T( #|f04PC J8 ,  R^kJTKc `sU  g+3 26aQ1%M1Z&}(i_]0 $<; G3Fwh< f;EJ $M-@0%+\]6l &Wcn# #B$!pU_# A.IF /(s ?*( o, B77kl k.2 7*Ka  >DIFA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤c$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&Gc$&G_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_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_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_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$#_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_VCc$&@_VC_VC_VCc$&@_VC_VC_VC2b92a70041fa17c75b2af76c673790606c57e7ea17dc55c598b4a9cb7e697e921c72ab8edadddf3c27e97cf12149fd80d7704fb4d37d7e7a739d32160e02cfd3ac729b0334020178d586e02feba5e9ec08c9d410ffbb7123f0162e594971b1d6819724ace1fd778dbd1b7c9160f998b8b3857082c112fad273d2bc535c272bded8ca218f085081b2564992daa2babfbbc98f99853411df54c91827315d93c14eab097cf73c736ec12418c9ba7146be11c914007545adb18575f6f5a79d8a1246a70bf544606b14f32c16d3452f742329b72ecf989005333a38c8253bc763a86189217758b93807743aed780f4470b7ffedc2080c73fa64efc27aaafd2a8a3ded599ddf7c10fcf944f889711ddfd7a3c2eb214064ce1f2d131a5033c2b81a1c5c52d535e2bf3739e1a36e6117d2f7f45f6c9e1373b5409a15872e3dddd7cd503a87402615c78781480c537fd8123083424cb834fa626db8fad536eb9c3dfbbc60ae41871532c218ebbc7a4651304408c1d2392d7cfeca74a504f2eb2a192a49c436b0d9222092dade62fdcc9d2341342c93eb14a457dc1a30a471e1fb7fe75df6d372a0235922cb1249bef3346349ce8818e05a3ee1a3cb8cdd69416b7441117edfed1447202d76a5af7026eb55df510d7a5513b5b7d2e0aa64ee4cc0854acd636ae4c1d4aafdb52c881c43c0cfb4c648384714ef6af32bf18d07d0c5ebf8064f2d90e4410b1715b7a9cb38a5f4b5182b2e63731fcbed3ade6bbd3a37af8bfb01be239d277cd9cbe09349e169c9dbcafa16bfcb3242a38647f9cfc61a55ea5696b3e92e14baab512b975b1838c9b9fd4bfa4fb7b8f0b88e8df778deaefd47a055346fde102cd2c603118191bf4fd9d5b56b79d6a037d884e3ec0871dec6bc5208d1cd8953cf328c3d1c9a0811cb247cc10877ff055d9a623817e5c4e388330eae5e6734af090c8feefe436c34ea6bd72c5b633f9d555f622fc649ba97d610dc06965544244cc8eeb9d75f7050c1c2b965a522f52ad22f3d13bdb4d453c32ca13cce1b03154d4b105cc829f50aa4d7395678254788471c1a7e78fea1fd37f25179ba4db2c8a0a63b0b9c4bf8ae982d83ec0522e250e5f90c73b271654fd3e15ad646786b308464f00bd1e12b95376ad02518dba11ba0d7a36d7826356736de5d5e00762dd8e1899281fc103179357bd943f5f637ecc259b2b0b9cffa4b1ff9c2b9a02cc708d01406b9cda6a587252aee1e520ed6029234eda296fe4ea8513f89c9786caf9b0e9394d7234cd8ac6db4fd488f57399dd447674fa58e720dfa1cb6413cf132780375d3e4ba36437950ea5f72d2e695f2b15935c39f7a114f52268ce85046489e192c0d0b8d25374f42de778c4c2b69c119e8566f5ad413393055acb1442a87c8a3e6e1acd9e2b33a73eaaea0a1a29ed17cd95e38768857c2ee425f2246eeb914841a8294a07d56473a9466e61dce01dce197b9c22daf760fcbc2e8a724c2c08713ae786e2e91a0741306a8cff6edae68a66e7c538f9550c791591314ae62b184fba279e22a5cb9285170d76ce83ee0dadfdfc9ce6fcfd54e2e54001d83d5ef1243ef309d82f81a97fbd81ce1f62e2b49683e75338d42480465fac06f7ced9b69fc3d25f227ff85377e1e48acd89858ee6a5a24405894a1f0634458f509c7d4641b9d454793c7969063bff61ab1bb963165e00a46ec0f78dc3e10bd486ca1100707e73075694af91ffe35b1a2b9ffd03fc1028572dfd5f1ba03eb2875c6ad832ec48efd1ed5aa7691c295fc7225a6c55786ec9f58e676aa931dc41efe0fed002c5e85db9704d0b3514bced20b3b88357a0f56aaabbb6917171bc7a924401481022be0cf1400b4558ebce6366eaab6faacc5b2433e50a59487ff0b1f514ebb250803d16ff1505a730ccb778492abd4d7a111499a4877a4567fbc5d3b0f116af41eaaa230408263eb25c4eae34c442a4ec1d5705858d38daea23a451b73db80e6b22ccf22cbd7b2b40b6cf7741cffe0b7f705ad1cd0ce9a86c98309f4b5c4aa62e911a3199ced2c5c324389933dc9e74ff8805a27141390e1113fd4545e2b28f1e906a166767a4fdce6befec18bb27d961ab96c391c2c76f4d5be960f4d6025d395be7d4a8af3dd5494f7f7ad4a46138aa179ec0b8ddb925c128ccb65a119eb8ce214b6be2e10d3d6fbbef57e12ecbf18191aabaf5c787a586baa0ab0a887d0f344329264e923744c50537bf0753fd1dc484a4545524103d4dcc20a555dc910efbef36df3c1bf49ec5467902b7205b4848ff932acfc60a5d5de353d061d4a31602665bd02a3f05c34dedba518cfde397d7a64b06a6e3ed6751785d15b7b3ce01d7715edf0f828d79f568bc0314aaa44217c68a41ad198121c2a97d956b8e8b3d06226247809adecd9edc36c20ca4354954f06723f70becfd299d19eae0fbbab7e81b58ea848a5fbbc74b81053530006147b691d812fe20fcfc0e98fc9189f2bec316e24958302b77d3e20861d356cb8880e71b017660de5d1e87e2188c88f5c9a1cd46b2d6d527a4c5460b8b72ecea0354a13a42aaa71a40bddb4bb999ebae16d25cacfc4a647026fc5b819a31c4e32712936f078e6a293d91c79fc496e71ff05bc405417f0c1db85a7190394b2036261f492c3c6befc8563e0893074c449300cc95f5fa2741a28340e5d3d7ba03bddcf3144f58a46b117ae94d9671326518bdf5e2780665ce1410271206a4e7a4e6e2517ec43bf57be9e3878277deb92cc88972954080bca1b8dcb2d503b738d311f3de4d7b42bc3e7e6ea22c249781acc1fc597e59f1b39ba7b9ec733b04d7fc51c5a6ef6665f8c67379404be45edce275866d67c2d5269b5839a26b75f07b222484f4641e309e998edb6f4716a18573b4fbe270e7c8dad8a11102f63bf6c6ebbba858080d20e1fc19c882bf288d967fc300be34584484d03694313906650d72f54db7a502b2f6682c9af6fa3322103e9b04b5af9dc7d16fa36e19d209fb072d012b94b18fd7216d5cea79a754b496c5fa392b189ca862e929587ab3c7be8bb5a5c4e0d38e33516809a00b3952f1906307f01dc1d55493e5691361b863f26c4eef2347587603e9e9f1532a798c2e8f42e13c751e49d05d1b3ab28987c40834c4aedf1b660cacc00398f45bfe433e36a90892c6d7b76eeef51c4e14b284fffc4fd90a150946c62e3ea720194d03f84263a92a11fa25858a53886d89a472221805a7f73afa0a78cfc52db058d15a17a0abe51e62a2d24f99aa2494ad8470662721e21b288a33d1fab16852b787ed1dca8a2369d2d967b4c981332a0c70e597072d845b9985d80a11202bd2a8e6d194d0be8f5bc3ffaaafc022d94482104543591b3ba8292b287da77a49a55015a810d6b6802690298576be78914c7764b6bf850b53e6c14393f1a87f80bab4418b8c1bb8eaac31dc886a71bcf7cb5ae99998c26ccb5a8ef55244f232eaac0340654e63ed47edc4fb46e9b2a89e2e06cf05100a5153b87dd6b98a726300f006d3e15cd30250c60f01a809b04e23c3accd7252bcbb388a7b6cf600d7f1de5c9971f52ae15f67ded82220e9b7732ab93c0a3cfd8ef2faca87d31d8d902969bc891b3c139dd15c07e75f02b46c9ce01912452109ed516bf90722c7f63e04b3fcdcb9d2428aa1fb834ec75a01fedf9caae9740b9a712735de0dc2f988ce3035df94bdc5594166830d5ea05653a096becd7eb90cc4f7c21913043399f4de8ca13b56c1e6ad363b912cdf30fedbf754b1e8dffd6771db8b77bdcbe9dba97d8dea0c721a502e493e4c0df8e082eaad6d39709285e622b2b8f09e340c65482756124790d27b56a94ff2bf35f9a2d3e23b65ab851089ba159b11c6fd0aeb337afc2ac46ecd1997831427fbec41cf6f58a08b36a457b6930d79ecfb62b0cc05373d99f61a570c9b39ed0f3c8ac56fb5560ae9b81208fdc5a7f0604dcea12d5d867e79886e5abe0b1342989d1dd07dce6132ef6de4d6fcc0d8fa46f77bfd8e257cfaadf47fd8f11aa83901074c98147cf36da173c59a4b08ebdaae99934f5cfeb8a0c234ba36660947bc20d636c804aef706dfc000c0ac2b28ed7f92fb2be046ed349effd0e91742ebe65a6c9d2a9bb9ed8da2161c48d9ac0d7d510471fd8a1eb0d01f7a5a2c68daee0e9a20333989d90292f2da295b8a62e6a562894c19c7d22c65cb66c5cf49605523adf07791e076526e18f616f0e3b1026fee734b9162ee924bcc90f7ff5ba3451fcb2808cee33447b1ea1d3db697830d24d39c81a621a4f01cf736e100084132b28c27ed85d851964cca5c99e4466596bb070a8b774ba2c550793e69b7ae702ad003206fb7abf0560c8a2a24cefed46f38ffa3d3b494ff74920ad85ceb58b8153a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e0426c3e2221f59c4cf3e093624f02dc55a1913e642f2a9278a0c417ccb14381472827a70eac52bdf00514fc4d6b3bf71b68ad234da26d2914aef88d406c91ed7a72685f22ef057a4e9f12c255d7ea0e5e12cbdbdfe2f378485d647c79f08caa98f3a0f09c3251644082ab70844ba205a4cae1f09e54c6695a1714fa87ce1f305dce8dffb6b9047ae0d406d8fc3bd00e539e7596166ef4b788bbf2b0f062488e1095521cc1ec49e48bf17d94e776deabfa4418e6611489e50849e3305a4861ddcca1871a9ba06c8a18dd55201dbd3f8bffd14ce6079006f1c63bbd86667c0b4f6b19121324bf4acac7b9d7cff94b3c9190c623f6f1d12d604a299e84b021d3106e23809fd8f7c53bd6e6b35c5a1cf467e28723b96cae687703bfba9ea80843cd9d562df613c9f4f1b504f2cf1a4289ccb529d46e5c37b0244e1cde6a79f04d369af415f01cec8dd98736a2a3ce4d9279b14c908d19800c932a85f8a0c7c0d9f9a6f05bcf0bd576bcea73bf0117eadd1c99dc437447226aa36d574331f2101738a6d5d05751e5ea55fff128a257675fd5f46708b590757fbfa369b447269e7c6e31c5ba533d8024c3d292393dec38594548c784c24c54de8532da5452649b83917434c046686bcc35400a6f63fdd1b31d37e87f2d3ac3202331ad226b29949e756f1e6fdfc5c3c983f15e8c67fe1f5df71080d0cb9c7634effbe38ebdc0116bb3e2b28753bbc859e1638b8bb94817c58c52e1693140455bbc3f4381f4171234cba6f04e9e9aa0c16395aaf82cb91ca65bea3ef74a07210b9b7008a061dc5ae20a1361aafc89acae4313b00853663866b0350440ce8cc1680d59679f10c825ef0f99e4f8d251e2ba02d8a2534edd76c15f6fe2ae3c383c55f074276b813b1e1714e51e124f53e647d5b18588bcd1fc1922fe51b4f8b4ced445c185dcf55141a33ed38a93a3ed520e2ed7b7fd7d02fdc602bc6dab4ccd6f288de5f4cacf8a27e07cbd3436dffd7364a609ec4af546d4a994e7315193c5b3d4a5f626b4ce3c1c248e79a9dff8761138911c9325223a21664cf2c430883fa259e4966487d2cbdc8d7617e14c00a3eb8ab61db274e42cad0846cc4639fbd794d93c70fbe16b2af3ce605f8fbab65d6f395f0cb879fc2b2a54194c79aa7e609cd938a4b6abe15ffb664893f538265aee853e4c49e179d2e14e9284fd4152714a56d4f99bf75805aa3e9eb959f361032e727d213b74122e3433e331f75b0d0f7fe91e57ae9c51fb2be0605beb6c9011bcb6a3c94ec23e7f5924cac8c51446a0cd2e15526082c7021fa3bedac7fc2d85d85b38b1ffad094026cb0a998b178fa09d5b9a615c6626b9ff93cf86f57f238510a33691b0afcb0fddddc59710ddf4d7a991dbc3100d816e65c1ffc76b3bd1575fe3999292404a90c5db90eddb4c993cb591e43195ded1e4343861b15b9aef6599a17bbdd56164a2e1237d4ebb206a4ecc67bc66ca5715597f8f147cdc9de5be7b623e54c4d412aea6a76078a1d4505046a930bca82622b8353a648f93d6df6bad2c622109ce023a0df297de940de3e15242ce38f78de1cb131006dab06c9744276f6010ed77df2335145ab36ac47654294be33cc3d2fd208b64bab35573b1a533f67315861ac139cd69133713fa8f1360bf8b6faa44dc12cd38ec2825c7e68d79559ecdf35853bf96d9505a3b8e40f2a7deecd1e30f01c1815f57686dd4be74638e9a34757ebd4a36867f79a29c9cb4400b8e08c6004e070c01ab232a85bbed499281c0aa78aab530fd818da2868e08a0576ef96108fdce8154dc6aab9f488e364d84c7e705862e2f3e9fb88a686e8c953720d110aeec334d6fe9efb48597ff6557b8b6367b0bda3ee7090d566d8e640741e093ae8e095bd97a2e3061ee7b2847d38f51e6f306a71239bb9f241c9fc2e86565a489686339af537b4b9df45069a7b507b107a97fc0d6801711806eab9584d45db7551bbb8ab4be21c5b8b7fd689204c38da2c6d287918ea0bbdfa80c6c98916d0e20c3ead40e56d5756097078ca7c974f5b66ae14fb780c9448095466a1d4b51c773514ef2064bcb2cb2729928cb5e53714095398a7d854a23c352e7631111e7d0f175fe86f8d594bea7d518e5cbabdcd391cc0fbd68a9bfcb3717f926bbef09566fcf722b757f919a13cb77d28dcc593193ebc88f2eb35a67cdd8302182b2b33df56f95503c89eba84f65c7d478908f53e00833d716c3068e3c991b1c3271d1a6575cb3ed5a4a20d86e7de362b55259190cac2d191c5cafe6444cafc3fcebb97d401aee72cffd23f2db0a623f3d09280bef261e7d3a1fbaf93b2a3142d9b1083538ca0f58080753aee84e21bca7333a60e44f9fc1b87c5dbef50f438be7522e8f28f1ce25dd28c6e9f08be8a593bbe046979f2f6e989350c5471844b951c9d9d2f1d95f31081e61635647ebb5e4fefafcaf4b37d7bf3ce319c7a54ef1b4313fa4f6c005fccd8689cf13e1d3b78c424ddcae133235b2f5731e78f205a27a7e3e7b2af0c6d9b127f2a22208ef62de48d967b208a79eeb4948bae8c0383cd145c2372848cf8c4fac79764463ba059186a7f0fef326f1fc1df77eb7a4cc40207683cf5d9b3803d6baee62b2aa5a0536675a60f67b4a597d017cbe8d5ecee975c8ce5b55e8f4f898740f74e71b27940f0cbdefe591cb43de9a339343dd2965beb60eb551f53198c4ec6d1a05b56a5c8e882b8fa2860d906e78f48648231ba826d2c31495c367432f8ec0ed6a7cab1f930d0ad7316bf0906be26ec0fe4baa6aa6114e98e96ec4f4e2fdb532c6259a15c3f9923a6dab363371e79a54a7e0b81e84a3afa587d65aad84649356ef4d5cb535e15c38e20c57ac984593f13e82ff8ae7a16e31b76364edbc225a96ea91929241deaa83a7a6906084cfcf447194054897355f10ba8c35d0a0e1370e907e5796ae47c63a0256268ce459c12fb83572b1c6bd66e39135b1850102d5d5a7094106e4061412cd167c44417127808c0dff868a93d7935e05345fe07712ba3a93e71a66580dc8cdee8063d56496c0bfb7a0bb1ef2f34e8f7c2fb4d247f8ede4530da98e207828ccdeaf0b44478f74d6a5f7adbeee98dd65df87c81e1aa351f9b872b743560a4a5a214a640729bb23591ce8dc2a3190a7e876ecf4314458cae2dec48c1991bc0bf071dec085cc3c4ff628ecbc07b5b8fe8ff9ebbaf2c3a32b229b67a8f6a780096987f1c42f7d88f7ce2d92e720749c82992479fcfae49b3b20cbba391ae0b14e11c5da3cff003f40d99a601ae060116d3630251a2712a7d4f5f48db0dcb0d24169d8a6947416117c491297f23c4514d549364cda690c89aab1f5190be649ec149254978acccae25d9ed2c2de5c8134ab88010032b7b68061c91cb52244f1a96cffd68b6b21d707d09c28285f8e9a44f7f04f959b16cbc86815b3dd194d82ed9999d90ba74a1bd50ff8fb0e00850ca8d12db73333cc2621aece10d6933ab265b1feb1ae28b114e2a027e7dd442e30284accba99907cf2e647e8d1837a6d8948a0320463e5dd9142a25b98809de4cc30b4f7f8641dfcd45305a15345dffc85cb28a555aa0487232f996f3efb817b9faf80b02d324d13702ac7ce64e68e97ad45a9fd68131cc20a2aca96dec717ec03f81bf543824b95e6867d9ae4534cdace48e0d972175d5449f92c6122643d9b66bc7125bc707c5d3ab362c1d70764dcb4ef24e8c8b986f383f25f0fe0dbe35f60c2e322ae5ea6afb15e7cf2a3b3ba5185aa6296c902c3a34ec6865d991b10a1d5325005d61110285cbec4c9c6caa3dc326d6698a32e7fa4d844a25f5f014da3debb28f2566e53a7783189e3dcad2a44803c90093dbcc4fe81eed57debcdc78b3e6c3f62ca2df18d2f5f5f31d54938f9652187d9136e58ab4cc4960414b2b50f3adfeb0f5cfa6978849e31fd54d74165dbdbd82eb3714d9cb077800e8a3f317a95b918378a3f4f5841d6654f106099b6dc0f1555375e8994a744925c26a821204bf9801ecc07bd67d05d11c91cfe67d9984c84bfac65bff71674a1253877a01a73c8614cf652a4363d2b2992d4672052064685ef5e63a6c62e9f1659e388d4b862b9f0abb9575dca785c6ae445acf24c8f1cd0c5bb11651f8280b26f80779ac10acfa4f9a953604403e50053953b9e1c3e88a5852ad4aa20686df9e3986324f1077abeb2c512e4da1f69be27f5064e82338f5765b692e6da25a979d9e915f60aed69d9958037b7f6c2fb66baa1832bbdc81a109257a793022f86dacca7e73a886a670ba2623fb87102107c97b85d1e50be6c438fadbed84d2827a5032e36b2308312efba0d52654ece4760a5a4b758e27c3bf983d8208c6b97d429a141dcced5faefd10055c0569e985025bb74131abddd1e3321d63b77e4942eab8649748ee45070b613f1528813e5d8b9af3a427d102591e60f381f2f9352ed1ba1dff112bc11241212b8d67d14f6f0ba0c61d6a7717161d4ab316cf6f195dd8cbcc31272b9c556e0fe67495fd92574c299e0f387696d130d211494f74681b0bdd66f95027321f05fe951020a1fca5178181112abc5e8b1586082ed2de8dbb8476095c0c18a0852229c54d5fdec17b0a0c3e34bab9cdce7b7844eb396f5e82eb6613ed0680bde005f3771d64fa19cc7c6f0a7ae2dd3a1ccebba2167ed6fc04d07e24bc6469dfe480de10709cc457cc093dd2a7e5a4cb5ebd1781fbe8218050e1d4f215df575dc0ba24c5fbfaeb0a3e967047ce2eedbc5805cfff9cc192d8b359a0ef143a19d0a01e9b7575d4a2a057bcd0db3ea710567b1539da3d077da3251398ae391299f86135f33fa3691390bca6ee5345b8aae20248a221b8db3ab906aa557ac44b9cc3ec55680c254c0480312e97f2470fa06b45784eab74f08b36df4c334d795eee95fc51d562dcd25d5e5dfbc1327cad12c0d51d5bc81a1288e025e6713b3175cc5c4de3d159a88f6c31ba4c68b87b42d03917c50b7c4df70b68dcce6224787336a7a17e1dcfe8c1a72bafa8cece832e4fbbeaf624ce98be89c70245bb9d06f213fa52ed73035e5077aa0ec7153900ade2fe073d5c34b9ec5f4f8c8835f9474379f9089638df4d9fe129a8b6ff8447d1c06178a7bdde44ea3d0e2c44dd19ba9d52cafc6be419a3b28a83ca4bae4cfca813783d0f6f1b9ad1081903379559b4cf5aca682faca3d36984843e18d5ae5f63467e64a5cf48ba7484da7b98375d9647d0fb02430014499a7e72018f475bb28b19ead77834d658a8c7b8081f00a121150a375809b59ecb5dce9efcb821c2c84e90f733fde306f647ac5cd18f18c6da2776c9df609665e8a79d95b149b12fdb1224c2f27fa3329292ac13f279f0be918c33bcabc497f2831d72d9d66aaccd4ad9d1bc5683b729bd8f2bf3194cd90df192d246132f1cbd584978e5cb5d1fc3c01574d558eac71b07bd16feb7320c7896e92aad070d338388113aa18b7c796bc2dfcd3330fee702e917c3a10b736aa1833d0b4bf751741547b84587960cfc1c652c4b66f61efb451e601115278c224e091fc91eae444a10a691aae0b0724047fdb33a61f007cffad2a7a217e021b368eaabed4733271ef5d8ade03715032c181432d19273d7fb093736da2aa8486a8d31675f3411f0375293deb64df76a02bb6e5a4192571816a9f43a8b85e0856c864fb33d3ea62220fffa0c58df3f44e2ff69c8fa4565661920c2a7c1b5f305aee210b9ae68887c590d1d83a48e7ae35c68a9c9d6b75b936bb1344d3463391d70f536c7da5f54af2f2d0dea2613dbcd121a86a438116976d1ae0eda067609036da99ba3f7aa221d52dccc979c43148afcd40e024e0647276d2c26d93f732d7d01dcba88a020070c8c0ff8a0a70297ce39fc7d4d379a8467069d2e2a060afa05cc004962ae95fad34bbda65d2713d961cc4a2ea68a12e417acf3671341083028b634d75de0c2ecc3502b0da3eed9b680e2e9eff9411ffcf32eb501ab3e7aee2c36ae1f391b3640b6cbd73ff064755f7bbd55eebfbb5c1c89591ebabca36409d5fe7a9cfd5778c3d089a9ae118db83e1b1fad5b65acba3d2f9fdecfef3e947e4a60e8089f7803daf4e8dcadbaab3aeaa44218824327275dd7fd6b9a325aca71b0d6e75cd179cbebd022e617fe593410231041c0399734fa42052cf35f2b1bfe7ed141d7b1e11082a8e211b9f8da623423397893d725ba8a832ac9981180aab3d9df8b00bdbc347a61d52f0aa3304414bc98f97ed2dd3a70109819451198a43767071225341b4fc711ec47e2efcc550a8d091139e844ee95284b3ffeded4b1ee78f527c13d0834b34b5b3171536893c0b0e667e2643b285a82fd45db294b990b71308310f753d181c06e942e95b11ffca37fa7c5b3b7a83b6970865573b5440a7c0ba1d8e4612b6c877f6f89f2d301164dbc34a79e21ec7bd514ecfdfffd4baabf727c0e421f61e371506a1bba4fd37a94fb9750d0fb5d285f27654fdaaefe2f9c29536b731c875d1db30abb01a5a9a782f5b4d705828fa7c3959bb52ad8b84a491033ec1e6d7c15d1c3ce30cce37b930a012a0a9cd047170046e0a6b2f2e9002c19e7d7246770ec2d7e157fb33dec4b05ec0dc2eb1bb56a4d6d88fbf34d72315c12d05d33b2743f63cbe218b4771bfd95660f0e955f07d2b5952134157822c761dd3ea3586458bb08af543d158801f6871b5cfb052e1b337e4d2df61f5642dc639600621a58f78f07986f8d7e1d7c07e9b5fbbce7f999cf86aeba942fe9a2a75dc91cd1350103d314ae1871045c3900e206379e06dadf1784ebd18f0576afb7aeaacb1d060fb386498171d4ec7b19196b39ad6423352111447f4dcf5771923c01a15f58b45118a59ce194697abc8fcfc91140513d97bad21041e86c02e4a3d2fcc2a12dbb7123f27209ce3a6011579a42ed29dce9c69295adb4307960f621255e83cbeef83e46e37bfc4f89fa7f7b2ee88db9046c206ec712d1ea3d5dac5b0a63a3706363290c7844e9dcfb8bc2ef95424318ad208ef4fa4dcea7ff87e23a82a99561e1d190233499fc8e4052c46826bb8b7cffc372096e89ee3b077e3a38db25a26aad2839387de50272b3331d26c329cb4889c4dbdcadf4fb718ec921567979fd59194916c6a526f863336fae153eacc0bbce497e5724acfab999bab3b0e1096dc0461f3f5e6a0db54d5efa82a06d02f8055f4bc9fbec14973d73572415d36d50bb7b94b057156caf8b5d9e611fac38d964dbc869a67934842810d2e64d09abd5c2245f0fa99721069de3e4e031b4cd3ed06b13ee2404e805219e89631bdfb97233219e2e06b0539d2e73206b30647798c2b60ef75dac08eb6d00b054ced65691000d370bb66981a7d35700fdd6a83438240ecf3e5880287fd10bb17d447e15a9ece1d797c04c3a8c74eb20ad27cb05e6bb741949e3556d74ddb654e444856c6a5172599526e1eee7c574d946fe34401ad16d00bb4e34dfeac53f20562698a553a928617f88f3efe0c4a28a09e5451b55ed0fbb91d724e237e0429dfbab3e315b4e3fcc4b322bcf824d600a74e9accef0c428268b91ec9ad4d189784f07155f587067e1e548e0ecabcad353e09b2fa22598c3673f68fd2250e2fb12c427539d5e96646f32813e783393a60e662575ce89c614a31e33a5ee93dff138b631868d6e24fdf286830552a20163ffbcb920fb72239b32b8823ea26b2456aaa0f12634d7b744b13d5e7db9cd3890333edb9932987c14629dbdc9997aa1cdef73c9ed98177ccdeee30a333cb30815eab45e186f8c92fe97cbc5cf74f51b09ec495771720a59f830df893dc4527ff1f55f283709892779106fb61c77b0a6473ea11fe1e3833960351725794bc39fb0b9a51395bb59c38e849010020fcc11a2b15a8acf2befeeb711e231fa7cd8354e80e7010bb73b78363d2935345fbec2c82cebf8a1a356c2533c1d4678324f76995e2b962638fc5ea5111428c481716f4f3dee1952c8bacec7f332272b23ba5342c4aec105fbb093878dfeec1b40fdccd2c7503babc01f467d535219856e24d79d4e608e2a86d50426786d418f9f82ac324e68e7eb8ad939f1a34785e2f62b049c84d2ba5f9f0c2036332cf770c78cedb72a9b270ed793dc1ef90eac905732a86dd07459ff3ceeca3482250fea10a570a6bf79b823bf27fc6f9450b53a0cdc7c988746330afc33a027926d99768fa862a7bc32c8233204a858fc5628176583fbaf192253f8a1bd3d3fa88e67f3646fa72fa08ee483370d84930cc4872266076dc1e7a252486a4778a5518abc4ba106bc0fbe9446a8a06d2c4fcaa4e831f5e80a2795aad812e90ddeb57af43b03b3c03fbfbe83f88efe674c1317443324119caf564353fde807ea3cbc66ae07d9bfe188d87d5ca304551c614564344ac9b998b959bb38f0ad35c5dd473015478b636ea5b50e11b253dfcb7d9673cb36b037d54d14ddccbcd8423a9842930988ff29f6b9b6473191b38e8160cadd3db4e97fa7796abadb1978c4e425a3c40507adf635029cdcbd14cd35e4277c03a9da9e347e0a64d4441cfb1b646dbc80b1afafa6700742e6d55f553d92659c9356b97a41a369f295a07b3db3a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ea255d87f9612dce33b022d81d71449f5133090f8cfa86367e988c4735baac945649cc862d4e0a6f3804e93f39b3e2de3291e15796032084189a35f48d33f1ffe42c4bb50a5ba9aa175ff9a6ca257ce9b949832c4ba2c052f8eb86b6d87f03666346f549719d34ce69f47b9b4c95077f88d9a8ec2e8f061d9095047a9b5d60d0fe52b62785a3fc4f08dfbcd1850bcde511d8550209f1a6ae2dffe8b7960e43b47146158e16a9ac1aa335a55f8dc1c88d07efcc7ab458a517367528d495182db4127a84c3912bb0b24b4fb0f1528e18166ed41ebbf92d622d91db219ceba1df30f118ec7b300237d5946fd4c443b14298eb4b554b1360531a52cde83595d0427ca067c34521cffb6dd042f8ddb002b3cd7fcf2972d833f3cb6af24ff8c3829e428f75d08f04b7fe5f021904d904bffdd40c987387bb648e4b08d8a51dffd9e30197874b4c72a155383690542eb985dadd338c99a74c9cf7728b4958e8eea417cef45bcad80795bc9098ca8a8e738a6b22847deb101dfb0abdc36dfa8e880c2d5747874f26e7f26ebcab38676b14b5c3bcfc7523cea76c4c2f5cde7fa777182f031b3bed899bca516714db68079a997a9bd470fd07b24b5cd4757369ad31465088d2971306519d1a92b1c921055249ad904556256701254a0b3f2b4e7f5b4c9e3e07ca9c873a53917af29ad06bb3579ce0e481233116e0eb0b28744b7756fc453618dc47d43907cc8190e777420b6c093d78436b19c41b6a434f94a0c6ef5e968142fda70535396ebaffeee4ba7649f19ca432796c0ba33622db0286a9f462f99f01945eebfdc6312fe471abd2513d7dcecb4beecbda089e1a063e77568c0059d98003cc0b6ebbf908e0c84d53632963b1d1ecbe44eca9980278cf469f935ee4ae5362d55269aa9e81531e8091201985b9791bb4acc728e9daa6d39df4f4d01986515d4f0fef15c3fe2ad7f51c1c5383853cde8d8c66f39575e588041481df72a2eaf8c689db216730c2a0fe4aa3f6414cdafcb6e8ba82c3915be86a705e7c12c48cbccd490528432f8e8a1dcade195f037c03cb62bc354f6f97acb795e31717979c1f36bf98d240b743200047c254d0d732d4cfe08af926f34fff3ff10ac6118a45ac7815499ec921dc1f77f57f3bc449d0c23480724440001d86b130a3ed9ad7a4324e5789df970c4a5e762c9ef572d4bab8f929f40f097ba04bfadf1a9745cbc3f64ce717745d9ced6d81fe1ad6f33a908269293fc67f822ef31023362eaa6bffe8af43e1fc0ca5c46aeb4c23c45be23adf79bf125399a6c8b11e87094627f349bebdde65b82c9174810307ce888f68fad03fa0cb92cf54fac5279df1fc2dbd09bdbac1f648532988ac8270b2f298197ff00ada38824d070339d472b83edae08a47ae2d93cf4b3b08618183e342b80bdb6b585627d886bb80b4df23a13c63e7b8e3761bf3e754dcdb5f55029de2739024c66dca82ef3602310c728a9b94d827744c4f204dcb3cd037a55ec4ae152ed5c3b8013f36798c0eff74a920258d191eb133a04b3515cd18a473618ce3e1c01616731070a2e7755ef4a33a62b5a991e02b9246a066c508ed21df9cea46c8cec2f7aea8552531da85edf79c62fb27a63c205bb44b6c645dbd1c9a26a3ff1c9b6a1d3615735fbc0d2f38ae8d57ed17adf22959f3e16029bd44e4ee0939d56ee617468a829a424fec5a52f64d9f3ef9eae6a2c3c1aaf35cfade70c7ee2f8a656c9b682c068ac95405891dc58638bfd1a10474e9ed8ce27d762bcda95e922e56013a04f21d294ddc0a5b720847782b906f7175bc51d0ea5b6830bb9aaa7727124d14dce62bfa3277dfa3320a55de8308bcac97d350a958f7da6d7edb1c242bdabad03717dcb128eee027fb16097fd700b26d558d6cfcd85617f1e1a53753dc22ef780cebecee3de68956e321fba4792778bbfafae60d4157eb82e6d8a7bd74eec9b879c882444b9a5b29d5de5db8b165f2d021322d541b0c2961b9cfce7581ac4560c715144aba3a62ead62b5843f38d63fd1f80de095567738725820170798cd1d075000154bc813ae683e56d4fea7845e8af74c91e2a7ff3d7bb585e7e57337a5b1c4c831b3ab6d1ae145473453beb15a4e7be2fd821a65107bb1226a679a80897d8548512207bd84e3d721e1266ec70537fcbe8a5d6f92c6c11bea0cdef828f9e362ce033d8a98b5007784bb99fbc49e577b05ba80ed9e4751517eca42b54fea51265e2dabee188ed3fb5cb6bf41f1348731bfd6c719df3ec0423007190f9918505ca67ebc081833edfc2100a99fe1d548b41ecadaf6d8d96a2af186dce60164a001bc27d6cce9240e78cd6df66b7690d282882f813f2aa661f50f9d3b497e6875488740fff39acf113751a0483a5030750f2f6024ebcf155d73d0aabf87ce2d76fb378f1caf6c59f7ad044569c987c5dcaf207022d5f78ceffd21ed3caef5c8910f0737d3c2377ad417d3e1f6c46df96db079513acc9ac66ee76d9940c07f1012275664b005cd6c987aebd9f6de1e11c527f274627b1048889bb61ffe6b5360d97123bcda35e89d11e99ab032f78f48054c71debe7b1c05f72cb1566445a7d0fab4989fe7fc53e8476a5cd671fed3536338b8531a10fe133a92b5a3f3f6e4a7772529cd5b9e1c4394efb6f755b6eb799f28f67d51773c81610b6fb407778b2d23f301f54999588af87868a580f180d8c0661844c6e153f202307068cb47e229c4c6a3152f1516a07efada60388e4fa2a77727b71c5e5b7554ced4b3cea784c27e9745612022192449b0b01f1bbea3d024902d9f72b5ac0a9c3ea3585494a55df791cc8afe15e8b5bce78a2e591a05d85301f0e1d78f46b4a8ea32b80eeafdca4fc51dfa992ba08b3f4a80299e3b3cc88330e3c56c9ae6b3979b7e17e72c0afa3ca9aa6d8091f8b28858ad12c792c8fab3503e63bb7d5efe4653d54e4462a48283ab8d891c91976e910678a10916a78bdf313d3b01c6ae934e4a1d4463dbbb4111b79547765fbbb141888556fd6a938b2fa413e7763e364b06b69084876104db35d5c1b67493ed5de7f179d537f09e08b383c76079c15bef6f19029e9db2a8a574ec351b1b2b106006177e95e7d4d1a746306e40feaf0de6c99341848a8ec0a50849d1affbf75d6285a73f6db3d701cde04925d840acc6b257562382af0644faeb43de21a4136d51b66465aa9888ea9f8c648d0e26208824f15a81533d8c6bfd12f83af530c4e0f061d5023d6bc8eb9886568b3e26294d0df38ed83e438c245f94aaa52c2ece4c15547756e0d328c330b89b799dabb596e9d7f51fc949b12e694c6bc7a2dfd189917597f0eb2641974d244a189eee5a52495edd5fb742daea06806c1382f500af741ea55904acd51b7876979d1c5c7c5f79561c0ffb457cbdcca932bb5ca4e63ebfd00342aabc26352c9599b515a63f29d5a2bd3dc2a123b43cb9186535f6443d405d5a63511664cea1abe39a8b52dde3be600783b825b82060d9709ee8f686569092899d0602882071dc901987903f869639ae2c3f7859c459482f1cd8fbf7c7de4985af4e748ea057766cae63f93e71ba01808e3cf3e2d828639a2037f2eb0bacb829079d660e547df1cabe42c17ad82df2b6d89e1656cc89b5c080c5ed75a243acbac7573dc3c051b55ecfb0b510376da8ff912f2ce45eea541bc918488c59819ef791aa46e0e38d1481b6afbeeffd28a1afbffb484d926c3a58ba686047bbed7f985da7ea986b78275bf6b4aa7f95341769cad1401cf3640baa28fe8a58bfc267c0ba4f29da551233237e3fa112f25fbf1c25cbeb780c53b93bfd401a40d63a932dc5022bc01a922504e6c420b5f2bf9ad58e8810f4c606ef9770790351a0ea33d9846b52749e8c5b9ef4d53bafce397f097618a900d1320a7e9af180ae19da9e62f4c91d1b9af4b59a288c085c97ca2a44134e75db8d567b1a61043945830b22a21ab0741e235c11c83e0bbf7d9bc2508cc9b4a4d7a51b7e416ad9fa5239ddbc5d3293c40c488c1e459c8629e83f3602ba558bf005046cf7b11d73cdcefce0bb34eee4827e07c0f89a1a2e3a6c8d804e6f85e27d40700ca8a7aa4b3646949ae7883b9f15808e2ecd04aa8ec64b855eec926ea747c0a72f14e1c52a6f7f1a245cc19b346a6eb1eaf3d11712f5b970465d4d7ad72d0ab88739f60504f303f9522f5bfe9d0c1dbfaef8c65c775842b7b6499a6b56cea60ad8580b3ac4e1b892fab2604a05861fbb31d9fbf4e1fff7c1c9170ede854796eb498d04b1a2617c4da032970c7075eb3c3aff41f75cefd756fbb79c447e7d3033e8f688242e0b7a8ef074534066e5b480434d440317caf533878b6a45c9fcaf7a97f08c178f22beb584ccd1e264f86e08af127d7ffe4d8edffcb6c27a0770a54378c0bd65ccbc434fb6af012b2cb53c93be67056b0ca5b0f30cfa9018b91f6507db810db8b719c1b8196579d2c6a444b170887c66714e2fb5467b7bd6c97da777c7afa12e9a721efbfa963e431fb32d9a1f14a98eb87c6bcc7503119dd705bf6c52080229b4e2a025f87675cd290beda2b770c7f152cce2f8b1d9cae306737a11cb3b5a721fe9764bc269877f243e71cd9762d95dfe07dffb8664e470185bf43033fa5eb5b9d313dded82be20a4ddece8c4209d3b36b8452d196c4dc733bac4bd4b2304271c0c0e315e93722c2c49928546e15910ce13c41cd0c50cdb3e104ce94d06417436a1f548b39a340d3b5e11c62f8b1eb7be2ba5eee8879ec6bf9d2bf4386c0a70deebf03500c6f99c54f0804cd641c159035f947708fa625dfb1a66a3be8d9d8864453b662d667db512e11df6ed6e2c27f1259c8b865c492bf483cf9d1aff6946e2954899a55853acdb1a08f5ad23a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e0f41f309c84768b036de3ad9764cbf1010939fdb7349ce1bdebdaef6c0db2278a3010205cabb6e4587c5b45b569261bdee0e41ee0056a25a4fae5e4341d2f744cd29d915a806255bd0e584ab2999e75fc63a5a71b31e0f00824e79eff4befd42f1033e84169b25616e727b8cb26c7ff49207e9bc4c231fb8d81c53c746586c393eee067b083f131d5a9076d56e47cdd97c0b809c2ae6c46647419a183a22abf0edfaeb144c7d5bda829665b8f7985176ed985b923d69ffe74a4976aab0eb1d9236ec4b8847ce4d3288134c28a71b7674c8c2078d7b8b439a56e661b11b3a4d59ff2a98d8df1c7eee6162fbd6c397726d6ce068d4bc80262070393e1e19f57a2000cb24a6dbe436f9305adad1c71bed6181f1701497450f09588cf83fb577434e853e1919e4f94a85dad0f8223a29731a718114facaa5ff06aaa75c965da94d428563215e3ff7e88543939cad3fa9d68f7789af59dc00ac915cb570ed1e19220f5311f0d61997c18cb6f6d119c7a3a30bd16d3339ba75f196465f27f23d039f26d01ff545fcbbb9e2f9fe189e15eb86ee8814c7dc245e850a192a67e2fb30d93251a67893a6a604644eaebc33f0ef3572e2967afdb196be635df715297688ab95fe767d8adadedd1e526d0c459df38dad7c15fb87b96212573fa1727ba9ec0b392dd23f40233669cea465aa3d6d1f6c794a6168823f1d2c6324101cbccc05e74d721115738ec1eed85f9e1db1a1a86b560b2c4973e3837e3febaa0cea22e52418a73e161aa9fbbf7960e870dd323de52149ffc534b8b20532732d4270da9b2f8337559e98979b5e2fb83d8333d74c8d65082069af52359f85d6b43bbc9f50dcb31e39982a532f094299851a0125e434c4c6f7711f02887b022eb17d3f2ca4049b9416ed9de4c2163d6d65c9b392902b1ca2b8e5058acb0c349f7b0b75a95ea8bc25790180c09bcbcde8691b21f8792917c691077cc605f31bbfcf3627a96ab08f5e15088554b0bf462745980905eec414a38d62b0bbbf7b5505e5992ff670e6ae9cbf2a63a029c2e7362ddae3da4e08a85f3a960dd70d6d88c48e120ef009d172aedb6f60de80c781f33d3b0b88ca73857b6db1a0d156e734a2c3c8547c3462f22ac8aba018ac4fe4589c95c1469b67d592904f1effc1e0cabfab1f4cf2873c11068c553b2fa0b832c8efac20be1ca0964df993dfd18f34c2ccf832bf12b6dba16a419fe192f95f6825aaf4a29cf4345d9268882341c3ad1c5e4f572925fcfc7d7b2b5c53e9de81c0744878cd3814b82e1533af0a1e8c3475843b6c72235deccd1891a958e77c8c9939cfd43321c21ffe8f89778b88c41dfa3fd130c580dd06e6ef13dc49d484257fd42ea32744eea59876350bc23f04ea6a4fe1a92be297c08bf412c1af5c3588a81fc37c223b409270a2933dab993e0bdd8a843e3510c9250e19d038815eed4bfcf029c9f7e8e843cbd12ccbe318cfcc4e2d695780628b51c23d271cb12dbbad01a7678810ad2ebc379c9cc32b3728bd9c08fd242bcfa0ef3abd1c92c3fef1568b2d4539ecc5fe3dff83a16c7c70e5419e7ac998e86d92510e06431ffeb72af0eafbbacb32eb8d255d5e922bcd7febac4886b15cfc075e1ba8d6e891fcbdb7030ae8d1021a9cfe746d32cce9bf65e3b66087ffc615224ef8917d905f7be964bf96ecb4de8c0d533f359d37731bbaa06415b4ce8959bcded51a0f456d9cc16c2ccbf898902fb38753339a3367af3bd45ae2efc3b456a79533c90cb5bf54b13af8eaf8f1197001d6acc542acaef8d8f104141fdf0101afde9a8bdb6c65afdb78d4b11cb1f627bb19425631f440ebe44f3d299d8f0cb7773479d05c685d848eac07834fe693eb9537df199d0374150c351d28c96228fdb0dda1ff31c1c2b3845c302bedbcb272184c61803c8caf46979c41075be45fe1776da732412cb9ef139ee3cbb005547b74dcc316490721b0c419588c069bc8986df50530949a755aa99f33a349b74466ae33fc687bd6e2d4ad89da101820a0549036c523fef0e72b00677bdd84e29f32487facf6f9ba6781b413002acdb7df5e7d2c6ab2cfcb7f2e62ea375c19b987a95f429bb61bafbadf62e4e3d5d716d8504de744945be3c6ee9531f43c21da7d7f75d43e611549b972dccdded9c313701d7a3c8af6f403ebc615dad02f6c67ba7a0997aabad6470a5b34e58fe3233c7064f13906d3333170a7674c19349fbd9c07001abc0df53f336d846a9ad6bf2a378b38e129482a0cc85c83a9b17d2a6ac3d2f893125211435d0cbd1ba7a64add003e655eca2b4c975b6c2f64ab0348b0ade7b8d86a89743afd6707e71691ded7e006e552b9a7f42abf7217920863a62c79bf96f5b9854d19d51b020dbbc2a99d240edcc3e2fe8da60ddd800d37e14fa805e1d1ef3e67827d3f341f12193a6ee64dbfed7b5ed62a08ec06dbe9dfc7aace65c3eba7b32fedb9e797c639925ee3d86da52877a8197890eeaed92f36b22cc8983470e18f744643058aa3a5e378a91ec733653496d7c67eceec7066c82b0e2707b19c04b2f0bb7e4d3631823532a6a90ed870057e34a15a5e81e92866cb938e15e2860db246b698f0fa20ca0acf4f561a87a56dd3bfa5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62eba56cf9c6ad9aff5b2f19a202285990a8fb058971f2884aaa4c97af70dd8dfbd1da84ee916dd45ccbbe1726a572af48e41b94b1c92c7c7371a8f99a018070eaaa5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-19.11.4-150300.16.1.src.rpmdpdk-any-examplesdpdk-examplesdpdk-examples(ppc-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/bash/usr/bin/envld64.so.2()(64bit)ld64.so.2(GLIBC_2.22)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.17)(64bit)librte_acl.so.20.0()(64bit)librte_acl.so.20.0(DPDK_20.0)(64bit)librte_bbdev.so.0.200()(64bit)librte_bbdev.so.0.200(EXPERIMENTAL)(64bit)librte_cfgfile.so.20.0()(64bit)librte_cfgfile.so.20.0(DPDK_20.0)(64bit)librte_cmdline.so.20.0()(64bit)librte_cmdline.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0()(64bit)librte_cryptodev.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0(EXPERIMENTAL)(64bit)librte_eal.so.20.0()(64bit)librte_eal.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0()(64bit)librte_ethdev.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0(EXPERIMENTAL)(64bit)librte_eventdev.so.20.0()(64bit)librte_eventdev.so.20.0(DPDK_20.0)(64bit)librte_flow_classify.so.0.200()(64bit)librte_flow_classify.so.0.200(EXPERIMENTAL)(64bit)librte_hash.so.20.0()(64bit)librte_hash.so.20.0(DPDK_20.0)(64bit)librte_ip_frag.so.20.0()(64bit)librte_ip_frag.so.20.0(DPDK_20.0)(64bit)librte_ipsec.so.0.200()(64bit)librte_ipsec.so.0.200(EXPERIMENTAL)(64bit)librte_jobstats.so.20.0()(64bit)librte_jobstats.so.20.0(DPDK_20.0)(64bit)librte_kni.so.20.0()(64bit)librte_kni.so.20.0(DPDK_20.0)(64bit)librte_kni.so.20.0(EXPERIMENTAL)(64bit)librte_lpm.so.20.0()(64bit)librte_lpm.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0()(64bit)librte_mbuf.so.20.0(DPDK_20.0)(64bit)librte_mempool.so.20.0()(64bit)librte_mempool.so.20.0(DPDK_20.0)(64bit)librte_meter.so.20.0()(64bit)librte_meter.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0()(64bit)librte_net.so.20.0(DPDK_20.0)(64bit)librte_pci.so.20.0()(64bit)librte_pci.so.20.0(DPDK_20.0)(64bit)librte_pipeline.so.20.0()(64bit)librte_pipeline.so.20.0(DPDK_20.0)(64bit)librte_pipeline.so.20.0(EXPERIMENTAL)(64bit)librte_pmd_bond.so.20.0()(64bit)librte_pmd_bond.so.20.0(DPDK_20.0)(64bit)librte_pmd_crypto_scheduler.so.20.0()(64bit)librte_pmd_crypto_scheduler.so.20.0(DPDK_20.0)(64bit)librte_port.so.20.0()(64bit)librte_port.so.20.0(DPDK_20.0)(64bit)librte_rawdev.so.20.0()(64bit)librte_rawdev.so.20.0(DPDK_20.0)(64bit)librte_reorder.so.20.0()(64bit)librte_reorder.so.20.0(DPDK_20.0)(64bit)librte_ring.so.20.0()(64bit)librte_ring.so.20.0(DPDK_20.0)(64bit)librte_sched.so.20.0()(64bit)librte_sched.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0()(64bit)librte_security.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0(EXPERIMENTAL)(64bit)librte_table.so.20.0()(64bit)librte_table.so.20.0(DPDK_20.0)(64bit)librte_timer.so.20.0()(64bit)librte_timer.so.20.0(DPDK_20.0)(64bit)librte_vhost.so.20.0()(64bit)librte_vhost.so.20.0(DPDK_20.0)(64bit)librte_vhost.so.20.0(EXPERIMENTAL)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-1dpdk-any-examples4.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)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABpDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~p     pp19.11.419.11.4-150300.16.119.11.4-150300.16.1      !!!!!!"""""""""""""""""""###$$%%&&&%'''''''%($)))))$*****$+++,,,---../01110222////////////////////.3333.44444555666666777777777777788899:::9;;;;;;;9<===>>>????????@@@AAABBBBBCCCCCCCDDDDEEEEEEFFFFFFFEEEEEEEEEEEGGGHHHdpdk_example_basicfwddpdk_example_bbdevdpdk_example_bond_appdpdk_example_cmdlinedpdk_example_eventdev_pipelinedpdk_example_fips_validationdpdk_example_flowdpdk_example_flow_classifydpdk_example_helloworlddpdk_example_ip_pipelinedpdk_example_ipsec-secgwdpdk_example_ipv4_multicastdpdk_example_knidpdk_example_l2fwddpdk_example_l2fwd-cryptodpdk_example_l2fwd-eventdpdk_example_l2fwd-jobstatsdpdk_example_l2fwd-keepalivedpdk_example_l3fwddpdk_example_l3fwd-acldpdk_example_link_status_interruptdpdk_example_ntb_fwddpdk_example_packet_orderingdpdk_example_qos_meterdpdk_example_qos_scheddpdk_example_rxtx_callbacksdpdk_example_service_coresdpdk_example_tep_terminationdpdk_example_timerdpdk_example_vdpadpdk_example_vhost-blkdpdk_example_vhost-cryptodpdk_example_vhost-switchdpdk_example_vmdq_appdpdk_example_vmdq_dcb_appexamplesMakefilebbdev_appMakefilemain.cmeson.buildbondMakefilemain.cmain.hmeson.buildbpfREADMEdummy.ct1.ct2.ct3.ccmdlineMakefilecommands.ccommands.hmain.cmeson.buildparse_obj_list.cparse_obj_list.hdistributorMakefilemain.cmeson.buildethtoolMakefileethtool-appMakefileethapp.cethapp.hmain.clibMakefilerte_ethtool.crte_ethtool.hmeson.buildeventdev_pipelineMakefilemain.cmeson.buildpipeline_common.hpipeline_worker_generic.cpipeline_worker_tx.cfips_validationMakefilefips_dev_self_test.cfips_dev_self_test.hfips_validation.cfips_validation.hfips_validation_aes.cfips_validation_ccm.cfips_validation_cmac.cfips_validation_gcm.cfips_validation_hmac.cfips_validation_sha.cfips_validation_tdes.cmain.cmeson.buildflow_classifyMakefileflow_classify.cipv4_rules_file.txtmeson.buildflow_filteringMakefileflow_blocks.cmain.cmeson.buildhelloworldMakefilemain.cmeson.buildioatMakefileioatfwd.cmeson.buildip_fragmentationMakefilemain.cmeson.buildip_pipelineMakefileaction.caction.hcli.ccli.hcommon.hconn.cconn.hcryptodev.ccryptodev.hexamplesfirewall.cliflow.cliflow_crypto.clikni.clil2fwd.cliroute.cliroute_ecmp.clirss.clitap.clikni.ckni.hlink.clink.hmain.cmempool.cmempool.hmeson.buildparser.cparser.hpipeline.cpipeline.hswq.cswq.htap.ctap.hthread.cthread.htmgr.ctmgr.hip_reassemblyMakefilemain.cmeson.buildipsec-secgwMakefileep0.cfgep1.cfgesp.cesp.hipip.hipsec-secgw.cipsec.cipsec.hipsec_process.cmeson.buildparser.cparser.hrt.csa.csp4.csp6.ctestbypass_defs.shcommon_defs.shcommon_defs_secgw.shdata_rxtx.shlinux_test4.shlinux_test6.shpkttest.pypkttest.shrun_test.shtrs_3descbc_sha1_common_defs.shtrs_3descbc_sha1_defs.shtrs_3descbc_sha1_esn_atom_defs.shtrs_3descbc_sha1_esn_defs.shtrs_3descbc_sha1_old_defs.shtrs_aescbc_sha1_common_defs.shtrs_aescbc_sha1_defs.shtrs_aescbc_sha1_esn_atom_defs.shtrs_aescbc_sha1_esn_defs.shtrs_aescbc_sha1_old_defs.shtrs_aesctr_sha1_common_defs.shtrs_aesctr_sha1_defs.shtrs_aesctr_sha1_esn_atom_defs.shtrs_aesctr_sha1_esn_defs.shtrs_aesctr_sha1_old_defs.shtrs_aesgcm_common_defs.shtrs_aesgcm_defs.shtrs_aesgcm_esn_atom_defs.shtrs_aesgcm_esn_defs.shtrs_aesgcm_inline_crypto_defs.shtrs_aesgcm_inline_crypto_fallback_defs.shtrs_aesgcm_inline_crypto_old_defs.shtrs_aesgcm_old_defs.shtrs_ipv6opts.pytun_3descbc_sha1_common_defs.shtun_3descbc_sha1_defs.shtun_3descbc_sha1_esn_atom_defs.shtun_3descbc_sha1_esn_defs.shtun_3descbc_sha1_old_defs.shtun_aescbc_sha1_common_defs.shtun_aescbc_sha1_defs.shtun_aescbc_sha1_esn_atom_defs.shtun_aescbc_sha1_esn_defs.shtun_aescbc_sha1_old_defs.shtun_aesctr_sha1_common_defs.shtun_aesctr_sha1_defs.shtun_aesctr_sha1_esn_atom_defs.shtun_aesctr_sha1_esn_defs.shtun_aesctr_sha1_old_defs.shtun_aesgcm_common_defs.shtun_aesgcm_defs.shtun_aesgcm_esn_atom_defs.shtun_aesgcm_esn_defs.shtun_aesgcm_inline_crypto_defs.shtun_aesgcm_inline_crypto_fallback_defs.shtun_aesgcm_inline_crypto_old_defs.shtun_aesgcm_old_defs.shtun_null_header_reconstruct.pyipv4_multicastMakefilemain.cmeson.buildkniMakefilemain.cmeson.buildl2fwdl2fwd-catMakefilecat.ccat.hl2fwd-cat.cmeson.buildl2fwd-cryptoMakefilemain.cmeson.buildl2fwd-eventMakefilel2fwd_common.cl2fwd_common.hl2fwd_event.cl2fwd_event.hl2fwd_event_generic.cl2fwd_event_internal_port.cl2fwd_poll.cl2fwd_poll.hmain.cmeson.buildl2fwd-jobstatsMakefilemain.cmeson.buildl2fwd-keepaliveMakefileka-agentMakefilemain.cmain.cmeson.buildshm.cshm.hMakefilemain.cmeson.buildl3fwdl3fwd-aclMakefilemain.cmeson.buildl3fwd-powerMakefilemain.cmain.hmeson.buildperf_core.cperf_core.hMakefilel3fwd.hl3fwd_altivec.hl3fwd_common.hl3fwd_em.cl3fwd_em.hl3fwd_em_hlm.hl3fwd_em_hlm_neon.hl3fwd_em_hlm_sse.hl3fwd_em_sequential.hl3fwd_lpm.cl3fwd_lpm.hl3fwd_lpm_altivec.hl3fwd_lpm_neon.hl3fwd_lpm_sse.hl3fwd_neon.hl3fwd_sse.hmain.cmeson.buildlink_status_interruptMakefilemain.cmeson.buildmeson.buildmulti_processMakefileclient_server_mpMakefilemp_clientMakefileclient.cmeson.buildmp_serverMakefileargs.cargs.hinit.cinit.hmain.cmeson.buildsharedcommon.hhotplug_mpMakefilecommands.ccommands.hmain.cmeson.buildsimple_mpMakefilemain.cmeson.buildmp_commands.cmp_commands.hsymmetric_mpMakefilemain.cmeson.buildntbMakefilemeson.buildntb_fwd.cpacket_orderingMakefilemain.cmeson.buildperformance-threadMakefilecommonarcharm64ctx.cctx.hstack.hx86ctx.cctx.hstack.hcommon.mklthread.clthread.hlthread_api.hlthread_cond.clthread_cond.hlthread_diag.clthread_diag.hlthread_diag_api.hlthread_int.hlthread_mutex.clthread_mutex.hlthread_objcache.hlthread_pool.hlthread_queue.hlthread_sched.clthread_sched.hlthread_timer.hlthread_tls.clthread_tls.hl3fwd-threadMakefilemain.cmeson.buildtest.shpthread_shimMakefilemain.cmeson.buildpthread_shim.cpthread_shim.hptpclientMakefilemeson.buildptpclient.cqos_meterMakefilemain.cmain.hmeson.buildrte_policer.crte_policer.hqos_schedMakefileapp_thread.cargs.ccfg_file.ccfg_file.hcmdline.cinit.cmain.cmain.hmeson.buildprofile.cfgprofile_ov.cfgstats.crxtx_callbacksMakefilemain.cmeson.buildserver_node_efdMakefilenodeMakefilemeson.buildnode.cserverMakefileargs.cargs.hinit.cinit.hmain.cmeson.buildsharedcommon.hservice_coresMakefilemain.cmeson.buildskeletonMakefilebasicfwd.cmeson.buildtep_terminationMakefilemain.cmain.hmeson.buildvxlan.cvxlan.hvxlan_setup.cvxlan_setup.htimerMakefilemain.cmeson.buildvdpaMakefilemain.cmeson.buildvhostMakefilemain.cmain.hmeson.buildvirtio_net.cvhost_blkMakefileblk.cblk_spec.hmeson.buildvhost_blk.cvhost_blk.hvhost_blk_compat.cvhost_cryptoMakefilemain.cmain.c.initmeson.buildvm_power_managerMakefilechannel_manager.cchannel_manager.hchannel_monitor.cchannel_monitor.hguest_cliMakefilemain.cmeson.buildparse.cparse.hvm_power_cli_guest.cvm_power_cli_guest.hmain.cmeson.buildoob_monitor.hoob_monitor_nop.coob_monitor_x86.cparse.cparse.hpower_manager.cpower_manager.hvm_power_cli.cvm_power_cli.hvmdqMakefilemain.cmeson.buildvmdq_dcbMakefilemain.cmeson.build/usr/bin//usr/share/dpdk//usr/share/dpdk/examples//usr/share/dpdk/examples/bbdev_app//usr/share/dpdk/examples/bond//usr/share/dpdk/examples/bpf//usr/share/dpdk/examples/cmdline//usr/share/dpdk/examples/distributor//usr/share/dpdk/examples/ethtool//usr/share/dpdk/examples/ethtool/ethtool-app//usr/share/dpdk/examples/ethtool/lib//usr/share/dpdk/examples/eventdev_pipeline//usr/share/dpdk/examples/fips_validation//usr/share/dpdk/examples/flow_classify//usr/share/dpdk/examples/flow_filtering//usr/share/dpdk/examples/helloworld//usr/share/dpdk/examples/ioat//usr/share/dpdk/examples/ip_fragmentation//usr/share/dpdk/examples/ip_pipeline//usr/share/dpdk/examples/ip_pipeline/examples//usr/share/dpdk/examples/ip_reassembly//usr/share/dpdk/examples/ipsec-secgw//usr/share/dpdk/examples/ipsec-secgw/test//usr/share/dpdk/examples/ipv4_multicast//usr/share/dpdk/examples/kni//usr/share/dpdk/examples/l2fwd-cat//usr/share/dpdk/examples/l2fwd-crypto//usr/share/dpdk/examples/l2fwd-event//usr/share/dpdk/examples/l2fwd-jobstats//usr/share/dpdk/examples/l2fwd-keepalive//usr/share/dpdk/examples/l2fwd-keepalive/ka-agent//usr/share/dpdk/examples/l2fwd//usr/share/dpdk/examples/l3fwd-acl//usr/share/dpdk/examples/l3fwd-power//usr/share/dpdk/examples/l3fwd//usr/share/dpdk/examples/link_status_interrupt//usr/share/dpdk/examples/multi_process//usr/share/dpdk/examples/multi_process/client_server_mp//usr/share/dpdk/examples/multi_process/client_server_mp/mp_client//usr/share/dpdk/examples/multi_process/client_server_mp/mp_server//usr/share/dpdk/examples/multi_process/client_server_mp/shared//usr/share/dpdk/examples/multi_process/hotplug_mp//usr/share/dpdk/examples/multi_process/simple_mp//usr/share/dpdk/examples/multi_process/symmetric_mp//usr/share/dpdk/examples/ntb//usr/share/dpdk/examples/packet_ordering//usr/share/dpdk/examples/performance-thread//usr/share/dpdk/examples/performance-thread/common//usr/share/dpdk/examples/performance-thread/common/arch//usr/share/dpdk/examples/performance-thread/common/arch/arm64//usr/share/dpdk/examples/performance-thread/common/arch/x86//usr/share/dpdk/examples/performance-thread/l3fwd-thread//usr/share/dpdk/examples/performance-thread/pthread_shim//usr/share/dpdk/examples/ptpclient//usr/share/dpdk/examples/qos_meter//usr/share/dpdk/examples/qos_sched//usr/share/dpdk/examples/rxtx_callbacks//usr/share/dpdk/examples/server_node_efd//usr/share/dpdk/examples/server_node_efd/node//usr/share/dpdk/examples/server_node_efd/server//usr/share/dpdk/examples/server_node_efd/shared//usr/share/dpdk/examples/service_cores//usr/share/dpdk/examples/skeleton//usr/share/dpdk/examples/tep_termination//usr/share/dpdk/examples/timer//usr/share/dpdk/examples/vdpa//usr/share/dpdk/examples/vhost//usr/share/dpdk/examples/vhost_blk//usr/share/dpdk/examples/vhost_crypto//usr/share/dpdk/examples/vm_power_manager//usr/share/dpdk/examples/vm_power_manager/guest_cli//usr/share/dpdk/examples/vmdq//usr/share/dpdk/examples/vmdq_dcb/-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_Updatedrpmxz5ppc64le-suse-linux  !"#$#%&$#%&&$#$&&&&#%&&&$&&#%&$#$#%&$&#%&&$#%&$&&&#%&&&&&&&&&&&&$#%&$$#%&&$#%&$#%&$#%&$#%&&&&&&&&&#$$$$$$$$$&&&&&&&$&&&&&&&&&&&&#%&$#%$$&&&&&&&$&&&&&&#''''''('''''''''''''''''''''''''('''''''''''''''''''''''(#%&$#%&$##%&&&$#%&$#%&&&&&&&&&$#%&$#%#%&&$&&%&$##%&$#%&&$&&%&&&&&&&&&&&&&&&&&$#%&$$#$#$#%&$#%&&&&&$#&#%&&&$#%&$&&#%&$#%$&#%&$#$###&&&#&&&%&&&&&&&&&&&&&&&&&&&#%&$'#%&$&&#%$&#%&&$&&#%&&&&&&&&$$$&#%&$#$#%$&#%&&&&&$#&#%&$#%&$#%&&$&&&&#%&$#%&$#%&&$&#%&&$&&&#%&&$#%&&&&#%&$&&&&&$&&&&&&&&&#%&$#%&$ELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=a495827aa83e98c9b08283de38294601cec8a4a3, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=4e518955b59ee49a0151d39ae332d759f56bb3a9, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=037f88039fc9fdb5300be3e20cc805e4c17d68b1, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=849201d67b0e70f9c715b8ca9b8627dcf723cb2f, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=b3f39fdff8697937b21a9f15df890ab7faf55116, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=217b60ba4a60aad2cf43e11b736c35af44fdf8a2, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=6e666b3b044b3e45025c9d774fa2741c28d00a2d, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=e8f64075fcd9a73e3288645c139b7df47c2c9cd3, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=1afb436f749e176c133a338bdd4d77e796416c9c, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=0c960d9f7d00b0c59a31667a67d11c1d41661652, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=1303dea71fd05dfc9ba1b510133fb1b34b988987, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=c46c2c2ff88989d5d32f5596d5cea21934505e26, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=f4ff9321126da4e80d28e56b1cb6d5582c7da79b, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=13b2fd0a5632739c805e8c49ac7c612549e6b774, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=fe8bb6526655ab0b087d2a43eece79522bb29c31, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=771185d93f6c89bdf6ddec74d1f91b604a9cb47d, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=ffc242aaaec6e01f97c793b508dde2e3637498de, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=ba76c82910f7a7fd4fb69eb3316ebe364150e705, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=fc1873ba33de92a1c48b6f4ace614228591cf31b, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=8a9a252d826814268a14bb1ab9fc66349201048f, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=dbce84b70e1919b3d20dc7fdce8d0bc5c9f4bf57, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=a0c42666015c4286fcb7387bd08aad787dfddcfe, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=93816c28344973bb75e596a4ddcb21f3b679cef6, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=5bfbaf203833663bf519d0379c0ed4dbb40e8000, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=2051dfb799453a7c0c2a268892871aa73459517b, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=4491882cd3b2efbe8985d60df24834bcfb40bd20, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=92363d82212fd35916957a667603d88f96364e85, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=b585a47e2d7a2a67b54f23b7a03cf4dde66335d3, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=39ab8eb8c0032598e9e6c590f9b8c299b89d52e3, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=13158d861f8a0ca4869fdb63378011786fc3e219, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=e5d1834f8ed67a3753a21aca39f6fdf9be4d008c, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=fe48ea9708c0bfc128bb85aa9024e01fae9af684, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=5196144d59510d7853946518bbb02be695797666, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=db2757717684f23241f8db9db89cbcb8a85af332, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=7b43f4593dd1a5ea2f739302ed97440e3f451a11, for GNU/Linux 3.10.0, strippeddirectoryASCII textmakefile script, ASCII textC source, ASCII textBourne-Again shell script, ASCII text executablePython script, ASCII text executable /6CQ`ry )?Q\m~ !  "     R,RR.RRRR+RR-RRRRR,RR.RCR RRRR+RR R-RBRRRRR,RR.R9RRRRR8R+RR-RRRRRRRRRRRRR,RRRRRR+RRRRRRR,RR.RRRRR+RR-RRRRR,RR.R2RRRR+R1RR-RRRRRR,RR.RRRJRRRRIR+RR-RRRRRRRRRRRRR.RERRCR'RRJRRR,RRR6R7R=R5RIRR-RRRRRR,RR.RCRARRRR+RR-RBRR@RRRR,RR.R0RRRR/R+RR-RRRRR.RRCRRERRR,RRRR+RR-RBRRRDRRRR,RR.RRRRR+RR-RRRRRRRRRR,RR.RNRRRRMR+RR-RRRRRRRLRRKRRRRR4RRRNRORRMR3RRRRRRRNRORRMRRRRRR.RORNRRRRRMRR-RRRRRR,RR.RNRRRRMR+RR-RRRRR,RR.RRRR+RR-RRRRR,RR.RRRR+RR-RRRRRRRRRRutf-87dae80e5610cf7aab6ac98eb064943e4de1f72e9fdfdd2a99af3cd50aca6456a?7zXZ !t/ Q]"k%{D=Ņ3E7 zoH$&zf΢4ŝ+حNXT;Oʭe<Ȧ)!pLeH, 1;KX7J,DW"Sm&CZ)c:LhR:'mFlɶŝ|e )]hqDSYp>3Dһ[iL}Piy$/ /H> xAdg^RZ!v_vP`\;5CH.)(I@c\[ ["Xy4hsk;²*Dqh *ۙ\]>v<7 PȽ&U7 , ! cl)Y0vtEIFIQdRl0|P N)~aPeg@ΧA|Qm̈`t.xAӬXUwLnFϢ >ְRm"mis!9/xIOoxخQʐo53=, rb[`Q/_agOFf.'#7JޥLk $XZvSkXuoSuͪxDGn>}*J^9F^!$UR݄ 'tA@`x*PMaO+<=J>Z";Kar'$ΓzoPg4lI8X 0ݱ:X2W9w507o&U e&5MݚXu&SԭU6~J"}'[U(v^۝썝b[T{i;+C{{Eޞx ?oUg,Ep~&> 4h/ \<CT 4Smr-[`2!' *ϚF;Z~)`4#.}cP=3TH=`,enXyPtK[~wX!8e8s"J5D$yh2q՘+T|ma戀TΒBQg-UpG`M%=(YEN!vjƮ*kE>Y&Mo[DluUFf 31Aٻ q^*[QW;Tw.h͓ރ}ފH\yC6@CpdSQ2"liS$?yÄp#N % H[\f?nht]kDtv3#;ٸE]>:ob/\ o}?x d  sAt}]8jl5B;ؑoY= ux+6PaQ%Xʁilh q@pmMBC!3RJm\r9U|Y 2 L mkϲyl-8}mqRYׇ t P]1G *(ޟ"%{=C;Lڌ|_־[Ŷ (h%#'oA/1"2qUV{ :ikM_8l$e dCfeaiga GAʒZ/a[x|сu\ϪvwLVbc5Տǡ>O&^id /n*iP4KxV/}BL4ڸ$1yLx}B5;z =&6a@`Qt>TI;.%ph d"a 4*<&DvZamT|$q\oKM|h,(K<2h,}rXn6*Zt_Y AtŹ#6.]Re!Nsw MT2B1*\g~|f'>J+d:cJ5})7-csG@ m]k}㿪Jnmh$U\ \˦"ILy[;j{ 7wU*l'U9>a*w[n3 .pʵ 4rr'$]B9e݈TxHuLY^?ER F=@Hw"O|={>=WOXILapҴ\~ouuMm&/v'.l)Cjj0I;{^J6<SO /:G@7@!\6=L=%#E4;dKsX2AAop yF]q#8i 8A]N2Z:CBZCv㎯-6 0ʻپ;~AُlW|J->Žov-]@'%U"y[̒,y0`!cӳʕÎHuq`dQwԙBY\+EN1cQ' ԰K|ceu 6BhWJ cDN⡤CzsFt[9 MDbL&a zi~I>_PZpϧKՆFk;-iwz{NR#Z.t#ERq|KSY/ZC\oU5TtEw0}\2n}&-,32٣%CyVD-P.+ϕ y-H0l&:Ũ)y_F lms)wloblpv yW/ r.( `ͣuEy]񷆔3sר :IL\pl#cIl*(,l'bQn)I L!FQHIR7q<zo3yJ()_;/{0Y0Uqp.aV igGkjČlZo34uy;P*)U/v=1r!7&X,k8L-:ju1JTw@-Wvx*)#|VpPFTT@‡٦%X!5e>4dl3il7neY "?{=e> ";&*^ 0 Ɯۺ4ʃ ٥~^0*C(l")BE@eS[fDzPA̐ڍ<[FKو<ol߇ԅ.5IKah.=ӃW!.T8jLAeޑ p+9WJEMT%[] jXH`j2L<k[ϛf [ET4UdNIeC署rsm7>mo {.7~ 3Yu~=58> 5Gz٭Gp %=mrǜX?Cƿ_l&2Z }us7ff8XHk1"Y^?%în?_A c[Bv `s &'X4HQM:r﷓:pgK! ل_b-FtH} c [O7;":e`q:6ihrfos`U'r:e 6ZHY.=[7ixH  Ȗo)PDʚ'W.+5d!f[eSsWW y-`mM#6c`0⼩_)AAA'Y8bZihw)Иc]nMtU\Vm%iݾ!|N%&~ {Fk\moȗɐš>TI7Duʁf]x~C07*\O|3Hu%ӱ.ϱzigr o͏-} bo|=OkarS~AЍdiq+&c U ŌͱJ;m,҅B#lZh'nTbr9i4|MU, JF0Ly2N0x8E+ PH]𴠡^Yָ}oHҘ` DSGjZlewӹHjXA9u]$!<šY.Az3>Ei\ܐWE8ʋN?&&edcނ 7/aF=<bY/G` }zBUL+ &S<2' ќ58U|\Duv<;jGƨ`GMwȒywY`Ҩ4-YGt #8ewFMǶ{Cgw$m>8Ά ^N[JqTm|!'<;b{zѴ-Hm6]9yLLe[+), o‚ږ=zx>bdE+v%<,8ȱ~>ο]0i8[ ӭn>8/Gdhv(YudCd{WGС9m 8v1{J+m# )xIAS3vϧ왆vȇ]2W?٠)77Რ'.~#mg \KsT[.e9bƞa% VzoE# $wXY[ PBw_z c<)3-qHCN7 ,v\ hl^6(ZA!$Vw73rYJ@C(dlB9L2sXxiڗl `I/}W\#u/yӾ8 W*pA &bWJ:Ӕ&6vS tVNr`jPVƱ}ۭVxMޮkʴdMP=0gKpHu tn'W(lmWq.(3565{3oҪ8 _S-zD $49wf J}++ A#6M{ggv\=!n0T7ՙ,j"v=|ԷP MrVZhA @V M!8? 僓B=Bnj~s_ϞőRbӹ_a Ϭc!|$fWMw .ͪ׆j矡%7Mۯat,`>Z,CA ITH)QH<@j8o ~j7SW(pXZwŝ C߁U3)ꇟBXyVL͢7iQj$ػ|rZ oO ko b^$H&/{_O`+\jm?+0`]5;| 9H(>A^P/L*LWþ!VsB>|q5_7S;!WDJ].&tɞ'Ar{A2)i2|Cu 1m$9tp fuVqĎee[{=-O5|x⪞܇)t^ \ӏΝgг㭁VbX{^֖tn@׍6j߼+UhrA1h!:魃[ٕ$kH"rQq YMےVQ~ΐ(n1TF~\ΊBs~=zļ@cJ-99:ly\b5T dSNx^JUg|u]'h5W6`<2\1҂_<%=9'f"nC"vuף(wCx79@hVv ,aY3\G5tZC(Yg+t!sU?0#枀}QŽ͎~4FIڥ38hC.w kݝ˫?սhcO=:0'*@[V5 GhH͙I^m0{@["'k $rU> |mo_a@-ԱrC=M]sexD{{'WN5#?b] HA_%%p)#P"~U!~ySMKNȭ t_bgJkH0Be^z O9Q y]qƛ BV\t Qjڷd,q2=3,d-H0 iѽNq"7`\w#Q`ސ-M[5[[IHU=|?7eC fa>uSH6-%Xc)XZIǐo['M?9L&n,(L\ٔyb`F5Hf'%hM}khTHAۣ|\-3͡TƲK?/Ä;W)1qcvSWTZ+4Đ_j?OFvǒq؂J7sVDgTm4ב*d[nJHl,am x[зސ̉WD `cob,D;L9PP޳H'{])6!|}c]ű(B|qlɦ0+,^T3g)s/yj@31ja@۔$㏬ρa@.aŵe rhlc_cO' .\܈axQA3x3l`,W# Tz)˝ q{.h᢭|L6[Q5= GyhS{οč :ZQ.~{ࢎvIGD3:CLžXM#v|nk{^J0Ǭun}9ԊfkD$(`WWg?+i8c%nG-ӠE,c$tA'\|2WRi>ʂ,JXw]sV +Ho_ȋw?N`SR~_</ r]k%v"Qs6 $xpoWZ?nOAR!S'w\hԴȣNy. 3Rv|2,]|sGce8ǽMk"Tj}+sW/` :b%jG գ\%v0~f^Z@,5|x1<LMpЂyl:w8Ϳ^%),~W>vA%v䨊AZm0 BSA,jzlg(|EK0-ɯ_dj1-#3azz5:BSq^򈮱,tGQ>$QX\x)ӴVP+HNƓWO5bޑu̢Ҿ [+g9[mgZ8rV V,(vlet[~h:guDN"?P cWcVN:a$vfs4e?SU~P}>(϶Ǔv~}99Y#=ę ~4X(SGz1]BԉfѸl VCttQ,x 3u!U  а $~MUN*\džg~_㯽>N:`M3"zT8U~AN#2uxӌ!qnl71buMgD4ސL;w°Q_H%f߉]=0'@Ϡ'*N4<:CY[es rB,ÐtIpF>q왢vf GFB1Πz!}kD{6=P\Q"s5 3a)sY<0͢[Y*C\1R.zuAC /Be%h9 i1PYm{OLVN #UK _-M٨e}5Q S-Z/ "1S~khv)Ya%cRIyd/kG(48iyd)<|9|vruY1t@9_ OvF TJz%,fЫvG  aN *#e>g+PR (nt$],[ol{Ba &5N[_97i[6J&J'|l[8@V  F=_Cs56Y̶:(wjAw@CTCF`S޾a|.Rmw9z<֬*b I^NlRǷ>j/o96\$S#OLbI]. ՜^ksp\Y:61$;۸GDxigƪe>,'6 o0Y `.o2T:xPý҉OF9˜Z'_6zDB2/yٌ8 =)@w5PF=W)Z>Ͽ~4wπT.v:UyfLm+0f3u.4q;X WBaۄ9ɡI 請t=(}gF^ 2 +_;?NJkp:x}J/iq(;W箕=GGVufՄ-7j$żr$㝍!'߽;=Uc!g}6yD<}.$~7Y;yHSWE6n` 8Uq͍7<5B?$^`**ÓhGKJɓ%x:i0<j]|B}SG5`d`:UHw.OP:[D䯹VmK4q)e Gu!֖D NȋSAXdxҌdwQJ23/ܗʯI چ%@k\Cz+[% X=nr:4׭v( tTnfp+ay'Ix{%]=;m.x>u߮²s%O+o(QHK1 [RqEm(Q\ZLP-O&!N Q%݆@mJJxMTNbeebU !Y@#W;EU%*fF s= *J҇ΣIB3r:cӪW=qiO` xbx4WLHO{ xC&?_7<<+}bi8pvި>Q[|(PwO8@DQ85 O3ݻ1OP,~zP;{"{|DB7$Ffą uqWs+խ8 Ssk}|!`x`b`SxC802`gsj?‘OHE䖠L6?gt&Xx6iZweuswdKprLd""ߣ W0_G#'&XT{ G;S)R۹q'O-4YO59p4RҮi_|+H*4yf¡="đںDD[6XL &t.pJ TДMN=~#EvXXq)ܩXyMtMRO9eQXNAKCG ~m`\$^g5m'IݙJ82J`r[XuNe?ELҒ׫ g7ia-I$.@Xݡ'r sA)ܿEqL0: {je͏9_JO8wܲT{Qu*n&ƬԕU24)I &d~(s:!;&[D") 7DXcĐW[bܖg^Gq ik ƚSRa ×f9kjw!9jo .v7dql 3SvDKIY#摕z{d);I<ƽ+8hBzhk{+j- /j\|ޭv}s &E[z5 n0an `WYp ~L^h֨n `orDՂ8i gEqeDtȗ|j1ϔD% ?q zSărr;f{EΥ~Mɓ~{ ;$ΈqQZU9v"kcD3F+w2ӛCsqA1 E Rv b/^"CfV',6'%ǡsl?+T d<Ű/ryYG6lݭh_Hp>^XwSu 3JIuՙbJJQ NP37i~ylqv(m.P'9.hxg~hkmX! z[vX%;'PWe3~3_os>7W.=N立r,#rF.gPX[cHa`WϪ_ӜRvNS%Z`#YB3WWyH+D/Ya-G%g|MS%"JPZTa%JEK E-Z$,)16ɸh5w!ܕx`t<%;*Yl4۷Z0rpoq)@-D\+so 9gjL$YKӊ_xh:x#H%]DVI͝]%~ILp)OxhYNysqG߀f cTV:Yc zɟ`As\yҮuLPGV3wJPHOXYp}5W0 NsAeBեxa_@_C9K0Ĩbbc7dOW|,쥱ibIMό:;al]A= YK z]j0|a,ܼ] YC\BCebr>||Εk>yt5g T J}oRjĭėOFjP`ߝR \?hNMD%Bu٠᥻I_О\$n몂i֠Qίl-BdλPeTwb`V[hWƛވ_ D5 x\Mg܈)bi#!,67/au7 bc>3hF$z'\՚h?N/]R?˪ ?( @[ˈH .۹O\a7' Wc"-7S<4\;˯GѴ" ;`eB>,P2 =Wv<%3Kw̋?#Ϙ523evXV/"uM g@󔟬c=Jxp8#R+:]^ty-{fa:, f8钍/`i MA)ܿnŖ'OkjJ8(ҧϺLq-q^{_$ ,2b>ܢ8z3Q(|V֕ywkZNN$X @`q BRojAQzVeX2[|6㡺*X8E,E5d3|g7aߤ]Ɲ5 e3@njZuS,ő;M$ IGt=.xdQ;*_J ZIUoo0l2hp_b^FTd=w\TpfziM'])tO_܄J,Inѵ_z,3.}^D².W41ki&r؛ l4TM & 2WJ/-`g|SdNlZh,:t:L2&ڢtxʈcTn sq!%%`gk )03lRNE.!@s.SA"97']ˑG~#F>O39BWD/ti*'A4*kȖ|mj+ Q Igr%l0\A=| SwyP;[8R41Kk"P9~Ss91HUΗQdHKS錵G 4ߵNK zFm}1Ѳsr~ڐn/Zf1oߓRoE7l޾f Me G~TT4Ȣf xmxS~R,]Du>T {Tn~\9HVEp\ uٟ%2"'㾵#0d ߃$O: $bq3Z'w>L#Gb\hM|WӽKh'Su Ss +Bɥ~<\yUg`X7fTN lۊ)ܧk*Ք4:3ՇMe;" .Fe ?Q8DZP of+7>;>pw\q ]YB,[N@o]^i9y~ ::!(qͲGP=I\(NKvGÃ?vWD[~ Pٿeu^?ፁWha=ci.PU)#X͕g{6` ɵED>U1=7T{Y YbjtN%>ar/Y{)s_3$U x\>h*umR6N9 ny1Y`х89DTF~V{ Zڀ%l%{R=(q`KKMiXGs}2km01WeilD[4{`ުaP4VaipN%4Eش-{ t )ͤZBKr$uu<@b'\V,$WĻ*5RPxsYjnQsN2Eu鎠yh$`/ʹN‚]~߻_Q__A+1I ~" ~L6 Vk,L= Tzq('L?HH] ld6{SPNDnjN{ 8/!;n@Lz,^u.SvL473dD7 fjPrGEKf{h# :uj8l/nnId҄ m9y=Xk^olgM @؋;;m0a|#e3N=uPA|Vڏ-ﰎ'vע6+&o}z'8[`1'F˺=u0רw[WC$R|rThny^djJyV(- D0{>ԵU|kCN?L[#]/T0>_zҦ#P vz.*L4zM*^"6{;1dvAIXhmGƳKmus^«L#: Kr{7vc| 1zuY*atIzۃya̦ݷٹW; V{;>xcFNp]='u#C )^nPD23# (ef@iIbBÏ|;Ei#r˲a!޹,HAcꁃ,sI)/֭I 8]6=e[>ǔ0 V#@/dMBF(6Sc߸ٜe\19@%{?e=$}kP. ÚY +Q_9D7SSIh\敩>fÖC(| 0848H$Vloa4{*_C*0OGl0Ԧ۪ϊH GY|n3zV9yA\CI܀V"ix4I ).gwuFgCS؈9Lt7>^^Kx"AxF3 ibH3q1:w\guٶi9OODf˪'_,heVa7rj8SCDžZu!}G++.8qK e8͘<8WcHB uyħl{_@tGнtEw(8Z nf+BPO[j T`|ޒ%9"RH۽ q??a4Fa o;y|KW`a9 d JyXIoM _NsT u+2j(Mi,EspLwZiR6ŏYhL*U ]pd)`›I}"h geYY#wW[YVkZ cr$n [W٠Jm7$oԢ60Vw{x#*k:1w쬞ŤPYժۗ.Y Bs2 yd*}@W0q_s(^RFNMuBqLྜFq1< fĈ];/[Ms '|-?W[j. 7+?v$/ݍ?hZ,֮s@- :;K9"6 IQ‰f#d`>y55qMn5*.c""/ ~-Ԓ\|z: V,H8=76p !_h4c ikI&l>Fll|i0 a"CWhx $_wR\h51ЎR$73-iBgګXXB$Hjri\=I E՝XJ㔹0 a# s1tE胤7=k}WNc&hq|`voypE_Ŀ[C}h7t"g[w(HxXϦ[͌0" I9`J12nPzf8l6!k $Gg΄ yﭳe+SmUXH? d2 }{ҽyal@WhCb2ĠIF0\֝N>rU䣝=lt,R^24lj.S/ LEMKc>xռM-z`Ϫ?,(0:Rnq"5x%sM}OcQw2@)LY"%֦ s?vL6O{ "y5d3"ηT.FdFBE1Y_E=\8$Ky2,iI":%e'z-%q7/'sZm(u&2>l9o͈!&y 85G⛈=H7 Oecu!wFt|0Anxoͨdڴuڋ[u-a`Q%vi3>nESܶTHݣEB6m|.u[6`'z TՠO"''ӕׇeDU.LW\Ay2`+Y6Oo=7jGdXw0D(kjq@)d vI])k ) O 45^ܣd(z`,-?Ao9;IلMeC˼Jw4g{UTPv-y2Y3E0/!F٠;GŎT&\FT֑!=Y\9exSzLJ߻^@4gT.s1)(Gۓzq .ƍpzI QsNh4tM덼l|*:C@nX>'Ϥ0l2Z,AD$ ȈIki0M3-a]L##MM1))+*t 84p<JiP+ HזA$\DP_ỬX'F;F?-OmJiNSIPm0@7 ?|n5׊T] 핺OHmPN)V&)(!Ig6HǜXS߶:w\ Nk^#t&jI \uVɫRS-hGzPWѮG㤪y0c`IQf#$>"S׉PyɃ -4qnͲ6~3uUsrc̡_Ӯǘ`5J"q^Ę [Q⤣4N∫Qg^3LM(z LDB5Eِ}l . Pʤ= (21BcY_`]U}&]QS隽؎5 zzDTîeky37,GPagsoKm'p4r lN(!1/oaUJk:n%5TN{,I1m\ѐsg!l3|ǤwUgBz *Q Ou{՛޾> o[JJzLi98 9Ӧ]NA.gDϚ*D_$Fȡldo-1LO_5h=L,ԍ pZ(;d"DGhNX\8>[]V y p"Bjk:\3iW.bndZ4LZYo /꿯BCݲP%?t@o?rCY7/0˸2TKȘAuPpJë .^'ZiF75y;{Pa- ABv]b"|R6a F7SRvR/)%@ n{^sԮh3i=`QIKLy<}S3c,ڐhG=Eq9_8d!]:9=C 5AQJ&uQWT}Wv5sQnfj^ s!8~Ӆ m꿭w$*PAU,h\X$J mM!֘~mz_\!ۜ%pxfiKOLUrLib!2·P(`ҳL^[߬jB|:'t=x΅U͎F>}43=:1_Q]D1‘|FrSIn*H1N&ǭ:ajnP5Ezg!?tbMt)(Au5ލVvѪ*=ZHQ,Փ'`GlT)Bː̶d p45N%6N}Z삕Йe3DB$'UY7sJ-v8Zvp%y|]ߦ:@'"/a˔lmw~eJrdi%c3.`-j4 i*E9TRRC\u:A@Ɠۜ-DR"LQjVn[ķJ 4V3Ѵ!VãH-0-?FM4a"RPKe@Vj1Ztjʱa_#|sL{R\.$! r o 4 ˎk> 3a( ~^ZR!h^,B!;\ueV;y.JVmP@a tS)r]<&jw5׭yy`tYXrI fl hAzYԏ\LYDaa'fvYzIl X 2J=|IuW]@~vQ`4kI Lf1Ts$ag95p~)x%Nz+Nr ?.Kw틁ǎ!p{pҘ͞wlT~Rp)F'C@n|Z )&v<3.,Z|'w+t+EK;=H+ LE""bTA^,r$vjR'VPu l5/ hQOV./=cԥdIosiUy<:wy"N7%OheK1 !/An`>ko&ͪ>cfܴ^:פp3$R=/|FNh cm;C;~{y{f.q,h65ULί`*+xsMڒ{%9{KGs7& 3;^{^E;tr_5M0FX=^2/69O#)oqE&El=euT&W1*),\s(x?MIY; QL%!%xManHH%5/6/b YIig^}HioB@eЧnYO˼)c[ 1^"=]nq<&l9g7Lv<ݑy{1}zM[-_PHfv_&D4#S3iT[t2{±4Bȍo"#h0 F<0:de)"9ŹcϿ"uC{&V,>"_Bu܇QFj4O@޽ğ!7)($LK1 |\ݲƠv scI 8{ ,)~Oc*JU؝š4ya dl4ژ[+ WQHMp:PܾɄmTIQ@P!?~)?U8^wo꿮 ;1 ?ࠊPYMiaC :-j]@5(2K!8{Ha/{ ϶;I(Ǹ%-3LEnpכ G3{7SY ]lS¸T0v6GZȷ >I0.H & f*"*O=T| l*?sHߊHJ+%{ܶrl60l  #~ Z^b}Gֈ+)i񨲲S(\C[fqr'v &|5#h -a{.nUzq~6Qn2j9ݿ?5M˹o.&7w~4cJ!?YU}Eu4}#ݛcU}6wG觩[j!;Hڳ>ŵ<  ]?@HN7>-,W,0p 7=*ɹPC_~9˅uNҔ12 Fwu/+|ӷ)#YHCHq{:ÿ/OƏKNp Dk (U3$`00R` KsGZpgU'5`?&m&*kspq VKڐ`eH"X܅ Dt삯O!٫w@uhHH"^1|Mk1#G{ 7!O9T7FdWY۽~0(~rW*ء/s+ߠa@gAS{W=sg4e_қesX:8+ Zڢ p0o=#uaj|%)ȜT$M'7f)_< 乛fRM ,3E i7*z dj(i߇Cw޴Q\zX Wh.ܱ5$å϶lE.r*c#Aϯ$hˠJcjDqq8Z޶ -%פv)!I.y\„#&|e':$ sC teutg4_B045urN='g <w!/]m gv !jN񌶵2p1]d UAk4T$Z$E 0 33J$V xe|1^Pocm%Ѱ5->w4clu1,kU&?u76zunSݖOG,'ķd5VP7H_#`Pre{zMB,0,r)U3/v}զ֧ϋ^Ê4Jk u];R0XB]yٲK0՛Ya"װ] i/ ΜbP]㈒<8<g嬑FuZ\$ZLBVo3 ܍Y^-ށZ=1NEv5wp'y,/+7 R*xOi!ƭְ0aUҔ/Y|l]i _A,,Cq>[byYm 6;X}˫d ],-ڶ{ ZIʴT5DuB=B;uu{]JՅS5zTfʦS}wu)5v&>TllʉE P mJ"A~W:R__|Η-hkxc<'^UN:z90ls[N /OJ +"UE]wp?},-[%&Xu6wG4sgܫa9=?ǟ(~c(߽裠2ӫ۟ΒGE\g~J1#g<z'yu'/<75#`qϯ ,tW_p],rxqtAy튡&Lx[t6SV#JdŎMP, !WR2Kx+?X@VPJ_cK uX@v j7 \q |&槢Y{@yo'ʨIsUXG%2Z1g]!\C69fOmKcÊbw`UǗdvUgJ}hgJ9**a[0fECcex͈&~ibFVӦ־ѣ.n%n1%.f"/2|('-d$eGf4咲Ƕ/ YGɤ%]Eø9$-u\&2xG ‘5aOMH2l^hFwwJY3mHޮbl{jZaJ;yv08YQyKD7WrgiNp/k=@#4 { ~F(Sx5hн!/K!SuaZ ύ; ,R*i܊jNl?^m6Q."nN"ψPĚ'NJJe[,SwqQ?3:cG,;VnvR5Q@>WHSBU~䍴`Ѱ)9\DUW< i0n| M)G >؄"ԇM~_5CONE&Si=~y8*x3KCƏ*(;dmf(faVӻg'&-|5Wx P!TZκG*jC+Tnbqjlm5KMBc-Sƽu{_ۨ 8_Vz(Ĵ!|&zDr*{ 3 'bcQ.y5bW@-^7~`L#Jl(k 랦3ysF0LNuᒞ3F c8Qt+=u{=Dˁp(JRZ"O.;h]+BC@|+ Hˆ]3Ug_2fM{zlwX$_ӁsrZ%َ1%T-XPz~{{ 1Bj7 =r?WIu]a3Ub7Dvgȟ>t:GR$rXȦ%%d*z|9Wr~)SIQ (1k-O@ cb GTbSH@{ -˫Ş^wGf1AIufw'tKF*'{@jL)vI lEϐ ~<#K+LD} ye|ܹic8Cv2>MDq.O_Eu9F`G,(#GOOPK?_Hii&Tx :;j Ě`q`I;;kG ԥbDzCq$XLG{<9g0o#IJM$KfOщCR"HhT |BG@vV2VNuiM6 9H .̽1?өvbR oLg2*F~prPbRe{ CEt[=.c߳_My& ''=BԪ;ߺa#wH{iR'2n}ϫF>YF7`-de2Zye"* `/u># թQhNj37 6NậM]v K`',ZV,DrJ"/."߽9z< JP0ry)M uyS [|NiKqe=5UK݃>3%+hiTA4>< =fwkޫ;3pBBw>.k<ZP9tC"n1b?Dv&ҁRxKUlEMh,t;O*K;4vF}:ؓ vnxM?.ʣ¤&o@8jB:߻>䂑D`8T" ?\/<첩Yєz&/i v{KV1JG(xw.o>m0 X7z@J #cWl\Z^wp`"R ;/7q)-ϰnr7g!@gr!rh<9eqOc}nJ $ANbEß27YNVh#Ͳnrv=-: ӎY'jmp%6MӭEgaί<"Fpeq~ORx7Bb&%#:ҰOQE&u\֋!`LkƉ Ư{9A*_j $˝QJ?:= = vt'~qez崰Ԗū]K2XiȖW%.o.ն%v&k;Q$Jx:{lQ>)Yݨrj%$-pIa0ܘ V:V"zKO A!zBwDtum}C&wxYSZ5 Y!^dѥ^xF "oM;^z] ]hqk(mJ`uAVyR0 CnRaO6 ̝Ӣ7j~8(LI XP)QJzIz` HKL ͳ?%f7dӘ[%#EP,]?Š_e""9G7SX{Rq,; k )jr'm7|ñ!?I?DB+ =4&}1!JFN׍ Q^MGwBЄigc`Djñ,>beK "WqUrT7suvzw<8ƪ&&RUtg :R1pz ^J)Zh,jo~{PnX뭛{vD4{#^|>*:1"eUm8@0E (̡fA] و]%TN x̢oYJW_īb*Cώ˞(/.!,t2k7)ߞG>V[#5ikg!1g_5mC*kv E9(XMQ ,BN::M}f_ eo1( %#%4q0/ U73^.1ZHp|ܒZ0YA]l6[28䛎{K{X-lf;H8~y;ȍ#O 'W5ˀ&`<O1^՘\g7*j= Z03#N7Pd o I2t91Xnvw$ph$_;zb#LћHMNƁ%%f hj-홺$**wF$4>{I@O*$eϽf]y@ 7Cؤ-MX,8HA,d H3B p\N̠/=. 3x†q,hV|&( kyQ1. ur(|هyiSSRa ل9 :#%)EQpNa0W9c!| {Ȫ]˹[V򪆅1(};vL7SRT}k>xţ7rLߨn9&7`f㤺Tk*/-lg9QyϵbG_nIod녵ٿH_ZPiaFy >9SX-9mFe֞U-׽ Up)ØȤ}CR %}%ivߑ&/m7XU)^4 ;]>+}j]@M4όpΤt=p] 7x ]܉ >H#dK1gwU.P(ݱ)bϢ2UPL~%vw@&M:lk^ХW5UM(naY>-IElQEәyOeEK4~8釾0߭9}NX*\]j.x;HR6u2 ȧ\p1y`BC8F#"0;f @V- _FPftHud;au<#)e[uVswo+EŎ{l?wE\{\TJCj`=δlwyH)WC+ݾQ 3Z+v筨.>}lk[i& = qUepK+=^ $x0dQ=>F?52wM&Y e* -NeZen17(d4@t9xpa@y8>*WT"Zcemq; Q*GJi5/l*VhKmZŎ;qf<զF}w]~}d2h\MG'}{+L ~22rvjn&jn4|Z<# ߮#\ݴ}3 YʛN{KN]&|Cn]2zi+C!g݄ I!6(C;ԟ!Z-,el Y&G]oM3֙M `nq ,/~B%^yCG?d>QBx/L X0.c[H9k(Vbɷ`MI/CDe'5j,?M("<4oe5졕D{-j| -ָPNJ䪺i_Rnn*L J =vˋ@o~/^h׷{5᫳5 }Br+ oC@v["?Sx٢@ĖDٲ)7׃yuz0W{[T_jH7|e,kY$ u H{Ev=]6n8TUutGdMe8s7d]'tI/,~{ΑY%1c%V^od-Bb\ؚ,,*?BV hEy"cIE3@l*z5b'm֥&)adhbCnV$8* {v@`Wce\n ;gQ+-fFsde?84fF> !#"G"8B'RuAI%?N[}7CszOnsg ߫1FiM'xr 0LH@(=gSfuۥU:b()Ra]9AGZۯ;j4Y}UKob$-dޏMHeR8+ve!?s2>D(PUK ʧ-jصYo-F=CMuoA]иuk .pz ·iu|sLw)bfGM=*gWpH6zÝYK#Z ( @8[\b$& Lx7A![{ fE'o@ RgxW _^'+\!q[s'Ux 2&8g#0G V^׼WZCxs ҙCz KT +icsipl=Zi6s9 _[ } t0#?C^7/[O87`><-(tPؗ xYlq3̴[WFknZXv*)+vUfVSZȗwSJ֗Z6M([; ?d8\pyB?˃}v-eŇ ;$x.2y(s t;_; 0w )7 @eDCyO61 'Lw˻gh^T{rzG1о̀2kWe*6 _J+Ґ![ŭ'_]jbTpX>7G'!85 cOJ{eZƾ:n=]ZA7LdWV=Je2!0}c8kCGTxZtldR--*Njk@[k{("ox?ݰo*\Z53sĬtHR/l0%VdH?o w$uB-b\'˅Ƃg # N38/f@MI~ra(,8}{ʠhg4[qwU匴t  Q`XO iIsl90o|9.@Nï$gX.uKk|*G^\.naqO%Bƒ1.^[XՕ9xвcSSɠ`9Ŏ~>i2ץc9(ͤ݊ Emvv#{J%TJ3Ft'Ea6YK,iޓ(CffFզ1i y+A\bd G*v%>Ĭ΁ 4A($8`_It2/ٔ"ȗ^w$Yy`:^#"tGϕf6mOk}^JM_V܌vؗ0q:{z07QAh^ R+4,W$n'♰r;@ /qsdkL% FYņR\NZ҄N /Ccŋ7]z76{ىQx Q9ޘ@2/ˠĆ"Dwh1RrjU]lYr!YF<{c:[W/=ՅGt֋jp|S$n^}qP1anOG˔2rS|IlutCX>&.fيLt]Pg,no I wՁힺ8) F;'tBj&M|Hl5L퓈3DYclkNPil zP);8?IQ{:%e->=xJ{:]Vlm3~yOWT1FX*w+NZwY+)(0567x' ^Es| %sooT[qZZ.c<)Kg. =K듂6tbop8C0a6ޖ-3RG4a%^;_WqbN]ӜuP26$1;Ro\iD,`KoʯɆavH%Gn>zUmqډں-c8 Lnͯ֐(G (hAX׈\ב͍ƺ[ |':#Y 2)ct)]Cn͢]}tECxvk*CiI͋5`9)-@Ǜ:,I5АآIs`V?022/)/@[VNߔ#!a.JeU&-V%2 Z!|Bi-&R@L!y-5C}|#WЩ?kk3~74RqUGZ>~s1t,`}zWOG@靁j`XGXq: t.5h'*yF^;_Ec-8;Kԙ^}9˘E F X~3MJܞt-%aJpܓ[pj P(CjE GDFjjjHVc1NieID= 8x"w_f Ri3 ) Pbo3J,,o[NXPl?eDSro*&㔔#4CL"Í PL b&Xqc',(k}7W J^KM(ʾ"ZYD]'&,S#sFءVz΢=Ջ h)WWAu"#N)Sn/rQ#Г,K_iݭ-NЉ0xTc//t ͊3ptVp6_ye#?iaAUnQgBowiCm/4m)lX(;DŽT SHUA]b_GE;^gKdTlp&u[4B $[A5G#էV!qEmz$؜v"hا-YAVn`?8R\zfD τ0;D6{튌\uL&oh*s߱9>6 k_āuē' ,pKAvdjcZ>YEUˠCG-[1/C$ bz_7aF<lHo=`͙M~ۜ( P!!1,W'5Qz$^0"We>P?C(]ʫ|?.!nFv~"bZ &!F$k2N; ťBwB@晻t5ԜUO"ݟUsAEVgs.p8?x-p:l-4}Q}L3o y\\Z1yGY5 ƺJ17ul8l.,9D-᜖k2ɻzGZULY&lc괴^"􏂨ۄ;6faX.0UbAd>6"Tghd_i]BҊQ^@,})di@wP2hy@ZeJguq u{c7^~Sp^7+FEE5N 6)2_|92U McXYpy2Tܗ K7]8PuegS1t@s$g$!4I}?[Lphݐ._Hr ISyk:@O펈T|sTd#e-N`ϳ{~݇^Oj5_˯i\jI`j2)4Fl\Ή>;lW~pj bAG6|8p@Zx1jyx)Rsԭ5!Uז9L"B*jY܋SA2L:y[*c mb"OC@&TYZ3N5vݚxRslUqW:Ed׶ A򕐴`rߌނ󲟧l&PMy'pbhC5of?l e]+f6V f9YQ mĚ8'qpIQ q|i-!-.[1XY- Y-HOn s4f8_(RNCp-$#e-ʣ9X< ŽHnbأ-[֞ٷpL;}HGGQ ^yQTu,<}GLzZy |댂{~=~Q0YQD}x`=zbm4ܥ(!<[[Pʱ]Y0H&0#'wźtNN>dI6YQ4*Pd)nU'4k&.[Qets5>^F€7T ~8l}W$õfTnN.&qCsڱ'S#!UOBdJ*Z 6lRa\3yKkA 0TjocnV </3N WrR[4LREY 0_`Sb2ס((s˯CuTI"q%J[B Z|Qi86^6bvb?5Ys04j-I`y͏-aV֙dxkCƞ$:rj/)·V[+h6C0"CU.wcEMY͏4.J"BZ~O;^(4Vg_jQT#E O} &:v_ {;`\VZ@BA69l <,&Ĝ>un{= Z%8OØE]X2SggadL-|З|4/ˤ͖`#a(9ͅ|^cYjTe–&Nr Q,16].E<|;7^@op-S:k#a$T!h*ȉ@YKBîvxWXZ^WY_&>:+gɀĭsClDvA;BPDXF|OgRok"_]4eއ 4h^ nI21 Cz>NҜC:WRRMt\ŖQ&Lȵ2/5n}kI%!*ª􂰊VPÛ (nW"ˎ%k.GR*YðyuyW|BWFP&WD(hPcP` h?gBOi1c`1geA˜//ʻވI֍ĶKnvU)tI^^4 iF/Ƃ7:NĽ_ "X94ޡ<$,Ct,Ccx7Ŝ;Km0\KJ!,٨J\9nTc(kDY^Ys#9`}e94lYkϯN͊5M@M9*ݲµ=*%w] ,DVL$rJV013v2H.)cvV/bp݇y+Ԭ_wKomvL &r3s赤\XQRHc3ObGW6f\4(C_R#M0@t1iuPVQ uu_Ҙwc?$ItxMמLlB*WF^H݉3n{]c'̀&TRw= "c=7E&NA!]Gݹ ,#s D׶vfyFxNڇIUFY)9Uf,5R-x @9D{$e}D3fsGHgnB9n{,hϿǽ2팰>W[ZN1Ƨ2tXX$*Jej'a2 @|@l7TׅO܂ԾY:.=ob8}&*\,ib`A)S@QO|Bȵow'mfȘ?v:.=ݣ[sDiU8?j;|wi4'?*;`xۮMXl)|Y6C)6?7iRϾ󲭡5*Oּ̦Bu3cb`^5%ہ|3qPʫ?+)me}]~O! @K Np䎒U[OE48cChF8fai44\OL>L"H i)޽ r+ (sp)_&y?ZUԧmޘ~ >ǰu>>W]T!Cuc9Me3Ed?=D0g&pt׆%8\-<N} `LsZ} 8s#aX 91 5k|YA32b-P?}9ѫ;r;<%/M-Dyu~JJ °*-Lո&o!Cg˶FvPǣ=pj S&{|5"z4uBtL+ZYgp$c"ZsHMbF*c1&5QkmsDm"5o>$&{Hs&(VQpr"bT7 6_첞cbJ9-BT_*(3HL({PcAϟR) i}F5k&1(#>ysLг23Nn&}ժnq Mܶ.G!&k !9  @YO?Y‚3ORx!pdך*7fb<\͈<lFLq{Nz[n#WF Ցf7KQ=Ks$]8S^&"@KX\19^~HRifð|L2SO(]f5/Ѻ:R R~엋궩 hB>h7j? DT0qVxOƨ1ֱatzWTa6,Szbos>R3b#kRW!~[hDK|wrF 2BߢG ;Ӓ n^wgH)nȽڗ8 b[It&jy~yMii+132GD} w"->ތ`̰?՞C3ѧNt)mcߣ&e~? q1pMMӳ%SV1i e3X2r*'-#bo\:rS$oX ٔy-9 0L]`Wvc?\N\3<7h괄P ِ9eFp ]܋A|J ۠7*ݿ2KU6"<#5& ɹ/m{2"YݐAeJ̀yf`S`l4n0zQb➃蕽Ř@oԗMٴ(@z2yۥؤ*m _),CY&_#@4 >G* scf 5!͘8!v `MNA8l790vųhmT/R9WG ^eQ#EIP"Jp=ކަp`[A֎_`1KUe4eVi9oؠ>Z y G B*Q&E'ne >Uy36xrz៸pt }ݓp40(MڦkG7|Mـ pe@-`\&J%áIi}ţ4ַ-5zu1<ɫ+@܍ lcFʹi8q聑<%WC#̒ʑ%֥7Y -- 5Vm$ ŠHɉyXāÒ|Cz;.l1 *tdtƋL֔JIS./W#a%ᩥ72lݒ{H!maWnRU[x2FqVoX^]Tw* 8ugŋ;xh8iG=zutM=R} KV [tv_ X]RLM0NL07M6iWzؿ+ lvkv fΔ&)2:+)ڻ0k* jyo- ;XP@Y6x.g;{H Bjȑ9waŕl8+5$BP66ir^cx Uo97U6%sIDzs2}r}< ;q@v-4 \'N~3V88Ome[I!Sa 2'NAn5Pl1#?VOSqXM}(P3SJ?ޣѱ5 u&LP'<=v6#rZWV ё;dRDç|Rd0 leDyz׿􅑇8h(JH3ѯDjMkF6 W] Zvю-z-s㾳U[5l<, 7ůӰ/͊lE}@ ̸ꑣݲv)9H`Q`Y5S,B9-UЯ{|ԣwB^fBXɻ-鈍'Ϣ' ͪeA$PBXh>W6׷ z=^tC2f ,N~Zh\ P#55dObMi"Ϗ%IX NG9lj ٴނ>#nA`TjNU f03?$l(RUDĶ֭ цd{`0~ 8u!lA654y%i*dc҈8+ƅ DviqZ_=q*j&Fu#KHIMJ]kn4s@ nfkn ℂ.AjAkt)A+!LBuAVaPſ2՜RR<%]E1قR 0 a(Ḷ4eӡn9$xvdn4pO*&;en-~`V`j)Luh}A]L>܅k>T G4U߃D-q%єnXػa߹>F 4*?)Փb3{,w-]۲Z"% =Boo1BŨCrBA3HKz31i8P/UjAlhBDrRD'i5WjȫII=h,t=Kb; C=J֣kwmM3.gr10bcR7Iļ39opndJ]JTJ^YJOkP`c:B14{jTڒh]L~:nXԘDѝ?'(},]Hnaoɔ9 3=?t`Kjӌ9yg/gA82b2!-F{]W@"k ђiqnm;+WTކ"0ZUbP)g#ָ@^G"~j"w(;<SW@>@.şzQ?AЌ,ng7E=e1LT BJ)b6|{b}k}ntBļHZy@rbXٕxN+VȃTz'FABT0 1'U><OF#(1Xᙬ߽G7`[#a,ax|gR\!\^EL +#w_󩂱 d"m-[o"鳺uLjϳb+ThE  ~yk}PӦ5w+Ut\ہxAYM1+8\CUZ@`R(vȧFe @rf2Ė8G:36a9>B^'a@v{u5,6X;G.x7aKf#Cmr܋(C(kUL[h߰XohSD>!IPYqCV^Y/!ɚ6t[٭K4"W_%J bQ+ґZ>Ӕ7I2O[;q "SH[^hKeziq sb\dOY[p, :NӨ!MݟQJ>9 tcďpee8 G> ꬿM7)Pf}©gv{a3$ʻW(+d4Oib- {YlmVz7`( m%~<d˄5&2Ŀmʸ t+ mѕQY놄fZHQV!(MOIcї˨3у4(Ri]."-Ky$SeJK`*2Sdc}ŪWk>zyh=Hb2#ny5?wNj>3)#Cð~ʼ?[-seQXXCF8VZ`?_Jd]pGJR'Jmh iX 䅱c#Xi% |6KWj n r-Of&lCj{N. #_g9Rې6UW3(9+ΦvQܙU %[7[ isjLplW̥|3n>X->>z¦ ;WIL쪤f7W* <.Ol,祖9vzG#6'.Q6Wc;ߗvNƷǹu`plC_Ti ?N0VDgEwcz 9Ȕ#/OT&|}/#Dp if0M:"ºX乸alki㖡Rv|Jzv(Ā6~&Qxp k|!w>X|$oa҆ Uկ+JK5l. yv{CӠkȯ4$A| _jea C@|ϸoD,n9v֬b+=qB'=\\\Qꉣ/B1`U=p}YtmGS/tZ|RZ@q^[%KE5J!QIchG5nq~ &r}e~:9Du8Y`C:ޏN4 !~ev 8/8ы`R c)M7L dC1K͇˭J<]t:7.H|1dHG_ja `d#NI|@j;XKJm$Q̀9楆H,"K4QD7q޶?+/΂W 'bqV%͡o}ʦM\삌б0k ;ps7ʍ&@oiM_h.nM1S6 W~uCj~i,ɂyeՀ&%I9Mjt鬗IBQĴ:8{ E^'UqcEO7kZUҒim ݒ{P&D~' 'H,#{V[zi-?6ܓB%]$vjRf&V<:2#T]ds%m18ʕBaT1Tc㻏2zGHg4W[.*BHkz6Y /Pç@b, [/!1lLƯO&zd3k8 g rltVȢU#U<7 2Gf#-4a m*b+]pz~EןZ?όj|E~s~E͕81ldXLR}cSmFF,;<&͠<*mS1Ts|r/뀳4YBzAUa?_RcIɒO״@秤=O~+ag15sC E1'̼ D=|zʞt3DY/H;Y($ʍQ77S#١0訣`cG s hA*Sv>4!P@F; %phI} vëE2\cӝrc`)-pf!x,ѷ>]7J/j½7""(ðSknh\"U,n~ m&؅Yq1GI]rW4Bk*F?9E'yw:_Q k 7A!o,C#4fåt#ak,;MjGpΙVNYẆ4/yOX61/+N=M6ؽAߝ%%Z1?W((pڻ팖 [!ߠE,<=P%ܿ y/(lP.n̅s]/2d8]fe`7@V >( a*}.~KnZI1<=l9l{ %}',wM"~;UQqU3)9= IOR'+~d *!zX|Kp.6ON'J1'|S玦D6K!P:y}O'39\8E9꫉^ACv?^[W1+#y'eCĀ> tp0݊rrb*eșE4/T~Z5H"\Ka0S봯`pTp >`(BhcDIhDŽSlj;յ6X+RD,+G$sĵ,Pړ!!T+ Ο Ոi78^T {Y.m ޚ@Ā_`8Q/6J 0qJӶhGxd_7ڵ 9u% `ձ  />2di5won)]F O2 t~}aP >m!ǥʳ 4k>P?BMyoc@͉Ax ;!LGt1tN+lKq ]:2G1~@r/ϭ-U_ 6)cm>MȃH ٺa ay`>M&\F^M=,U罆rp2CAΑ0 (aϴ+ͫXjR{B)giOo@+U qeݼ$:ؚ⮑o7oa ]5:v% 1= l!g}52XjA jD~ P"X} ;I7nnt\H 3^(NrK }2toɬX)wh]b䪎!|'nOJ)miwчN5oZ qHC {NCKf项}g#[BFtM`WߏLJ@[Ɠ:$h$# ?P n>VW㑝tr ?qVlf*-*lSIޗL3)2s`.Ĩ\vV̥ƙold_ߗN%*/wj)\6e{@B)Yw-Ę\Cz˭`UPqнExlf+G,‰2 q w=J8疡MK<{,W6`#mR.#L>,QMe*?t]im$ B]Alv< rGI Z顷b1cB+(Q#F@  0t[D1)Hp*N=lׅʶ_$DOZS9E*c@T3 h?˸$@ uzgdCi7"Ѫ$yy/T~8p6meO-zHn~ȗzN۫ 7dhho=Y(`n3r8w=;b0*=B9W}吒yҖ͹?zn@Fۂw֑s7`ox~۽kT},K uEx ye}Ci` K@]SZ6Ha>s剎]g C$7vi|WВJq΍>.H!^=`/ӶV\;<~qv= Mjs̰"f>i1M޸&rKs VE "L1,& s4V#P&-m>Dqo ۔Yt j#rC93M1JjhZ&O`RX:~Ax~L3\4Î ˤV_ԡR3jҴq*^vn_ּS@ön"Sf!,}%2eBuBo}U..Xu-4J+dRhÉJz0sԿ!Hҟ荐' ZX9?fIJJ}|j@YeeSby9LL]`M/9ĠVa[#(Bot7i.ľ¡6> @" A3Z@$~|TOغKDHA{^S+1uk <;(^iՁ, <ӽTA@V}= wQh 3q$x|x"Q%l^=o0AlEJ%K/Z6A.Dc@[h'T%1H4ds?N)Li M`YC#=[5G`f3hev!g9>.:٘D&J:Z&#C ?e4 qANN0_i эi0ʶT3V./doҶv,8Y$׍IɆtx = V.m_U#o J||sZP1npϾ/% -l`^cٿ|Eӈ@# EjeUyk-` zdFaQ`4iwYj̘[򔿳噥_qY8O+G0AA[Ƨ Mٕ$žBN!@-$'2;X"t- I_t8:0(k "j(_`Of!*#T_fLWbJ̚+xv;zZ(ug)?  ?luG mkhV1s\\U#Nj'eO-<|9b&3хAEAX4,\4[mz(w*ZT 5 ܏4Lk6 C+a[Y (i5\~[>rfgc^Ch$OdFn<"I}`.8uS ?@N睑+>}MI ܂~-#6~^}`K8cxn1.gAu(("0#)A|ϫv7xxZtx[e"4׸PJp$!F& śk 1" <S8<Z;ǧu[@=ׂ˚H9qN'5\ G ]bgOC+O,t3r] 5}ZG=.8ܸV j r1M'/b&2b5w՚ʄE%}>,CVFPjip]ĈX_>>r 8x X%b4爈URzn|އN0|eS< Bi 9X@"W 梅x&5#{=MPv 8/*!8e$W>7T y7远֣t*vfr&p(&^"$˔n7V, [&j?16;nX=Qs*W#Qi?>9;WpE#Aqo tHuKۍ& IXA>06;if=t[˙IpeiEWbU!-ҧ̞4V"c&cy\a P#\~X)xGA Kߧ~Yx֦1. 02e GH։*_QMMܰ0X3M8MG36[+Նo:hJ8lIY"Oxe`h/_Vm _kmī$=f"Pi%Md%^;]@DssPR>SZ/By |pz^q7 Ht]4A(R%ƖyDK-A44bB{Wf ֊qT ITC++Z ^9 r9$zy~V[ԩH΢ӡ;qPSm |w~o_N3r컽w+_"~J#y]my'Djn7׾q)PZH(Y; <Ie7|z2 / 0Lמ4o:橒7ÇK%>I4ө@+Yvz̾ZrT`!wO0r][)bK5$2gJڵ;A@Q@A& Te1(1 OKXŎddVcW<),K|omv:[wBO?@jG[c 28c*zu, ܼLj„#` Nk}+UU\ G1֖z| qu-'LuѯOtZe ~'267#'Έ[ڷbcs宀f.v;$gzM3L5􂥳LB`1k㰰nDN0hv0HTт06>X~ ÿONJyE6SLZy+=xuz1F&B3[D@ R(G#eE,~ ij.F}WN-T\ d Q>CoZlJ|q~<|<2mf7,[芝y``4rL2ݏ;Eq}{#R`Y?ɆfKynf r8o7̏38߿l>@պ%@s(!LF X (4mK(L3dJI#ʐKݻtӷFrb .xxrQ&ۆ/vP1ꇪvE#'&ܭ'98oOaRjMlNd˔񄏓V?pƨ}͂Q£5DV\fV~$S6/VݛPRYke7r"b=(H+¥{o[W/֓g4V`H5J? UwMՑ{I)~cҫqi S'eBۀ lh|n/ 2U$)( -ͺuw!|u$|Cs4O_@,mC7ѳ3#NJ ,Jab!=0leXJ3* 6KY[ XO=daMO"D5&&:PC]f^p]٣H&J尼e63! Ϋs!w9-"68K~Y+ 9n>zlM5xf xABřd$NO9ǒNBɗ팸-zˌV=[4"cKm2ZAχSwp45ʚ(^|TemdlhǜH !]`[4%ҋZߒ)muWէe_\ҎBV2ʄ {;k^Ua*? W eUnǬ$os#z 6=a7-LEF-p}^y#T˺X>z̶%9]@/"ayh5>](oIMzDxV(I}"ITG:&xnuV!NxJT,i" !7Ӡ]CC wOtRxFn*9o=Ѯ1l &Uaw^ v)oriaV=\1:>wL4dBaBo-̊p@]u؎Óc,!&KTs:W0";ؕm=oLO ;.(aS0HG(%rC+r6A}¯uB_o3DV^zu#xyF49L=\  ݓqP= rH'pے(g+6JW .hRz]mْ 9>)s+1ť

s{AZa*Z\=ʽpux@gII(O'OPPAt}/x`c36uN(*}*}fzZV2;E+C侈&bN[Yk2wעf.@$ 2Γ/"OS8W>P/<X(%nLU:UG "C;6\zr~K\,*uؑh X 5h7[3Q7_t>RifS e8y|MxK_ ΔR*?Y\KKQdS64Rc߿{uGTk\U{OIG>c!3SoREJ"GI;*r}bچE:թHע?h^ 0j6/8*&pzS7oA2Ex݊VlߒK /B[+ήxZL7\vd JI/ pyp:b._FQ~[/qĸitj; ?O= :ˡ4ij$& |5p+ |yTŧX?>a3)YpĦ>)[UQ \x6k7Uc0 qA<. AX$3p+=Ɔ({zrwXjaަuV\etd;LqqXf#3 Cº >g YGzo.gLKWwPι2>w#*;XB 4F?CH7봉YQyR {57#!(R~i'o {=C߾K#sxᣯnNG+ -)U/ Ud:HOYa(N(Ա \u|<fut: 0&Gi^iHSΉLF[D`XOkp en'ut~6yO8}p/+}czkW’>{?A&JǗ_Uh ~G+Τ4 aFzŝگA,Su|N[7p|hR41.; b3WϔOl@cVv&LprsAr/_uo/>-Ǽa9GE- aRZ+Q~0z1{F%D;l}=y:\DOZ퍞ӟCzݡߧp8g :ӟ3f<.E]kRiqԪ)imZB Q;A@91*?f{Tetк_9į}ƥcw!:l*ʽz7xIE:3Ԗ0A(te_r€tF{BB[+$պ- qhS&Y7㜼YӀyEEr)yD[qc:?qC`:u]hYs(scO|"w/'bFT;n9J-*Ju7γ}$џ H]Qd5l Uǽ6- TH.JSu6֋&<1I9d~~)R\FT"T(!ש~1}K1'ʴnde^ި,Ҩ>G K1:6}1?/g+T/-]Z}r7Sb ŝ l2^ \{rQAY~}/XT/v)'lh>``S!ߊ2LNВwBgƑ Z2;o5S2u0|Bԡcu〩ͅ|d]579V !d( :󃴈OoC=`{δ$`rxӕ8khW$՝L_`^|l[7R*h "8|́dޓ:䰽k2)5V\ʕ;Р^,e*qa)2]2OCpxN؆ - Tb| #=ջVu77dz?3@+cʣx"8S'TWB8 e8lSzyd,޵Gb=We_n\jAi{~M׏di6~6=HD(;0g)94_CYOD0iɠ%,gacOSry )OQn>m'O wL=(r]2a+!2-j[%85Y8y3a-OݧQp;>π#9)+f8.s. |aߊ`|̱{y꧈, w8 Wcus jD%5)o5ta'Ze~1s51l#U^s4ënĎxvM`RDIx0kE0BYuOϥn`O/tmdMբ}dmuT)$s=Vf g*4 e}3C!>(*yRBq}PTtem_)rPAz6K0|wc,Ty5^̯3)|@ zFg+{j;C,0j ^`Nm7]ӹp)?5?濰XWq[./gQG+xX_ՠdo=5NG< ,5^`{Έs %F>Zh&µee4wW݈?6QP6TS(Ư_sFah0YvEOl-G!{l9ST slFŦnsj@SiPWZ)a S;^J֟U迴VơÇf(>G>Nfg(hWr+ woK#^-⹟SXxVu ,+Y&K%ɞ6Os|1P*#ԨJ:z(_qvӳ xC[%IIbxvN7}F&2•'5WgVFp'+KGCЩ=Zןh)m;6ܿT $ _kvp!:AdwAx+fCA{֢X:Z6(-|8lh67Sr~: 7RXɳ}p&Do4:1$eR5 aU`! 7y/`]Vy $qc"9:&Iۙj߸j@yPE˿‘-^!w~*+y^VbԶȿ0V0GnZ. TD!vӯa*eἙ>qw9 v F,¼04`&dQTE]0C3ݚ`*T7۪c9N='7GQ3%TI^~a>LZ&Ymݛ=w¼f|zhp1 Xj w-#jHlfaZo"({.f=:c]x$)AӞ8L#K8І8Roh0!@#/Ȓ@hy\Lu\ݧUTޯɠDD v.=;9}&:T>fX=DZ{J> +!QĀ/J8*='i]NbAT(APҕBTe T[k!b_iv?GwHѦ02"RQ$Պ;w!^D~Thy4¶D&,_έ{+vk.5j(5D{ 1#j̥713%_dNmSSᷲG$r}+Aߐ]Ѳ[=˾3vv2#~(]VL Vſc2ފFseSWefԦQӝA0'YnL)V8Ϙj-2;X9!ƐS^1Shً!wv4)I{s,u$"ӈE0S8[Q2ܝ1]/eW=֪Z1[|w|&&;XЭ$ $S̀C6gKy[Gv8 W`1-y dF0@Zzv6\Gi2X>T[R8v/WtBA g3y;۔RGU#^:+M<~"wW -WhWiё"Dɨ852ڤeu;{]OWbBǿ"N_5Pv'lG :>ڡ^υ ~ +D_IJ>,S6bSxC'nss$#~"~x )d paaZTG(ge1]bd("}*jL^վ-u$ݑ-*Dޏjl*;-eKJ"`˃pk+?826u 6z2hON m<']Kڟń{F̢q;6G1A^Y v(mW(+)ܟjC jdwHUV3@*4D^]7vVoFИQ<6;RrtUg?L70n<$h[\+H)d'4-Y=E>U Sߔ道~L0{OM93G9mo0) Z4:};n;Xq#cuG<=\@o Ig2\&uf>颷^1\Vb;=^ױs M=$io1#!jX7 `SXj iA0SĢee(i,+7{dzQ&) #BꀠN@Z?efB4^C_A6XЖohC>RA橢=p(D6"̈́Jw,MuEBXtHؒP9S||N^7 \COϦCqqK|d-ŁmM+)zhIE o; PYDm5EaqP-o&ʻ&iː6gUAB(V/i05##ڂ& -TsygʘyptWr6pܒd901'xBbj%Y/BFv:{!ӳ,.V"8F%eah%Xܓ ԯ5 :{̿f  evsKo3GjZn,Kׄ:kGIu!@YhG!?kG|ӵ \1f[<\&VWI4/<8Lu #ѽ~bV(V+]d:JKhdF'C ݠ+NVSb B-z^KAߘ=B(z%Z]3L%xhؐNyn2tҿÌ)$b63 6AeS3/JJ"UB4NIQ ىܾ&Π1tE()Y *f->p?] >QQ=[oxinRd1dҫXLkU17iW>ʉ6c6(<#{HwLFf[4 h/dOZ!~B, a ׌E? ًՊpyv@whb)Jn4!Ko*Nݐ:(`E CezgFL#$ggDn}ZUjG3 &M,w4$n1.u5羴Gsk8qj+w6 wnHh^F#gdҥ.'G ûs jrݪJg~']^w>䧞80^ ꌲPi?P l055{_4J\D@1GP!WK\)sWwZȠ-'s]K8$azqLxQ~!#>:uN6%CZM;@IAּeՙ5 Ⱦ*z Y䡿?޾}GPUTv{q"\)[qho)R:QWTDX%Z 2\l+\}˂k /AC| dQ"5]-H뻠,P#tu!v*52bFQ74@i[- EVh^4} <0:|4v P6WOFNɯNg0 bfJ(ub` Mٲ7ߊÇdLf`Oό]/墧N+2j-xn߰F F:g"pna!")oxQ4aMuzաy&^lEV$\guYTG|%U葉є_MXV`QO$S~s[ `y.) }-sm!MxjR.Xp}^5$HH.ZHa8 CP>q=~.$SNM)Z(TQ/VxV$.Mr84˻  *>n]CySHHTY(?z'i%o# hoX'I AT[{͘w4I;ˎ:t@ sp"byq 2 ^G+m2BZгˊOeC?w83}kEah,MT Y!VWƿ3j/euXgm[*.0N<?nyE /&8kC)N P\±x+`ܬ6\"O5>T&"5W_kXIx!f >+O>6Gv #I:cV 9),U3= 4ӘtOon7أVJ m=*:p,GՃm^.JEt3F^$/2[#tgw[w>U[f5 @Ԡj{ID's/qWy4 Zz˳ZN:fGzҞa!'K/ #mClpRFetWS8iOڸ}B>E<{3iTϿ #!l%+yxyXEt1Y<ϴ\?`JIr hjy~mb-d#M= yLPZ\V̆=^B>mi =R"}fk#FgJg複=sH.fC1?vBcC()dQ,4 =5㾸Ϯ3~HZmGFę${ܖa)Dz9j $q( Y1I3A,ਙAZj9T93|HlT!9`EpI9yݕ;d`6Q"=6'. <1[:iĬPp~O4.e齺hcү4 6~Em[4sټ/u\+vm =,ɶ S֙3|7 =Ak7 Dc{EKW4gZ͹@fړ׼ Ƚ=AB+d|.s0S_U7DTdϳ.S~OHQQQ'q*-acSe#-׆7C~EHشe+Vdb:Bs*9}BŽ '4;ܷZ_BRfZI6;K}Ö,ZĪޙ6 cSu%ΕOFJ bMoðTh#d4UAhQlx1WfΥÏ:e wL"TigQKxP?WFOm?ٱߗ vk /P{QC}>ՒZ̎z7w4'59<8v뻨[tXs%=T&>O24Q|x^ X C+Xx]<̛{%o/~GGg0Y'=t* ,U..9!J]PI @@+]6O6L&1DZNG \3ӎԪR&{kpvV BCDfm[lY|rʘ{m<#}\B :UlEn-ژgm8¤m2,z̅6›t[fkyq}ƝU]ݤNϪ&5+ Ӝ0 1^L_P2YYB J~5Q gnQ^_3cv*%N0qDBD)r72D4<'j=7f1+>ohKjуGoc{\œzՙdՓR[H'pW2?􎹙7܉2ޚ@ c' bp*>/ښ@͂|_RF?vIאE3 %K { d3$`HCZJԙU_;7 B a8AyFgk8^QUi|'7nR5TܡuRbME3{EZfhƼM'L%ɢ{rkA,nb,dͳNB*4,sʓ衴<DZEλs'Lԙ eS)߬WG 5r")XTw@v\ (^U&Ĵ!jǙ͔/Ɨԟ\֕2b}_}-@S{A^kgZ!dXz>*Ħޏ'逸 }.,x.C6>c_qꮕ !p붡qfϋR0C-͸ӳUDqy$Z"$QZ πaacL̼o9X26Q,{^mP<]iÁg2Кtve&Ko+IIΓ^$SxMkct&=A6Nd܁x:ƘNrm<x8 F}z~I7^ɋmD6 fܼ00 PkJt 'VSRxJ,p@yr$hٷ/ȶrw##J+5΂7k"\t650{IX)nR";xjVd3(0`޴.IaHlqr؛O؆QX7B7H,jBXΰ P^~";@CA7C*I QaBDYʤ [u%rcCO:E6l{;kI uDNx.c۾!x` ;$ZL&8-Dx /i_:{&6? \sx!/CÖt04~( дP@4W[;| YTWU_Э([^EBYߡ=MZմw]2ퟠQp;BPy})Ov׏9m݈Q‡Uq|l0@(BKOR(ָ15-b.dvΪzV:4C 3YJ_%SU$o6j@eU[9=POBʰݏvѪNZf?PR؎,Z2ԲQܵiwTۇB'&ݓ-#>L(z2bW+5k)'njN5<ߖirR `Gg<.l;r0 Yh/i Rŭ`'0H/֞'RӰjad%ִVW6F,%bw5 >_Xb9-C2M \}ix*ɂ81N KuҮӻ~a)g_~x#JqCxu$cVQj6vSQ֟<ْ`kyC>AU)SӉUwz6n#y2?n% AD^M _`0c4R)Dƍ8#,LoN3m^;\A,2019#wGY:z?Q""B=|,#Av&Y&Q" ɝ-`"-QO{%꡷ۦt 6Onh3h\ѧ !o PDro9"[F".7fDٲ-#!$0ga#̀2x 1E5ƬoЌYna8qTrQ̸>GBd0`*҃ -evoЧ8FW66 gx]^%ռxUqEeу)¯jY#E6bm5کB`[6v)a ރd[770~*j/e•V~+ZQ(}+3gd1ߡ1N#?M] l%6!0|bK]2AYM6o)0M{"f3yK.窠a_QLOP<8j m/ЬAd̈́=-in*`#;=xmoRN fzٴ`5I 35e5C(9ve]@l2A㧇bO欄Zp_WeҴܴ_ D,s?;%J"ZU-@UN>;`cqCVc\rʘr\WA3x 1&)ÝH_7rIu~Ȟ!Wc9eWM9=ulv`55;=/KLxWwC|IG`^ a3h0R*lD"Az_"ki95kDl3:6EebiE\ 0]&Ooy>?VW7{ux.*@ A?fָz_8 sm)gG(p%x#8?!VPn389Le>sLu3+ne5xU f2̯xS_^φ7|w:ؔYYH[H): E RKKXT\:b/ygܚ(ljB'~'|Y ^*̤gIߎOl=eRUz0'~b@Ί m{w\|=ԝ?M V=$_qro2ƶDesWNBPh̄X~3iJg/#qͅ.Np0fg:>*4X9n{៻rBT-lz.:?m2ZFz$$=p,^I|V`biU vOLAlmf&c$FD,rNIܲeS5Ą L, jkOXഀa0~Zer) {qB?@.kQPק'[{-ӝ]K !l8˂&Wѱk/oϲbUKo QT A)y}Z\TɪmFg b9!$ ̚,@Hwu[kȂ+,ۋz^Р¥F:l?&^>?7cCGט&5O+pA탇V.^F-|gᜥ kO_?FXO޾+q, D!pL:iʭбZE]MAm; x1Ng6/.%㞝") !$Le O67_֖Y82LA,>rB'{b:. 3GA}?Fhfsc|4^AYݙUkOe ߖ3Iސ72[շ,6?Uf/Z^hU?. dyKl*mTig՞aHD^peYQ'-yAy㴄 s;[`Q2”2_U3mmp2McG'vOxL3d;i.{Gk/>/E"rP+s X{~w[󷼥gWM/ yZMAf"zIRf8ų9TX)kEv6i{g8ҢTw9pT4~@4nt{< ozi8I.4@ :m|$%|Ev:LJTb Ƕ%*gQ qf](9F|O7Ҝb¶!㰋Kb%]B/x#Ŝ|8l%ٝ'UksN{5$@((iTn2m [ޤOV#FT{c5˞c5f3n;ۼ4#PV3vu SJ(uWҳ\ږn<<ނ:tLɯB("f @j>H*[s^ ҌWz`=;y:~>'w0>0@Sɾ)δ<,`~ ҇ml ┍a,f-%#R9b@@uhXcw砌s,|JPE 0ɘZ;{y@+FhW{VXMQW\]౺kܐZ9ջ~vF:B^ޓdQA#n[5"t&@5!5Yp;@AYUc|\`ypQAUWi/޸T4jFbgDŨpFҮh8k+OE" F x\c߅tweލ,Y)u1M+ DyWӐaԪ3OU-K?T[$Q,ЃOօL|e]C [Yυo5!ڟU %K.x0rj/ʤg߉y..;T<}{B` / /I.!&=x 0Yy)cYО8t̬e25]0pnҵkIM'h!_R4E8r\ -V[۴f@Wf9E=ZsM,L ت/\iȝwV)V34޻شJc?-%T :PH`!\/ˌ?{%H{;9 `ւ; @ мMXHN߬k3[>QE%X'f[hCp"B$ʷ! رAC'Zc9GQtvEmcRxYmi3Ish-\JO?L8c/"|QJš@̃ Cfd-%wNr`$b*wu<Q*wLœOr@svşxȮq 7G4o9wA#µ` T ;˶MNuj<=q _L|W^f9 q8wįN4ܗԷT^$oɗ=ڞt?dőܵ殜kxJi\??}[VE ʀUkG- =$B<@75(hGw/Y^9Nk00 •.Xƭ!pm*xWIra.mo@oo0fnADVtf݄YKy!@ 80~RaET,iɷ7cHeW%~[b_|)AHtGB^ha@??SE+9%5+BDpm?#p3oۥ6"@ϊs~CJT'lqq 8FvwSj*~@YoiipDCځG\M;&T Ɯzvz%5gq˄ 4lDabA;Dl |]?עΦ3<-V 1#:ޮUh9E/,ˮ߃gIF>J҃oļ /n?/ 2щ+y]_Vܢl<قZj L2tةxFxɈy+`~)%.̈́>U~eyTD7ֲoWц\X@i⯮)6,Pռgh_*jͪ\"g7~)-A[@vڛAΥ v6XJD;6zAY;w'1Yd+ ֿ{tIN˶*kVy[.Xl%YL^W)&Nk6tԀB,(l!PuHf%MbE8ftyI0Rt ڌqL?"vμ\1$:?<@.h[m?<+ڥUXR^`Dz*AKh0apw3~XGluFBOfek"CL/X@|ئ708[ib &˗8:ca6*p3x-~%Bgt,cqPl[U cRC|W:IuWʁI\VS4Syn2JVX2c ))B)Z|t\❇ːVoڹ߫=A""";ře5B\IE-SEy!Āރj< ҟ&74muB-uMe|S]=)!T &qtf+0U|wǠfّ4jN?~F&9b ʹ*;~à=\bb%6x>y5>+{e&Bإf?55s12@8)9=:XJ#ɔ! iZW3Jj-B c@L?^͖ïLښkOatp٬'W]shġﴆ1bb_+؛/\] KH [82Kh N|kpSsҚ C3%ϐCrT+&rCL ( ~ѽrSIu@P[YaJjffoB@o Yc x&Q^(cnCө^eE>W_&1h8zuцb]`ي"l yބrp@ X*DeBԾ ӂ97rW)A)jEq+g#\- JIfV{įe`e -u܌p.Ȏ$PE)r/j˛dɘr skoh2F#%Zܦi*jH=37^?mYX(0/iq8X=ZuDGc;xax*|X%IЁU[&y]|)4aa׆d P̹ދACʁ?-n0݌ApsLί}>@X؛7#Ax>QoU8frSx|qBCInќx&v^bQw G37ox4\4bR1T-va]uvE$>BQU7˓ A!J LTG^;@Eܑx«Fx5_mG^z Hp%3n hWi3rZ$,9qۑ4 JKN4.'N(J. RՖ[ftXLG4R `Q';t~^/H YO[ގo.M6Z'w17N]dcljP`Jj(OVw37uQi+| <@\eT?F^bZcT  k,p؛E t}j:-X0&Q,2w{GI3w:OUFcȮ.)&5NEItEON-? em8o/x@@%F> X1{-ZΞ_]M`~syk  P˜vSH2]6mQ[< N1*p/.Oc{&;+ "ЩkKStvm+/;:abM;~DZJk\̰"T:A[Q 1RƗF,1Q7G*)FmG |I9 ۓ~؅v<]黧)H~[b\q&ۍhNeLC -I.'anҎ6iGX"߱`Qo`'K|f/Ry @/L$q6INr_>`OՆAt]W76"_'2x֥,7q(ڰTAv[l֏ugFZ6[=|u U2AқELs)@aUn|=(r0He4fаq蒞U q+wHTTrse^sK+ @۽`S^AVI]U(J7;DV]V0@}|" 2"2OFqM[fc㢆-M(6 `pI7S}y<{6 &%t[2-t2Ɉ7ث6:`΂2 D'&aSx53:p` +5NV1o3eo'no#}a&fsb#ͻPsa\Y<͝n~VN_"!^>YzY P왤l 4W5mh)Wb 4g:cؘ K' Ǜ9X* v#ape{;^Ib62OAA9n0ւ-^D%G);bَq| Cn"^a[?WnU#.v qzQG#z(l{*P{bᗀ/]kv c⒐;'e4PR?(GR.R{r: tZdpQ"NϚmZK,DH ɑj*3jxFWP8D@7Mwq0ӌn7c/RVK^Z) B+WkMa1VacJG,v"kxcq8I"/5n $Klqy "&eȩ$d:LqBGH3S*WۯU1nc3=Sa|mDTC%<bn #ឃ¤G 䰳!RH.Dc*?޽/'~5Scލ+]"  /w6 !],<ӣ zR:XWj'O|0ШP+1ydM$fiUutL(zQĆF2qP&MDIVf0zP1mJGqJ,aҩUT M.jBD\$S;{Wi+:5A]}SvN٢zï[Fm>zG ю,%"Xh <"ݔW>֌Rf`m^>13Zw3[>~L ȊeGa_={ͫ2x4Ѯ-X~H(Y(2֝l0lz cM nF6]x^.4H61#t9& ~d$BViT-l?IqRԳ>CNY"pGk%Wk}]YΔT4qgAϻJ/?;z;CЄ\)NC/]cX@}q9Y`O\"+cA& k>V$ "7+~! _?v3|fM2"/E.NKgFLfUH".su^ 'Qpҗ4j_v1JeRl ;`.s5^`bJHjvLE$?'o41]v»Ǭ17@ u6F#Pf뗝hꬦ2Nm7Wr/˸0*LPzSj{f)Dbߛv MqDyNkhr o|ti CK$3f}{BV G"QyTiMk2bjm2I rͭ< YZ