python-2.7.18-150000.60.1<>,g ep9|L:qFNZr81e{6YP${ ],Ee 5}F sA~9GگS G1K'* Pb7&F;LwwZ$~SQ\UvԩEZ Lެ ҪI-a > YTLEN1@>Z d|`KغBr\+@skK%i:nO$WUѵubI,5ɡ~r=BpՓC]>C?d   / $<BL    x . /,1477::L:=)(=j8=tj9?j:F,j>@B F[GpHI8XYZ[,\0]^ bcdefluv| wx$yzl|€†Cpython2.7.18150000.60.1Python InterpreterPython is an interpreted, object-oriented programming language, and is often compared to Tcl, Perl, Scheme, or Java. You can find an overview of Python in the documentation and tutorials included in the python-doc (HTML) or python-doc-pdf (PDF) packages. If you want to install third party modules using distutils, you need to install python-devel package.eh04-ch2aSUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Languages/Pythonhttps://www.python.org/linuxx86_64>t00 PP,CII-&22x__K [[L ``=IPPFF;&M"M"66U c c"R"RK#WW g g g-77;-- ""& w w D D `**@@  "/mmOD==BB>$;;`RGj8 v n -8<<7&& <JAJA:OO;`X`X ==10AA큤A큤A큤A큤A큤A큤eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefd6c6e5b098ade0aa1b123b2963e56728eb3619754881baff7fb10fb165becdb9fad889ca036faf0bb11aa1a1deae79a95ec3d2a06592d9e988800212d482ef49fad889ca036faf0bb11aa1a1deae79a95ec3d2a06592d9e988800212d482ef4abd3f646419f3a33f64814342bb894047bfda3ec695286aa2b07e340700f733f45f23efca8f638db55f45bd927f0fc551d1c100cd53787d5d1395e630534237245f23efca8f638db55f45bd927f0fc551d1c100cd53787d5d1395e6305342372fa3f60506840cc9f608d660fcd6265dbb22b53362a4bfdd98cd9c988769273083b41c22906b043775620f8f347243a9e5e54ab4b189f6e8b89daa4019bced8df3b41c22906b043775620f8f347243a9e5e54ab4b189f6e8b89daa4019bced8df046a34799e33a47832a21f34ded777c64616710f52cc75e7116796442c05cd43f30000aa2fb08bbd20fbc42585f0b2c6127a80d51bbb8da357d81bb13c0593f1f30000aa2fb08bbd20fbc42585f0b2c6127a80d51bbb8da357d81bb13c0593f1228a008dd77f0bfe90718c9577fab61ef96b7adb4e608c5492385cea0c206e2dc072cba8e147ef0ab1b90506b67f2bef41ce0f3e6618dc0a7826c420125ccaffc072cba8e147ef0ab1b90506b67f2bef41ce0f3e6618dc0a7826c420125ccaffb708a282a1e9d211cccbdcc194ec3c6f8894a7e9ae003806b933f2c0cbde5f23d30efa7e34a425a1d193bd962fe35c7c829fe9f3d331c2a756813e0aba6e3f2c4a99d7af5394b3826ceb4b4260e878b7e25c4d62f02b908c15708e9890ab3e01af71194b97feb43ce6583f4f2fe8f894d8df89b2565bff32daecc7c42f7b0eef4eefc48da9d067705d0f4cf034c29c978a50e45819557ee3c81faecb3bda6c524eefc48da9d067705d0f4cf034c29c978a50e45819557ee3c81faecb3bda6c52e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85568edd035c9004cd87b29a9b11701a4bbf9d5390f281dfcea4565118ae64ed98a68edd035c9004cd87b29a9b11701a4bbf9d5390f281dfcea4565118ae64ed98adf8c414bcf1679eec7aa0bff235cdf98829730da9b75ad50baa432b7ee87d2e4e5466e2bad7d1f82c1c8996f19a658303d0d5bb6bd19513995b2951708fd5effe5466e2bad7d1f82c1c8996f19a658303d0d5bb6bd19513995b2951708fd5effb379c1e0ea1bc3db50745e3700fbd617b58424ce07f96dae45ab79ddc56d7b30b8a548d9c9d7d9f1a8b2092e9eb7e424ecbc14cf9ae5365b0fcc8320cb06f6c4b8a548d9c9d7d9f1a8b2092e9eb7e424ecbc14cf9ae5365b0fcc8320cb06f6c47b22ab3d374af60bb0eb9693c736e502b0e530263916c416611fe5ee8790e3cc847f5444da708a56ad3646f9a8669916d2c16d98c4d2f6276f05215a37a37da1847f5444da708a56ad3646f9a8669916d2c16d98c4d2f6276f05215a37a37da12b29f5758fb7a2b3e876794c563b53aaebb88529ea40c6374975be54f83237b8e56d1c9e0e53095982735efe2f417f255ce2262d3e01ae70eec20f0a90229c42e56d1c9e0e53095982735efe2f417f255ce2262d3e01ae70eec20f0a90229c42cc530147bfd552b8ea9c2613f7956de578196a3129b01d73ff50925094af826b8c57f4f4504a7e10d1a84e58839a933d9fe448d410555ea840811d1bb484a8be8c57f4f4504a7e10d1a84e58839a933d9fe448d410555ea840811d1bb484a8be89bbcb75081406a2dd0d728e09138a21f469634cf7aef1e5c55f2779a9a6b763a96609279f72e6727ac31ef2b9142b42fa2dab328dbb4e8a3461d08b38790c39a96609279f72e6727ac31ef2b9142b42fa2dab328dbb4e8a3461d08b38790c3908cca8469491cfead102a6bef69be1afab7529e129001a4ffb31433766a4335dcfd3ec80b312da23790db3d1b2b573cc1729821be340d80e115a3591ff3d1595cfd3ec80b312da23790db3d1b2b573cc1729821be340d80e115a3591ff3d15953f207cd262365b5c64246a76caf4fe319255eb83493a0985976607440c2c19e5644222d1abb86c1fcde8e735bc0233c29efe1eb78f709ef4773e1aea6b466a79644222d1abb86c1fcde8e735bc0233c29efe1eb78f709ef4773e1aea6b466a79ef974db90bc549f14427a792ccfd7c6bdade19f281a679e2197cb18f3b13a811bf32cb34aad9804ecceeed3dfda1a89efeee149458ead4574e0d9bc924ab2e69bf32cb34aad9804ecceeed3dfda1a89efeee149458ead4574e0d9bc924ab2e69c6ddc76661905a142bb489e72a19bb3c4ec045b4193656518acd4430f8ecbbdc5ca5e60bce602ab9fda3da3fbeba1b1956b5368c54983f81a4d936a3f920fe9e5ca5e60bce602ab9fda3da3fbeba1b1956b5368c54983f81a4d936a3f920fe9e4e721a412fd4561c75485a1c4cf11262aa5d82bc68bd5d984629b62b398221d4749e93415d361f388b4cb81bbec3a137aeedfe8b2a52667f2f806d05d7b18b8f749e93415d361f388b4cb81bbec3a137aeedfe8b2a52667f2f806d05d7b18b8fc622e4e53e332adaeb9a9ecd06f109c319be5146eb7de4b95c8bedc72cd819fa103f8fc1251758682f5cfbc7220315ca611ca65c95da3d55e4bf81d352748f78103f8fc1251758682f5cfbc7220315ca611ca65c95da3d55e4bf81d352748f7883f7d09faa6a85a2cfe48f30e75252019da7356c97f5ff8a50a3db246c55dcff1e217ae2d4962ef08000be73c39ba70fb58f2d90b9297a4a322e59e4bc4b15911e217ae2d4962ef08000be73c39ba70fb58f2d90b9297a4a322e59e4bc4b1591832dd1a240df8ab4bb34d8f2597591f614a5312faa4a867e287ad4c7bf2998084ad1e60f9d7cc5a4adf567e00d2cfac6ccd964be7c2bb64517602b3f3f1b06424ad1e60f9d7cc5a4adf567e00d2cfac6ccd964be7c2bb64517602b3f3f1b06426ff2b127c2698dc1384dedb8b99c70d305bf7511cd9a51be1a98c8c97fd23d695e36af579f1b3930e03dbafb9c210dbb7144f90284f51fb3fd50d24d084433785e36af579f1b3930e03dbafb9c210dbb7144f90284f51fb3fd50d24d084433781c57c2ca2176e7d7b88e983a86cc904d22f480ccf5f124a213728b51a961e9434ebad03831dd8ee2e190a2e0d4d4ef3c1730b41e20499d8d0f862538c27cd7dc4ebad03831dd8ee2e190a2e0d4d4ef3c1730b41e20499d8d0f862538c27cd7dc20a74746b7619ff8dc09a2538bef118bfcf001908524d77d9dc8d831a19f03c9e5b2eb99eb006f5f09275303e5efd2f976beeff7caddf351c76a14187a55b192e5b2eb99eb006f5f09275303e5efd2f976beeff7caddf351c76a14187a55b19299be4f02902c038f1558b7cb9524bc4b42a6564fa6616f070b718b905ddfe62d1c09326ab0f32ae5c0cd0e1caf9a87b42e12c8743a52a4e1b694faef4e1eda4c1c09326ab0f32ae5c0cd0e1caf9a87b42e12c8743a52a4e1b694faef4e1eda4c65f3f64e35c9db4f85672bf2193f645ab2ea2d3649bb28eba5d83e6a3f804d4f89e604b3d39b3372fea523384b66991a1b9ff87fbedc691b9b1fbf3b0e292a4589e604b3d39b3372fea523384b66991a1b9ff87fbedc691b9b1fbf3b0e292a455915ab9ffdfa1e5299c7512175011a7ced2bc924970de1eee645bc3943c482a0de2cc64bcee134f0cee8c3f984416e5bbf04610693a92994a56968db9a312120de2cc64bcee134f0cee8c3f984416e5bbf04610693a92994a56968db9a312120cb65b79ad7a67f67fc49cd170648d9e2a4dd7cd72cf4a013a032f680bc2cb738e459cad51074ad58eb01d037d65317039dc67224e902766df6c62813852be6abe459cad51074ad58eb01d037d65317039dc67224e902766df6c62813852be6abf97b0df5f745f51f764634e3c0965295f2d1643d12ad8a94ba0e1a32301d390fca7d2a6fe1b24f9d4d5721c38b478dd5c9e9100ea3a1477ff645b012c1a37d3cca7d2a6fe1b24f9d4d5721c38b478dd5c9e9100ea3a1477ff645b012c1a37d3c4f05568dd9fa927ef7f6e7b0189567e3d46b8a70a6f9eedee80d2eeab7fda7ce2aa007a173fa51b55bb4fd85a5d5e2ef5206122f110363223221c37382ee8c312aa007a173fa51b55bb4fd85a5d5e2ef5206122f110363223221c37382ee8c31e3850d1a493b6b958e2bd9f66ec8b62a0d72ebb7c3eafcb83cfddf4faf920dd24235d494c65999758655f2e8f42224627e08eda378f0bc01e534888b137721ef4235d494c65999758655f2e8f42224627e08eda378f0bc01e534888b137721ef60e0e3206b94a12ea3c458acde1cf0eb6f5ec8b07d952dec403542754f4aceae032c59547ae1d8ef0d307ec13e71fc5aa5ce27684940e5cc0841fa53a19efc5103f3309698a8c4005e2dc8d8747e2c71a1ded7a8e3f99e56d1fa315a3c4e50877a51c151a3f010a523b14273fdd4b284eaf1e78403988ccd7c65457233c4085ff2a8edd96ae81e04ee2e524cd6bf5e51ea5cfad5299bc354501acd64ea525df8a57e80b8a0d16549b7a466ef3585bc8f13c1983dcf13845b22be1a748be3a0e67343a09029c611da77231c680715d5a723bdf7000d86238ff7565dc9bf1406297343a09029c611da77231c680715d5a723bdf7000d86238ff7565dc9bf1406295186810c169e033eae41c2010a89c982276999b94f1d4cebc5b9267f8e97ab7008ee677399bc5b112e6b77c6a4b1c57cd9431bb57d7bfd9e96c92af3fddfcab208ee677399bc5b112e6b77c6a4b1c57cd9431bb57d7bfd9e96c92af3fddfcab24268c68294b00b82adc2dba7e600310cb45c468e5780aff2455eb8103d21d28215c98f66bbb5c91064f8c738db27fba6c17998755feedd3a0b20269f9911cbbd15c98f66bbb5c91064f8c738db27fba6c17998755feedd3a0b20269f9911cbbde3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557c00b318f82f6e58060863d0517df651e60bb314a882d4a6356920ee6473c8ba7c00b318f82f6e58060863d0517df651e60bb314a882d4a6356920ee6473c8ba47532d524864d6ad2aa109f05f7bf77b68d48772fe421efb29605e23bad8ddc08afb3fa1795d47b3066a4cad6acd41ebe3ec32da1f1f35adb7f03ade27130e31297f882dfdf415caa6d24dc00ced7c8aa73d9369571139e84f81f068e37ef7adb86371d3fc23f7b32d2c4fd4728e91ad1dc0fa95f253ee27fad4ba9025cd8a9f8f6020766209268152805b439fea555f5f8a2ebea796617bf92ee87aefb63d038f6020766209268152805b439fea555f5f8a2ebea796617bf92ee87aefb63d0337b4cb47babf65937b399f9dbc7fca98c3bf0528f3f0de63e3774c4326bf78752186b4c8a952208f6674d189aaa4d670104daf0e26cb540d7dcea1a5b976be812186b4c8a952208f6674d189aaa4d670104daf0e26cb540d7dcea1a5b976be817d9827fec848c29932e32465e761271475a0edca1ea0b4f2961e6d4521c632f372ebe4c1cba15fd2e0adc480dba72b8fb3e157b5a37d6cb66c84d96704b60e4c72ebe4c1cba15fd2e0adc480dba72b8fb3e157b5a37d6cb66c84d96704b60e4ce10c9954f20298e5ba4d7a6628b9df60f8ae907e9a7336293330f2fbdc81e137c31437c816f2c1aabba4885313e255424f0ebe28bfd3731e69182a74e648e16dc31437c816f2c1aabba4885313e255424f0ebe28bfd3731e69182a74e648e16d00b137ea0cd5d5bced4ad9b4c0665a83efc3b3039756eb11dce285a65fd23b0fd35e2a560eb3ff7edf04ea15e82ceb305777b39a5070e118c13ac1d7dde8b576d35e2a560eb3ff7edf04ea15e82ceb305777b39a5070e118c13ac1d7dde8b5767e90a937b6d21b59029d2b66b1276eed2451d5f5bdd115aa9b16175b581be43a5e7f3f34eb866e0875d41245205800fbe7b6bae48c20b8d007b5fcb4f23ce3f65e7f3f34eb866e0875d41245205800fbe7b6bae48c20b8d007b5fcb4f23ce3f616da7063b627f6ba101642ee6a3e8814fa88b3ab1912bad182e72caf48e85d87b35b6c4ca04deafaf82b64c81c05e51f5b12956d83300ab2bc681ff513fe7a61b35b6c4ca04deafaf82b64c81c05e51f5b12956d83300ab2bc681ff513fe7a611ae0959ef8161b6a63e22dd21b776af8a6c040135d4c7d3bc721dacb5c99d6c4974cf05488e7eb49d45a19f98b70136e663f566aec64f041d7f665f2a6fa0d92974cf05488e7eb49d45a19f98b70136e663f566aec64f041d7f665f2a6fa0d92369b613a54ce6e385476ee99b3c0d7defe482a742b2ef6a97a98e76c5078223024bbd86d1966e32e66388b56e9117a570fd0d158de90073412fdc0015ac8422324bbd86d1966e32e66388b56e9117a570fd0d158de90073412fdc0015ac84223de4d1f2d2ad5ad0cfd1657a106476b31cb5db5ef9d1ff842b237c0c81f0c8a239f47df778a81f7a6db680f44c1611a5b4c4c9c4ff840b09d3bcf6fea974cdf2ac1649ee90f8535de061b77e5db7a60bdd33daa50c5fbd48f54123fd1c2127854rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-2.7.18-150000.60.1.src.rpmpythonpythonpython(x86-64)python2python2_split_startup@@@@@@@@@@@@@@@@@     /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libdb-4.8.so()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpython2.7.so.1.0()(64bit)libreadline.so.7()(64bit)libsqlite3.so.0()(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)python(abi)python-baserpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.72.7.183.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1ee eeRd˖dD@dq@du@dtdm@dxdc>@cӼc0c|ck@c pcbbb@b@b@ba@a@a(@aim@aI@a'@a#aj@a`t`8`_T^J^@^@^>^>^;^8 @^.^g@^ @]f@]@]]]d@]d@]@]z@]V]y@]9]1]\t@\\7\7\\J@\J@\C@\2[[#@[6@[@[ @[Za@Z@ZxG@ZtRZp^@Z CVE-2021-3737-fix-HTTP-client-infinite-line-reading-after-a-HTTP-100-Continue.patch (boo#1189241, CVE-2021-3737)- Renamed patch for assigned CVE: * bpo43075-fix-ReDoS-in-request.patch -> CVE-2021-3733-fix-ReDoS-in-request.patch (boo#1189287, CVE-2021-3733) - Fix python-doc build (bpo#35293): * sphinx-update-removed-function.patch - Update documentation formatting for Sphinx 3.0 (bpo#40204).- Add bpo43075-fix-ReDoS-in-request.patch which fixes ReDoS in request (bpo#43075, boo#1189287). - Add missing security announcement to bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch.- Add bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch which fixes http client infinite line reading (DoS) after a http 100 (bpo#44022, boo#1189241).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- Add CVE-2021-23336-only-amp-as-query-sep.patch which forbids use of semicolon as a query string separator (bpo#42967, bsc#1182379, CVE-2021-23336).- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Add patch configure_PYTHON_FOR_REGEN.patch which makes configure.ac to consider the correct version of PYTHON_FO_REGEN (bsc#1078326).- Use python3-Sphinx on anything more recent than SLE-15 (inclusive).- Update to 2.7.18, final release of Python 2. Ever.: - Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - Fixes a ReDoS vulnerability in `http.cookiejar`. Patch by Ben Caller. - Fixed line numbers and column offsets for AST nodes for calls without arguments in decorators. - bsc#1155094 (CVE-2019-18348) Disallow control characters in hostnames in http.client. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host. - Fix problems identified by GCC's -Wstringop-truncation warning. - AddRefActCtx() was needlessly being checked for failure in PC/dl_nt.c. - Prevent failure of test_relative_path in test_py_compile on macOS Catalina. - Fixed possible leak in `PyArg_Parse` and similar functions for format units "es#" and "et#" when the macro `PY_SSIZE_T_CLEAN` is not defined. - Remove upstreamed patches: - CVE-2019-18348-CRLF_injection_via_host_part.patch - python-2.7.14-CVE-2017-1000158.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-16056-email-parse-addr.patch- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674)- Change to Requires: libpython%{so_version} == %{version}-%{release} to python-base to keep both packages always synchronized (add %{so_version}) (bsc#1162224).- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Provide python-testsuite from devel subkg to ease py2->py3 dependencies- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch off tests coliding with the combination of modern Python and ancient OpenSSL on SLE-12.- libnsl is required only on more recent SLEs and openSUSE, older glibc supported NIS on its own.- Add provides in gdbm subpackage to provide dbm symbols. This allows us to use %%{python_module dbm} as a dependency and have it properly resolved for both python2 and python3- Drop appstream-glib BuildRequires and no longer call appstream-util validate-relax: eliminate a build cycle between as-glib and python. The only thing would would gain by calling as-uril is catching if upstream breaks the appdata.xml file in a future release. Considering py2 is dying, chances for a new release, let alone one breaking the xml file, are slim.- Unify packages among openSUSE:Factory and SLE versions. (bsc#1159035) ; add missing records to this changelog. - Add idle.desktop and idle.appdata.xml to provide IDLE in menus (bsc#1153830)- Add python2_split_startup Provide to make it possible to conflict older packages by shared-python-startup.- Move /etc/pythonstart script to shared-python-startup package.- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792- Add adapted-from-F00251-change-user-install-location.patch fixing pip/distutils to install into /usr/local.- Update to 2.7.17: - a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7. - Removed patches included upstream: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-16935-xmlrpc-doc-server_title.patch - CVE-2019-9636-netloc-no-decompose-characters.patch - CVE-2019-9947-no-ctrl-char-http.patch - CVE-2019-9948-avoid_local-file.patch - python-2.7.14-CVE-2018-1000030-1.patch - python-2.7.14-CVE-2018-1000030-2.patch - Renamed remove-static-libpython.diff and python-bsddb6.diff to remove-static-libpython.patch and python-bsddb6.patch to unify filenames.- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo36302-sort-module-sources.patch (boo#1041090)- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, CVE-2019-16056]- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- Skip test_urllib2_localnet that randomly fails in OBS- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- Set _lto_cflags to nil as it will prevent to propage LTO for Python modules that are built in a separate package.- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- bsc#1130847 (CVE-2019-9948) add CVE-2019-9948-avoid_local-file.patch removing unnecessary (and potentially harmful) URL scheme local-file://.- bsc#1129346: add CVE-2019-9636-netloc-no-decompose-characters.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised (CVE-2019-9636). Upstream commits e37ef41 and 507bd8c.- (bsc#1111793) Update to 2.7.16: * bugfix-only release: complete list of changes on https://github.com/python/cpython/blob/2.7/Misc/NEWS.d/2.7.16rc1.rst * Removed openssl-111.patch and CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch which are fully included in the tarball. * Updated patches to apply cleanly: CVE-2019-5010-null-defer-x509-cert-DOS.patch bpo36160-init-sysconfig_vars.patch do-not-use-non-ascii-in-test_ssl.patch openssl-111-middlebox-compat.patch openssl-111-ssl_options.patch python-2.5.1-sqlite.patch python-2.6-gettext-plurals.patch python-2.7-dirs.patch python-2.7.2-fix_date_time_compiler.patch python-2.7.4-canonicalize2.patch python-2.7.5-multilib.patch python-2.7.9-ssl_ca_path.patch python-bsddb6.diff remove-static-libpython.patch * Update python-2.7.5-multilib.patch to pass with new platlib regime.- bsc#1109847 (CVE-2018-14647): add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo-34623.- bsc#1073748: add bpo-29347-dereferencing-undefined-pointers.patch PyWeakref_NewProxy@Objects/weakrefobject.c creates new isntance of PyWeakReference struct and does not intialize wr_prev and wr_next of new isntance. These pointers can have garbage and point to random memory locations. Python should not crash while destroying the isntance created in the same interpreter function. As per my understanding, both wr_prev and wr_next of PyWeakReference instance should be initialized to NULL to avoid segfault.- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746 (CVE-2019-5010). An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Add patch openssl-111.patch to work with openssl-1.1.1 (bsc#1113755)- Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- Apply "CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- Apply "python-sorted_tar.patch" (bsc#1086001, boo#1081750) sort tarfile output directory listing- update to 2.7.15 * dozens of bugfixes, see NEWS for details - removed obsolete patches: * python-ncurses-6.0-accessors.patch * python-fix-shebang.patch * gcc8-miscompilation-fix.patch - add patch from upstream: * do-not-use-non-ascii-in-test_ssl.patch- Add gcc8-miscompilation-fix.patch (boo#1084650).- Apply "python-2.7.14-CVE-2017-1000158.patch" to prevent integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution. [bsc#1068664, CVE-2017-1000158]- exclude test_socket & test_subprocess for PowerPC boo#1078485 (same ref as previous change)- Add python-skip_random_failing_tests.patch bypass boo#1078485 and exclude many tests for PowerPC- Add patch python-fix-shebang.patch to fix bsc#1078326- exclude test_regrtest for s390, where it does not segfault as it should (fixes bsc#1073269) - fix segfault while creating weakref - bsc#1073748, bpo#29347 (this is actually fixed by the 2.7.14 update; mentioning this for purposes of bugfix tracking)- update to 2.7.14 * dozens of bugfixes, see NEWS for details * fixed possible integer overflow in PyString_DecodeEscape (CVE-2017-1000158, bsc#1068664) * fixed segfaults with dict mutated during search * fixed possible free-after-use problems with buffer objects with custom indexing * fixed urllib.splithost to correctly parse fragments (bpo-30500) - drop upstreamed python-2.7.13-overflow_check.patch - drop unneeded python-2.7.12-makeopcode.patch - drop upstreamed 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch - Apply "python-2.7.14-CVE-2018-1000030-1.patch" and "python-2.7.14-CVE-2018-1000030-2.patch" to remedy a bug that would crash the Python interpreter when multiple threads used the same I/O stream concurrently. This issue is not classified as a security vulnerability due to the fact that an attacker must be able to run code, however in some situations -- such as function as a service -- this vulnerability can potentially be used by an attacker to violate a trust boundary. [bsc#1079300, CVE-2018-1000030]- Call python2 instead of python in macros- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch- drop SUSE_ASNEEDED=0 as it is not needed anymore- Add libnsl-devel build requires for glibc obsoleting libnsl- obsolete/provide python-argparse and provide python2-argparse, because the argparse module is available from python 2.7 up- SLE package update (bsc#1027282) - refresh python-2.7.5-multilib.patch - dropped upstreamed patches: python-fix-short-dh.patch python-2.7.7-mhlib-linkcount.patch python-2.7-urllib2-localnet-ssl.patch CVE-2016-0772-smtplib-starttls.patch CVE-2016-5699-http-header-injection.patch CVE-2016-5636-zipimporter-overflow.patch python-2.7-httpoxy.patch - Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1. (dimstar@opensuse.org)- Add reproducible.patch to allow reproducible builds of various python packages like python-amqp Upstream: https://github.com/python/cpython/pull/296- update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - update python-2.7.10-overflow_check.patch with python-2.7.13-overflow_check.patch, incorporating upstream changes (bnc#964182) - add "-fwrapv" to optflags explicitly because upstream code still relies on it in many places- provide python2-* symbols, for support of new packages built as python2-foo - rename macros.python to macros.python2 accordingly - require python-rpm-macros package, drop macro definitions from macros.python2- initial packaging of `python27` side-by-side variant (fate#321075, bsc#997436) - renamed `python` to `python27` in package names and requires - removed Provides and Obsoletes clauses - dropped SLE12-only patch python-2.7.9-sles-disable-verification-by-default.patch, companion sle_tls_checks_policy.py file and the python-strict-tls-checks subpackage - dropped profile files - removed /usr/bin/python and /usr/bin/python2, along with other unversioned aliases - rewrote macros file to enable stand-alone packages depending on py2.7 - re-included downloaded version of HTML documentation- update to 2.7.12 * dozens of bugfixes, see NEWS for details * fixes multiple security issues: CVE-2016-0772 TLS stripping attack on smtplib (bsc#984751) CVE-2016-5636 zipimporter heap overflow (bsc#985177) CVE-2016-5699 httplib header injection (bsc#985348) (this one is actually fixed since 2.7.10) - removed upstreamed python-2.7.7-mhlib-linkcount.patch - refreshed multilib patch - python-2.7.12-makeopcode.patch - run newly-built python interpreter to make opcodes, in order not to require pre-built python - update LD_LIBRARY_PATH to use $PWD instead of "." because the test process escapes to its own directory - modify shebang-fixing scriptlet to ignore makeopcodetargets.py- CVE-2016-0772-smtplib-starttls.patch: smtplib vulnerability opens startTLS stripping attack (CVE-2016-0772, bsc#984751) - CVE-2016-5636-zipimporter-overflow.patch: heap overflow when importing malformed zip files (CVE-2016-5636, bsc#985177) - CVE-2016-5699-http-header-injection.patch: incorrect validation of HTTP headers allow header injection (CVE-2016-5699, bsc#985348) - python-2.7-httpoxy.patch: HTTPoxy vulnerability in urllib, fixed by disregarding HTTP_PROXY when REQUEST_METHOD is also set (CVE-2016-1000110, bsc#989523)- Add python-2.7.10-overflow_check.patch to fix broken overflow checks. [bnc#964182]- copy strict-tls-checks subpackage from SLE to retain future compatibility (not built in openSUSE) - do this properly to fix bnc#945401 - update SLE check to exclude Leap which also has version 1315, just to be sure- Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- add missing ssl.pyc and ssl.pyo to package - implement python-strict-tls-checks subpackage * when present, Python will perform TLS certificate checking by default. it is possible to remove the package to turn off the checks for compatibility with legacy scripts. * as discussed in fate#318300 * this is not built for openSUSE, but retained here in case we want to build the package for a SLE system- python-fix-short-dh.patch: Bump DH parameters to 2048 bit to fix logjam security issue. bsc#935856- add __python2 compatibility macro (used by Fedora) (fate#318838)- update to 2.7.10 - removed obsolete python-2.7-urllib2-localnet-ssl.patch- Reenable test_posix on aarch64- python-2.7.4-aarch64.patch: Remove obsolete patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- update to 2.7.9 * contains full backport of ssl module from Python 3.4 (PEP466) * HTTPS certificate validation enabled by default (PEP476) * SSLv3 disabled by default (bnc#901715) * backported ensurepip module (PEP477) * fixes several missing CVEs from last release: CVE-2013-1752, CVE-2013-1753 * dozens of minor bugfixes - dropped upstreamed patches: python-2.7.6-poplib.patch, smtplib_maxline-2.7.patch, xmlrpc_gzip_27.patch - dropped patch python-2.7.3-ssl_ca_path.patch because we don't need it with ssl module from Python 3 - libffi was upgraded upstream, seems to contain our changes, so dropping libffi-ppc64le.diff as well - python-2.7-urllib2-localnet-ssl.patch - properly remove unconditional "import ssl" from test_urllib2_localnet that caused it to fail without ssl- skip test_thread in qemu_linux_user mode/sbin/ldconfig/sbin/ldconfigpython-elementtreepython-nothreadspython-sqlitepython21h04-ch2a 1706859762  "##%&&())+,,.//122455788:;;=>>@AACDDFGGIJJLMMOPPRSSUVVXYY[\\^__abbdefghijkllnooqrrtuvvxyz{||~2.72.7.18-150000.60.12.7.18-150000.60.12.7.18python2.7bsddb__init__.py__init__.pyc__init__.pyodb.pydb.pycdb.pyodbobj.pydbobj.pycdbobj.pyodbrecio.pydbrecio.pycdbrecio.pyodbshelve.pydbshelve.pycdbshelve.pyodbtables.pydbtables.pycdbtables.pyodbutils.pydbutils.pycdbutils.pyotest__init__.py__init__.pyc__init__.pyotest_all.pytest_all.pyctest_all.pyotest_associate.pytest_associate.pyctest_associate.pyotest_basics.pytest_basics.pyctest_basics.pyotest_compare.pytest_compare.pyctest_compare.pyotest_compat.pytest_compat.pyctest_compat.pyotest_cursor_pget_bug.pytest_cursor_pget_bug.pyctest_cursor_pget_bug.pyotest_db.pytest_db.pyctest_db.pyotest_dbenv.pytest_dbenv.pyctest_dbenv.pyotest_dbobj.pytest_dbobj.pyctest_dbobj.pyotest_dbshelve.pytest_dbshelve.pyctest_dbshelve.pyotest_dbtables.pytest_dbtables.pyctest_dbtables.pyotest_distributed_transactions.pytest_distributed_transactions.pyctest_distributed_transactions.pyotest_early_close.pytest_early_close.pyctest_early_close.pyotest_fileid.pytest_fileid.pyctest_fileid.pyotest_get_none.pytest_get_none.pyctest_get_none.pyotest_join.pytest_join.pyctest_join.pyotest_lock.pytest_lock.pyctest_lock.pyotest_misc.pytest_misc.pyctest_misc.pyotest_pickle.pytest_pickle.pyctest_pickle.pyotest_queue.pytest_queue.pyctest_queue.pyotest_recno.pytest_recno.pyctest_recno.pyotest_replication.pytest_replication.pyctest_replication.pyotest_sequence.pytest_sequence.pyctest_sequence.pyotest_thread.pytest_thread.pyctest_thread.pyolib-dynload_bsddb.so_hashlib.so_sqlite3.so_ssl.soreadline.sosqlite3__init__.py__init__.pyc__init__.pyodbapi2.pydbapi2.pycdbapi2.pyodump.pydump.pycdump.pyotest__init__.py__init__.pyc__init__.pyodbapi.pydbapi.pycdbapi.pyodump.pydump.pycdump.pyofactory.pyfactory.pycfactory.pyohooks.pyhooks.pychooks.pyopy25tests.pypy25tests.pycpy25tests.pyoregression.pyregression.pycregression.pyotransactions.pytransactions.pyctransactions.pyotypes.pytypes.pyctypes.pyouserfunctions.pyuserfunctions.pycuserfunctions.pyossl.pyssl.pycssl.pyopythonLICENSEREADMEREADME.SUSE/usr/lib64//usr/lib64/python2.7//usr/lib64/python2.7/bsddb//usr/lib64/python2.7/bsddb/test//usr/lib64/python2.7/lib-dynload//usr/lib64/python2.7/sqlite3//usr/lib64/python2.7/sqlite3/test//usr/share/doc/packages//usr/share/doc/packages/python/-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:32348/SUSE_SLE-15_Update/5d2651117c609f53a24e73fac8becd14-python.SUSE_SLE-15_Updatedrpmxz5x86_64-suse-linux          directoryPython script, ASCII text executablepython 2.7 byte-compiledASCII textemptyELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c3ef8fc5ac3f43311f6871a316c3c6bc6f47d7b7, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aab8a232b6ead46d63ebf433f8eb7f574f06794b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=01f60d4b686500c227e6c3c965f5aed2e710a95b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=66c7b4e14e7644cb9b6a0eac928d163712bdc484, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fcfba0b679bc0df2df2ac64186638c1fec66ba80, strippedPython script, ISO-8859 text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`iqy  RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R R RRRRR RR R RRRRRRR R RRR RRRR RRRR R RRR RRRRRR R RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR\o'p}*utf-8b0f433d426a82907ec3ac99ed4af12aeac34da6203e3a72ea712b907edc902c2?7zXZ !t/]"k%UN) ӚGyޓR1bG4G@9^oU.#!r)['mNŘʇ+|L `~W ^hdAlC|#^D K4,K\^OE7 g*?@-4Ⱦ ö)3+xCS)G؈Hea]öeX,w sFg_>Bv8 1I3.6շD5Sm3Bv /02Gqnf=DAj9?Hb4 p:Y/ClHhlUq o{_}q+;PUP\!m `%71d%_Y횞 >WOid *e]/1-h쎧#/#{3ͯT U=fC If șU3J;EspT_SvU) uT3 r\ \I.Zo+Հb)F!427U=釟OtAF 秳@pƿ+GDwoJ~Bܣ>OAs#&}\J<.1pv8ϖN{~3͠yGS++ {bDE8W/t2l+m_P ZeSs} iaGTok),eqoYh)BE-vv2ѠZG WsA^&J#D ] _\AwM{3afvi/q˭!eGG!] ;KI%oE9ȁg&{FY_hgy=Th;{^q^:Oji&hH3 ]'G1aWZmr62C4Uͥh@$ رJu]8k|lQ'1wgFASZ?w+A>#*nɄE PȑIc>6uDI±R[ymehV_pN)OD\eG!8}1|A#k2_̝ , :i65+D')vM UFx= /S`trhxh*CL c,jʳD[@AwBZ*&X ϝk'DZb>,zN@8s_ gzb8 ldM:R5*{C2".vn.^p©rl*""98ϱB`UA6QbRhPQz邼-kzy4h2kHT^HM/$,y |pת[>+ <' Ez03R; Tl{l/.02g;YQQSX҉L~YAИ$Z!N{d[ 8 i't@*}p{cL RX25i6 HK;}- xq*zç6_x1.*k VI#GHIB#ząW}u~鈦*FGkZ n#8"VZFY!f ']|h-^w" `HqgD)60`^hF!?pxli36>WBMX;` 1oӏWjg{'&1(p!nGgzu{d^?By:_1'"@W0SڍZX>/}LsFJ[UsA.s'ݕ#8 Z׿E{!čC(Blܾ 1mX6K7!j+ _"ݴyֻ}UmxrQ#y.uC\{Bq0wQIV6F"eřVh`mXD ~g 5y/$Eu@L6w?VEͭ62Qap}6p F-N2/lhjuV~\̎.M%1J^Ā[x15sYcИ*iC2Yff-mV\ײ3 *mJ}{,. jF9x^LWz'|'YPRpkGb?CH7xߤxε@W#1``72*%pQIFW]|ouj ?.!66&ji?ğy^1Nw"11^ mJq@6#h-* !?o0 vA9WaYlŷ< 8\fuc~Yڤxyw;Dz{G [:*Pc^!B7 byg?[+?_GwK۵F x6Zlh g jUl$Iq+wc_dy)4);1&DN46dڑopyW&P1M)PHȔ|x,cv.X|iAmY;OJP=Q (zhW1_ /^+! #I׭e$,avgLt +y 㧪DD`mu$%~.U;"$ 38C'uHnR6>^lY)5 x%pa?#s[}avMWUDejdX#o\`q~9)}Gň";!Eu%wp1DO?#931'~Mf~7BPfK$F_/;t5a N ,SM1Ea,]xSEOb-}Vc\(GcƉ=[st-]+SZpDg$F(] -j#vN٠S k\tƺ`# 7\DZo3x_\x@B,lw~b_׫IcPP'(>>q!v$kHce6nlHƊ ^_b #27NA6=Ky^59$::Pu~?x1/B.o;9?UOgWb1=(N㻀\N;V>=NH.&Ջ\[B(H::3x!dp~q&f#x!}|>,u#4G ϫLC'lWM;MK Cܿ: gejxΪ%3XgǜcѴ5_ZM\=)6F`tu䫬h|NTx>qP-d5^e ؠkݿύx-Ίou [C(YάnmHvH .NN\m!o7 hgfT͡ab @7prD^ h q ?1gpIGwn/|s>Z7D<-Y:&lF._P`I:@lGK@"ge2ko~qf*kNM?4C+x>xq3_EXcc @k^Ue\Eg|O ev 1XT<^¤ jq/#'DIBJ>}5X Ί+Dn",[k^H24lᘫ, AD9sdn8MC0D?\ҥI[? K,=3y(zB5Ðuqʎ@=ĨߠneRE³aήO邥6t/i_y7Ƚ.%޲5el\|xڀt8&IKta'U>("#R]D|:}%{=MFy#2^}E{/hz{FE{ձӰ~GuR֓3S?&v9R\V!9ŢvpqHDZW 2C5$;4,<eHyw)m6RYj}ckB< qlu\ōHۢo d'ڮsoKOO*~ܙdC9fsYm㋇??m.x%QF+9`JU>x{ODB&+#ƀqE [!lcV$=h+zď3 A/K#qβ yz+: ;*9'4Qd O,$@/P W6>50ctEY)VA}Loȕg9FnB If% LֻJ{E1!zRT0D\OMϸ>G^H!szYmE?kV~jd3Vo~MSBerMވMZRRZ´cITVK"a~P735eKXgאﳎ+҅}9٤#{o9m%VdvIO7Oxy{WDd?Q,&5'ZNO0Ī0`Kņ!`:t | ıox/xt|:Ǘ$s|X2R ^Ʒ˖Q DLiz)Dv$[/z $p;= iav%U^folß /R26OBpϗ>Yt pIb*7`TV2IY !uuӠHLY>:bGW` .pw>Ky~)N/1lXNn٪\'\%+q)AE:HQyA >1D4X%0]_bo$$c&QB}f:zosZ9ĪJ7twU7S9 ؂|Ҭo4B@^DZN0٭jr&ۄۅxuCeC/90֚.XAN bK{W8scqd"x  jX(Go'm/X_al8dR^Gyfs-N`akP"fy"H:qJ#H5&܋ ;lwF#ffP(T{U=2\92tԷHHJP#A8؟.ۛ@m|B.ŝ鄵iz3q\PPոk/C! Ū!{la=tBnxT,"dI^QɚQ_o>]k 5Z +8\iQh%i_A|tk;c\[WZQ?m-`I6P%?5Gb g"\OIW"cąVtqrWZ*_ f0P`2[oxKyp-Dߚ # 'w ^"Y#Wb+[~(@3(&7cX#A8S㜃* eF'0Mf;gExN+%8v7r>񸤇ZݷxzŠBqM}SE=jA<bpwdu9 08|gZܣYbEs#tSY7nr:jAަuUU7/NEn@* !hmoWJS=)ςY[ΙWYSğ.>5zËK3{.oj.D0֥i4tq?0>uCn E)"? =;L *g-"^q\Sk:Lk2<8 Uzд%,SJW)Oolz]1 X4||.2\t f$#eZR +Ӕn"Wi"@gB]a2pxxQ!ۇa uPbXbsL7a#cb5 vfΑP4 XKV/ru{IŁ1D1+o!}W-C`I~](\S,r؟zjl`]-HϷg 3gYd#O,r1F3V SO!2ױɋ"TYJpփNHޚ 32NIF+U39u*²kdlum"iȡmր Dq.I߉w0cď`qYh*&Su{nTfĚ?ʣutӣ FHjbP>K=tUWI׈ԅW8tJЮlN_g%jKkp-}ό4"imoe]\EHto8|6l%<1 Ee;W}?]2vIfOvA1L:[%V}A:w4"{#s%y7/y$>,"ۮ;Ҽos"ˢ62A),4@}vh~cO|G9R©Wk~U&=56 ]Bu]zMK8On4 akVH]ܕI 7= @j1jO3T@Z *0/DFF3g*fY$\ lS~aݠwAT }]'XnQQajW?UG>:YVs8::\ېvۯMKt뉲ܑS ?kϏS0 D6BZI.ar;%(ADz ;>,Ժ%Sޡ|Lcwdm(XAScl*I|g<\*ٔD$#Bat?KSENޟX gqG+r n⻊9Rڃ':0.P[9G+Z_X^ɑÓYw, Rr_ETV2 Hk#f# 1g4!8czTZVmrԮvM3/̟r.f$nќ],Im[ u6O{Pb  orQCbRiq"w1]Raf8i,԰'Lo;;gD+E>󆡭Nͧ(QB Zǜ.Ij$6(ð%347-ѷ qCrroE .CgnN 3)*פ$eY#\87+);ԁqJzc-Wx^bkBc7wqj? ^_o"+ZĹ^le4iV0+{NxrHrW=P#WdmRо1cF ]j;H*%z6H0DfaBz3YDmt7lƈ9apYRtm 05O"3+#VJ^iMIHVZE13"ݔ),uhXO3!Fӡj8G]D6H$+r ۩{|.Iŋ;1F<n͂e Gϖ!r#Y_NtE&<6i>/* sYmP4#XKwy%I r+\g'*kwJZtg@̀ha kΔޗEjtJfke\>LEx i}yhm~8؅Aeb01c cqH}aZ v=e|(}HRג<;= 'A1Ơt<χ&@ ת-{,Ƌߕ! EY%FyeR^(ld, S]e* l˚56:'0uڮ} ^?M&мԋYXAM"^ЪnS^;zL%&=V;`;3jhٴS$l&2}V33;ȖgF6g`I+-H/3YMYT\[+mO씙C:Tt9mW 2巀3&.D$_~&5g4Zvjq⻞Ϙ+L gFM*'Jz>'033 mYX#=J *T_,Rn" ivp/T훈\c~,-GF˓׽Z®@Zh;d @d]UV^[^4ZjgWy)QYVP˯/<7*O=7("C$$sp=[0uY"o g=gĜ;Bā }} .b[ )G&zAPW.zBgvu׀Z*i!93 *)T_X_a 9QI|'{CES uv "8Cs&eSqwHG $^ OF| іqͺ?B%1x(cձ J)]Z&ˡpR #LLLO]O5yLY43FЭڶoRqXӃ~{T\ĊWɽ:4qNZξPŨIvqX Ɏ6q^ mCc׵߽}9F<4mޮ\R'8Š )|t5b[-%28D#bԣ5܌htš 7)SlDR LʝП9͝Q b)a"{U+#&^=aEb5ۤSPocAzhMYsU!ʙ\*mlV[0_0p{.x /WWmQLGxd]Mh Խ(Ty!.I4?lCSJ=GuW:0X}%#*g@(˕I a(Hfk:/0jዿ:Ofu .<6%~QNT;MU *J6#oY˶ʗP b8iʚI] g'{ޤ)E-Gyv~k:УE8YoL_7%۟#Td&ùܰmx*$ UaՓI1^ULذ΂k3ָ"IhL";-i: ڲ9p rVm uum!f~twRʘž*A!G,Y{A5d-XF_J:;OO[{N:N^cW_oBrJt ӝC}|U Qe_U.3}#{D0%BDJ71޷ճ"6أ>Lx=Pb D<݁^XAAgA8?tܲvNkVCWb#N"Zأt? w17/[n tsv93t:;'3O#c{]e s("seLg7ʼ ?q|Ŝ/`nC{rmZj͞(˿;kvҖu롌`*l.13U^ׄ Z=B$BZXkWsUD6~"^A%TGYpd3M !9(b `rfC/q+Wc<)Z*1|'IrdeF9;S Nw E_`=6}(>6.,7tbLeSNxO*9b]F,l/'l5L-Xɺ3U=,n7o!KQ uo Mи4g{ DZ˜8)e%<Ġ0NׯsLS3WBC]fUH.خ!%a)~ne+BwH.[#1Sof^bߍ XA n"AV%!,Iq8@b 9@4Mt2(k!J˅UiOC MՃ_[vdr҆o F&AM/Y*6#-4Qǀ ~ hjJ.rOQ!һ-lj{!8z+)댶^OMYD9RE4ڟH Gyl՜ZS)‘0[~4hYxEG0tJ鞎mjrQ9 , [no[? ":rE&* /0H;"u=ᵥب% lS啋P[TqDSGi TC  Q!q2KjJ fxT<8Řm n# f9cYr"N@@){c+?m˙{FeMdn[1N?/Ƚd_zS2-O8G& [Y\ML̖^jFݘ7R_UWنI9՟8T/dDși-8@  9of^C&O m#gS(ܿK|C Ҫk1ȯ.ز4Lh!Q]I=D~h\GiVt ȳsz):MA\b1v^甔 xeՇSNorڽfnKIdApiɮ8(=37埤iGLCP, iVH% 7f"t r _-2XѴ'a L7@s?w^tڗQł].xÙ A(}_QMV*PuhGCS,+oBsDsok b |g-? 6|w׈yf (K` fW0=Tjb JgƳ2WbN^4M62б-е%CV7&wezR/p(dZ·Z5Xk(r}O⌽Y''-=mz=l/YK^`4-~=81?h>@Qs 13K8 =³m[qcr1K jf7t :ߴx@22e]{,S8FHgW53f/yQ_kai]جWQ7˶- ׁ&8x-L)J[Ѯ[?K[RZƯ ܣy۟_Kv̶_s[I jV O(k5,\9=Z+gʕvLQz6mZv/C?x~qªqJ ֞ ҆vp-|IA57-7(\WcGkDI*mAA8T֎7+"2LMmAk<]J^@f8M*뒀j 4s\cF*{@Ǥ\e(-faXAlCBkY0x,X0SNOn#kP'!f|EZwrwP{t0(Ig;1J{^$x3=)0lןoBq}DO@e>ٸHގAj᝵E#_TpS_^$)a4+`Hbe4% e i(0Ajt7;?aYLy`Ð1ˆE7i+F/%,32j]D/ꗟ^{?62 B^ߠ\?m$%'WF/@ 5sX‰z"Kd\{ȼǘkKŭVd&S=|_ahn`+KnB| 8#\*Mx@UmRW(J=8{+9`b >M'\J˾ tJJ:n]@CNyvryMpriGsak=5XzFTpߦRp Di52D=P$_hƦr{z󣘁^/7ЇۨbQ>Zv>hn Ȥ}=H~'PHx% P8~7!YGDy:ñ$Q?mg E 50~~ƀwI5Vt9z6/4xVfJ 6yF|R`BiQ}T={϶oѡA@d8Y((uygܐYZ~ N'b9TH&6sޭ尵51ϥ5rBL?[TVG%gxSm^dDҐ=g<퉌c-[_Rgx>9V^w2QO8|$d9 jxWh ont+`ښruatS6p%zms೦bChn=B7W*'ؗmc X6}`+oyHrc&x0=V9L>`Mr# ]pI  lE]E|t^f3" s!NxLQ؋'OO$ p,%cȍuG"A~T0W 2BpqI;,;N?c~egUw'7 tN\@{ 9yIH/QDFWT+j,)2r{;f>g{e_yC*^'Z*.kQȻ+;SpiaOHIGnUL_( = X^ϲ b]≱UE*y\0gGZ.D&P%963̞\p"XcZ_@?WROjJ-6@,.+WbzhGi=xIDC[ cu$dq߹`~1Ch2r ՘imK{sAX D`㈩#hCe_`^7/(DC-(j]tk85J]5dy7ڑ4կ"N8~Y)5k\*ki+׌_sޠ9 ɨ %M,@O$p 7|VM5.:`uUܵlC$wPRUރϠ 9"ODhބǟ:2 6HEߎm]4)T ~dj`*^s]fhȁP1\\WWF[.Z @U^Ćs>(3w NE{viiV':~$3~&3wD?,>G53+H` I{SBbsD[l]2# ?-/=TK3Ue,49ݮ/z,8a050}'rf-hj(=4im MSCt_ *;\=ame l4kU?L TӨyU=G KR?@aqkc>S$Go>B&̾ynJ,6PQ xьʰ=^a$N;uCԣ9hX\p1}=jM@~n>v SglD!^^E],D[FwFWn܋ )5t3yzȋh4-#?uxW'Bչz9&lfa:_JPl颏Νmtnn,a$-CuTcs7򽱊Qy=>b2 'jI F畭pg;qLBcP|  }<kx&V9' ˆ"gSO=To404Pr}5IbZ,0Zp"뭙L lrUgqb J4@zyўzNR~>El+t,x_M3?;v24yr2"r'8;uc#=:v¤֗Tc4t˚$%>T~OF7d|be˾DHgeͬ/ƿ We iz8gopVE :8Q_e)V(?#?b{td''ˆ ҫgÉq!?J\>{^{%5.X}lEN 6wX[9tF-iOقq^FpX7Ŗo,Y7VKq srಹ!p d'FLloNvE ZMSƾ]bVtPvX1)dLtyvB3!s\7t88A^?Yy OA 1n5e0FbTX96:̯h2Y85 ;ⵖ/+ZﺶU^7` H߉.p.(&mLW|?5!w / t9?tS4EjS7sq6 tx3-wVWtJ,]p|[[뀾*"kӲ+#ux&,1*i'>BoW{iNB\GLǿn\"Z1t>xp<5尟I3my[zN2.T3Տ#FcJCMHEu'>H>c++E@+XX4Czѹ9c]<\tS,FǓeװ+rॊ6b?"}4G[͇fج?}wcPRZlYz׭9鬆Òr öב4ilsFsI^u Do'G2(?Ng]&ׯaFQ=\9{ܛ/)=S17=h`-dQ1If ؜QĹrX03 ߄)7gc+eqՊ. :Zii(§LtT1?(:UM*Pz$G߂x RvSp"qk8^<|*#1lt8:⃽,z8Pf( 7Q6Aw;άxG` "SjР[z5tzA*|%39]呖apa 9`~( YQ4^~OՔN9}hn kgex(UA U`Hsz‡TDHV  L{_XJkIѨV(Buwu_fz8p߿39K#dQR{1_4;겪rSEH& [EH vȢ݁- ADnk=P" |0_X{RQW䷳[t>.OaC@Ydp^gm v[(3'q@V4įA>M` FK2 /Έ<+4>"|Ͽ"r+߻ U ԀMA@d12mtIjM;nbG,]N=#Z/fq}R֔*e6s*&:瘛s=1c^R].@=lsV8c/4,H[p6 }q6NC)zݧ-G?RI@3$h~{u~؊h=K6GL06LZ4E>Xrz LJMgA $~oKP[̸xo[k3>3j}(hFo ȉ1Y;ȳQK{rҙ>/=!8?J^|O˾0f$` yn%}2EOΏ\5y4J2pt}a6~J{O"F_3Iv odwn< RzC3q,ܷ$?iQ,r\4o#Lf1Qy߿C[9c8^kB_ڸg+ZcК8oثf]# JcMWST&&Fr'~nq< ESyDWy8%&.N  *e +O{˾ۥux{|:?LzܝBTޭF$/K N" On#5V3K vm[4S aVxT _<99qnsZ&u;:, 2hgӛ|wr9` :CVu%h<8u %X.ہkX }-u 3K3=#kYr-Ҩ}xM Dt0,<H!ىHrB|ﲞ5R`TZf>,s +{̓0yja,-]Y|aD Y-AvEA_-qHCdj g#4N6OnOЈ0%wqqHD Y>]BtggqG0%{$(q5vX)־JIh#[c㷕*&y#`4Iշy\[]h6TjO-%d \p3+2[00L!%8] [Q#  *Z;D_m7OcS7k s5´33X0zBN 06`GjDk&Nƪi#U&Zl]ʶXS*0ݕ̄ Tl X_q86ѳ+0շcubP Сs'[V&MkO%?q#w(sWEMn(k_H^d}őPRz˷p(=Z&1Y;$qPpzFBVKaDYU GB5> Q@V{s2Km97Wn%5GB; R}I$!F-vAPiBW;c_10UtZ4E*$f^eYKN:W-U=|$D|*[78W*& @|U-b;*1dTw(sF\ Ȯx]JX1KFOW*>_Ȫ< zÎ6)*^߈J8xWyxjXF8)(GV߫?s^=EVLTuDIS@Y$`dtGH+e%6DNP:$̒"Dd%h>3+I@^@~;$K=3i&#n)R6֯Z@*lT3)8XֱT\/,D'ŵOp̃ߤ==<YE3$}/ Ӧɑ1x4|AHs]R<6+UnEDY2 _NF3YjG]u>F͏5g|oJB]<;CvC>^eP=E#G9GOxLr2Bwu8>\o.>! 7Bӳ.x'LPCGk_t)Tp68{ze߯}ZfY{{Aj^5M*қRBzQyRYɈWeo?(UBoU$:u,^c^X0צlo (:+*+^mCvG0 w5t3 vǬ[ީ3VlA]$ #ǩLJCגkI[A=IˉF2,M =X8z1mZ,D}Gv>3 >5[v{.NFdqD9'3W 'zb8l/)MZT ȔhcaYX-;&,y %-b:u<*@v -8-8\$7{-ʡpH 2>{ nاx LSjokkB.XfQ5{<|}1bybrv0GZt-]b ' e-[&ՆIIfl-t*?'FbA͋{i7g0\_v@) dpfn#xl DO<7|+NMm0:H_N/wv-N;<;y;pO||S@jjV> }O1.Pl'N?Pl!:8?Q 4XxLn7)Lrh%&U  3zNC;J|V(uqB${[/DZnvcFД¾qJҪ؅ʁA&ci _Et2^S#=Ө|aaMKXQ:(,,a>%G s*z`Űq,˩܌)4Hx۳FL,LemB'}%hqPx[[n3V :E95ouxbs쥄r d9V^RYz4cMUOLa^U3ʰ`Gj"bn,$ 9#ca0k\2}Up䮘0v2,?dGqNvjPz<&{H}%Z Y[rk]:{@uʹtI. w?YgmP! øBޘ4[fsbYE:8rJ!SP?@b4vT_ C/>Jr@ِUoa]ېݵ5c;HP@:ثܠP"kЖWǝ079?VCE)8[x5H̥s8Wd:~ѐ鯀 [HN$sS33O^=L!+̐YVy.QLlhRT̄?d;2G~BrJy\y0Bl޶к'erg{7֝j{M&R+mumY>⛽lLcBobQgV:;`]'f-C ~@>1aIg0%6e?:zڅBj t迩!H(eQܞ?Rݗ̼ KI✜Mr [,䪉 Hm[ +X^@o(]8j\ )R1D{J7^Js,M 47zz'4wR~p$&3n<{@&֘.cJIJLcÊYw +Y^6vxP*]IE{EK=0><>hvf&6o\♡xDϽsa!/33ECʄ`T0Rs9\2s&%Fw*{mDRQQcт>eQKSه#{K=Eg-ƹA3(;=-1iڮF\lL>3"7R$Z`8@/x$]"mbzbkJ\9+sG~pp3>JN~ K@k iqW.:6ְLy%5MMB=kwKL:eIEՍSL?ܣYJ"+۬ ϵӾ9AUoԏ~Ԛs?7[$6%}&E#C{i`R:=KP ]#4-vy̸6t9>P! eI6Q!ke-0v? LR5lL"UnӀQ\tvYME]ϫ.k Z mfF CCԿܗgn `l4DPb&$X@t\& 5d26v>Lyb9Bjb=fWu5TʝT ߐ7;]+Lz{pg81Xp?EЪz"Yr??>evV[${~ 쀥 7D#hO6Efr(ZNL6%6يmZJЍL kU,y-ʷsGJk4d`?W$kUkasӛL?y1XV09i2)~Ev$u 8ϩ zKۆDj}tAn745Kn2oB9Na)f֊+~#e> !uy8pRP^W=ʩ+kuFL %<9q ' f-o.2q, DkHmt&asd$\{ 7{A**[CqQ+T MI+YH1mR`҇8g4u^_=F}ÅwOApo O)垭k$ᘒ[lČ:mǩx`2J}9 o,W5֘K@&Vw}6ɡ$(<F^+ y#>pcdVc '\K7%Soi8Ś'0M]a%kΙc4R*7 ϑ* L0؏r"Da7ip{f4 I*V!E>ۭ2( b]u;e+MWE HַphV|F,]RFgze\ -/=bXV[vfdu&*Wk{.Щ-F|)rV@թ]2r:(CY:RgK ^[%0ʚ3Ң\KgfqcQ׾ BR)%ZcJ!I hnRg+F+қ I5œhq:ZJBl]$ofϖѧ0'* ה UaR7n@hJ!|ms-.}J2wS+vCoc ʎ0S_4^?z;;)=y$ս@r;F܋^Tm]Tq&@vW>88ﱢ0RkrcFN=ĨXJZ@v* e/Xfo`Cңwa tޒʧB, {5$:F^ =j#`֕Ϳ)+ JAVJXq`+$Hc#5OM( p#ZjU&Ѵُe힄;Z bQ/ B{S8+; fy*"ȚOs\V8f٢l:JW Kي/96S>b3OЋK:i3LᙋR{arv5 4"G[yr$ ]NQKPFD?=+'NbWK}%~1\=&o/jN65k:wn=E=Aw I!}VTN_;F.h.hsP(I`Ёa[isI B?l@3/ơ C.#F£O]kja|e+B@.' "fz=m +scJ@-Cօ׮_itEx?R\43R1$G9{r=fINr T|U+,Uώ!1s:+S>Ɂ [Uݼ~?Y+x5tZĕ$#]RX] HI<{%vI X4weX\4h 0mPOfsEb/ma/3DdǶ"Zx m9#V9*z"%̀`o2c0>-Z9QJ"+zm ^[S{^ _ժWnx`f#׼?:=Y.bN\(O,.+w\Q:j=*] KvqUKBk7s2E *H5)a-J0&hɋJ߭|;2/g=&:ɅZ|w"ȯ8r>پT[iѴh" eɲ@NW2=pw ]:⻑@f#ow2u{Rn]FcpYȽ@I30B2j-gͳ$mJ9k!Q*SSлt$$2Vy-s rd?]o Ŭ x. f׉iNeL_Un]i690t|N5IR.M*4iO$qiP;9l=8j_6@sz 1GA< F{b{sImCMvJ`JBhɣ0fbE׽Ck ̽FJux!䚹 Yn͐HȰcK*lgd8ZJ:t_mLt3fXv;pB _ƹ~twV,H 0o+wIj*np0xWȍԱ[fvlK7 Y†b` nNT]zMe #nzb-mvv_lR>"%!%X&V7/ii<,LBOf&7PzLR- - ])gx\3􁫅n6nVG(jJ;<4.<{xnP@*IkOhK]xN) 5$~,s谢38E'>! />j}_`K뿇/h)ma=M%Ȋ'dg$N6~Zk2LKLr::M]#F-GnB.n%wn>Gng`Nxم2pT2zr=hԑ4%N*9hCQ1ieJMMi3 -jL̼B3P@7~Omgqsor}b>DVݚ$B' %o2ɡH+O9a&7hS3H6`]m832I}|mD`E(q)z+uPo .|VAscRgC|O{aHZσ1ZH'+8SGYh#fyC|oY?p Vs_` +!aj(g9 bNY͙L{eT1\#G`Ckb)ѽ n?ëq7BWwes?uE=|kF'!&un_E6Rӳ/esZ]{Ƣ:p߶SOzmͥ}P|>z)dM60[.%IJ#Rtn3ۏ[XrU!P`Ck` ;|Hj,1A>+GP "1ҕѲDh@( 6 ( 2CJսF'ұ~ AD8g n/1~*5kh -d٤no#\J~Z*r@ J?n<,psW"/U[F[_݀\W~#(Q ra$I/1|+|G6 |cg`2H)!,?qQL~6wז[ߜdWzӠ6jVxk9ʓ{ p`/ 5j`(Dzk;_)_c)?6-3Po\tog0Xiۛ_`"?9 ָg|gXfF%̦(y.wOi۪LL)[WO2gK ȃ0;}T/Aak )P WA-H{i=NT)M_R2GڬW9d٬<23󬐫<53oN8bO-w*rS/UJ6/NGA+6 ͔iJHTL)XC$j 1"jFB^9rL3/Ʌ[}Mv,n!3Evk#j- |Id%lȇ]&bk,5|p4!CR3bt#]kK_aŁϣڱPW!KG)sڂDho,yvzh>:"<^gz0tP[$_,hnC؟?[<ɧ }MSL[gֳa>\EģEYs1,w2֌!n#+5貳I}8Ww84|rR9=Y6iX4@´3pE$NQ(=SʹN)j $S#+b{e2ҿe(a=I^ _:Cqp.xl^tp*8s?I#IN/`+쾸RD6m ȟ-/'QSDwqFcq6ˢ Nׁ vz Fb;Qhm(bCVpvك>/dlVvrG3Y uU{Z R]QJGT׾ YaiCY\%?v3;0()IsVRV8hSDi8MT\jfk]V4ˠ3mg&ӄYC-lxL @\jojR%*3a]"z:,S.˰,Vq[*)?Ӱ|ز%P \RsB\PD6U1Quj""^=Y]_^P_%>]vnԢ<,/ݚ*̯vi-cIod%Ej5gKXLn#&B)jOq{& 8֥ q;`F7ˇ3RW?Pޭk ";ⳖTT@OMR>V/d.]bs'8 9峀czdT'Xҽ0݄;TLfEIʌwFx$K g^S5, iGU~PrVxf0A}_M-&}-aO)ϔFZdG]q+05Eۅ#ARK.1Xn.K78f'O9= x$xMk qQ(Ź# J*P7CzR:Ϟ 9ʩ50 ghWCc R#2xh2%iq-LxlenϴZQ[JĽ#oQ "1 wv%䅷[\S agF UfS=fLizJτ I ;V[H+7Ӯ$8/sF c2۱є!\*sw9_*H/M' ԛ\?1z:SDz)MTt2AeiAnϠ L,DqziOpZSQن9PU797j5r;|Lƻbo=N%ןAp}N]u}bfJK!8hxK7tc|k@Xee@% vb">(D6ݺ/B1A,Q6s곺h%cˈL[d F Bxxv?=:玵>f_>`q^O5.Oߠ锩ks\uũ9eE$M)m;i Y"€(d 5VSxGϏw?$?x-Cax& iħw>$+M`])|9d́OxTi\(2țS(]aqA<,OQwAk330g10& K]8P@ӰN)L8m8eoN46g╼ەKRЖqBXFږˡ\q'k}'S 4 ߜ1^9eW(*Y] Ys7,pDAYR9猼>l 7MSns 'wط* LOp> qrŗvNo#ebRhLמs/^p[Yx/ov"Ji_ªЀNЖ: 3XR,hAW] 0v=;/NҾ횡9̱$y6GbXu`rP2mOȯdBEyKtUToKXvˋU Psb-ͫ'R3&B^^tncmjTV7&.JGiO'S>`9MVi+Sq (KG߼  ) '7Y#[sk6A>.N`[P"MdWsfd[dL8zmL}u\t0 ̙䤂9BCgS䉈=bEw}r|uڗ%0QL %$";0Э&{h ӒʩqJax'^ [_4YV*3nynw]DGh6[C0X`)o:@xR *M7ɠrmV)HЃecc]'|gM1HI(CGu Iz&|+NW v_[M5:h!I#0dgݩ(CYfWXW0N70|L,u}M"!Ә{5 =b;~80hzEh4 0C?[^I$D3+qu'"'ez]Pn>fv͐ y}rt*qnfT[++ iǓ](+!ԃg"`%^6y,Ҥ֗(lfr]TUzb\hWϰJ&gkX M#6!&ߝ2"sjU :^D suC;V+xm^C6qL6ɁEJqw8ىr!-ce}adh';ّ[!Va4.'zy0ʶXi:ͪ(eT#z4>$p4$Jp.8Ķ`sP8!HY/. juJKN%务1uzs&Kcl!Uq5YOi'\TvNvjWu;oOلSG70;N//Z[2o-.;.se7\Tݽ*A:rڸ3F>MKb_?wOowvșbcX=;_G/&-S&`γ:eQӭvՙ1D`9Xj(,o:D l\aK5  f>/l& A<&3cz[n8O̾E⏸Hr$fVYپFAPlzqo,+]ɰJuxqt?I:c )b8!X_I+z2UߓxJt<$SNb\Zr 6t7)Vkp@Tn1r^[ۣ?&-bOBdb./o*4Xc4~L3F ~;_שue}#B"n4xL Fyeύy蓹()3k>'"]| !p|\f Ĉ-&|mp.t c*$ ZnS+xZS~'~&*8~4GD6G YZ