python311-setuptools-67.7.2-150400.3.16.1<>,fp9|<_\lh3Md (.+FܢG51Xyi7'H{63>7|Yׁf\=EzM FK+Zwn=\ 6l?A A>QTMۛO係斵⛡WZP,} &1@$sḤ|+N+=S@ F_jfkav÷vt 6hGJՆQT$P̖F!% _w@w}bE/Upg>A1?1d , m$(48Qr  L   #  ѠFx(8h9ph:VhFGHIHX Y$\<]^p8bcWdefluvT wDxy&z11(1,1D1H1L1R1Cpython311-setuptools67.7.2150400.3.16.1Download, build, install, upgrade, and uninstall Python packagessetuptools is a collection of enhancements to the Python distutils that allow you to build and distribute Python packages, especially ones that have dependencies on other packages.fh04-ch1arSUSE Linux Enterprise 15SUSE LLC Apache-2.0 AND MIT AND BSD-2-Clause AND Python-2.0https://www.suse.com/Unspecifiedhttps://github.com/pypa/setuptoolslinuxnoarch*+$$,qq{|q>a>a**))%%S\\hh&& Q mt  ..O-O-$4<ggccY&&ZZ(:(N;;VV !-.[~[~QQ "m $ F?22244++**&&. _8  P. S)$)65659911TTllbyy''mn{K{K q qBeejj$$<<g!!II&&aTa)h)h474778II&&55..||((ثثww''B'C@))CD q qiFiFZZ>>XX++@Z@ZQOQ[,',>+L!|9E  ]]EEZ Z@@v.v.D,DBB ^ ^?K?KrrNN  !! B B<<\\((N 9U{@ "3u  .)K C/$. V(E 5u\ J/5<F2U Xz rTT%F>^>^g66::||    , , C OJv''))% %PYYee&& Q mt  ..O$O$$4<ggRFF\\?;##WW(7(K;;SS !-.[{[{QQ "m $ F?xrxrzzXi Tm MB$ff))cWcW00UU]]**H#9{{ooOOQQEEAA4i4i99--/%/I M@IG=:3cP|pK# tRP ^^YYnrnrkk5NN66 ;;,L1#?LfH{R_     &>,Y J8 P!r 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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤fdFifffffdFiffdFiffffdFiffffffffdFifffffffffffffffffffdFidFidFidFidFidFidFidFifdFifffffffdFidFifdFiffffdFifffffffdFidFifdFifffffffffffffffffffffffffffdFidFidFidFidFidFidFidFidFidFidFidFifdFidFifffffffffffffffffdFidFidFidFidFidFidFidFifdFifffffffffffdFiffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdFifffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdFidFidFidFidFidFidFidFidFifdFifffffffffffffffffffffffffffffffffffffffffffffffdFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFidFifdFidFidFidFidFidFidFidFidFidFidFidFifdFiffffffffffdFifffffffffffffffffffdFidFidFidFidFidFidFidFifdFifffffffffffffffffffdFidFidFidFidFidFidFidFifdFifffffffdFidFifdFiffffdFifffffffdFidFidFifdFifffffffffffffffffffffffffffdFidFidFidFidFidFidFidFidFidFidFidFifdFifffffffffdFidFidFidFidFidFidFidFidFidFidFifdFifffffffffffffffffffffffffffffffffffffffffffffffffffffdFidFidFidFidFidFidFidFidFifdFifdFidFidFidFidFidFidFidFidFidFidFidFidFidFifdFifffffffffffdFifdFifffffffffffffdFidFidFidFidFidFidFidFidFidFidFifdFidFifdFifffdFidFidFidFidFidFidFidFidFidFidFifdFidFidFidFidFidFidFidFidFidFifdFidFifdFi4d27a48545b57dd137ae35376fcf326d2064271084a487960686f8704b94de4a613e3154655da942a04db1af46d5ccec81baae687f75c60582f15a614a119975d2cd241de2953497e223ba421cdec75d547054a780fdf17049ed969984410ec075ce520c7351b2891864974ace3ddfad2b9510165e76ebb1122e63ed893e50c175ce520c7351b2891864974ace3ddfad2b9510165e76ebb1122e63ed893e50c112efecf8d17a5486780aa774b5b6c0e70b56932d8864f35df1eb7a18bb759b3a2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d2248267cece52d17af29ae6f96212e4bbcb9a71e23f85af1d3f7abdda5fd762f0c9ba26ad696ee8e2b9b4ef27afb641f873de94632b28e8a426dd09abfc0139d4c4ba26ad696ee8e2b9b4ef27afb641f873de94632b28e8a426dd09abfc0139d4c4e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85538cf7562af58395066e3ce2321ce071fd3e8dc0b2526d3da7c1cd35f3674455538cf7562af58395066e3ce2321ce071fd3e8dc0b2526d3da7c1cd35f36744555c8a50677d9adfd28e2f31b7d6377d5441905e61db008cf2b6e82bc72ae2d728d77e7e75873baff909c152499826d978f51062dde3a8f5b8f1182413ebbc0599800a57a0de944a58c8789a872cc84438026e909b0ce6d556fbad9413dbaa8a25c00a57a0de944a58c8789a872cc84438026e909b0ce6d556fbad9413dbaa8a25c7af3e6d7690b818a939bea5bce6eb46cebae9ae993f08a41356169d2e332af31d2f4711e707109f41e87547f64798c8e24fc59cb839c8f2da957f882da546c7bd2f4711e707109f41e87547f64798c8e24fc59cb839c8f2da957f882da546c7b35fa0903505977115114e0b4d2732dac884b395ac7f035c7814ddbf81614ac2835fa0903505977115114e0b4d2732dac884b395ac7f035c7814ddbf81614ac287cc0fa9318dfe9e115c28f0d55e998cb96354199f9d6bf3b31d91aaee9164de3847b0733a94f05dd54027b72fcae55ca45b53e8b49e8bdb5210a9eaf8e44a1d22c1751ac398a3b15d324dd66eaea017234ce47b5896a79168dfc2efd4938963d2c1751ac398a3b15d324dd66eaea017234ce47b5896a79168dfc2efd4938963d6beb40fd9cdfebc324c91e442a8491f00617fbb923b23c3b984cff34a68c8fa96beb40fd9cdfebc324c91e442a8491f00617fbb923b23c3b984cff34a68c8fa96d09313e739fbb388780a54b315a32b359c6caa9818934f2ce533ceb94e0952a6d09313e739fbb388780a54b315a32b359c6caa9818934f2ce533ceb94e0952a867b69c8d51ca9b69e6c2145f443221ccce3a1833fe6fa44f4dbceb8564d087c867b69c8d51ca9b69e6c2145f443221ccce3a1833fe6fa44f4dbceb8564d087c946a6ab639efa9914a4f5449fc006ce72b1e7050541bc20acb0340efae7be302946a6ab639efa9914a4f5449fc006ce72b1e7050541bc20acb0340efae7be302433be08ff53059aed9531a848b58fa70adf519fc605938c3582040cd5ce977ad433be08ff53059aed9531a848b58fa70adf519fc605938c3582040cd5ce977ada39d6d3f686956da213f7de0498c809063692df60306ac7162c69dca24598b518d20b8c5f2dd70c35bb5b587b69cdb16435ad16ee4bdffff9ec627d780bf00452fc1d35b2002fcc20abb1599bb0d33bd3ab9aa6500d2db6bbcaf78d4ecc3294f582749d46b3f90d170284372206ed33b4638df82160aed338d5552b126d9c14fd1329d662c712d603ec70b40670e07729a899a3e17a6bc7566472dcb4813459621caf6209d90b47eefbc007dbc2e56449f4a068683c896bb294b3c31cb913b3a3d9b22e6a69caf6427dca1f0e2ac371a6d4cceb05b94f1e84dd8ea8c7ec4296cd3fff64d0053428aa46a362634fb751f11117117804fa6e854a240df6f29af4ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ae4d9aa965f594810fd0d255a82576f07d790d2ebb30d08f7c430b93e1013b94ae4d9aa965f594810fd0d255a82576f07d790d2ebb30d08f7c430b93e1013b94ab194f029b1bb38130f30fb554e1e182b2ba47dcb6d32d256b879182ac3e30cbab194f029b1bb38130f30fb554e1e182b2ba47dcb6d32d256b879182ac3e30cb49719068fcc1d57ca3192da32a028bd545b5456008677bccf6e145d9cc2c0ad049719068fcc1d57ca3192da32a028bd545b5456008677bccf6e145d9cc2c0ad0be5c83cdbfcfbd9f47ed1f5b6d3aff08c467bde5b90dce7a782edec9dfc67e8078bc0f87c15663bad0fdc8f563109e9149226d3b9eaf0ca827fe351fb43ba16370de796c571c796e304c71b9aeebf922e10345aacffb8841617f3397de3f737da6179d3222e03cfbc9b2ec39108d45dc6d52e07d6e575b92669a9d5e7ab298b8a6179d3222e03cfbc9b2ec39108d45dc6d52e07d6e575b92669a9d5e7ab298b8e4f350329cb8d34b39181de3716c338ded110b0f24d1bbd4f56fc2e3d5747ddd8f6a9f24652f6afea5713e1993d1005194845d3c305541be1cae7443344600c38f6a9f24652f6afea5713e1993d1005194845d3c305541be1cae7443344600c3987133fedb20bef60845467c58c329991090a47232e634f4d55927ed411c912f987133fedb20bef60845467c58c329991090a47232e634f4d55927ed411c912f1e83929863c01c67e627f37b720b2e7f14412cad21efb747d3eb85ac2e4d57621e83929863c01c67e627f37b720b2e7f14412cad21efb747d3eb85ac2e4d5762353519d0fd27d200f2dea7b39a5479c46b6a0352d6300a1c916bf21d82cbb984657e3ed887db64a94f2156832131f66ee5ff7cfb8c0ded4455ce9ed974ac0b3fec1949fc3708b75cefd355107192e8ce275ccf335c8af2a3ebacc806444bdd1e3fd5b9de7f6fca05b7f83a47799bd09a78db3ac0dc54295517963786e1dcd8663fd5b9de7f6fca05b7f83a47799bd09a78db3ac0dc54295517963786e1dcd866840a9ed497a5fcc0a1cccbd2d225cd521ab6e0494ae0f3e951a51e036f6cfa5a840a9ed497a5fcc0a1cccbd2d225cd521ab6e0494ae0f3e951a51e036f6cfa5a080d07ddbca0b17de676e9652baf9fd85302064a30402ffd5caaf4f62a0cf0e45b78b38d57c5a8075c0f3eb017f21bb9050344c2d8dabac600d127f11a7ef9b7db7786818afb7599810bf7806cdf5f84ab0c1ddffabb574b20cc2ba063e1e0611b0d8fd65b1428165aab23f9be1590d9081ce46b89eb725e4209032649d717e892388e7a8659f7ab16239a29aecd32c766e3a04998638dec9e64ba19a390233792388e7a8659f7ab16239a29aecd32c766e3a04998638dec9e64ba19a390233737027cf027ca723234dab5a5c1704ff4dca8e358aeda83d476df28d0bdd67f4b37027cf027ca723234dab5a5c1704ff4dca8e358aeda83d476df28d0bdd67f4baafe9aee64b37e7bc416aae04dec6b92e1e071a4545198baa4375a9ed5c833f391ce40393f0b7547074889dba907f7eef60cb88129a70b4172cbcc53268b41bdd0447b6b1b3ff8b1f49252ef8cb75f82140b4d3ed5fb0bd9f113798b5197f79a476d6ffccf44774f70638887aaa0e2113bd3ae16b7960a7ff3be2842485583dbcec94c856b8c888ae068f77a8809e1dae604f6c4e57a5a15838c4ae54c24a902cec94c856b8c888ae068f77a8809e1dae604f6c4e57a5a15838c4ae54c24a902e291e910a83616dd4337b543e9017dd866d64c2e00133d4b70bf7ac708c34693e291e910a83616dd4337b543e9017dd866d64c2e00133d4b70bf7ac708c34693e0d258fd94187a4773283a7c746cc5f16e5c33d56a9d6b35cff3fda9c552e94ee0d258fd94187a4773283a7c746cc5f16e5c33d56a9d6b35cff3fda9c552e94e3120309d04a81c0ed1505ebcd7432160f9fc8217c92af1317db0fe56032f915b3120309d04a81c0ed1505ebcd7432160f9fc8217c92af1317db0fe56032f915ba6fe080519aa0a01ff9ebe6fa3d8e574ae2abecca420083a1c6c31dabc7f9b9ea6fe080519aa0a01ff9ebe6fa3d8e574ae2abecca420083a1c6c31dabc7f9b9e85b98af0e0fa67b7d8ea1c229c7114703d5bcbb73390688d62eed28671449369b99f36d4f06a42ba248546f07bb134528744ada307ab3a12813bdf27c308977d9af3e4ec53638c82ca44b21d33147b22f275ba080b802b33a3e2fdae37e98b438e31634aa35fed6dbe4dae98524cb02b43f87768b4073fcca8b39f97b3b54e4cab77953666d62461bf4b40e2b7f4b7028f2a42acffe4f6135c500a0597b9cabe7331a26cbfb8a0fa1fc75a424adfe1ae8ccd6c794e3eba86bfa9bed1dfa24dda1c33d7134fcc3c14b0b30ffdba97b3f2df2676ba941ab822386feac90cbe5b7de2738a85e6816d51105d3192a9a3864f2d53920ec9fec127a37bbc8f10be6dacfb76a36790a442b8cd5b91fc34f8ef095d91060afec3dc1c60175bf248cf05f87ce2a76557e2537a1cf423d2ce3254b0c9395537e039fa4d856a1b507d2c02587acd1c09eccab29ceb890fb757cf21df2273c73d36f1eb95dac53033ad6413eafd42de7e675d2c32c9f552911405e1b2111dd333fc3983e172308f7d8a2551ba79d8b62522a92c26a9aa2af4016fc28e91ed8a7444de17fa683939f951e080b956c0b4b799bee9fd1856bf7a3d592cf771b710317c312358e0aa5432f3da84300b4c2079321134437e9582af4e3a40e903b4a954e71ddab79c9ba38b05c0cb6c0b4c2079321134437e9582af4e3a40e903b4a954e71ddab79c9ba38b05c0cb6c62488c4b2c6237147bfd2cca2cc61cc98e0f526711773d9d3922f4c98d0e523b62488c4b2c6237147bfd2cca2cc61cc98e0f526711773d9d3922f4c98d0e523b7f591fce35a624a5a7444d1c108e4a778d54fcffa80a1a652f38403e57c878197f591fce35a624a5a7444d1c108e4a778d54fcffa80a1a652f38403e57c878196d463eb894f1b59d59e7f7a69d1b7d7f65f848c2542433ddb278c8ee0f5a22d86d463eb894f1b59d59e7f7a69d1b7d7f65f848c2542433ddb278c8ee0f5a22d89946eff862b64ad031436747a33ae50b6c965ec99d7e6436dfcaa799e3d179399946eff862b64ad031436747a33ae50b6c965ec99d7e6436dfcaa799e3d179394ed94f90256205d50406cf3b445fdf5548e6158a1ea85463177dad71b029ee834ed94f90256205d50406cf3b445fdf5548e6158a1ea85463177dad71b029ee83a742b05a5b8dbc346407dbb04e482b4fca9e2212b8bfe547500f28cb62062d8ba742b05a5b8dbc346407dbb04e482b4fca9e2212b8bfe547500f28cb62062d8b0911d478db6de7d6cb60f44133447ae40d7ceabc394c2eafd2d1b48c8bb63b5d0911d478db6de7d6cb60f44133447ae40d7ceabc394c2eafd2d1b48c8bb63b5d18a8b38724bb11246253aeeef149c124b9b8ea0a1abbdf77ec47215d66cf06593172875ce2f77a1ffeb6b4a893e2544e3011ff38e698a177ae34445400633fcbfb751741ec1b4f4c8c84c764cd15df5c6027b662c81fb42de1af4795ff08e7f63fe5908d24a2784dfc0d78cc0dad6de171e728943989d11a293d0fc97c26f0a4a9a37e7f0fe1b4880a5155e802e0045602b142eded67da84d9e88a916212ecb02cead72e02340a3425743a36ce1399606619ea0e1efdc24e081fe917d68c45648a9a968aae401f3af0733b7a736e803f4e4b961e9ae7f19a5d1a4e06a6e880706a3ced387fbd23b280ff8c2a0d8ca0b476bac54055660169999f0513be071c729c3b636eb844683bb7f3c7e9e0ee81192a5b8a16661e1ecfa0ecf6861164f9082b43f35f5853825c10c4ea5e03fd19753abec85884902c34f109ca414908a3582b43f35f5853825c10c4ea5e03fd19753abec85884902c34f109ca414908a358868003df6d2c0fb3c8c37c4ecdf8b92daa4e961afd2d2340c6f9b72ebb93ed68e617debcf4bb51431c1de62d5de01f2ed2c8c384228c7a176b7e7b030965713b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bdec880bb89189b5c9b1491c9ee8a2aa57e53016ef41a2b69f5d71d1c2fbb045369a7631bbf850798634cd2f7dd70afbb783aceffad6acd595c7eef5f6abeefac77dc8bdfdbff5bbaa62830d21fab13e1b1348ff2ecd4cdcfd7ad4e1a076c9b88fed3dafdaf2e57d23d39b4d70ad5e222e841764bcc191f271e8186a558d7086b4e1e6f8f4c4a225d113c4e48e7c2aec347a1f3af3bf2c7cfad2f836e506bfb674e1e6f8f4c4a225d113c4e48e7c2aec347a1f3af3bf2c7cfad2f836e506bfb676d41f08158ee2c32fa9b01a16170aa96d11872d0672eb19387540731a1f1bc9a6d41f08158ee2c32fa9b01a16170aa96d11872d0672eb19387540731a1f1bc9a35166975ffa5f763f026cc4b9c27cc687cd057cca44fdef7f9673c3482fad64d35166975ffa5f763f026cc4b9c27cc687cd057cca44fdef7f9673c3482fad64d545aaf542affb455f5539faa8875842d7f967cc494b8ec33542873aa3b048e88545aaf542affb455f5539faa8875842d7f967cc494b8ec33542873aa3b048e88c6319283919b0c0480f7e0d6412acc1ec6d063d614acb7432bc852c20b6ee11dc6319283919b0c0480f7e0d6412acc1ec6d063d614acb7432bc852c20b6ee11de965c39904e651b3af43e77a81476c0bfe45f160a96db8bfc86589de8c84939f4fcea609563e2650052c3099090a345cdd7c782657abf53ebd4afbd1374e9e59a0331096ff3dac81aa00aabc55718981dad5069115dbe7cc9c1774cf806fbca6a0331096ff3dac81aa00aabc55718981dad5069115dbe7cc9c1774cf806fbca642e538584ca2f7c8e4871fa2c5099ac97b180e73f7eafddbd45a49336fb3b5fe42e538584ca2f7c8e4871fa2c5099ac97b180e73f7eafddbd45a49336fb3b5fef069859fa0dda84825bbb3faa4c83c36be8da3f36b29e66366572cab8f5d496df069859fa0dda84825bbb3faa4c83c36be8da3f36b29e66366572cab8f5d496d9b25a3d08e5f20d5e3e5871c2091de884f49a50fb872daf827801f9b39f5803a2934334f12a3a82785a4eda629ff5c1ebef62d5c6f1f1808a7bbe051c8afa25c8cb9a1a5a3a440b7d4f2642afeb0c132a04b1b4575bdac98820e75b1179893398cb9a1a5a3a440b7d4f2642afeb0c132a04b1b4575bdac98820e75b11798933940ea6e9dc4bece84e84dbb8d39f9b5788010dc0cd6682589786acd692749714e40ea6e9dc4bece84e84dbb8d39f9b5788010dc0cd6682589786acd692749714ebf8ac50f49fb0830834b67b98542c756febe71420e41f8d6cf511ecaa3961ac0bf8ac50f49fb0830834b67b98542c756febe71420e41f8d6cf511ecaa3961ac092d3bbd9c4caf5199a2c505879cac8d25920ed67574732dc53334b8517958dea2a167ab82b3c0ee13508c2089fe0f66a0eb342db6e477560479f99336501e221f980443afef00c5cc27117e6aec4601cc13335e40daa8b256a281a9b01d748fcf980443afef00c5cc27117e6aec4601cc13335e40daa8b256a281a9b01d748fcc2b851edb94e47febbec3cc3c38be1b03dee5ed7b93409045172e9d9ce82f0e0c2b851edb94e47febbec3cc3c38be1b03dee5ed7b93409045172e9d9ce82f0e0617709abbe18eda7d65b9ef5d933cc8b625d9a5d24698a1b357460901e09400fd0e8fc2356f135a73923d356d682c9b81f8a9ec846e560011144d6c6600588e82b3b9f403f3da0cbdc4dac35c048145c3264a7b80766957700d8f64a3f1250321c76c814c5c2e7fcb4b83e88067e66e6dd207e83ca8a18561f9dc83682eda042698f383b6905fc3705b991538a5d9195d6a5a3848baec7829bb08575799aa62d698f383b6905fc3705b991538a5d9195d6a5a3848baec7829bb08575799aa62d7b1e72ad86eeb5ae1b618ecc9d819f1ad560cb9e97b9b93601722e4f38ea0e097b1e72ad86eeb5ae1b618ecc9d819f1ad560cb9e97b9b93601722e4f38ea0e0958efd17160965863088d616bbcc33859f85783e7476b6e7bd2b3020c606ea0fb58efd17160965863088d616bbcc33859f85783e7476b6e7bd2b3020c606ea0fbfe8110cb79c419c684fc32c7b676a4a006fb23abb93c146ed29c589617d3f7b0fe8110cb79c419c684fc32c7b676a4a006fb23abb93c146ed29c589617d3f7b0d9a69c050f13bb3e2829349caa107938e8d45e29b81c19c132103753f68846e1d9a69c050f13bb3e2829349caa107938e8d45e29b81c19c132103753f68846e13ae9cb947df42045b96b4f1fcdce1634df35907c305016507d3b3a4d4b2894c23ae9cb947df42045b96b4f1fcdce1634df35907c305016507d3b3a4d4b2894c27cbeacd308b3d6b80da66c17573a74c5ec77b3c663fccf4d70189f83a1ea8f5e7cbeacd308b3d6b80da66c17573a74c5ec77b3c663fccf4d70189f83a1ea8f5e0e52fed70f19adfefca6ca91df58ee92dad8b9505b8f2b7246e18d7d90a9c3850e52fed70f19adfefca6ca91df58ee92dad8b9505b8f2b7246e18d7d90a9c385a60c77d157d936e1dd4550161b7354be747cfa8caaff1957c56f8712b2c20569a60c77d157d936e1dd4550161b7354be747cfa8caaff1957c56f8712b2c20569b56d19dd97c40c29c51519354f72fcfb4c8b3dc81af6b41dd469c23f9365e7d9b56d19dd97c40c29c51519354f72fcfb4c8b3dc81af6b41dd469c23f9365e7d91ccb22d6100a4b1ee5054b0049836bbe5a579db9f5c2c785d15ad444d55369681ccb22d6100a4b1ee5054b0049836bbe5a579db9f5c2c785d15ad444d553696811516bb541a1e98283bf476e576f2f99b7c88bc1350f4a1ab938e856e199082e11516bb541a1e98283bf476e576f2f99b7c88bc1350f4a1ab938e856e199082e3e0d34341583dc4c02c4b55a30167e8325dea12afacc1540b3a6e7d81ce8b81df579bb233e5aa6a6c3d9fcd66312a0081c12c3197d6f93539f0fa5446c40125183be0033d81989ebdc1f5034a9a0cba115e8990a6793329d52e4313c9f9f358d83be0033d81989ebdc1f5034a9a0cba115e8990a6793329d52e4313c9f9f358db30a94ea39b6f4b6c7e2c9466b7513c5801a31408b3b33d8d6a4cc6b8b6fecf124645f00425177fd5a5b9a4f6e93fb387de4a3cd9c73379ad2bf7ca91d97db7224645f00425177fd5a5b9a4f6e93fb387de4a3cd9c73379ad2bf7ca91d97db7225fe8d20626386885f17120f8442d191171d8eaeebc696cca57324a305194a4d25fe8d20626386885f17120f8442d191171d8eaeebc696cca57324a305194a4d3fb84a2800865f7b404a059867c8b3575068b0ed817d08a57c9d2cc8a4ff4f953fb84a2800865f7b404a059867c8b3575068b0ed817d08a57c9d2cc8a4ff4f95341f4d548d26b4f237b4509749d554cbbe2c5e8c2af222024f4fbaa054d97720341f4d548d26b4f237b4509749d554cbbe2c5e8c2af222024f4fbaa054d97720e1daaabc42242c928cc5b8c4a60737bcd8335c4bd192162d62222d2d3abdf3e7e1daaabc42242c928cc5b8c4a60737bcd8335c4bd192162d62222d2d3abdf3e7ec0241cb5d37bbeae469555bcdba5423914837899d9e25fede5b6449b1ef3820610c3aeab1c4511d118ced1b36d6a1deb404a222ca4458921eac807d96a844c4058f9f8e69c8e675b7dcc080181adbe3ec3693df1db9cf7f99c6c95efc460a7c058f9f8e69c8e675b7dcc080181adbe3ec3693df1db9cf7f99c6c95efc460a7cedd336495e05b698cb9a31d9fddd05da218e83b77d7979d4468399b53e6dd933edd336495e05b698cb9a31d9fddd05da218e83b77d7979d4468399b53e6dd933ad26b0f3f7fa5631e2874f0a6f8ce8f94a019bce28ae3f9cbd1d83fbad1393aa2a1aea5e728c141c142fd0953cdb51bb0b660269f5b2a8e10c31eaa874283a9a97dc9ec2dec9d2b77e06e17e6aaf7fc10e8d3b2767de668ccb03d58b4bbd196597dc9ec2dec9d2b77e06e17e6aaf7fc10e8d3b2767de668ccb03d58b4bbd1965a9c47a764da456d6a7bc60568b5320075e2bb2b8d431499a999f55a825fdc3bca9c47a764da456d6a7bc60568b5320075e2bb2b8d431499a999f55a825fdc3bc6cd159e80e480bb60cf8cb4741f959a8180da23598d5aa17e45eb89a9aecf0f46cd159e80e480bb60cf8cb4741f959a8180da23598d5aa17e45eb89a9aecf0f497a7d805c2f220bf6802eb875aa84abe017bfcd6fdb70db6c578d5bd33dad04d97a7d805c2f220bf6802eb875aa84abe017bfcd6fdb70db6c578d5bd33dad04d9d0da99b6f3396dd105fdb7699b663e5abd3743fc39ef439943b331c023b11ef9d0da99b6f3396dd105fdb7699b663e5abd3743fc39ef439943b331c023b11efe4d81b5c90ee65956b6e97b8eefaf2e3123af8efb5f83e978fa967a20cc47f90e4d81b5c90ee65956b6e97b8eefaf2e3123af8efb5f83e978fa967a20cc47f909cdbe23511980337de160b3c3a1085cf08e40cf4bd8e25b15bc3857a7884a4a89cdbe23511980337de160b3c3a1085cf08e40cf4bd8e25b15bc3857a7884a4a8cf5d96cc0cee9d043033697467bfeb4f6baef23a0f0ee3305bb5c9b873773647cf5d96cc0cee9d043033697467bfeb4f6baef23a0f0ee3305bb5c9b873773647975097032011364825f2feaeaa132402ae6a710a40ee2e28dbe36b97c7df7c2f975097032011364825f2feaeaa132402ae6a710a40ee2e28dbe36b97c7df7c2fea164d98c31b30996ecfba8d51f17b2b193d28374059d2d0555f44fe8bc55817ea164d98c31b30996ecfba8d51f17b2b193d28374059d2d0555f44fe8bc55817f481c43e1162f393dd51cb8ce58652f0c5be65e6f25c74df5953dc83e3b06b0ee08e6d8803c6e7af5321d3f38f1527839ff5bcf3b045a39c5dd72f08ffbc951f8529babaf680d579da66461f2a515af5b5aa83d2cfa61daf40e352c738137d118529babaf680d579da66461f2a515af5b5aa83d2cfa61daf40e352c738137d11575055b98ee34aec83facb8b3b310f9cf5c40eab6cfc326d06f996a49def29566d6c200129ae3f15f6f2efc2053444b2563fb8826e6b9ed3b612fe7ed1031caf1305d343525b9065989ce8b3e2cd7d5fe104d38d99681e9a98ff3cc79b0a755b1305d343525b9065989ce8b3e2cd7d5fe104d38d99681e9a98ff3cc79b0a755b8ff00d9978d30b2c5630b59405d32c3002d4b079ebdfb3e53dc912068a4f7fe08639ca3773e360a345502e11105e0862a511c2056953ab0373f7109f77eb30f90d5dbd2ac2d49de65233ca4cf8208805d77a15f1dacb8d27a8a2f589c8cb56df0d5dbd2ac2d49de65233ca4cf8208805d77a15f1dacb8d27a8a2f589c8cb56df9bef93e12b218d4c3c89d3f61f32ab73f7cecabab31078dc86bd4688884f5a5a9bef93e12b218d4c3c89d3f61f32ab73f7cecabab31078dc86bd4688884f5a5a6928337395e9b111eeb85848c99f9c9b544cd23333631be39bc0c605890447c76928337395e9b111eeb85848c99f9c9b544cd23333631be39bc0c605890447c7fed7fda3676424975d96ab0dd4931115170b6c3299f777db4e4968a8585bf787fed7fda3676424975d96ab0dd4931115170b6c3299f777db4e4968a8585bf7879710f7731338c5afabf85cb72cecb82328a3a7ed1fe759d2734d1cb9b550de629710f7731338c5afabf85cb72cecb82328a3a7ed1fe759d2734d1cb9b550de6283243f92d4c7a95c256c0901fbb6b65d1bb76b4da67ce7b9945e507b3f3e22ac83243f92d4c7a95c256c0901fbb6b65d1bb76b4da67ce7b9945e507b3f3e22acc3bb89f819aa106f2d34e7495306c707180040e3433ecbf121e64a22c0847c49c3bb89f819aa106f2d34e7495306c707180040e3433ecbf121e64a22c0847c49c3b2fbf05d57ce02aa577796891b33a92f55f835c8a1540c6ccafb089501460028f090bf3406c63ed8c8606168ad66cab3ecb1e13d0f0dacf6a4c72f2cc1db2b47f9b89c07d9e3e82b987887090808c5d122d1d25586c28b71b4c3e0d2da2461ee883aad12288fe118502aec3d37f56702fdd628c2dbbf48a7d919873a58b9b27241f5c42a4058c6022c5f6d83b9867b418027e7d2b24b682898fceeb80c84137241f5c42a4058c6022c5f6d83b9867b418027e7d2b24b682898fceeb80c8413daa30907633f8b9de0d0b99e61f0f9577490f5fc771527025dd1544b4df07e2500167e2f2c3e8a02b0045a0b177418b4599fbadc192e201d59ca5131b71a7065cf014e93655a9511cc41afe40aa0d7a479f06aaa99ce1c46130b91e3357e744bfaffd9d0cd4b107e64f958520416eecffa43a779d2678af353d13b888b243c37b16342fe05215b3434164092e9b0f74e3d85be59e4d80c0b9cff0ebdc57f82f426d308b5af09b859025d54c7bd98669de004748327a6c757f389ce58a176e2b920015bb7f985deadd014184718a1c0ebc2b5b8d7d4e0cae4868009d3303d4bf9ae72ccfb530c4205a6fa530e1f3f5aed727460044fd719ee0805a4418d17b0343dc8dc66ccee9e5070d05448088afadcb00073c954428aa26bd1912de3f3a9cd7d5529b380c986f4a1300a1dd32ef1974da6e3a6ddeebdf58ab1213687cfaebb5dee99c1d5c30dc21a2a6a222cd835c561cd251861ef780a641b50a965a067795dee99c1d5c30dc21a2a6a222cd835c561cd251861ef780a641b50a965a06779e9006cff414a4b8414debf2815b552eef1a5b6aef333998f8356a21a26387537e9006cff414a4b8414debf2815b552eef1a5b6aef333998f8356a21a263875371c1ed28a68d011731cf1d816358ea1ed8c516247dd71ac5ff02178b74127cfd11c1ed28a68d011731cf1d816358ea1ed8c516247dd71ac5ff02178b74127cfd1bc476cd5963126481893e1ec46cff913d0f2f79bf3a04c307a537d7b5073e80bbc476cd5963126481893e1ec46cff913d0f2f79bf3a04c307a537d7b5073e80bf9289ceb7c48a39d22e4e8af0a94df2096edd48923056ab235ad420e898c325d29db5c10bfe76eeb4d8250203896ee0792a1cb29e888f79636805c011d17b8a05c344bdb1fde47d31d80f0873f6e4f0a08ca2b50a787e794e588142856c16ff15c344bdb1fde47d31d80f0873f6e4f0a08ca2b50a787e794e588142856c16ff1f9be90a13b87d13ed7c27ad37347acbfe0f3f9a3b20613c31b4d28122f15a22ff9be90a13b87d13ed7c27ad37347acbfe0f3f9a3b20613c31b4d28122f15a22f7ae0d7ba13b1c0dbd3a26ee70286b15ca488abd99921519fe9f0f26b9a863c217ae0d7ba13b1c0dbd3a26ee70286b15ca488abd99921519fe9f0f26b9a863c21edb9dee077d1197cf35b304a25e8b374376c075a2adac286a79a0079f4947c70e62f2178191f676d909b38d05fdf9ff696332884d66f6f5f77d464e6cd6567b919a6299a21bda5af758f51e538a13a308a3e79899f36fe54ed941dc5fa4a9eba19a6299a21bda5af758f51e538a13a308a3e79899f36fe54ed941dc5fa4a9eba687a122ec299d21202c13cb7d090294c76cac713fb12daf04c14396be56afedb687a122ec299d21202c13cb7d090294c76cac713fb12daf04c14396be56afedb29ed429773f56d89deb328a962c3bd220d2003b6fbf82d0a594aebf3c01ae46e29ed429773f56d89deb328a962c3bd220d2003b6fbf82d0a594aebf3c01ae46e852827ac88d61851d4bf6e99bfd1d04fbefb352f588b8d539cb696fe41d95a87852827ac88d61851d4bf6e99bfd1d04fbefb352f588b8d539cb696fe41d95a87a8b080550f7776fcd72ae68e79dd6d3f607179d68cd63536555fc2c904519619a8b080550f7776fcd72ae68e79dd6d3f607179d68cd63536555fc2c904519619bf14a2616b6bb6a4bbaa576ca0d27c22d54b9033771e409b103d206b29875757bf14a2616b6bb6a4bbaa576ca0d27c22d54b9033771e409b103d206b298757572c58d77164564f6f3d4fd7f60e08c07ba6690ed1f8c6b5021737ea835bad82cc2c58d77164564f6f3d4fd7f60e08c07ba6690ed1f8c6b5021737ea835bad82cc35cd1d223278520e3f7bbedf7d4c4fc6d1c2aa415af03fd9572b715917ff6de335cd1d223278520e3f7bbedf7d4c4fc6d1c2aa415af03fd9572b715917ff6de33421330935259ca144e6a7cd66f0fe7eff39e966cca97f075fae3f46095d71bc3421330935259ca144e6a7cd66f0fe7eff39e966cca97f075fae3f46095d71bc4ec407e7fe189f1ced2df743b54ce5aaa702352ad9be499a9c9d51d724614b574ec407e7fe189f1ced2df743b54ce5aaa702352ad9be499a9c9d51d724614b5754d87e7a967c2cc15b6e6f2f05b34a47348db6c860dde2e74ba706ba683104c554d87e7a967c2cc15b6e6f2f05b34a47348db6c860dde2e74ba706ba683104c5b1cee941947da3708f948ab1752f493f06a16bd44ef6978c6cd6179742f64519b1cee941947da3708f948ab1752f493f06a16bd44ef6978c6cd6179742f6451911f6d7fe4087c0057b65d95b1a0afa3c94a1bccf5b1d6f40ad056c51e2e192d611f6d7fe4087c0057b65d95b1a0afa3c94a1bccf5b1d6f40ad056c51e2e192d6f3964050a9a2efc93588dfe942c5ffb2e6d4bf669afc5a2b5e916353322ca932f3964050a9a2efc93588dfe942c5ffb2e6d4bf669afc5a2b5e916353322ca9321d6f386757169a0e1be9a309be5308f68eac1994841ff6963139432acb4bf2561296d8048ad6e104d8ac0e86f2e50920a65a2e68fcc384b92969d7ce6afa850a16fbcd831fc1ef2a637fbaccc4534d04eb2e17f0e3fce57c2f87669142e140a340d424bb8bf7f0670e71cb4718d6d156862fe6654c55c7b19e60b187d7eaa46c5c382402c329fe32d7f668fee8449d7fb18affc46e5fd93020bc173a137519a3b2d473813ea07573139ac122f0fcae7443b7d990c2ee23fefac75412b70cb8ebda9a16b6d340863dd8e3965d7602153305e335701d51c00e3bfb1cd3087a6a742cafe5ff982716fe83d3662dc89441a79904dd25a61d5102ec26c129edad8e4f729e968974da11df0b5b0c62ce99c54a66c23928b33cb725007145b2ac51aaab7fb40ecb82e42945e2472cad8b8a2bcc2257f59f2c63fb8ec8c6140030031ba8542460ec13d574b5e0b5ebc48bbb7f8828495ba93a7ce68ed06caa47f9bf311c154f2401a9e902f69a79c05b4594ef67b95ca31c415eae7f9d3b9fc0ec995178e61ffa06574f4943d49180f3758d6de898aa6b0db5c81659a24a643156819f2a3605bfc54a14a9c0468c616bd951eb91815e8d5a9e026c2c192bbf7c641bdfce0afebd92aac5391bb06f5235a307be231c8ad1900d8aba868222f2c5c6129c12bfe41c5648da597e727f4c5aba9f7f2b249a9d596677a2e1bb31211a99938935bf7c1ed5bca6b6abc4fa3ffbc824a76f86b4272df6b37cf548b67317dd4da636a226180fa2214f1f45e0240c7f3e4b41e193d72e6166b9ddc5b281612bf34daf128242f20558308bf6b40d4da550365c3c824f5a86a780449fb697ff9bded60cabc90a540fba20f59b8073c16dcf07bd6c118bd0d77ab8e7ca2320306d5fbbc02644f548941482d959ca3166caac7494e2f8e6d0dbf48f439f7f22cfdc926fe98ec6f72a3dd742d36ac30bed735594b7f264f0011721e863117223ddd227bfa336b4236943bd07cf0ff89b4e7f0c3704cb7dad29f54e2ad4e06eeed2eb7916b3db3ad2eeb76eece7b6d78df1b260a577c1fad486d2a709ebbbd1837920902db6841bfe39285bfee2af2e3a3f136baab502c424d0415d316096f7fa9b36d437ca37a32b4c0a8aea5f52564ead5b0791d74f0f33c3a5eea3657f257e9c770b86c6f69aa1c86c36ab61c61865c03a96db7b38f4db8680affe3bc437d7cf915ab3b539bd28981e0e9596577c542d6a5568218e82808ace903e5865f01362fd835d98614e8e78b7563c358c83e19109eca44f6d5f3a9ecfc40627d6ec27a11a48fae366d0709e10e9400d9bc486b33d7343436e6e371338a76a26b1a491369577ae911744c1363624326b5efd88356e12951d748d59634510f203520c21b87764a31f9e3bf6d1b3d528abac2116ecf0c77560d5a5199415d665b97d63cd91d631f9029284024fbbb3e70553546cbe81db0514f1503b919f221734e895186c85f9574face2893c1bee2d28c495f62e3b08eef7903347712fe65bc9a0226f23f5ef67d8ef6e56ec8489ce849836d2e710fd45c197bf20c527d57aba34463015b5e0eb795f65dfda0f9130acdbfc1e0c2228623b7a20c9316324d575c515a9653b1b6d2056eb3d5320ee3424ff3df663c2edb9df02f4bf93e243d9a288c666748ae8e703819f8d43973ab9fc1512427407091baea1bd4ef5a2ad5248ad51aa860bda63e4be4c63bf6d87d5b853a1a942973dccd14503f17af6d6495b5014d0a15431c76d13a225ef808820d0918da91751c5aa4968df0bfb1da7842da1dd01c39cbf34d4db3b5767f9c5e6c703133ceb00a2fcb8eb4198d45da6da86e51886cb016224ae481814fc878761164cbe69aac84e88f2a5c06e1d59fb077ad077f462ff7b0a5b1d83b74d71e6e642c64ac21d7fdcad54b602cd4a5d2d032de0977634deddbb346de7fe67f8f45f33d4d84d401c940dbc660da2f4b176224c6b72486da9d09bb8f5d09aec970259706b7c652cbfb673bea9be32b7fbc9a2ba702e71473c778aa89a483d2edc85dc45a8c7e2a76c1c74f20295f33bb4ca6225d62cc8868dbe7fb914bd6d38d30e0d2ca0a6203fdeb37fe3a93e1d298aa9fdcb828c49754a6fa31f1e617dd486e2b517ec0f9cfe838ff099cb87f916a1c8838d6cf82208e160b730d50de5f1ca1af0371f659d9706ca7343b3d0059a34324b32ff39ceb83f238ff8a590205cdcfab513d41671c068a27dd310200f480b3de99c135dfde99833ef7ad7efa4448022aeeea4cc7e22f90a0ae95e6f5bb4c4af6d089f16f9b86d802f78e71587e59644255729fdbd098dc0324ee4d7da2cf51f717662d8bb7cf231b9e5d544d4045b30ca8cf5062090fa87d5947341a45610d5e88d8eb690b004689259e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557bd7e2da6a86992d18ff6085404163beb2e8b158fb6685a2971e3bf8e35ec3057bd7e2da6a86992d18ff6085404163beb2e8b158fb6685a2971e3bf8e35ec305cd8155d5915a3cc302ebe5d9a6d698617644c984d73d2c61725b9551954b177fcd8155d5915a3cc302ebe5d9a6d698617644c984d73d2c61725b9551954b177f9013484302f725b038ed065f2ab3040844fe9b75879808a06ddd764d607f3e734a1105a3a7dab6148363db547dde1f17ce073a3ee4e6445cc621c0ab90bad4d4d6af4e42858817c8aa856c987e6f4e1da98031c92318c20b42c2f9c7a0070020d6af4e42858817c8aa856c987e6f4e1da98031c92318c20b42c2f9c7a00700207d012c25bec6b3ff55abd574c47202074105c4d446cb1b9baf8c3864598673169b6a29effc5ac4f363a93457b4b61f58fb5d44211aa640039106b7f17bdabf2b9b6a29effc5ac4f363a93457b4b61f58fb5d44211aa640039106b7f17bdabf2bcc946cb559fecd7a3c199757247999fea559bcdf0c2144da3277dcc50954b349cc946cb559fecd7a3c199757247999fea559bcdf0c2144da3277dcc50954b34954dff8dbada1b78a594a075258684221aa0cc6313f2889193397721ae27410cd54dff8dbada1b78a594a075258684221aa0cc6313f2889193397721ae27410cda66eb0d26548f0029b77fb4a51d90866feed05c7041168b8a845a23e890cfd85a66eb0d26548f0029b77fb4a51d90866feed05c7041168b8a845a23e890cfd853aaef86e7d5ef7f3a95dca6de16bdb835c40fd30eadb62605575206831851c3a3aaef86e7d5ef7f3a95dca6de16bdb835c40fd30eadb62605575206831851c3a59325f5ed8380208158b3c91f73c927d601c47287a311055a712f8d34db9bc9159325f5ed8380208158b3c91f73c927d601c47287a311055a712f8d34db9bc91bc3c3e1730b7916d94caf4a48d403ff7d6617cf394d0726e9ff2930ef94b1a3ebc3c3e1730b7916d94caf4a48d403ff7d6617cf394d0726e9ff2930ef94b1a3e69952eb9b9b542ad147dee193b445e0dbd804e57193320f88aba8ef04266bd0b69952eb9b9b542ad147dee193b445e0dbd804e57193320f88aba8ef04266bd0b985121b02cac6181667683c91267c6ef4a2d0a75e5a2326c80a30a29fa3df66a985121b02cac6181667683c91267c6ef4a2d0a75e5a2326c80a30a29fa3df66a8bc4ba21bd4e4237082c0fa5e2093392d3197b5f1369e50d238f4f2d1a7a3815089d0e4c21c88d6034648552e2fa0e440b27d91e11d9c40112d3ec64426901261ad76a985cbfca45524e4cfa31d18bda0dd5e64c6f40a1d35b12990a4e50e7d43ec636fb8aeb297e1155e442d681a9d65075a660bd78a37cf3f7fe6c3f6e3a8072faffdaff0145bc5c225e71e6575fa9d1e3848f188bcb3cca4e741bf9e6ea34bf97b56431bbc994c7de1ed38db4b96cce69f001b330f54ebbcb240ccbf887a9d93939b706ff5602c263ed4d100423759a7f4bd385302fa95333f68acb9a3ec41c2b0592c66924b7933f734493f9e0ac079755146d4ebb7287d78e001a113f807af3e6d7690b818a939bea5bce6eb46cebae9ae993f08a41356169d2e332af314372a75ece3b0a5afac61aa2f5c8f6f9bd776e37bfe47759a4752afd45f287634372a75ece3b0a5afac61aa2f5c8f6f9bd776e37bfe47759a4752afd45f28763843368a4895df3ee0008e941000412b575b6c0999361d76bb038c748c2566a73843368a4895df3ee0008e941000412b575b6c0999361d76bb038c748c2566a73543877a443f6e38491520c9323cdd04c2aa13337aa6c3dc5dcb951596724eea641aeae4701f796e44a0767f1061ef22668bad04d03e6b8c21d791b59fcb94fb3ed6387c0926a6a62e71f2f55b48af264d7a90190d15d9265d44c98cc7f38f8d0ed6387c0926a6a62e71f2f55b48af264d7a90190d15d9265d44c98cc7f38f8d06a0d04177fe466ae2f714356d0654b490b2a6d22ac5da37e736a4923e0ccf1916a0d04177fe466ae2f714356d0654b490b2a6d22ac5da37e736a4923e0ccf191a107b82bdce018a65533d22c8c80dcfb80378f7a63727d3eec544ccdbb39b9d6a107b82bdce018a65533d22c8c80dcfb80378f7a63727d3eec544ccdbb39b9d66c0c06ef1c8a72b95e2c41ff4050005e298af6c821025a3c12f48f0d50df2b4c6c0c06ef1c8a72b95e2c41ff4050005e298af6c821025a3c12f48f0d50df2b4cf31837e88b0073ac908464e7de7afbe3f74f2b6e7df32ef23a86e00231826473f31837e88b0073ac908464e7de7afbe3f74f2b6e7df32ef23a86e002318264739e61a56a376332422cf8dc8a44797b148cf511e71e438a9876c857e202fd0c119e61a56a376332422cf8dc8a44797b148cf511e71e438a9876c857e202fd0c11a39d6d3f686956da213f7de0498c809063692df60306ac7162c69dca24598b518d20b8c5f2dd70c35bb5b587b69cdb16435ad16ee4bdffff9ec627d780bf00452fc1d35b2002fcc20abb1599bb0d33bd3ab9aa6500d2db6bbcaf78d4ecc3294f582749d46b3f90d170284372206ed33b4638df82160aed338d5552b126d9c14fd1329d662c712d603ec70b40670e07729a899a3e17a6bc7566472dcb4813459621caf6209d90b47eefbc007dbc2e56449f4a068683c896bb294b3c31cb913b3a3d9b22e6a69caf6427dca1f0e2ac371a6d4cceb05b94f1e84dd8ea8c7ec4296cd3fff64d0053428aa46a362634fb751f11117117804fa6e854a240df6f29af4ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855377c39f49ece4f90d8e4ddd5d27a467dd2e30f55634a3f0fb27bddce929e30fd377c39f49ece4f90d8e4ddd5d27a467dd2e30f55634a3f0fb27bddce929e30fd241967041eac24d80d95446f2da477d8ce3e13d088b57f66554d38ac401bae71241967041eac24d80d95446f2da477d8ce3e13d088b57f66554d38ac401bae71065d2e404e97a02e5411a681b067a7367ae9970bc7448299549a9d5d592d8e45065d2e404e97a02e5411a681b067a7367ae9970bc7448299549a9d5d592d8e45be5c83cdbfcfbd9f47ed1f5b6d3aff08c467bde5b90dce7a782edec9dfc67e806a9d6aa1768d0013b1f3def7eba353304776a1b8eba80a123b5ceec593e3726329f14631eaeb90dff4574ae0b49571fbd747b77b56ee2fee272a63c0470bb42d7f31be8f7cf070900d2800e886054108ef97713fee8d0e72e34aae47f395006a7f31be8f7cf070900d2800e886054108ef97713fee8d0e72e34aae47f395006a0bbb177df1d35ccdcffa268b3cf7ea7e60e8c4e7e540c24b70cede77da778da93c21e5ca922b21a15e76ff52ec69db5c08e9e0911de45ee67580b2a13f8ea8a23c21e5ca922b21a15e76ff52ec69db5c08e9e0911de45ee67580b2a13f8ea8a2084b1f76b62b8fe5a88d43bfa934952464f189f05cd13696255136c694f1a6b3084b1f76b62b8fe5a88d43bfa934952464f189f05cd13696255136c694f1a6b35ecdb957b61a8648d07d8feb43d0c62a7c92cb5d6d580a6aef5889fdfdad3f7e5ecdb957b61a8648d07d8feb43d0c62a7c92cb5d6d580a6aef5889fdfdad3f7ed2b07f9a26c5479d6cab7dd494023f6d67da35db1836726bd6fe92d02696ed00524364aec672aa2c202c700d0539af3210af68d4af48d621c8ea73fc9739e43675b68272cdbb77237d827316185e6703f06b567e90f8dae329826957dfdf801bec1949fc3708b75cefd355107192e8ce275ccf335c8af2a3ebacc806444bdd1e55e0a30017d60c05a310afba3efa3c9774e2053d8f5ac712930806aceea5055b55e0a30017d60c05a310afba3efa3c9774e2053d8f5ac712930806aceea5055b88a1b66f709b45f517acfd79fe1370ee0f6ce81a9031affc41d5e00b8d5cdeef88a1b66f709b45f517acfd79fe1370ee0f6ce81a9031affc41d5e00b8d5cdeef02d41ae04477ed0cdc8f7555c976966c89023a5d63f730f1a5cbd8218c46d4df3a718f6ef4a2861047cc2f48bd5dd09b8424ab7783b3ffba625741faec7b0a157cfd4e90ea17f362f38d18b3de228eaa42db3664d62a4128a72a35cb6844985243b6e8422a3984696da09ae7d71f9de6b69844543e1b1fabd7266f503674d2b4e25757428fd082526805f2dbf9fba44e159950fa1e0355fba45b9da787b21b26e25757428fd082526805f2dbf9fba44e159950fa1e0355fba45b9da787b21b267e03464e683da58529ff6c09ecad906b6ec7bd30184cdbf7f9e6c5c3dbbc70fd7e03464e683da58529ff6c09ecad906b6ec7bd30184cdbf7f9e6c5c3dbbc70fdceaea1fd3e7fb9e591330690739d2441a5fa80f973aee2cf629214480923a7e6e27a73e081d1c0e736ffd364d9a577ac07e0177ae2a4b170960b2cd3c743feb7e38ea621deba86d40baaf038343283bf43ffe97ad1969edd5b7cafd382722a2273f23bb4c3cbd98855bd705b0cc0476578917846cd1e22b26bb4d506d173550d2f39cda2f592f1b2a086daf709431e3f29b74fd2d7871151859d2d726473267e2f39cda2f592f1b2a086daf709431e3f29b74fd2d7871151859d2d726473267ead4c3be84cc775c29e23adf0abeaa5f66a5273c96b1bf5694b61854716e74d25ad4c3be84cc775c29e23adf0abeaa5f66a5273c96b1bf5694b61854716e74d253b546d182fb7580ef4236891a200bbb7296ffa2b31a48290302179704cd8ca923b546d182fb7580ef4236891a200bbb7296ffa2b31a48290302179704cd8ca92c597734ebccb2be4a4a87c4217ba6a82c971eb2b50e4e310b3a97d7b9a09ce64c597734ebccb2be4a4a87c4217ba6a82c971eb2b50e4e310b3a97d7b9a09ce643155c0bf627634032ea2c28e473be7a1b8f95d91a9cf605860df48372d074dcb3155c0bf627634032ea2c28e473be7a1b8f95d91a9cf605860df48372d074dcb85b98af0e0fa67b7d8ea1c229c7114703d5bcbb73390688d62eed28671449369b99f36d4f06a42ba248546f07bb134528744ada307ab3a12813bdf27c308977d9af3e4ec53638c82ca44b21d33147b22f275ba080b802b33a3e2fdae37e98b438e31634aa35fed6dbe4dae98524cb02b43f87768b4073fcca8b39f97b3b54e4cab77953666d62461bf4b40e2b7f4b7028f2a42acffe4f6135c500a0597b9cabe7331a26cbfb8a0fa1fc75a424adfe1ae8ccd6c794e3eba86bfa9bed1dfa24dda1c33d7134fcc3c14b0b30ffdba97b3f2df2676ba941ab822386feac90cbe5b7de2738a85e6816d51105d3192a9a3864f2d53920ec9fec127a37bbc8f10be6dacfb76a36790a442b8cd5b91fc34f8ef095d91060afec3dc1c60175bf248cf05f87ce2a76557e2537a1cf423d2ce3254b0c9395537e039fa4d856a1b507d2c02587acd1c09eccab29ceb890fb757cf21df2273c73d36f1eb95dac53033ad6413eafd42de7e675d2c32c9f552911405e1b2111dd333fc3983e172308f7d8a2551ba26153057ae830758381efb7551009531d7c2bbe220015f055e6bc353da27c5de0615c7c4de0f0eb4af943de77e64dccd0be9e198ef863046322b1d6bcda5d5a80615c7c4de0f0eb4af943de77e64dccd0be9e198ef863046322b1d6bcda5d5a8a47ba8d20f56e70f6fb8e51ac2a2e4f76aa50c63de546fa42ed97a03025b6038a47ba8d20f56e70f6fb8e51ac2a2e4f76aa50c63de546fa42ed97a03025b603888780df2f303b3c88edcd6144dc9a7fbe61e762689b02cdf5ddb4dced0ed6e0e88780df2f303b3c88edcd6144dc9a7fbe61e762689b02cdf5ddb4dced0ed6e0e87a25c57955d529a727602cec0b7ebcc8456a2298d7606076c6a820c4e5392ad87a25c57955d529a727602cec0b7ebcc8456a2298d7606076c6a820c4e5392ad83df8435a00b4be07c768918a42bb35056a55a5a20ed3f922183232d9496aed375b8e0e428594f6dca6bdcfd0c73977ddb52a4fc147dd80c5e78fc34ea25cbecf864c6d9552a929c7032ace654ee05ef26ca75d21b027b801d77e65907138b74d6eaa2fd14a523b828b3878907f344577779c10c334d4407777fe3ae46d3a3c46a3ced387fbd23b280ff8c2a0d8ca0b476bac54055660169999f0513be071c72e964a1a4347fb8664e68e4517f30662724d8b57f71b6b8665d314fa84f242fcb629df0328db67202dd7b3dcfc0ea4ed5353c1266a9458295d405ed93a5aa421375f12ea2f30d9c0d872dade345f30f562e6d93847b6a509ba53beec6d0b2c34628b001bb9a72ae7a24242bfab248d767a1ac5dec981c672a3944f7a072375e9aa3d6a6c68c2e759f7c36f35687f6b60d163c2e1a0846a4c07a4c4006a96d88c775f12ea2f30d9c0d872dade345f30f562e6d93847b6a509ba53beec6d0b2c3461d9952a69381f15ae8ef77dfbcffb1ace46e32b8781a75643aa26ca45446f0f82838f6c86c5d4d8c7fabed4c9f7c53cccc180a7665ebab6e848963f9d39ce4372838f6c86c5d4d8c7fabed4c9f7c53cccc180a7665ebab6e848963f9d39ce43799d8be3ee64591a88728423f32711942c2cf77a527ada894d19b4a3f328a828099d8be3ee64591a88728423f32711942c2cf77a527ada894d19b4a3f328a8280a62c2674464b4ab441d41e07e913c2e9cc9afefdb19a532751af391723075856a62c2674464b4ab441d41e07e913c2e9cc9afefdb19a532751af39172307585656a3a68736b09c025a56f963dd9daa17b4209a6f4d23342cbc79eb1fb76616a256a3a68736b09c025a56f963dd9daa17b4209a6f4d23342cbc79eb1fb76616a2ab19c64960883043c82766fea46b61d9433b53f6b1051763ad9d6bd338c507caab19c64960883043c82766fea46b61d9433b53f6b1051763ad9d6bd338c507caed9d3ad11065658994042729e0433bd00e26943f48d13deafe135e112e44c892ed9d3ad11065658994042729e0433bd00e26943f48d13deafe135e112e44c892cb1f43b664a8329c184a42245f323eee304dccb44c19ad3c8b163031166ce91387fd28052fad426f010875c67d6d85093e1144503afc25f13289e04737a67a366831da63662eda35a3bb228b2c3ee9da5dc7d9756986a0f5063ee34af4c8231f6831da63662eda35a3bb228b2c3ee9da5dc7d9756986a0f5063ee34af4c8231f751e904832ecc84b451a9d341cce4fba17a7bf2583a4d3ea2cf479aaf8c4ab0f751e904832ecc84b451a9d341cce4fba17a7bf2583a4d3ea2cf479aaf8c4ab0f100d98bb7083d2b8869657614d5d782d33e843a5916cc391a1aa85086f50f84a8609d0fadafdc39894aa0b03695c9fe59b11fab29adbe24df811b4d73553eb867d30aa7b3414ccfffe33049c0ee2aff4fb7750b4af20e01f0b80293016e67b93ad8dc12ced79ccbeacfd9f33f669cb5c5f5c1d0c50333fc66091dd8fc883d89ba420418b054970367ce69bbf81c378084629ae1fdfb7f15284f6c6fd3d9cf6025baab9dc57fe2823cd0b02de6436c5bf9f31d386a3cd22e337a4f74be7c9daab67997a062925c66215cfc10ffc14d697073252f4ba1f89c3ab796a788b1e783b67997a062925c66215cfc10ffc14d697073252f4ba1f89c3ab796a788b1e783bf5998f55ede7399bb3df2f61e1670426c80754e91f9bfc7ea6cc9120a90cf050f5998f55ede7399bb3df2f61e1670426c80754e91f9bfc7ea6cc9120a90cf05097aaa50349c935ec8bbe850d0295774f5857bbe3533d263d4ceeff3dbdde05cd97aaa50349c935ec8bbe850d0295774f5857bbe3533d263d4ceeff3dbdde05cdad644a9dce3fe2c5271af1b37be7f60da6370e53909ff87f89d3f2f61a27c8304076ec9af09483fa1ba8ddc143a2b71606c52aea6abbdc7d968c1381bd9195b24097b1c0d6c2d7d3d355b031b57359e4400acdc9c35af33b2028c7b2d90648af4097b1c0d6c2d7d3d355b031b57359e4400acdc9c35af33b2028c7b2d90648afffc6881ee539bb5461a26b96ca3c4ac4b9caa2b45362fc7854fe3aade26a03ccffc6881ee539bb5461a26b96ca3c4ac4b9caa2b45362fc7854fe3aade26a03cc60401aab9ddf943809146be1dd2ffe31c9fc613f50055d5f852ee564dd5b516060401aab9ddf943809146be1dd2ffe31c9fc613f50055d5f852ee564dd5b5160114e1e7e2d2d4b90a9e8067262d95bd3a905fbf3c7615438af28a402118abfe8114e1e7e2d2d4b90a9e8067262d95bd3a905fbf3c7615438af28a402118abfe832803c3b0e49739cc8db0f0cc48fb61a4164dbc787aa2f264088b953d09a38c132803c3b0e49739cc8db0f0cc48fb61a4164dbc787aa2f264088b953d09a38c1d64d44231c50eace4bedc506da7b774ef568d6aa04dd5c92618c75685987ae94d64d44231c50eace4bedc506da7b774ef568d6aa04dd5c92618c75685987ae9410590062c1fb2a6cd7d16dcd63530d1c05c113b8e3975c5294cc86ef67a2270710590062c1fb2a6cd7d16dcd63530d1c05c113b8e3975c5294cc86ef67a2270715324c492532e3bfeecdf23d6935bc96d269506c39822319615a1bdc3ccfb43d15324c492532e3bfeecdf23d6935bc96d269506c39822319615a1bdc3ccfb43d1c1a2f5312b30a7c8a80910a7b14a8515b1ee9a18a13268c0f27c5612469a2bb1c1a2f5312b30a7c8a80910a7b14a8515b1ee9a18a13268c0f27c5612469a2bbe04f05de660ca4d83a1bb1d3b0eee0eeb14e331e85024ad626aaf7a50fd08fd804aa70eb531e58d1788904ee69db46f753abb8f61b31d1e384b8d5ea13ea450fd6c2d0c5970d87a7434290e69b81bb506193a25f379d8d4d4cf98d05b9b6b222b070bea6925d0b0f8ddd587852570c44848d02a4fa57a364c9555b99a19b1656f7ca0f4243ddc6675afdfceebd9aa8793b8efa36f27ff141cfacf191c236c066a115a6bfa6fc6b6d41dc8e57d8585b9aeefdc368572b1b52653ce6367832cebf46ae10e4ea32175f68db95d01c5d64cd33b85eb03f7d2d552463bb3f0e61ced97189b83af9653dfe88f581377169678cfaaa139e3a31cee7413a5d27ec87de38740e8ceab2885ebe4afb1c9ae388bc180c29e5b1590c113280b906d1aeb0e04c7bd36d481b7516904992f8ecebfe66a36a37a5e1500d4b84125b006a6f9486f7da5eb15339c95bee45cd0e148a619fc80b5225f43feed52441bc55f20afadea1652f2e71b84bfec171938973aec89f4b9598c68b72d7fcd0289a88f67a8a07782b88927e55d97584718fd6cbae2c56c28fd8a30b4956e90ee7762e3716721a35db0027de1e0c741a45d688bb1904ae3a7ce9bae7a76ebd8f5566b62c9eede1b57fa338802e2265a1b63a0aa07fe18507eb1679b500abe63a4d314e4ebf1e26300b899d7b19c205c0b35afb1ff0693555857e7c672699790b4a94fe5f4f155ae0533e3631cb321d9023ac1e9cc3d13b073d31b1a4dbcf19ccd4f23d0818623ed140cc09308416354f3d077c1a2416f6cec41c356b5b4d6d34198b4ccdf445eee5c652db8d6ac1d35b4a0b4fa195590e2a48923dbccc9a5d9e38fb49fee7029db1ef22d6cd08f5efd127c77a49f15d5c0c30b378b30531df5725794afa2653ab96924dc3c5709be655d3bea9e17f0c7683aabb8b06d49a04f25d409a068a0139494afb103dab1ecc8a233e3bcc9df92ace1f0fd14d2d0a3d1d69ccc5f2e7373503cdaed00817108a628aae259ca0271b8713e3533df481207be33b932f8ef1a4fe77c4f2d1e0a250a7d68785538ea57d7bc83ed3666ccbc2f805c31ed4ecc8227fa24c61a83d4d3359d095b4950c236fe8fed8ee0ebcd2c736afeb545bbc0f1f56656a0851d9babb666ff9686f482e487f5acfa2ec66e499b2830b1a8cd03c59625d3dd81557d83c0980e6a8468347ae96e53df1fb714545be3f329c38330bc54b192546f717b703e6889e6a201c0a2ad80662f5d30c421f8f18b4d4dc0004ed8a1d5657d22f9b3399487e17a3e15724d28f1933a5bac3a3045cba825dc0bd95824e1cd50fc3e7e43253f83fc682d7231947011fcfe76e1e1f11c3babafed9e28d4e1cd50fc3e7e43253f83fc682d7231947011fcfe76e1e1f11c3babafed9e28dc466c9101ac55d065069f45101ff6c37869e4825bd25bec7290ff47b5bcc2134c466c9101ac55d065069f45101ff6c37869e4825bd25bec7290ff47b5bcc21342bc444f12ff651c10d133aae5af7b488ebbb295124e6f58d1cf0fad8a870832b2bc444f12ff651c10d133aae5af7b488ebbb295124e6f58d1cf0fad8a870832b845b0e9d678230f80e8e3f0f1ce5324c9b5de043a6c5c7d878044d1bd8cb06e6654f346f4cb35069567f943a943a1469e1087847e72032ea93b44531dcaf9d468f2f6e42d8fad94dff94bac594d6317f84a40997c5536757de1597be25b521af8f2f6e42d8fad94dff94bac594d6317f84a40997c5536757de1597be25b521af35e6c14ca584c807d45df3b1b9885917059a7d8118bcc0d78ce3de96b231ea4fe585cf5b5b1a6d59f98e9676e6c523785ea28f7ff8a1d262c145a2e27443d837c0989277909a54d1c7ec4937c86dc46536fb99613507a07572089ff7fad75d34c0989277909a54d1c7ec4937c86dc46536fb99613507a07572089ff7fad75d34fdcfd6439ff9a370bb05e6a2f0c4764aeb90faac414386cd0854a61e0b38a1aefdcfd6439ff9a370bb05e6a2f0c4764aeb90faac414386cd0854a61e0b38a1ae2b72005abd6a6ab0db1358451d0eea8a1cf8494309555e8468384e542efd624b2b72005abd6a6ab0db1358451d0eea8a1cf8494309555e8468384e542efd624b7454e959cfa3113e3173de86662918294abf15a7cb922c363f935ba25d98c2d07454e959cfa3113e3173de86662918294abf15a7cb922c363f935ba25d98c2d0d8a6749fbc9337cef0b1b9b4af99ef2cbefd03f8bae0d2adc2aeb6d7f090a185d8a6749fbc9337cef0b1b9b4af99ef2cbefd03f8bae0d2adc2aeb6d7f090a18546311f1de22fbb9b2b1d6da1db3e7657b3bad2dad5e03004cd9e2009054fdd6d46311f1de22fbb9b2b1d6da1db3e7657b3bad2dad5e03004cd9e2009054fdd6dbd6883b3486394206367f8385eccec87dee520ff4ce3f25a2d0e8c090dba5bd5c07ceb81f75950c44f051d647b5960e6686a46c0526e311838cb2e157407f636c3be3d260a8a8bc72504570e6dd71b655aac985e2827f401ca16754866d414dc4821259ee65ee631e7b694d6b3051fed39d7c31955913cccf8dc25ce64ac241de6870b8a68aa9b88bcb2d8f31f204ef3d7a37159be58a9e669b0e94ae22313c5bc369a0ccf2f8afea1cfe98609f1d457166877bab1c750d5a0c947afa80772b2be5fa2c2455335c114d8b9bc60fba7bbcdc00fd1a9360148adb54864fc036e77b15375c1279468815786433e57c17e7dd079230cd832d9b6f80300c66c7465d6043c75064ccd427b6f001e1a972a476d6e54541ce3aad86cd34d0fad42f866a741840869daf90f02f13f3904ae136de6199186f1a15b1a1764c4570a6fe3710d6ba6e8713d67dc3e0ca6b8406701039103649b342d6b83aca56d85d2563e17392b23a0a400fe85d3e827e18828de2cd1c249d10620f2c2256ca2b6f2807cacc7dae4e8348440edd1bdf79a5ff28c7c6b8afb9c9b4feb6fa1a4b873b118ab9f1d8e9b00750bc2042900baf9845d823dd1357890d18ed98d7736a0ebfcfaef76102b57e06ed5e7fc4e9bf8c4ad6e4e14d942ec8dd65b9103591a1776ee7076e9a5822a69eb5261a2d95ce89beb3445d87a5d2b94534c584ca41eb3ac2c882c67c1822a69eb5261a2d95ce89beb3445d87a5d2b94534c584ca41eb3ac2c882c67c1d686636df8c01d25db81d852b91e98194f232a86fd2fc36d126058a9c3d32d895c1af46c7300e87a73dacf6cf41ce397e3f05df6bd9c7e227b4ac59f8576916069828c857d4824b9f850b1e0597d2c134c91114b7a0774c41dffe33b0eb237214c416738a0e2fa6ab766ccf1a9b0a80974e733f9615168dd22a069afa7d5b38d5c1af46c7300e87a73dacf6cf41ce397e3f05df6bd9c7e227b4ac59f85769160c54d85a69345c2e58676664615180356cd37a9df375f6d37e7e0c0d395cb82a94f23d3f887354f612762f18edba81f3513f8cac065ae1a5b4634315ac88ee35e593d64ee51f984bfa63b1b1d564ac18c6578ebc412a7001286543aa4fd3d1fa88ac285504161eb3700513cce792d65ff84f26a460dc8634b4f64fdd5f05b9c3c0bd5b9744658d7d939747ffb66b6391d39c25a9419b0743e9af80de0339134493cca8654f5cf610823513bc483d6c671c440908383ad0e8d9ac0e0fdfc04af022372518c58ff87f30d465e27af64af03c378d2ebf3359a2dc955a426d27d7ad3eaa7d12f9eefd8358105076abfec3f4fbd0ac4ad22a3066208b5611127e3dfa629839deb26d1c63056f0d266603f2dfd4cb2566caca69157a87a452ddb251975991f378be9aef99514ffb4da3206027914b2ce4aaff25a09fc647dc614b60c3c454cd0cc2414697b7074bb581d661b21098e6844b906baaad45bd403fb6efb925864ede6989eccedbb73e0dbc7a9794384f715fdb4039cfbf3bda1bf7680858668e385a38246c00b2206db46603b2a152ed8a9641e6768fa0d6882b9cb51ff4de66d8eaf33c531b4affd3f7f133ebf6a4b72b4b669e4707637fda9bad1568a6e76eaed2aa15bda5b41589ec96601960f193696e3121a12452ec626f32581cd4f09cabffc5d79cf7267e310db091c89f701427ff321ad5e33b9f18aa1cfde8ed1297ac55abb5e5e3848a2ed201b095f072d2db40b331cfe76113abeda973499eba282f324c7d8d8ee6b947de8fd212117c32ee2452de98c0b6e3cc036b576dceff89fb1b39668a35e4adf796a5730bb52b60b4eba546103df84fb49ec25f7663bdb3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-setuptools-67.7.2-150400.3.16.1.src.rpmpython311-setuptools@     python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternatives3.113.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3f@dS@dRLdBzd;@d 3d @c\c~ @cr-cOcObҨ@b@bγb=b ad`]`@`@`9@` @_j_i_#__5+@^^^ku^9\]M@]W]@]@]n]|@]]2@]]2@\~\\`@\U@\@n@\I\ @[@[G[[@[D[x @[GB[Z@Z@Z@Z@Z@Z%Z@ZH@ZyZvZP@ZH@Z'Z#@Z@ZZfZ@Z ,@Z@YYYu@Y9<@XX@XN@WWWu@WzOWzOWu V@VHV(VU@UUWUUUuUeU>$U7@U) UF@Tsteven.kowalik@suse.commcepl@suse.comsteven.kowalik@suse.comdmueller@suse.comdmueller@suse.commcepl@suse.comsteven.kowalik@suse.comdaniel.garcia@suse.comdaniel.garcia@suse.comdaniel.garcia@suse.comdaniel.garcia@suse.comdaniel.garcia@suse.comarun@gmx.decode@bnavigator.decode@bnavigator.desteven.kowalik@suse.comdmueller@suse.comdimstar@opensuse.orgarun@gmx.dealarrosa@suse.comcode@bnavigator.decode@bnavigator.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commimi.vx@gmail.comcode@bnavigator.demcepl@suse.comtchvatal@suse.commimi.vx@gmail.commimi.vx@gmail.comstefan.bruens@rwth-aachen.detchvatal@suse.comtchvatal@suse.commcalabkova@suse.comjayvdb@gmail.comtchvatal@suse.comtchvatal@suse.comarun@gmx.demimi.vx@gmail.comarun@gmx.dearun@gmx.dedimstar@opensuse.orgtbechtold@suse.comtchvatal@suse.comarun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dejengelh@inai.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dejgonzalez@suse.comtchvatal@suse.comarun@gmx.dearun@gmx.dearun@gmx.deaplanas@suse.comaplanas@suse.comarun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.demimi.vx@gmail.comarun@gmx.dearun@gmx.dejengelh@inai.dearun@gmx.dearun@gmx.dearun@gmx.detbechtold@suse.commichael@stroeder.comdmueller@suse.comjmatejek@suse.comjmatejek@suse.comhpj@urpla.nettbechtold@suse.comjmatejek@suse.comtbechtold@suse.comdev@stellardeath.orgtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comhpj@urpla.nettbechtold@suse.comtbechtold@suse.comjmatejek@suse.comdmueller@suse.comtbechtold@suse.comtbechtold@suse.comjmatejek@suse.commcihar@suse.cztbechtold@suse.comhpj@urpla.nettbechtold@suse.comlchiquitto@suse.de- Add patch CVE-2024-6345-code-execution-via-download-funcs.patch: * Sanitize any VCS URL we download. (CVE-2024-6345, bsc#1228105)- Testing must be single-spec as well.- Update to 67.7.2: * #3902: Fixed wrong URLs used in warnings and logs. * #3898: Fixes setuptools.dist:invalid_unless_false when value is false don’t raise error * #3849: Overhaul warning system for better visibility. * #3884: Add a stacklevel parameter to warnings.warn() to provide more information to the user. - Add patch use-tarfile-extraction_filter.patch: * Set an extraction_filter to avoid a warning.- add sle15_python_module_pythons (jsc#PED-68)- update to 67.6.1: * #3865: Fixed ``_WouldIgnoreField`` warnings for ``scripts`` and ``gui_scripts``, when ``entry-points`` is not listed in dynamic. * #3875: Update code generated by ``validate-pyproject`` to use v0.12.2. * This should fix default license patterns when ``pyproject.toml`` is used.- Refresh sort-for-reproducibility.patch- Update to 67.6.0: * Deprecations + #3434: Added deprecation warning for pkg_resources.declare_namespace. * Breaking Changes + #3741: Removed patching of distutils._msvccompiler.gen_lib_options for compatibility with Numpy < 1.11.2 -- by :user:`mgorny` + #2497: Support for PEP 440 non-conforming versions has been removed. * Changes + #3804: Added caching for supported wheel tags. + #3846: Added pruning heuristics to PackageFinder based on exclude. + #3843: Although pkg_resources has been discouraged for use, some projects still consider pkg_resources viable for usage. This change makes it clear that pkg_resources should not be used, emitting a DeprecationWarning when imported. + #3809: Merge with distutils@8c3c3d29, including fix for sysconfig.get_python_inc() (pypa/distutils#178), fix for segfault on MinGW (pypa/distutils#196), and better has_function support (pypa/distutils#195, #3648). + #3795: Ensured that __file__ is an absolute path when executing setup.py as part of setuptools.build_meta. + #3685: Fix improper usage of deprecated/removed pkgutil APIs in Python 3.12+. + #3769: Replace 'appdirs' with 'platformdirs'. * Misc + #3838: Improved error messages for pyproject.toml validations. + #3839: Fixed pkg_resources errors caused when parsing metadata of packages that are already installed but do not conform with PEP 440. + #3823: Fixes egg_info code path triggered during integration with pip. + #3782: Fixed problem with file directive in tool.setuptools.dynamic when value is a simple string instead of list.- Update to 65.6.3: * #3709: Fix condition to patch distutils.dist.log to only apply when using distutils from the stdlib. - v65.6.2 * No significant changes.- Update to 65.6.1: * #3689: Document that distutils.cfg might be ignored unless SETUPTOOLS_USE_DISTUTILS=stdlib. * #3678: Improve clib builds reproducibility by sorting sources -- by :user:`danigm`, fixing bsc#1201127 * #3684: Improved exception/traceback when invalid entry-points are specified. * #3690: Fixed logging errors: 'underlying buffer has been detached' (issue [#1631]). * #3693: Merge pypa/distutils@3e9d47e with compatibility fix for distutils.log.Log. * #3704: Fix temporary build directories interference with auto-discovery. - v65.6.0: * #3674: Sync with pypa/distutils@e0787fa, including pypa/distutils#183 updating distutils to use the Python logging framework.- Delete remove_mock.patch, that's not needed anymore, it's upstreamed - Update to 65.5.1: * #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:`unittest.mock` -- by :user:`hroncok` * #3659: Fixed REDoS vector in package_index.- Skip test_pbr_integration because it tries to install pbr using pip from network- Add fix-get-python-lib-python38.patch to fix get_python_lib() method in python3.8 bsc#1204395 - Update to version 65.5.0: * #3624: Fixed editable install for multi-module/no-package src-layout projects. * #3626: Minor refactorings to support distutils using stdlib logging module. * #3419: Updated the example version numbers to be compliant with PEP-440 on the "Specifying Your Project’s Version" page of the user guide. * #3569: Improved information about conflicting entries in the current working directory and editable install (in documentation and as an informational warning). * #3576: Updated version of validate_pyproject. - v65.4.1 * #3613: Fixed encoding errors in expand.StaticModule when system default encoding doesn't match expectations for source files. * #3617: Merge with pypa/distutils@6852b20 including fix for pypa/distutils#181. - v65.4.0 * #3609: Merge with pypa/distutils@d82d926 including support for DIST_EXTRA_CONFIG in pypa/distutils#177. - v65.3.0 * #3547: Stop ConfigDiscovery.analyse_name from splatting the Distribution.name attribute -- by :user:`jeamland` * #3554: Changed requires to requests in the pyproject.toml example in the :doc:`Dependency management section of the Quickstart guide ` -- by :user:`mfbutner` * #3561: Fixed accidental name matching in editable hooks. - v65.2.0 * #3553: Sync with pypa/distutils@22b9bcf, including fixed cross-compiling support and removing deprecation warning per pypa/distutils#169. - v65.1.1 * #3551: Avoided circular imports in meta path finder for editable installs when a missing module has the same name as its parent. - v65.1.0 * #3536: Remove monkeypatching of msvc9compiler. * #3538: Corrected documentation on how to use the legacy-editable mode. - v65.0.2 * #3505: Restored distutils msvccompiler and msvc9compiler modules and marked as deprecated (pypa/distutils@c802880). - v65.0.1 * #3529: Added clarification to :doc:`/userguide/quickstart` about support to setup.py. * #3526: Fixed backward compatibility of editable installs and custom build_ext commands inheriting directly from distutils. * #3528: Fixed buid_meta.prepare_metadata_for_build_wheel when given metadata_directory is ".". - v65.0.0 * #3505: Removed 'msvccompiler' and 'msvc9compiler' modules from distutils. * #3521: Remove bdist_msi and bdist_wininst commands, which have been deprecated since Python 3.9. Use older Setuptools for these behaviors if needed. * #3519: Changed the note in keywords documentation regarding editable installations to specify which setuptools version require a minimal setup.py file or not. - v64.0.3 * #3515: Fixed "inline" file copying for editable installations and optional extensions. * #3517: Fixed editable_wheel to ensure other commands are finalized before using them. This should prevent errors with plugins trying to use different commands or reinitializing them. * #3517: Augmented filter to prevent transient/temporary source files from being considered package_data or data_files. - v64.0.2 * #3506: Suppress errors in custom build_py implementations when running editable installs in favor of a warning indicating what is the most appropriate migration path. This is a transitional measure. Errors might be raised in future versions of setuptools. * #3512: Added capability of handling namespace packages created accidentally/purposefully via discovery configuration during editable installs. This should emulate the behaviour of a non-editable installation. - v64.0.1 * #3497: Fixed editable_wheel for legacy namespaces. * #3502: Fixed issue with editable install and single module distributions. * #3503: Added filter to ignore external .egg-info files in manifest. * Some plugins might rely on the fact that the .egg-info directory is produced inside the project dir, which may not be the case in editable installs (the .egg-info directory is produced inside the metadata directory given by the build frontend via PEP 660 hooks). - v64.0.0 * #3380: Passing some types of parameters via --global-option to setuptools PEP 517/PEP 660 backend is now considered deprecated. The user can pass the same arbitrary parameter via --build-option (--global-option is now reserved for flags like --verbose or --quiet). * Both --build-option and --global-option are supported as a transitional effort (a.k.a. "escape hatch"). In the future a proper list of allowed config_settings may be created. * #3265: Added implementation for editable install hooks (PEP 660). * #3380: Improved the handling of the config_settings parameter in both PEP 517 and PEP 660 interfaces: * #3392: Exposed get_output_mapping() from build_py and build_ext subcommands. This interface is reserved for the use of setuptools Extensions and third part packages are explicitly disallowed to calling it. However, any implementation overwriting build_py or build_ext are required to honour this interface. * #3412: Added ability of collecting source files from custom build sub-commands to sdist. This allows plugins and customization scripts to automatically add required source files in the source distribution. * #3414: Users can temporarily specify an environment variable SETUPTOOLS_ENABLE_FEATURES=legacy-editable as a escape hatch for the PEP 660 behavior. This setting is transitional and may be removed in the future. * #3484: Added transient compat mode to editable installs. This more will be temporarily available (to facilitate the transition period) for those that want to emulate the behavior of the develop command (in terms of what is added to sys.path). This mode is provided "as is", with limited support, and will be removed in future versions of setuptools. * #3414: Updated :doc:`Development Mode ` to reflect on the implementation of PEP 660. - v63.4.3 * #3496: Update to pypa/distutils@b65aa40 including more robust support for library/include dir handling in msvccompiler (pypa/distutils#153) and test suite improvements. - v63.4.2 * #3453: Bump vendored version of :pypi:`pyparsing` to 3.0.9. * #3481: Add warning for potential install_requires and extras_require misconfiguration in setup.cfg * #3487: Modified pyproject.toml validation exception handling to make relevant debugging information easier to spot. - v63.4.1 * #3482: Sync with pypa/distutils@274758f1c02048d295efdbc13d2f88d9923547f8, restoring compatibility shim in bdist.format_commands. - v63.4.0 * #2971: upload_docs command is deprecated once again. * #3443: Installed sphinx-hoverxref extension to show tooltips on internal an external references. -- by :user:`humitos` * #3444: Installed sphinx-notfound-page extension to generate nice 404 pages. - - by :user:`humitos` * #3480: Merge with pypa/distutils@c397f4c - v63.3.0 * #3475: Merge with pypa/distutils@129480b, including substantial delinting and cleanup, some refactoring around compiler logic, better messaging in cygwincompiler (pypa/distutils#161).- update to version 63.2.0: * Changes + #3395: Included a performance optimization: setuptools.build_meta no longer tries to :func:`compile` the setup script code before :func:`exec`-ing it. * Misc + #3435: Corrected issue in macOS framework builds on Python 3.9 not installed by homebrew (pypa/distutils#158).- Remove dependency on packaging -- boo#1178257 - Enable ini2toml[lite] tests- Update to version 63.1.0 * #3430: Merge with pypa/distutils@152c13d including pypa/distutils#155 (improved compatibility for editable installs on homebrew Python 3.9), pypa/distutils#150 (better handling of runtime_library_dirs on cygwin), and pypa/distutils#151 (remove warnings for namespace packages). - v63.0.0 * #3421: Drop setuptools' support for installing an entrypoint extra requirements at load time: - the functionality has been broken since v60.8.0. - the mechanism to do so is deprecated (fetch_build_eggs). - that use case (e.g. a custom command class entrypoint) is covered by making sure the necessary build requirements are declared. Documentation changes * #3397: Fix reference for keywords to point to the Core Metadata Specification instead of PEP 314 (the live standard is kept always up-to-date and consolidates several PEPs together in a single document). - v62.6.0 * #3253: Enabled using file: for requirements in setup.cfg -- by :user:`akx` (this feature is currently considered to be in beta stage). * #3255: Enabled using file: for dependencies and optional-dependencies in pyproject.toml -- by :user:`akx` (this feature is currently considered to be in beta stage). * #3391: Updated attr: to also extract simple constants with type annotations -- by :user:`karlotness` - v62.5.0 * #3347: Changed warnings and documentation notes about experimental aspect of pyproject.toml configuration: now [project] is a fully supported configuration interface, but the [tool.setuptools] table and sub-tables are still considered to be in beta stage. * #3383: In _distutils_hack, suppress/undo the use of local distutils when select tests are imported in CPython. * #3385: Modules used to parse and evaluate configuration from pyproject.toml files are intended for internal use only and that not part of the public API. - v62.4.0 * #3256: Added setuptools.command.build command to match distutils.command.build -- by :user:`isuruf` * #3366: Merge with pypa/distutils@75ed79d including reformat using black, fix for Cygwin support (pypa/distutils#139), and improved support for cross compiling (pypa/distutils#144 and pypa/distutils#145). - v62.3.4 * #3354: Improve clarity in warning about unlisted namespace packages. - v62.3.3 * #3336: Modified test_setup_install_includes_dependencies to work with custom PYTHONPATH –- by :user:`hroncok` - v62.3.2 * #3328: Include a first line summary to some of the existing multi-line warnings. - v62.3.1 * #3320: Fixed typo which causes namespace_packages to raise an error instead of warning. - v62.3.0 * #3262: Formally added deprecation messages for namespace_packages. The methodology that uses pkg_resources and namespace_packages for creating namespaces was already discouraged by the :doc:`setuptools docs ` and the :doc:`Python Packaging User Guide `, therefore this change just make the deprecation more official. Users can consider migrating to native/implicit namespaces (as introduced in PEP 420). * #3308: Relying on include_package_data to ensure sub-packages are automatically added to the build wheel distribution (as "data") is now considered a deprecated practice. This behaviour was controversial and caused inconsistencies (#3260). Instead, projects are encouraged to properly configure packages or use discovery tools. General information can be found in :doc:`userguide/package_discovery`. * #1806: Allowed recursive globs (**) in package_data. -- by :user:`nullableVoidPtr` * #3206: Fixed behaviour when both install_requires (in setup.py) and dependencies (in pyproject.toml) are specified. The configuration in pyproject.toml will take precedence over setup.py (in accordance with PEP 621). A warning was added to inform users. * #3274: Updated version of vendored pyparsing to 3.0.8 to avoid problems with upcoming deprecation in Python 3.11. * #3292: Added warning about incompatibility with old versions of importlib-metadata. - v62.2.0 * #3299: Optional metadata fields are now truly optional. Includes merge with pypa/distutils@a7cfb56 per pypa/distutils#138. * #3282: Added CI cache for setup.cfg examples used when testing setuptools.config. - v62.1.0 * #3249: Simplified package_dir obtained via auto-discovery. - v62.0.0 * #3151: Made setup.py develop --user install to the user site packages directory even if it is disabled in the current interpreter. * #3153: When resolving requirements use both canonical and normalized names -- by :user:`ldaniluk` * #3167: Honor unix file mode in ZipFile when installing wheel via install_as_egg -- by :user:`delijati` * #3088: Fixed duplicated tag with the dist-info command. * #3247: Fixed problem preventing readme specified as dynamic in pyproject.toml from being dynamically specified in setup.py. - v61.3.1 * #3233: Included missing test file setupcfg_examples.txt in sdist. * #3233: Added script that allows developers to download setupcfg_examples.txt prior to running tests. By caching these files it should be possible to run the test suite offline. - v61.3.0 * #3229: Disabled automatic download of trove-classifiers to facilitate reproducibility. * #3229: Updated pyproject.toml validation via validate-pyproject v0.7.1. * #3229: New internal tool made available for updating the code responsible for the validation of pyproject.toml. This tool can be executed via tox -e generate-validation-code. - v61.2.0 * #3215: Ignored a subgroup of invalid pyproject.toml files that use the [project] table to specify only requires-python (transitional). * Warning: Please note that future releases of setuptools will halt the build process if a pyproject.toml file that does not match the PyPA Specification is given. * #3215: Updated pyproject.toml validation, as generated by validate-pyproject==0.6.1. * #3218: Prevented builds from erroring if the project specifies metadata via pyproject.toml, but uses other files (e.g. setup.py) to complement it, without setting dynamic properly. * Important: This is a transitional behaviour. Future releases of setuptools may simply ignore externally set metadata not backed by dynamic or even halt the build with an error. * #3224: Merge changes from pypa/distutils@e1d5c9b1f6 + #3223: Fixed missing requirements with environment markers when optional-dependencies is set in pyproject.toml. - v61.1.1 * #3212: Fixed missing dependencies when running setup.py install. Note that calling setup.py install directly is still deprecated and will be removed in future versions of setuptools. Please check the release notes for :ref:`setup_install_deprecation_note`. - v61.1.0 * #3206: Changed setuptools.convert_path to an internal function that is not exposed as part of setuptools API. Future releases of setuptools are likely to remove this function. * #3202: Changed behaviour of auto-discovery to not explicitly expand package_dir for flat-layouts and to not use relative paths starting with ./. * #3203: Prevented pyproject.toml parsing from overwriting dist.include_package_data explicitly set in setup.py with default value. * #3208: Added a warning for non existing files listed with the file directive in setup.cfg and pyproject.toml. * #3208: Added a default value for dynamic classifiers in pyproject.toml when files are missing and errors being ignored. * #3211: Disabled auto-discovery when distribution class has a configuration attribute (e.g. when the setup.py script contains setup(..., configuration=...)). This is done to ensure extension-only packages created with numpy.distutils.misc_util.Configuration are not broken by the safe guard behaviour to avoid accidental multiple top-level packages in a flat-layout. * Note Users that don't set packages, py_modules, or configuration are still likely to observe the auto-discovery behavior, which may halt the build if the project contains multiple directories and/or multiple Python files directly under the project root. To disable auto-discovery please explicitly set either packages or py_modules. Alternatively you can also configure :ref:`custom-discovery`. - v61.0.0 * #3068: Deprecated setuptools.config.read_configuration, setuptools.config.parse_configuration and other functions or classes from setuptools.config. * Users that still need to parse and process configuration from setup.cfg can import a direct replacement from setuptools.config.setupcfg, however this module is transitional and might be removed in the future (the setup.cfg configuration format itself is likely to be deprecated in the future). * #2894: If you purposefully want to create an "empty distribution", please be aware that some Python files (or general folders) might be automatically detected and included. * Projects that currently don't specify both packages and py_modules in their configuration and contain extra folders or Python files (not meant for distribution), might see these files being included in the wheel archive or even experience the build to fail. * You can check details about the automatic discovery (and how to configure a different behaviour) in :doc:`/userguide/package_discovery`. * #3067: If the file pyproject.toml exists and it includes project metadata/config (via [project] table or [tool.setuptools]), a series of new behaviors that are not backward compatible may take place: - The default value of include_package_data will be considered to be True. - Setuptools will attempt to validate the pyproject.toml file according to PEP 621 specification. - The values specified in pyproject.toml will take precedence over those specified in setup.cfg or setup.py. * #2887: [EXPERIMENTAL] Added automatic discovery for py_modules and packages -- by :user:`abravalheri`. - Setuptools will try to find these values assuming that the package uses either the src-layout (a src directory containing all the packages or modules), the flat-layout (package directories directly under the project root), or the single-module approach (an isolated Python file, directly under the project root). - The automatic discovery will also respect layouts that are explicitly configured using the package_dir option. - For backward-compatibility, this behavior will be observed only if both py_modules and packages are not set. (Note: specifying ext_modules might also prevent auto-discover from taking place) - If setuptools detects modules or packages that are not supposed to be in the distribution, please manually set py_modules and packages in your setup.cfg or setup.py file. If you are using a flat-layout, you can also consider switching to src-layout. * #2887: [EXPERIMENTAL] Added automatic configuration for the name metadata -- by :user:`abravalheri`. - Setuptools will adopt the name of the top-level package (or module in the case of single-module distributions), only when name is not explicitly provided. - Please note that it is not possible to automatically derive a single name when the distribution consists of multiple top-level packages or modules. * #3066: Added vendored dependencies for :pypi:`tomli`, :pypi:`validate-pyproject`. - These dependencies are used to read pyproject.toml files and validate them. * #3067: [EXPERIMENTAL] When using pyproject.toml metadata, the default value of include_package_data is changed to True. * #3068: [EXPERIMENTAL] Add support for pyproject.toml configuration (as introduced by PEP 621). Configuration parameters not covered by standards are handled in the [tool.setuptools] sub-table. - In the future, existing setup.cfg configuration may be automatically converted into the pyproject.toml equivalent before taking effect (as proposed in #1688). Meanwhile users can use automated tools like :pypi:`ini2toml` to help in the transition. - Please note that the legacy backend is not guaranteed to work with pyproject.toml configuration. * #3125: Implicit namespaces (as introduced in PEP 420) are now considered by default during :doc:`package discovery `, when setuptools configuration and project metadata are added to the pyproject.toml file. - To disable this behaviour, use namespaces = False when explicitly setting the [tool.setuptools.packages.find] section in pyproject.toml. - This change is backwards compatible and does not affect the behaviour of configuration done in setup.cfg or setup.py. * #3152: [EXPERIMENTAL] Added support for attr: and cmdclass configurations in setup.cfg and pyproject.toml when package_dir is implicitly found via auto-discovery. * #3178: Postponed importing ctypes when hiding files on Windows. This helps to prevent errors in systems that might not have libffi installed. * #3179: Merge with pypa/distutils@267dbd25ac - v60.10.0 * #2971: Deprecated upload_docs command, to be removed in the future. * #3137: Use samefile from stdlib, supported on Windows since Python 3.2. * #3170: Adopt nspektr (vendored) to implement Distribution._install_dependencies. * #3120: Added workaround for intermittent failures of backend tests on PyPy. These tests now are marked with XFAIL, instead of erroring out directly. * #3124: Improved configuration for :pypi:`rst-linker` (extension used to build the changelog). * #3133: Enhanced isolation of tests using virtual environments - PYTHONPATH is not leaking to spawned subprocesses -- by :user:`befeleme` * #3147: Added options to provide a pre-built setuptools wheel or sdist for being used during tests with virtual environments. Paths for these pre-built distribution files can now be set via the environment variables: PRE_BUILT_SETUPTOOLS_SDIST and PRE_BUILT_SETUPTOOLS_WHEEL. - v60.9.2 * #3035: When loading distutils from the vendored copy, rewrite __name__ to ensure consistent importing from inside and out. - v60.9.1 * #3102: Prevent vendored importlib_metadata from loading distributions from older importlib_metadata. * #3103: Fixed issue where string-based entry points would be omitted. * #3107: Bump importlib_metadata to 4.11.1 addressing issue with parsing requirements in egg-info as found in PyPy. - v60.9.0 * #2876: In the build backend, allow single config settings to be supplied. * #2993: Removed workaround in distutils hack for get-pip now that pypa/get-pip#137 is closed. * #3085: Setuptools no longer relies on pkg_resources for entry point handling. * #3098: Bump vendored packaging to 21.3. * Removed bootstrap script. * Warning: Users trying to install the unmaintained :pypi:`pathlib` backport from PyPI/sdist/source code may find problems when using setuptools >= 60.9.0. This happens because during the installation, the unmaintained implementation of pathlib is loaded and may cause compatibility problems (it does not expose the same public API defined in the Python standard library). Whenever possible users should avoid declaring pathlib as a dependency. An alternative is to pre-build a wheel for pathlib using a separated virtual environment with an older version of setuptools and install the library directly from the pre-built wheel. - v60.8.2 * #3091: Make concurrent.futures import lazy in vendored more_itertools package to a avoid importing threading as a side effect (which caused gevent/gevent#1865). -- by :user:`maciejp-ro` - v60.8.1 * #3084: When vendoring jaraco packages, ensure the namespace package is converted to a simple package to support zip importer. - v60.8.0 * #3085: Setuptools now vendors importlib_resources and importlib_metadata and jaraco.text. Setuptools no longer relies on pkg_resources for ensure_directory nor parse_requirements. - v60.7.1 * #3072: Remove lorem_ipsum from jaraco.text when vendored. - v60.7.0 * #3061: Vendored jaraco.text and use line processing from that library in pkg_resources. * #3070: Avoid AttributeError in easy_install.create_home_path when sysconfig.get_config_vars values are not strings. - v60.6.0 * #3043: Merge with pypa/distutils@bb018f1ac3 including consolidated behavior in sysconfig.get_platform (pypa/distutils#104). * #3057: Don't include optional Home-page in metadata if no url is specified. -- by :user:`cdce8p` * #3062: Merge with pypa/distutils@b53a824ec3 including improved support for lib directories on non-x64 Windows builds. * #3054: Used Py3 syntax super().__init__() -- by :user:`imba-tjd` - v60.5.4 * #3009: Remove filtering of distutils warnings. * #3031: Suppress distutils replacement when building or testing CPython. - v60.5.3 * #3026: Honor sysconfig variables in easy_install. - v60.5.2 * #2993: In _distutils_hack, for get-pip, simulate existence of setuptools. - v60.5.1 * #2918: Correct support for Python 3 native loaders. - v60.5.0 * #2990: Set the .origin attribute of the distutils module to the module's __file__. - v60.4.0 * #2839: Removed requires sorting when installing wheels as an egg dir. * #2953: Fixed a bug that easy install incorrectly parsed Python 3.10 version string. * #3006: Fixed startup performance issue of Python interpreter due to imports of costly modules in _distutils_hack -- by :user:`tiran` * #2862: Added integration tests that focus on building and installing some packages in the Python ecosystem via pip -- by :user:`abravalheri` * #2952: Modified "vendoring" logic to keep license files. * #2968: Improved isolation for some tests that where inadvertently using the project root for builds, and therefore creating directories (e.g. build, dist, *.egg-info) that could interfere with the outcome of other tests -- by :user:`abravalheri`. * #2968: Introduced new test fixtures venv, venv_without_setuptools, bare_venv that rely on the jaraco.envs package. These new test fixtures were also used to remove the (currently problematic) dependency on the pytest_virtualenv plugin. * #2968: Removed tmp_src test fixture. Previously this fixture was copying all the files and folders under the project root, including the .git directory, which is error prone and increases testing time. Since tmp_src was used to populate virtual environments (installing the version of setuptools under test via the source tree), it was replaced by the new setuptools_sdist and setuptools_wheel fixtures (that are build only once per session testing and can be shared between all the workers for read-only usage). - v60.3.1 * #3002: Suppress AttributeError when detecting get-pip. - v60.3.0 * #2993: In _distutils_hack, bypass the distutils exception for pip when get-pip is being invoked, because it imports setuptools. * #2989: Merge with pypa/distutils@788cc159. Includes fix for config vars missing from sysconfig. - v60.2.0 * #2974: Setuptools now relies on the Python logging infrastructure to log messages. Instead of using distutils.log.*, use logging.getLogger(name).*. * #2987: Sync with pypa/distutils@2def21c5d74fdd2fe7996ee4030ac145a9d751bd, including fix for missing get_versions attribute (#2969), more reliance on sysconfig from stdlib. * #2962: Avoid attempting to use local distutils when the presiding version of Setuptools on the path doesn't have one. * #2983: Restore 'add_shim' as the way to invoke the hook. Avoids compatibility issues between different versions of Setuptools with the distutils local implementation. - v60.1.1 * #2980: Bypass distutils loader when setuptools module is no longer available on sys.path. - v60.1.0 * #2958: In distutils_hack, only add the metadata finder once. In ensure_local_distutils, rely on a context manager for reliable manipulation. * #2963: Merge with pypa/distutils@a5af364910. Includes revisited fix for pypa/distutils#15 and improved MinGW/Cygwin support from pypa/distutils#77. - v60.0.5 * #2960: Install schemes fall back to default scheme for headers. - v60.0.4 * #2954: Merge with pypa/distutils@eba2bcd310. Adds platsubdir to config vars available for substitution. - v60.0.3 * #2940: Avoid KeyError in distutils hack when pip is imported during ensurepip. - v60.0.2 * #2938: Select 'posix_user' for the scheme unless falling back to stdlib, then use 'unix_user'. - v60.0.1 * #2944: Add support for extended install schemes in easy_install. - v60.0.0 * #2896: Setuptools once again makes its local copy of distutils the default. To override, set SETUPTOOLS_USE_DISTUTILS=stdlib. - v59.8.0 * #2935: Merge pypa/distutils@460b59f0e68dba17e2465e8dd421bbc14b994d1f. - v59.7.0 * #2930: Require Python 3.7 - v59.6.0 * #2925: Merge with pypa/distutils@92082ee42c including introduction of deprecation warning on Version classes. - v59.4.0 * #2893: Restore deprecated support for newlines in the Summary field. - v59.3.0 * #2906: In ensure_local_distutils, re-use DistutilsMetaFinder to load the module. Avoids race conditions when _distutils_system_mod is employed. - v59.2.0 * #2875: Introduce changes from pypa/distutils@514e9d0, including support for overrides from Debian and pkgsrc, unlocking the possibility of making SETUPTOOLS_USE_DISTUTILS=local the default again. - v59.1.1 + #2885: Fixed errors when encountering LegacyVersions. - v59.1.0 * #2497: Update packaging to 21.2. * #2877: Back out deprecation of setup_requires and replace instead by a deprecation of setuptools.installer and fetch_build_egg. Now setup_requires is still supported when installed as part of a PEP 517 build, but is deprecated when an unsatisfied requirement is encountered. - v59.0.1 * #2880: Removed URL requirement for pytest-virtualenv in setup.cfg. PyPI rejects packages with dependencies external to itself. Instead the test dependency was overwritten via tox.ini - v59.0.0 * #2856: Support for custom commands that inherit directly from distutils is deprecated. Users should extend classes provided by setuptools instead. * #2870: Started failing on invalid inline description with line breaks :class:`ValueError` -- by :user:`webknjaz` * #2698: Exposed exception classes from distutils.errors via setuptools.errors. * #2866: Incorporate changes from pypa/distutils@f1b0a2b. - v58.5.3 * #2849: Add fallback for custom build_py commands inheriting directly from :mod:`distutils`, while still handling include_package_data=True for sdist. - v58.5.2 * #2847: Suppress 'setup.py install' warning under bdist_wheel. - v58.5.1 * #2846: Move PkgResourcesDeprecationWarning above implicitly-called function so that it's in the namespace when version warnings are generated in an environment that contains them. - v58.5.0 * #1461: Fix inconsistency with include_package_data and packages_data in sdist by replacing the loop breaking mechanism between the sdist and egg_info commands -- by :user:`abravalheri` - v58.4.0 * #2497: Officially deprecated PEP 440 non-compliant versions. - Refresh patches * sort-for-reproducibility.patch * remove_mock.patch - Do not replace the vendored imports from .extern anymore * Upstream vendors more packages than before and we need to avoid buildcycles, too. * The vendored stuff was packaged all the time. * Update License tag for vendored stuff. * Drop remove-more-itertools-dependency-cycle.patch- Refresh remove_mock.patch to add a missing file to it.- update to 58.3.0: * ``setup.py install`` and ``easy_install`` commands are now officially deprecated. Use other standards-based installers (like pip) and builders (like build). Workloads reliant on this behavior should pin to this major version of Setuptools. * #1988: Deprecated the ``bdist_rpm`` command. * #2785: Replace confirparser's readfp with read_file, deprecated since Python 3.2. * #2823: Officially deprecated support for ``setup_requires``. Users are encouraged instead to migrate to PEP 518 ``build-system.requires`` in ``pyproject.toml``. Users reliant on ``setup_requires`` should consider pinning to this major version to avoid disruption. * #2762: Changed codecov.yml to configure the threshold to be lower * #2757: Add windows arm64 launchers for scripts generated by easy_install. * #2800: Added ``--owner`` and ``--group`` options to the ``sdist`` command, for specifying file ownership within the produced tarball (similarly to the corresponding distutils ``sdist`` options). * #2792: Document how the legacy and non-legacy versions are compared, and reference to the `PEP 440 `_ scheme. * #2773: Retain case in setup.cfg during sdist. * #2777: Build does not fail fast when ``use_2to3`` is supplied but set to a false value. * #2769: Build now fails fast when ``use_2to3`` is supplied. * #2765: In Distribution.finalize_options, suppress known removed entry points to avoid issues with older Setuptools. * #2086: Removed support for 2to3 during builds. Projects should port to a unified codebase or pin to an older version of Setuptools using PEP 518 build-requires. * #2712: Added implicit globbing support for `[options.data_files]` values. * #2737: fix various syntax and style errors in code snippets in docs- Remove unzip BuildRequires: the tarball is proper gz compressed, no zip files to decompress here.- update to version 57.4.0: * Changes + #2722: Added support for SETUPTOOLS_EXT_SUFFIX environment variable to override the suffix normally detected from the sysconfig module. - changes from version 57.3.0: * Changes + #2465: Documentation is now published using the Furo theme. - changes from version 57.2.0: * Changes + #2724: Added detection of Windows ARM64 build environments using the VSCMD_ARG_TGT_ARCH environment variable. - changes from version 57.1.0: * Changes + #2692: Globs are now sorted in 'license_files' restoring reproducibility by eliminating variance from disk order. + #2714: Update to distutils at pypa/distutils@e2627b7. + #2715: Removed reliance on deprecated ssl.match_hostname by removing the ssl support. Now any index operations rely on the native SSL implementation. * Documentation changes + #2604: Revamped the backward/cross tool compatibility section to remove some confusion. Add some examples and the version since when entry_points are supported in declarative configuration. Tried to make the reading flow a bit leaner, gather some informations that were a bit dispersed.- Add patch to remove a dependency cycle between python-more-itertools and python-setuptools (which requires the former just for one simple function): * remove-more-itertools-dependency-cycle.patch- Update to 57.0.0 * big changelog since 44.1, see CHANGES.rst. - No python2 support anymore. - Refresh sort-for-reproducibility.patch and remove_mock.patch. - Drop importlib.patch, fixed upstream. - Remove testdata.tar.gz, packaged upstream. - Update requirements. * New Ring-1 dep: python-jaraco.path <-- python-singledispatch- Add python dist provides for setuptools, pkg_resources and easy_install: work around boo#1186870 - Dont create a package for -test flavor- We cannot remove vendored packages when generating setuptools wheel (bsc#1177127).- Add remove_mock.patch to remove dependency on the external mock package.- Avoid duplicite wheel name in the generated package, and we actually don't need a subpackage at all.- Make wheel a separate build run to avoid the setuptools/wheel build cycle.- Add wheel subpackage with the generated wheel for this package (bsc#1176262, CVE-2019-20916).- update to 44.1.0 * Set sys.argv[0] in setup script run by build_meta.__legacy__ * Fix for Python 4: replace unsafe six.PY3 with six.PY2 * Fixed a bug in the “setuptools.finalize_distribution_options” hook that lead to ignoring the order attribute of entry points managed by this hook. * Avoid loading working set during Distribution.finalize_options prior to invoking _install_setup_requires, broken since v42.0.0.- use local source dir for pytest imports gh#openSUSE/python-rpm-macros#48- Fix License to the correct MIT- Fix build without python2- update to 44.0.0 - last version with python2 support - add testdata.tar.gz -> missing data for testsuite * Drop support for Python 3.4. * include pyproject.toml in source distribution by default. Projects relying on the previous behavior where pyproject.toml * Setuptools once again declares 'setuptools' in the build-system.requires and adds PEP 517 build support by declaring itself as the build-backend * Fix support for easy_install's find-links option in setup.cfg * Build dependencies (setup_requires and tests_require) now install transitive dependencies indicated by extras. * Mark the easy_install script and setuptools command as deprecated, and use pip when available to fetch/build wheels for missing setup_requires/tests_require requirements, with the following differences in behavior: + support for python_requires + better support for wheels (proper handling of priority with respect to PEP 425 tags) + PEP 517/518 support + eggs are not supported + no support for the allow_hosts easy_install option (index_url/find_links are still honored) + pip environment variables are honored (and take precedence over easy_install options) * Removed the "upload" and "register" commands in favor of twine. * Add support for the license_files option in setup.cfg to automatically include multiple license files in a source distribution. * Update handling of wheels compatibility tags: * add support for manylinux2010 * fix use of removed 'm' ABI flag in Python 3.8 on Windows * Fix empty namespace package installation from wheel. * Setuptools now exposes a new entry point hook "setuptools.finalize_distribution_options", enabling plugins like setuptools_scm to configure options on the distribution at finalization time.- update to 41.6.0 - add importlib.patch * Replace usage of deprecated imp module with local re-implementation in setuptools._imp * Fix pkg_resources.Requirement hash/equality implementation * Fix tests when running under python3.10. * drop 'deprecated' documentation (test command, ez_setup, EasyInstall)- Remove runtime dependency for the full python3 package, as the actually required SSL module is in python3-base. For python(2), SSL is in the "full" python package. Avoids build loops and shortens the dependency chain for e.g. rust.- Try to use system packages rather than the vendored variants- Add patch to sort outputs for better reproducability: * sort-for-reproducibility.patch - Add missing dep on ordered-set as it is now in the vendored dir too- Update to 41.4.0 * In declarative config, now traps errors when invalid python_requires values are supplied. * When storing extras, rely on OrderedSet to retain order of extras as indicated by the packager, which will also be deterministic on Python 2.7 (with PYTHONHASHSEED unset) and Python 3.6+. * Fixed failing integration test triggered by 'long_description_content_type' in packaging.- Define LANG in %check to fix openSUSE/SLE 15 testsuite- Switch to multibuild to enable testsuite- Update to 41.2.0: * #479: Remove some usage of the deprecated imp module. * #1565: Changed html_sidebars from string to list of string as per https://www.sphinx-doc.org/en/master/changes.html#id58 * #1697: Moved most of the constants from setup.py to setup.cfg * #1756: Forse metadata-version >= 1.2. when project urls are present.- update to version 41.0.1: * #1671: Fixed issue with the PEP 517 backend that prevented building a wheel when the dist/ directory contained existing .whl files. * #1709: In test.paths_on_python_path, avoid adding unnecessary duplicates to the PYTHONPATH. * #1741: In package_index, now honor "current directory" during a checkout of git and hg repositories under Windows- update to 41.0.0 * #1735: When parsing setup.cfg files, setuptools now requires the files to be encoded as UTF-8. Any other encoding will lead to a UnicodeDecodeError. This change removes support for specifying an encoding using a 'coding: ' directive in the header of the file, a feature that was introduces in 40.7. Given the recent release of the aforementioned feature, it is assumed that few if any projects are utilizing the feature to specify an encoding other than UTF-8.- update to version 40.8.0: * #1652: Added the build_meta:__legacy__ backend, a "compatibility mode" PEP 517 backend that can be used as the default when build-backend is left unspecified in pyproject.toml. * #1635: Resource paths are passed to pkg_resources.resource_string and similar no longer accept paths that traverse parents, that begin with a leading /. Violations of this expectation raise DeprecationWarnings and will become errors. Additionally, any paths that are absolute on Windows are strictly disallowed and will raise ValueErrors. * #1536: setuptools will now automatically include licenses if setup.cfg contains a license_file attribute, unless this file is manually excluded inside MANIFEST.in. - changes from version 40.7.3: * #1670: In package_index, revert to using a copy of splituser from Python 3.8. Attempts to use urllib.parse.urlparse led to problems as reported in #1663 and #1668. This change serves as an alternative to #1499 and fixes #1668.- update to version 40.7.2: * #1666: Restore port in URL handling in package_index. - changes from version 40.7.1: * #1660: On Python 2, when reading config files, downcast options from text to bytes to satisfy distutils expectations. - changes from version 40.7.0: * #1551: File inputs for the license field in setup.cfg files now explicitly raise an error. * #1180: Add support for non-ASCII in setup.cfg (#1062). Add support for native strings on some parameters (#1136). * #1499: setuptools.package_index no longer relies on the deprecated urllib.parse.splituser per Python #27485. * #1544: Added tests for PackageIndex.download (for git URLs). * #1625: In PEP 517 build_meta builder, ensure that sdists are built as gztar per the spec.- BuildIgnore python[23]-pyparsing: python-packaging requires it for some actions it could perform, but we don't make use of these here. Ignoring this dependency allows us to break open a BuildCycle.- update to 40.6.3: * #1594: PEP 517 backend no longer declares setuptools as a dependency as it can be assumed.- Fix fdupes call- update to version 40.6.2: * #1592: Fix invalid dependency on external six module (instead of vendored version). - changes from version 40.6.1: * #1590: Fixed regression where packages without author or author_email fields generated malformed package metadata. - changes from version 40.6.0: * #1541: Officially deprecated the requires parameter in setup(). * #1519: In pkg_resources.normalize_path, additional path normalization is now performed to ensure path values to a directory is always the same, preventing false positives when checking scripts have a consistent prefix to set up on Windows. * #1545: Changed the warning class of all deprecation warnings; deprecation warning classes are no longer derived from DeprecationWarning and are thus visible by default. * #1554: build_meta.build_sdist now includes setup.py in source distributions by default. * #1576: Started monkey-patching get_metadata_version and read_pkg_file onto distutils.DistributionMetadata to retain the correct version on the PKG-INFO file in the (deprecated) upload command. * #1533: Restricted the recursive-include setuptools/_vendor to contain only .py and .txt files. * #1395: Changed Pyrex references to Cython in the documentation. * #1456: Documented that the rpmbuild packages is required for the bdist_rpm command. * #1537: Documented how to use setup.cfg for src/ layouts * #1539: Added minimum version column in setup.cfg metadata table. * #1552: Fixed a minor typo in the python 2/3 compatibility documentation. * #1553: Updated installation instructions to point to pip install instead of ez_setup.py. * #1560: Updated setuptools distribution documentation to remove some outdated information. * #1564: Documented setup.cfg minimum version for version and project_urls. * #1572: Added the concurrent.futures backport futures to the Python 2.7 test suite requirements.- update to version 40.5.0: * #1335: In pkg_resources.normalize_path, fix issue on Cygwin when cwd contains symlinks. * #1502: Deprecated support for downloads from Subversion in package_index/easy_install. * #1517: Dropped use of six.u in favor of u"" literals. * #1520: Added support for data_files in setup.cfg. * #1525: Fixed rendering of the deprecation warning in easy_install doc.- update to version 40.4.3: * #1480: Bump vendored pyparsing in pkg_resources to 2.2.1. - changes from version 40.4.2: * #1497: Updated gitignore in repo. - changes from version 40.4.1: * #1480: Bump vendored pyparsing to 2.2.1. - changes from version 40.4.0: * #1481: Join the sdist --dist-dir and the build_meta sdist directory argument to point to the same target (meaning the build frontend no longer needs to clean manually the dist dir to avoid multiple sdist presence, and setuptools no longer needs to handle conflicts between the two). - changes from version 40.3.0: * #1402: Fixed a bug with namespace packages under Python 3.6 when one package in current directory hides another which is installed. * #1427: Set timestamp of .egg-info directory whenever egg_info command is run. * #1474: build_meta.get_requires_for_build_sdist now does not include the wheel package anymore. * #1486: Suppress warnings in pkg_resources.handle_ns. * #1479: Remove internal use of six.binary_type.- update to version 40.2.0: * #1466: Fix handling of Unicode arguments in PEP 517 backend - changes from version 40.1.1: * #1465: Fix regression with egg_info command when tagging is used.- Use noun phrase in summary.- specfile: * removed devel for noarch package - update to version 40.1.0: * #1410: Deprecated upload and register commands. * #1312: Introduced find_namespace_packages() to find PEP 420 namespace packages. * #1420: Added find_namespace: directive to config parser. * #1418: Solved race in when creating egg cache directories. * #1450: Upgraded vendored PyParsing from 2.1.10 to 2.2.0. * #1451: Upgraded vendored appdirs from 1.4.0 to 1.4.3. * #1388: Fixed "Microsoft Visual C++ Build Tools" link in exception when Visual C++ not found. * #1389: Added support for scripts which have unicode content. * #1416: Moved several Python version checks over to using six.PY2 and six.PY3. * #1441: Removed spurious executable permissions from files that don't need them.- update to version 40.0.0: * #1342: Drop support for Python 3.3. * #1366: In package_index, fixed handling of encoded entities in URLs. * #1383: In pkg_resources VendorImporter, avoid removing packages imported from the root. * #1379: Minor doc fixes after actually using the new release process. * #1385: Removed section on non-package data files. * #1403: Fix developer's guide. * #1404: Fix PEP 518 configuration: set build requirements in pyproject.toml to ["wheel"].- update to version 39.2.0: * #1359: Support using "file:" to load a PEP 440-compliant package version from a text file. * #1360: Fixed issue with a mismatch between the name of the package and the name of the .dist-info file in wheel files * #1364: Add __dir__() implementation to pkg_resources.Distribution() that includes the attributes in the _provider instance variable. * #1365: Take the package_dir option into account when loading the version from a module attribute. * #1353: Added coverage badge to README. * #1356: Made small fixes to the developer guide documentation. * #1357: Fixed warnings in documentation builds and started enforcing that the docs build without warnings in tox. * #1376: Updated release process docs. * #1343: The setuptools specific long_description_content_type, project_urls and provides_extras fields are now set consistently after any distutils setup_keywords calls, allowing them to override values. * #1352: Added tox environment for documentation builds. * #1354: Added towncrier for changelog managment. * #1355: Add PR template. * #1368: Fixed tests which failed without network connectivity. * #1369: Added unit tests for PEP 425 compatibility tags support. * #1372: Stop testing Python 3.3 in Travis CI, now that the latest version of wheel no longer installs on it.- update to version 39.1.0: * #1340: Update all PyPI URLs to reflect the switch to the new Warehouse codebase. * #1337: In pkg_resources, now support loading resources for modules loaded by the SourcelessFileLoader. * #1332: Silence spurious wheel related warnings on Windows.- build python3 subpackage (FATE#323875)- Version update to 39.0.1: * Fix utf parsing with python2 * Various other fixes- update to version 39.0.0: * #1296: Setuptools now vendors its own direct dependencies, no longer relying on the dependencies as vendored by pkg_resources. * #296: Removed long-deprecated support for iteration on Version objects as returned by pkg_resources.parse_version. Removed the SetuptoolsVersion and SetuptoolsLegacyVersion names as well. They should not have been used, but if they were, replace with Version and LegacyVersion from packaging.version. - changes from version 38.7.0: * #1288: Add support for maintainer in PKG-INFO. - changes from version 38.6.1: * #1292: Avoid generating Provides-Extra in metadata when no extra is present (but environment markers are).- update to version 38.6.0: * #1286: Add support for Metadata 2.1 (PEP 566).- update to version 38.5.2: * #1285: Fixed RuntimeError in pkg_resources.parse_requirements on Python 3.7 (stemming from PEP 479).- Allows Recommends and Suggest in Fedora- Recommends only for SUSE- update to version 38.5.1: * #1271: Revert to Cython legacy build_ext behavior for compatibility. - changes from version 38.5.0: * #1229: Expand imports in build_ext to refine detection of Cython availability. * #1270: When Cython is available, build_ext now uses the new_build_ext.- update to version 38.4.1: * #1257: In bdist_egg.scan_module, fix ValueError on Python 3.7.- specfile: * update copyright year - update to version 38.4.0: * #1231: Removed warning when PYTHONDONTWRITEBYTECODE is enabled. - changes from version 38.3.0: * #1210: Add support for PEP 345 Project-URL metadata. * #1207: Add support for long_description_type to setup.cfg declarative config as intended and documented.- update to version 38.2.5: * #1232: Fix trailing slash handling in pkg_resources.ZipProvider.- update to version 38.2.4: * #1220: Fix data_files handling when installing from wheel.- update to version 38.2.3: * fix Travis' Python 3.3 job. - changes from version 38.2.2: * #1214: fix handling of namespace packages when installing from a wheel.- update to 38.2.1 * fix encoding handling of metadata when installing from a wheel- update to version 38.2.0: * #1200: easy_install now support installing from wheels: they will be installed as standalone unzipped eggs. - changes from version 38.1.0: * #1208: Improve error message when failing to locate scripts in egg-info metadata. - changes from version 38.0.0: * #458: In order to support deterministic builds, Setuptools no longer allows packages to declare install_requires as unordered sequences (sets or dicts).- update to version 37.0.0: * #878: Drop support for Python 2.6. Python 2.6 users should rely on 'setuptools < 37dev'. - changes from version 36.8.0: * #1190: In SSL support for package index operations, use SNI where available. - changes from version 36.7.3: * #1175: Bug fixes to build_meta module.- Trim bias from description.- specfile: * add missing url field - update to version 36.7.2: * #701: Fixed duplicate test discovery on Python 3.- update to version 36.7.1: * #1193: Avoid test failures in bdist_egg when PYTHONDONTWRITEBYTECODE is set. - changes from version 36.7.0: * #1054: Support setup_requires in setup.cfg files. - changes from version 36.6.1: * #1132: Removed redundant and costly serialization/parsing step in EntryPoint.__init__. * #844: bdist_egg --exclude-source-files now tested and works on Python 3.- update to version 36.6.0: * #1143: Added setuptools.build_meta module, an implementation of PEP-517 for Setuptools-defined packages. * #1143: Added dist_info command for producing dist_info metadata.- update to 36.5.0: * #170: When working with Mercurial checkouts, use Windows-friendly syntax for suppressing output. * Inspired by #1134, performed substantial refactoring of ``pkg_resources.find_on_path`` to facilitate an optimization for paths with many non-version entries. * #1075: Add new ``Description-Content-Type`` metadata field. `See here for documentation on how to use this field. `_ * #1068: Sort files and directories when building eggs for deterministic order. * #196: Remove caching of easy_install command in fetch_build_egg. Fixes issue where ``pytest-runner-N.N`` would satisfy the installation of ``pytest``. * #1129: Fix working set dependencies handling when replacing conflicting distributions (e.g. when using ``setup_requires`` with a conflicting transitive dependency, fix #1124). * #1133: Improved handling of README files extensions and added Markdown to the list of searched READMES. * #1135: Improve performance of pkg_resources import by not invoking ``access`` or ``stat`` and using ``os.listdir`` instead. * #1131: Make possible using several files within ``file:`` directive in metadata.long_description in ``setup.cfg``. * fix #1105: Fix handling of requirements with environment markers when declared in ``setup.cfg`` (same treatment as for #1081). * #462: Don't assume a directory is an egg by the ``.egg`` extension alone. * #1093: Fix test command handler with extras_require. * #1112, #1091, #1115: Now using Trusty containers in Travis for CI and CD. * #1092: ``pkg_resources`` now uses ``inspect.getmro`` to resolve classes in method resolution order. * #1102: Restore behavior for empty extras.- update to 36.2.2 v36.2.2 ------- * #1099: Revert commit a3ec721, restoring intended purpose of extras as part of a requirement declaration. v36.2.1 ------- * fix #1086 * fix #1087 * support extras specifiers in install_requires requirements v36.2.0 ------- * #1081: Environment markers indicated in ``install_requires`` are now processed and treated as nameless ``extras_require`` with markers, allowing their metadata in requires.txt to be correctly generated. * #1053: Tagged commits are now released using Travis-CI build stages, meaning releases depend on passing tests on all supported Python versions (Linux) and not just the latest Python version. v36.1.1 ------- * #1083: Correct ``py31compat.makedirs`` to correctly honor ``exist_ok`` parameter. * #1083: Also use makedirs compatibility throughout setuptools. v36.1.0 ------- * #1083: Avoid race condition on directory creation in ``pkg_resources.ensure_directory``. * Removed deprecation of and restored support for ``upload_docs`` command for sites other than PyPI. Only warehouse is dropping support, but services like `devpi `_ continue to support docs built by setuptools' plugins. See `this comment `_ for more context on the motivation for this change.- update to 36.0.1 * #1042: Fix import in py27compat module that still referenced six directly, rather than through the externs module (vendored packages hook). * #980 and others: Once again, Setuptools vendors all of its dependencies. It seems to be the case that in the Python ecosystem, all build tools must run without any dependencies (build, runtime, or otherwise). At such a point that a mechanism exists that allows build tools to have dependencies, Setuptools will adopt it. * #1015: Fix test failures on Python 3.7. * #1024: Add workaround for Jython #2581 in monkey module. * #992: Revert change introduced in v34.4.1, now considered invalid. * #1016: Revert change introduced in v35.0.0 per #1014, referencing #436. The approach had unintended consequences, causing sdist installs to be missing files. - remove fix-sle11-test-failure.patch: this doesn't build for SLE11 anymore, so no need to patch it anymore- update to 34.2.0 * dependencies are no longer vendored and setuptools can't bootstrap without them * drop support for python 2.6 and 3.2 * declarative config option for setup.cfg * nspkg.pth files for development * switch to zip format for source dist * ensure extras are honored when building the working set * add support for reading dist-info metadata * support for PEP440 version specifiers - added build-time and run-time dependencies to appdirs and packaging, ensured these packages build without setuptools - drop upstreamed setuptools-certpath.patch - drop unneeded setuptools-5.4.1-create-sitedir.patch - add fdupes - change source file to zip, add unzip dependency- update for multipython build- make sure, that setuptools-certpath.patch is applied unconditionally (fixes traceback in setuptools/ssl_support.py)- update to 28.3.0: * #809: In ``find_packages()``, restore support for excluding a parent package without excluding a child package. * #805: Disable ``-nspkg.pth`` behavior on Python 3.3+ where PEP-420 functionality is adequate. Fixes pip #1924. * #803: Bump certifi to 2016.9.26. * #733: Do not search excluded directories for packages. This introduced a backwards incompatible change in ``find_packages()`` so that ``find_packages(exclude=['foo']) == []``, excluding subpackages of ``foo``. Previously, ``find_packages(exclude=['foo']) == ['foo.bar']``, even though the parent ``foo`` package was excluded. * #795: Bump certifi. * #719: Suppress decoding errors and instead log a warning when metadata cannot be decoded. * #790: In MSVC monkeypatching, explicitly patch each function by name in the target module instead of inferring the module from the function's ``__module__``. Improves compatibility with other packages that might have previously patched distutils functions (i.e. NumPy). * #794: In test command, add installed eggs to PYTHONPATH when invoking tests so that subprocesses will also have the dependencies available. Fixes `tox 330 `_. * #795: Update vendored pyparsing 2.1.9. * #520 and #513: Suppress ValueErrors in fixup_namespace_packages when lookup fails. * Nicer, more consistent interfaces for msvc monkeypatching. * #779 via #781: Fix circular import. * #778: Fix MSVC monkeypatching. * Introduce the (private) ``monkey`` module to encapsulate the distutils monkeypatching behavior. * Now use Warehouse by default for ``upload``, patching ``distutils.config.PyPIRCCommand`` to affect default behavior. Any config in .pypirc should be updated to replace https://pypi.python.org/pypi/ with https://upload.pypi.org/legacy/ Similarly, any passwords stored in the keyring should be updated to use this new value for "system". The ``upload_docs`` command will continue to use the python.org site, but the command is now deprecated. Users are urged to use Read The Docs instead. * #776: Use EXT_SUFFIX for py_limited_api renaming. * #774 and #775: Use LegacyVersion from packaging when detecting numpy versions. * Re-release of 26.1.0 with pytest pinned to allow for automated deployment and thus proper packaging environment variables, fixing issues with missing executable launchers.- fix certificate handling with certifi, add support for SUSE's CA bundle (setuptools-certpath.patch, fixes boo#993968) - remove shebang lines, strip executable bit from README, to silence the easy rpmlint warnings- update to 26.1.1: * Re-release of 26.1.0 with pytest pinned to allow for automated deployement and thus proper packaging environment variables, fixing issues with missing executable launchers. * #763: ``pkg_resources.get_default_cache`` now defers to the `appdirs project `_ to resolve the cache directory. Adds a vendored dependency on appdirs to pkg_resources. * #748: By default, sdists are now produced in gzipped tarfile format by default on all platforms, adding forward compatibility for the same behavior in Python 3.6 (See Python #27819). * #459 via #736: On Windows with script launchers, sys.argv[0] now reflects the name of the entry point, consistent with the behavior in distlib and pip wrappers. * #752 via #753: When indicating ``py_limited_api`` to Extension, it must be passed as a keyword argument. * Add Extension(py_limited_api=True). When set to a truthy value, that extension gets a filename apropriate for code using Py_LIMITED_API. When used correctly this allows a single compiled extension to work on all future versions of CPython 3. The py_limited_api argument only controls the filename. To be compatible with multiple versions of Python 3, the C extension will also need to set -DPy_LIMITED_API=... and be modified to use only the functions in the limited API. * #739 Fix unquoted libpaths by fixing compatibility between `numpy.distutils` and `distutils._msvccompiler` for numpy < 1.11.2 (Fix issue #728, error also fixed in Numpy). * #731: Bump certifi. * Style updates. See #740, #741, #743, #744, #742, #747. * #735: include license file. * #612 via #730: Add a LICENSE file which needs to be provided by the terms of the MIT license. * #725: revert `library_dir_option` patch (Error is related to `numpy.distutils` and make errors on non Numpy users). * #720 * #723: Improve patch for `library_dir_option`. * #717 * #713 * #707: Fix Python 2 compatibility for MSVC by catching errors properly. * #715: Fix unquoted libpaths by patching `library_dir_option`. * #714 and #704: Revert fix as it breaks other components downstream that can't handle unicode. See #709, #710, and #712. * #704: Fix errors when installing a zip sdist that contained files named with non-ascii characters on Windows would crash the install when it attempted to clean up the build. * #646: MSVC compatibility - catch errors properly in RegistryInfo.lookup. * #702: Prevent UnboundLocalError when initial working_set is empty. * #686: Fix issue in sys.path ordering by pkg_resources when rewrite technique is "raw". * #699: Fix typo in msvc support. * #609: Setuptools will now try to download a distribution from the next possible download location if the first download fails. This means you can now specify multiple links as ``dependency_links`` and all links will be tried until a working download link is encountered. * #688: Fix AttributeError in setup.py when invoked not from the current directory. * Cleanup of setup.py script. * Fixed documentation builders by allowing setup.py to be imported without having bootstrapped the metadata. * More style cleanup. See #677, #678, #679, #681, #685. * #674: Default ``sys.path`` manipulation by easy-install.pth is now "raw", meaning that when writing easy-install.pth during any install operation, the ``sys.path`` will not be rewritten and will no longer give preference to easy_installed packages. To retain the old behavior when using any easy_install operation (including ``setup.py install`` when setuptools is present), set the environment variable: SETUPTOOLS_SYS_PATH_TECHNIQUE=rewrite This project hopes that that few if any environments find it necessary to retain the old behavior, and intends to drop support for it altogether in a future release. Please report any relevant concerns in the ticket for this change. * #398: Fix shebang handling on Windows in script headers where spaces in ``sys.executable`` would produce an improperly-formatted shebang header, introduced in 12.0 with the fix for #188. * #663, #670: More style updates. * #516: Disable ``os.link`` to avoid hard linking in ``sdist.make_distribution``, avoiding errors on systems that support hard links but not on the file system in which the build is occurring. * #667: Update Metadata-Version to 1.2 when ``python_requires`` is supplied. * #631: Add support for ``python_requires`` keyword. * More style updates. See #660, #661, #641. * #659: ``setup.py`` now will fail fast and with a helpful error message when the necessary metadata is missing. * More style updates. See #656, #635, #640, [#644], #650, #652, and #655. * Updated style in much of the codebase to match community expectations. See #632, #633, #634, [#637], #639, #638, #642, #648. * If MSVC++14 is needed ``setuptools.msvc`` now redirect user to Visual C++ Build Tools web page. * #625 and #626: Fixes on ``setuptools.msvc`` mainly for Python 2 and Linux. * Pull Request #174: Add more aggressive support for standalone Microsoft Visual C++ compilers in msvc9compiler patch. Particularly : Windows SDK 6.1 and 7.0 (MSVC++ 9.0), Windows SDK 7.1 (MSVC++ 10.0), Visual C++ Build Tools 2015 (MSVC++14) * Renamed ``setuptools.msvc9_support`` to ``setuptools.msvc``. Re-release of v23.2.0, which was missing the intended commits. * #623: Remove used of deprecated 'U' flag when reading manifests.- Update fix-sle11-test-failure.patch to new line numbers and indentation- Use pypi.io for Source url- update to 23.1.0: * #619: Deprecated ``tag_svn_revision`` distribution option. * #611: Removed ARM executables for CLI and GUI script launchers on Windows. If this was a feature you cared about, please comment in the ticket. * #604: Removed docs building support. The project now relies on documentation hosted at https://setuptools.readthedocs.io/. * #604: Restore repository for upload_docs command to restore publishing of docs during release. * #589: Upload releases to pypi.io using the upload hostname and legacy path. * #589: Releases are now uploaded to pypi.io (Warehouse) even when releases are made on Twine via Travis. * #589: Releases are now uploaded to pypi.io (Warehouse). * #190: On Python 2, if unicode is passed for packages to ``build_py`` command, it will be handled just as with text on Python 3. * #598: Setuptools now lists itself first in the User-Agent for web requests, better following the guidelines in `RFC 7231 `_. * Minor fixes to changelog and docs. * #261: Exclude directories when resolving globs in package_data. * #539: In the easy_install get_site_dirs, honor all paths found in ``site.getsitepackages``. * #572: In build_ext, now always import ``_CONFIG_VARS`` from ``distutils`` rather than from ``sysconfig`` to allow ``distutils.sysconfig.customize_compiler`` configure the OS X compiler for ``-dynamiclib``. * Removed ez_setup.py from Setuptools sdist. The bootstrap script will be maintained in its own branch and should be generally be retrieved from its canonical location at https://bootstrap.pypa.io/ez_setup.py. * #553: egg_info section is now generated in a deterministic order, matching the order generated by earlier versions of Python. Except on Python 2.6, order is preserved when existing settings are present. * #556: Update to Packaging 16.7, restoring support for deprecated ``python_implmentation`` marker. * #555: Upload command now prompts for a password when uploading to PyPI (or other repository) if no password is present in .pypirc or in the keyring. * #548: Update certify version to 2016.2.28 * #545: Safely handle deletion of non-zip eggs in rotate command. * Issue #544: Fix issue with extra environment marker processing in WorkingSet due to refactor in v20.7.0. * Issue #543: Re-release so that latest release doesn't cause déjà vu with distribute and setuptools 0.7 in older environments. * Refactored extra enviroment marker processing in WorkingSet. * Issue #533: Fixed intermittent test failures. * Issue #536: In msvc9_support, trap additional exceptions that might occur when importing ``distutils.msvc9compiler`` in mingw environments. * Issue #537: Provide better context when package metadata fails to decode in UTF-8. * Issue #523: Restored support for environment markers, now honoring 'extra' environment markers. * Issue #523: Disabled support for environment markers introduced in v20.5. * Issue #503: Restore support for PEP 345 environment markers by updating to Packaging 16.6. * New release process that relies on `bumpversion `_ and Travis CI for continuous deployment. * Project versioning semantics now follow `semver `_ precisely. The 'v' prefix on version numbers now also allows version numbers to be referenced in the changelog, e.g. https://pythonhosted.org/setuptools/history.html#v20-6-0. * BB Pull Request #185, #470: Add support for environment markers in requirements in install_requires, setup_requires, tests_require as well as adding a test for the existing extra_requires machinery. * Issue #422: Moved hosting to `Github `_ from `Bitbucket `_. Issues have been migrated, though all issues and comments are attributed to bb-migration. So if you have a particular issue or issues to which you've been subscribed, you will want to "watch" the equivalent issue in Github. The Bitbucket project will be retained for the indefinite future, but Github now hosts the canonical project repository. * Issue #519: Remove import hook when reloading the ``pkg_resources`` module. * BB Pull Request #184: Update documentation in ``pkg_resources`` around new ``Requirement`` implementation. * BB Pull Request #179: ``pkg_resources.Requirement`` objects are now a subclass of ``packaging.requirements.Requirement``, allowing any environment markers and url (if any) to be affiliated with the requirement * BB Pull Request #179: Restore use of RequirementParseError exception unintentionally dropped in 20.2.- update to 20.2.2: * Issue #502: Correct regression in parsing of multiple version specifiers separated by commas and spaces. * Issue #499: Restore compatiblity for legacy versions by bumping to packaging 16.4. * Changelog now includes release dates and links to PEPs. * Pull Request #173: Replace dual PEP 345 _markerlib implementation and PEP 426 implementation of environment marker support from packaging 16.1 and PEP 508. Fixes Issue #122. See also Pull Request #175, Pull Request #168, and Pull Request #164. Additionally: - ``Requirement.parse`` no longer retains the order of extras. - ``parse_requirements`` now requires that all versions be PEP-440 compliant, as revealed in #499. Packages released with invalid local versions should be re-released using the proper local version syntax, e.g. ``mypkg-1.0+myorg.1``. * Update ``upload_docs`` command to also honor keyring for password resolution. * Added support for using passwords from keyring in the upload command. * Issue #118: Once again omit the package metadata (egg-info) from the list of outputs in ``--record``. This version of setuptools can no longer be used to upgrade pip earlier than 6.0. * `Off-project PR `_: For FreeBSD, also honor root certificates from ca_root_nss.- update to version 19.6.2: * Issue #491: Correct regression incurred in 19.4 where a double-namespace package installed using pip would cause a TypeError. - update to version 19.6.1: * Restore compatibility for PyPy 3 compatibility lost in 19.4.1 addressing Issue #487. * "setuptools.launch" shim now loads scripts in a new namespace, avoiding getting relative imports from the setuptools package on Python 2. - update to version 19.6: * Added a new entry script "setuptools.launch", implementing the shim found in "pip.util.setuptools_build". Use this command to launch distutils-only packages under setuptools in the same way that pip does, causing the setuptools monkeypatching of distutils to be invoked prior to invoking a script. Useful for debugging or otherwise installing a distutils-only package under setuptools when pip isn't available or otherwise does not expose the desired functionality. For example:: $ python -m setuptools.launch setup.py develop * Issue #488: Fix dual manifestation of Extension class in extension packages installed as dependencies when Cython is present. - update to version 19.5: * Issue #486: Correct TypeError when getfilesystemencoding returns None. * Issue #139: Clarified the license as MIT. * Pull Request #169: Removed special handling of command spec in scripts for Jython. - changes from version 19.4.1: * Issue #487: Use direct invocation of "importlib.machinery" in "pkg_resources" to avoid missing detection on relevant platforms. - update to version 19.4: * Issue #341: Correct error in path handling of package data files in "build_py" command when package is empty. * Distribute #323, Issue #141, Issue #207, and Pull Request #167: Another implementation of "pkg_resources.WorkingSet" and "pkg_resources.Distribution" that supports replacing an extant package with a new one, allowing for setup_requires dependencies to supersede installed packages for the session. - update to version 19.3: * Issue #229: Implement new technique for readily incorporating dependencies conditionally from vendored copies or primary locations. Adds a new dependency on six. - update to version 19.2: * Pull Request #163: Add get_command_list method to Distribution. * Pull Request #162: Add missing whitespace to multiline string literals. - update to version 19.1.1: * Issue #476: Cast version to string (using default encoding) to avoid creating Unicode types on Python 2 clients. * Issue #477: In Powershell downloader, use explicit rendering of strings, rather than rely on "repr", which can be incorrect (especially on Python 2). - changes from version 19.1: * Issue #215: The bootstrap script "ez_setup.py" now automatically detects the latest version of setuptools (using PyPI JSON API) rather than hard-coding a particular value. * Issue #475: Fix incorrect usage in _translate_metadata2. - changes from version 19.0: * Issue #442: Use RawConfigParser for parsing .pypirc file. Interpolated values are no longer honored in .pypirc files. - update to version 18.8.1: * Issue #440: Prevent infinite recursion when a SandboxViolation or other UnpickleableException occurs in a sandbox context with setuptools hidden. Fixes regression introduced in Setuptools 12.0. - changes from version 18.8: * Deprecated ``egg_info.get_pkg_info_revision``. * Issue #471: Don't rely on repr for an HTML attribute value in package_index. * Issue #419: Avoid errors in FileMetadata when the metadata directory is broken. * Issue #472: Remove deprecated use of 'U' in mode parameter when opening files. - update to version 18.7.1: * Issue #469: Refactored logic for Issue #419 fix to re-use metadata loading from Provider. - update to version 18.7: * Update dependency on certify. * Pull Request #160: Improve detection of gui script in "easy_install._adjust_header". * Made "test.test_args" a non-data property; alternate fix for the issue reported in Pull Request #155. * Issue #453: In "ez_setup" bootstrap module, unload all "pkg_resources" modules following download. * Pull Request #158: Honor `PEP-488 `_ when excluding files for namespace packages. * Issue #419 and Pull Request #144: Add experimental support for reading the version info from distutils-installed metadata rather than using the version in the filename. - update to version 18.6.1: * Issue #464: Correct regression in invocation of superclass on old-style class on Python 2. - changes from version 18.6: * Issue #439: When installing entry_point scripts under development, omit the version number of the package, allowing any version of the package to be used. - update to version 18.5: * In preparation for dropping support for Python 3.2, a warning is now logged when pkg_resources is imported on Python 3.2 or earlier Python 3 versions. * `Add support for python_platform_implementation environment marker `_. * `Fix dictionary mutation during iteration `_.- Update to 18.4 * Test command now always invokes unittest, even if no test suite is supplied.- update to 18.3.2: * Correct another regression in setuptools.findall where the fix for Python #12885 was lost. - update to 18.3.1: * Issue #425: Correct regression in setuptools.findall. - update to 18.3: * Setuptools now allows disabling of the manipulation of the sys.path during the processing of the easy-install.pth file. To do so, set the environment variable ``SETUPTOOLS_SYS_PATH_TECHNIQUE`` to anything but "rewrite" (consider "raw"). During any install operation with manipulation disabled, setuptools packages will be appended to sys.path naturally. Future versions may change the default behavior to disable manipulation. If so, the default behavior can be retained by setting the variable to "rewrite". * Issue #257: ``easy_install --version`` now shows more detail about the installation location and Python version. * Refactor setuptools.findall in preparation for re-submission back to distutils.- update to 18.2: * Issue #412: More efficient directory search in ``find_packages``.- update to 18.1: * Upgrade to vendored packaging 15.3.- update to 18.0.1 for fate#319032 * see full changelog in CHANGES.txt- update to 18.0.1: * Issue #401: Fix failure in test suite. * Dropped support for builds with Pyrex. Only Cython is supported. * Issue #288: Detect Cython later in the build process, after ``setup_requires`` dependencies are resolved. * Issue #396: Fixed test failure on OS X. * Pull Request #136: Remove excessive quoting from shebang headers for Jython.- update to 17.1.1: * Backed out unintended changes to pkg_resources, restoring removal of deprecated imp module- update to 17.1: * Issue #380: Add support for range operators on environment marker evaluation. * Issue #378: Do not use internal importlib._bootstrap module. * Issue #390: Disallow console scripts with path separators in the name. Removes unintended functionality and brings behavior into parity with pip. * Pull Request #130: Better error messages for errors in parsed requirements. * Pull Request #133: Removed ``setuptools.tests`` from the installed packages. * Issue #373: Provisionally expose ``pkg_resources._initialize_master_working_set``, allowing for imperative re-initialization of the master working set.- fix vulnerability in non-RFC6125-compliant host name matching (bsc#930189, setuptools-1.1.7-match-hostname.patch)- Disable testsuite as this causes build cycle- update to 15.1: * Updated Packaging to 15.1 to address Packaging #28. * Fix ``setuptools.sandbox._execfile()`` with Python 3.1. - Remove fix-type-error.patch . Applied upstream- openSUSE versions up to 12.2 are affected as well from: AssertionError: error: must supply either home or prefix/exec-prefix -- not both raise version check of applying fix-sle11-test-failure.patch accordingly- update to 15.0: * Pull Request #126: DistributionNotFound message now lists the package or packages that required it. E.g.:: pkg_resources.DistributionNotFound: The 'colorama>=0.3.1' distribution was not found and is required by smlib.log. Note that zc.buildout once dependended on the string rendering of this message to determine the package that was not found. This expectation has since been changed, but older versions of buildout may experience problems. See Buildout #242 for details. * Issue #307: Removed PEP-440 warning during parsing of versions in ``pkg_resources.Distribution``. * Issue #364: Replace deprecated usage with recommended usage of ``EntryPoint.load``. * Issue #254: When creating temporary egg cache on Unix, use mode 755 for creating the directory to avoid the subsequent warning if the directory is group writable. * Issue #137: Update ``Distribution.hashcmp`` so that Distributions with None for pyversion or platform can be compared against Distributions defining those attributes. * Issue #360: Removed undesirable behavior from test runs, preventing write tests and installation to system site packages. * Pull Request #125: Add ``__ne__`` to Requirement class. * Various refactoring of easy_install. * Bootstrap script now accepts ``--to-dir`` to customize save directory or allow for re-use of existing repository of setuptools versions. See Pull Request #112 for background. * Issue #285: ``easy_install`` no longer will default to installing packages to the "user site packages" directory if it is itself installed there. Instead, the user must pass ``--user`` in all cases to install packages to the user site packages. This behavior now matches that of "pip install". To configure an environment to always install to the user site packages, consider using the "install-dir" and "scripts-dir" parameters to easy_install through an appropriate distutils config file. * Issue #359: Include pytest.ini in the sdist so invocation of py.test on the sdist honors the pytest configuration. Re-release of 13.0. Intermittent connectivity issues caused the release process to fail and PyPI uploads no longer accept files for 13.0. * Issue #356: Back out Pull Request #119 as it requires Setuptools 10 or later as the source during an upgrade. * Removed build_py class from setup.py. According to 892f439d216e, this functionality was added to support upgrades from old Distribute versions, 0.6.5 and 0.6.6. * Pull Request #119: Restore writing of ``setup_requires`` to metadata (previously added in 8.4 and removed in 9.0). * Documentation is now linked using the rst.linker package. * Fix ``setuptools.command.easy_install.extract_wininst_cfg()`` with Python 2.6 and 2.7. * Issue #354. Added documentation on building setuptools documentation. * Issue #345: Unload all modules under pkg_resources during ``ez_setup.use_setuptools()``. * Issue #336: Removed deprecation from ``ez_setup.use_setuptools``, as it is clearly still used by buildout's bootstrap. ``ez_setup`` remains deprecated for use by individual packages. * Simplified implementation of ``ez_setup.use_setuptools``. * Pull Request #118: Soften warning for non-normalized versions in Distribution. * Issue #339: Correct Attribute reference in ``cant_write_to_target``. * Issue #336: Deprecated ``ez_setup.use_setuptools``. * Issue #335: Fix script header generation on Windows. * Fixed incorrect class attribute in ``install_scripts``. Tests would be nice. * Issue #331: Fixed ``install_scripts`` command on Windows systems corrupting the header. * Restore ``setuptools.command.easy_install.sys_executable`` for pbr compatibility. For the future, tools should construct a CommandSpec explicitly. * Issue #188: Setuptools now support multiple entities in the value for ``build.executable``, such that an executable of "/usr/bin/env my-python" may be specified. This means that systems with a specified executable whose name has spaces in the path must be updated to escape or quote that value. * Deprecated ``easy_install.ScriptWriter.get_writer``, replaced by ``.best()`` with slightly different semantics (no force_windows flag). * Issue #327: Formalize and restore support for any printable character in an entry point name. * Expose ``EntryPoint.resolve`` in place of EntryPoint._load, implementing the simple, non-requiring load. Deprecated all uses of ``EntryPoint._load`` except for calling with no parameters, which is just a shortcut for ``ep.require(); ep.resolve();``. Apps currently invoking ``ep.load(require=False)`` should instead do the following if wanting to avoid the deprecating warning:: getattr(ep, "resolve", lambda: ep.load(require=False))() * Pip #2326: Report deprecation warning at stacklevel 2 for easier diagnosis. * Issue #281: Since Setuptools 6.1 (Issue #268), a ValueError would be raised in certain cases where VersionConflict was raised with two arguments, which occurred in ``pkg_resources.WorkingSet.find``. This release adds support for indicating the dependent packages while maintaining support for a VersionConflict when no dependent package context is known. New unit tests now capture the expected interface. * Interop #3: Upgrade to Packaging 15.0; updates to PEP 440 so that >1.7 does not exclude 1.7.1 but does exclude 1.7.0 and 1.7.0.post1. * Issue #323: Fix regression in entry point name parsing. * Deprecated use of EntryPoint.load(require=False). Passing a boolean to a function to select behavior is an anti-pattern. Instead use ``Entrypoint._load()``. * Substantial refactoring of all unit tests. Tests are now much leaner and re-use a lot of fixtures and contexts for better clarity of purpose. * Issue #320: Added a compatibility implementation of ``sdist._default_revctrl`` so that systems relying on that interface do not fail (namely, Ubuntu 12.04 and similar Debian releases). * Issue #319: Fixed issue installing pure distutils packages. * Issue #313: Removed built-in support for subversion. Projects wishing to retain support for subversion will need to use a third party library. The extant implementation is being ported to `setuptools_svn `_. * Issue #315: Updated setuptools to hide its own loaded modules during installation of another package. This change will enable setuptools to upgrade (or downgrade) itself even when its own metadata and implementation change. * Prefer vendored packaging library `as recommended `_. * Issue #312: Restored presence of pkg_resources API tests (doctest) to sdist. * Issue #314: Disabled support for ``setup_requires`` metadata to avoid issue where Setuptools was unable to upgrade over earlier versions. * Pull Request #106: Now write ``setup_requires`` metadata. * Issue #311: Decoupled pkg_resources from setuptools once again. ``pkg_resources`` is now a package instead of a module. * Issue #306: Suppress warnings about Version format except in select scenarios (such as installation). * Pull Request #85: Search egg-base when adding egg-info to manifest. * Upgrade ``packaging`` to 14.5, giving preference to "rc" as designator for release candidates over "c". * PEP-440 warnings are now raised as their own class, ``pkg_resources.PEP440Warning``, instead of RuntimeWarning. * Disabled warnings on empty versions. * Upgrade ``packaging`` to 14.4, fixing an error where there is a different result for if 2.0.5 is contained within >2.0dev and >2.0.dev even though normalization rules should have made them equal. * Issue #296: Add warning when a version is parsed as legacy. This warning will make it easier for developers to recognize deprecated version numbers. * Issue #296: Restored support for ``__hash__`` on parse_version results. * Issue #296: Restored support for ``__getitem__`` and sort operations on parse_version result. * Issue #296: Restore support for iteration over parse_version result, but deprecated that usage with a warning. Fixes failure with buildout. * Implement `PEP 440 `_ within pkg_resources and setuptools. This change deprecates some version numbers such that they will no longer be installable without using the ``===`` escape hatch. See `the changes to test_resources `_ for specific examples of version numbers and specifiers that are no longer supported. Setuptools now "vendors" the `packaging `_ library. * Issue #80, Issue #209: Eggs that are downloaded for ``setup_requires``, ``test_requires``, etc. are now placed in a ``./.eggs`` directory instead of directly in the current directory. This choice of location means the files can be readily managed (removed, ignored). Additionally, later phases or invocations of setuptools will not detect the package as already installed and ignore it for permanent install (See #209). This change is indicated as backward-incompatible as installations that depend on the installation in the current directory will need to account for the new location. Systems that ignore ``*.egg`` will probably need to be adapted to ignore ``.eggs``. The files will need to be manually moved or will be retrieved again. Most use cases will require no attention. * Issue #268: When resolving package versions, a VersionConflict now reports which package previously required the conflicting version. * Issue #262: Fixed regression in pip install due to egg-info directories being omitted. Re-opens Issue #118. * Issue #259: Fixed regression with namespace package handling on ``single version, externally managed`` installs. * Issue #100: When building a distribution, Setuptools will no longer match default files using platform-dependent case sensitivity, but rather will only match the files if their case matches exactly. As a result, on Windows and other case-insensitive file systems, files with names such as 'readme.txt' or 'README.TXT' will be omitted from the distribution and a warning will be issued indicating that 'README.txt' was not found. Other filenames affected are: - README.rst - README - setup.cfg - setup.py (or the script name) - test/test*.py Any users producing distributions with filenames that match those above case-insensitively, but not case-sensitively, should rename those files in their repository for better portability. * Pull Request #72: When using ``single_version_externally_managed``, the exclusion list now includes Python 3.2 ``__pycache__`` entries. * Pull Request #76 and Pull Request #78: lines in top_level.txt are now ordered deterministically. * Issue #118: The egg-info directory is now no longer included in the list of outputs. * Issue #258: Setuptools now patches distutils msvc9compiler to recognize the specially-packaged compiler package for easy extension module support on Python 2.6, 2.7, and 3.2. * Issue #237: ``pkg_resources`` now uses explicit detection of Python 2 vs. Python 3, supporting environments where builtins have been patched to make Python 3 look more like Python 2. * Issue #240: Based on real-world performance measures against 5.4, zip manifests are now cached in all circumstances. The ``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` environment variable is no longer relevant. The observed "memory increase" referenced in the 5.4 release notes and detailed in Issue #154 was likely not an increase over the status quo, but rather only an increase over not storing the zip info at all. * Issue #242: Use absolute imports in svn_utils to avoid issues if the installing package adds an xml module to the path. * Issue #239: Fix typo in 5.5 such that fix did not take. * Issue #239: Setuptools now includes the setup_requires directive on Distribution objects and validates the syntax just like install_requires and tests_require directives. * Issue #236: Corrected regression in execfile implementation for Python 2.6. - Enable testsuite run during build. Added BuildRequires needed for that - Refresh setuptools-5.4.1-create-sitedir.patch - Add fix-type-error.patch: Fix error during test run - Add fix-sle11-test-failure.patch: Fix error during test run on SLE11SP3- Add package to SLE 12 SDK (FATE#318137, bnc#913229)h04-ch1a 1723459544  !!##%%''))++-./0123456788::<<>?@ABCCEFGHHJJLLNOPQRSSUUWXYZ[[]]_`abcceeggiikkmnopqrstuvwxyz{|}}     !!##%&'())+,-./01234567799;;==?@AACCEEGHIIKKMMOOQQSSUUWWYY[[]]__aaccefghijklmnopqrstuvwxyz{|}~-./01234>Q    mnopqrstuvwx$%&''))++--/012456786:;<==??AACCEEGGIJKKMMOPQRSTUUWWYY[\]]__aacceeggiikkmmopqrstuvwxyz{|}~67.7.2-150400.3.16.1    !!!!!!!!!!!!!!!!!! ""######"""$$%%&&''''''&&(())))))))))))))))))))))))))((((((((((((**++++++++***,,----------------------------------------------------,,,,,,,,,,,,,,,,,,,,,,,,,,..//////////..0011111111111100000...223345567_distutils_hack__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycoverride.cpython-311.opt-1.pycoverride.cpython-311.pycoverride.pydistutils-precedence.pthpkg_resources__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_vendor__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyctyping_extensions.cpython-311.opt-1.pyctyping_extensions.cpython-311.pyczipp.cpython-311.opt-1.pyczipp.cpython-311.pycimportlib_resources__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_adapters.cpython-311.opt-1.pyc_adapters.cpython-311.pyc_common.cpython-311.opt-1.pyc_common.cpython-311.pyc_compat.cpython-311.opt-1.pyc_compat.cpython-311.pyc_itertools.cpython-311.opt-1.pyc_itertools.cpython-311.pyc_legacy.cpython-311.opt-1.pyc_legacy.cpython-311.pycabc.cpython-311.opt-1.pycabc.cpython-311.pycreaders.cpython-311.opt-1.pycreaders.cpython-311.pycsimple.cpython-311.opt-1.pycsimple.cpython-311.pyc_adapters.py_common.py_compat.py_itertools.py_legacy.pyabc.pyreaders.pysimple.pyjaraco__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyccontext.cpython-311.opt-1.pyccontext.cpython-311.pycfunctools.cpython-311.opt-1.pycfunctools.cpython-311.pyccontext.pyfunctools.pytext__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycmore_itertools__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycmore.cpython-311.opt-1.pycmore.cpython-311.pycrecipes.cpython-311.opt-1.pycrecipes.cpython-311.pycmore.pyrecipes.pypackaging__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_elffile.cpython-311.opt-1.pyc_elffile.cpython-311.pyc_manylinux.cpython-311.opt-1.pyc_manylinux.cpython-311.pyc_musllinux.cpython-311.opt-1.pyc_musllinux.cpython-311.pyc_parser.cpython-311.opt-1.pyc_parser.cpython-311.pyc_structures.cpython-311.opt-1.pyc_structures.cpython-311.pyc_tokenizer.cpython-311.opt-1.pyc_tokenizer.cpython-311.pycmarkers.cpython-311.opt-1.pycmarkers.cpython-311.pycrequirements.cpython-311.opt-1.pycrequirements.cpython-311.pycspecifiers.cpython-311.opt-1.pycspecifiers.cpython-311.pyctags.cpython-311.opt-1.pyctags.cpython-311.pycutils.cpython-311.opt-1.pycutils.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pyc_elffile.py_manylinux.py_musllinux.py_parser.py_structures.py_tokenizer.pymarkers.pyrequirements.pyspecifiers.pytags.pyutils.pyversion.pyplatformdirs__init__.py__main__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc__main__.cpython-311.opt-1.pyc__main__.cpython-311.pycandroid.cpython-311.opt-1.pycandroid.cpython-311.pycapi.cpython-311.opt-1.pycapi.cpython-311.pycmacos.cpython-311.opt-1.pycmacos.cpython-311.pycunix.cpython-311.opt-1.pycunix.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pycwindows.cpython-311.opt-1.pycwindows.cpython-311.pycandroid.pyapi.pymacos.pyunix.pyversion.pywindows.pytyping_extensions.pyzipp.pyextern__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycsetuptoolssetuptools-67.7.2-py3.11.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtrequires.txttop_level.txt__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_entry_points.cpython-311.opt-1.pyc_entry_points.cpython-311.pyc_imp.cpython-311.opt-1.pyc_imp.cpython-311.pyc_importlib.cpython-311.opt-1.pyc_importlib.cpython-311.pyc_itertools.cpython-311.opt-1.pyc_itertools.cpython-311.pyc_normalization.cpython-311.opt-1.pyc_normalization.cpython-311.pyc_path.cpython-311.opt-1.pyc_path.cpython-311.pyc_reqs.cpython-311.opt-1.pyc_reqs.cpython-311.pycarchive_util.cpython-311.opt-1.pycarchive_util.cpython-311.pycbuild_meta.cpython-311.opt-1.pycbuild_meta.cpython-311.pycdep_util.cpython-311.opt-1.pycdep_util.cpython-311.pycdepends.cpython-311.opt-1.pycdepends.cpython-311.pycdiscovery.cpython-311.opt-1.pycdiscovery.cpython-311.pycdist.cpython-311.opt-1.pycdist.cpython-311.pycerrors.cpython-311.opt-1.pycerrors.cpython-311.pycextension.cpython-311.opt-1.pycextension.cpython-311.pycglob.cpython-311.opt-1.pycglob.cpython-311.pycinstaller.cpython-311.opt-1.pycinstaller.cpython-311.pyclaunch.cpython-311.opt-1.pyclaunch.cpython-311.pyclogging.cpython-311.opt-1.pyclogging.cpython-311.pycmonkey.cpython-311.opt-1.pycmonkey.cpython-311.pycmsvc.cpython-311.opt-1.pycmsvc.cpython-311.pycnamespaces.cpython-311.opt-1.pycnamespaces.cpython-311.pycpackage_index.cpython-311.opt-1.pycpackage_index.cpython-311.pycpy312compat.cpython-311.opt-1.pycpy312compat.cpython-311.pycpy34compat.cpython-311.opt-1.pycpy34compat.cpython-311.pycsandbox.cpython-311.opt-1.pycsandbox.cpython-311.pycunicode_utils.cpython-311.opt-1.pycunicode_utils.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pycwarnings.cpython-311.opt-1.pycwarnings.cpython-311.pycwheel.cpython-311.opt-1.pycwheel.cpython-311.pycwindows_support.cpython-311.opt-1.pycwindows_support.cpython-311.pyc_distutils__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_collections.cpython-311.opt-1.pyc_collections.cpython-311.pyc_functools.cpython-311.opt-1.pyc_functools.cpython-311.pyc_log.cpython-311.opt-1.pyc_log.cpython-311.pyc_macos_compat.cpython-311.opt-1.pyc_macos_compat.cpython-311.pyc_msvccompiler.cpython-311.opt-1.pyc_msvccompiler.cpython-311.pycarchive_util.cpython-311.opt-1.pycarchive_util.cpython-311.pycbcppcompiler.cpython-311.opt-1.pycbcppcompiler.cpython-311.pycccompiler.cpython-311.opt-1.pycccompiler.cpython-311.pyccmd.cpython-311.opt-1.pyccmd.cpython-311.pycconfig.cpython-311.opt-1.pycconfig.cpython-311.pyccore.cpython-311.opt-1.pyccore.cpython-311.pyccygwinccompiler.cpython-311.opt-1.pyccygwinccompiler.cpython-311.pycdebug.cpython-311.opt-1.pycdebug.cpython-311.pycdep_util.cpython-311.opt-1.pycdep_util.cpython-311.pycdir_util.cpython-311.opt-1.pycdir_util.cpython-311.pycdist.cpython-311.opt-1.pycdist.cpython-311.pycerrors.cpython-311.opt-1.pycerrors.cpython-311.pycextension.cpython-311.opt-1.pycextension.cpython-311.pycfancy_getopt.cpython-311.opt-1.pycfancy_getopt.cpython-311.pycfile_util.cpython-311.opt-1.pycfile_util.cpython-311.pycfilelist.cpython-311.opt-1.pycfilelist.cpython-311.pyclog.cpython-311.opt-1.pyclog.cpython-311.pycmsvc9compiler.cpython-311.opt-1.pycmsvc9compiler.cpython-311.pycmsvccompiler.cpython-311.opt-1.pycmsvccompiler.cpython-311.pycpy38compat.cpython-311.opt-1.pycpy38compat.cpython-311.pycpy39compat.cpython-311.opt-1.pycpy39compat.cpython-311.pycspawn.cpython-311.opt-1.pycspawn.cpython-311.pycsysconfig.cpython-311.opt-1.pycsysconfig.cpython-311.pyctext_file.cpython-311.opt-1.pyctext_file.cpython-311.pycunixccompiler.cpython-311.opt-1.pycunixccompiler.cpython-311.pycutil.cpython-311.opt-1.pycutil.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pycversionpredicate.cpython-311.opt-1.pycversionpredicate.cpython-311.pyc_collections.py_functools.py_log.py_macos_compat.py_msvccompiler.pyarchive_util.pybcppcompiler.pyccompiler.pycmd.pycommand__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_framework_compat.cpython-311.opt-1.pyc_framework_compat.cpython-311.pycbdist.cpython-311.opt-1.pycbdist.cpython-311.pycbdist_dumb.cpython-311.opt-1.pycbdist_dumb.cpython-311.pycbdist_rpm.cpython-311.opt-1.pycbdist_rpm.cpython-311.pycbuild.cpython-311.opt-1.pycbuild.cpython-311.pycbuild_clib.cpython-311.opt-1.pycbuild_clib.cpython-311.pycbuild_ext.cpython-311.opt-1.pycbuild_ext.cpython-311.pycbuild_py.cpython-311.opt-1.pycbuild_py.cpython-311.pycbuild_scripts.cpython-311.opt-1.pycbuild_scripts.cpython-311.pyccheck.cpython-311.opt-1.pyccheck.cpython-311.pycclean.cpython-311.opt-1.pycclean.cpython-311.pycconfig.cpython-311.opt-1.pycconfig.cpython-311.pycinstall.cpython-311.opt-1.pycinstall.cpython-311.pycinstall_data.cpython-311.opt-1.pycinstall_data.cpython-311.pycinstall_egg_info.cpython-311.opt-1.pycinstall_egg_info.cpython-311.pycinstall_headers.cpython-311.opt-1.pycinstall_headers.cpython-311.pycinstall_lib.cpython-311.opt-1.pycinstall_lib.cpython-311.pycinstall_scripts.cpython-311.opt-1.pycinstall_scripts.cpython-311.pycpy37compat.cpython-311.opt-1.pycpy37compat.cpython-311.pycregister.cpython-311.opt-1.pycregister.cpython-311.pycsdist.cpython-311.opt-1.pycsdist.cpython-311.pycupload.cpython-311.opt-1.pycupload.cpython-311.pyc_framework_compat.pybdist.pybdist_dumb.pybdist_rpm.pybuild.pybuild_clib.pybuild_ext.pybuild_py.pybuild_scripts.pycheck.pyclean.pyconfig.pyinstall.pyinstall_data.pyinstall_egg_info.pyinstall_headers.pyinstall_lib.pyinstall_scripts.pypy37compat.pyregister.pysdist.pyupload.pyconfig.pycore.pycygwinccompiler.pydebug.pydep_util.pydir_util.pydist.pyerrors.pyextension.pyfancy_getopt.pyfile_util.pyfilelist.pylog.pymsvc9compiler.pymsvccompiler.pypy38compat.pypy39compat.pyspawn.pysysconfig.pytext_file.pyunixccompiler.pyutil.pyversion.pyversionpredicate.py_entry_points.py_imp.py_importlib.py_itertools.py_normalization.py_path.py_reqs.py_vendor__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycordered_set.cpython-311.opt-1.pycordered_set.cpython-311.pyctyping_extensions.cpython-311.opt-1.pyctyping_extensions.cpython-311.pyczipp.cpython-311.opt-1.pyczipp.cpython-311.pycimportlib_metadata__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_adapters.cpython-311.opt-1.pyc_adapters.cpython-311.pyc_collections.cpython-311.opt-1.pyc_collections.cpython-311.pyc_compat.cpython-311.opt-1.pyc_compat.cpython-311.pyc_functools.cpython-311.opt-1.pyc_functools.cpython-311.pyc_itertools.cpython-311.opt-1.pyc_itertools.cpython-311.pyc_meta.cpython-311.opt-1.pyc_meta.cpython-311.pyc_py39compat.cpython-311.opt-1.pyc_py39compat.cpython-311.pyc_text.cpython-311.opt-1.pyc_text.cpython-311.pyc_adapters.py_collections.py_compat.py_functools.py_itertools.py_meta.py_py39compat.py_text.pyimportlib_resources__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_adapters.cpython-311.opt-1.pyc_adapters.cpython-311.pyc_common.cpython-311.opt-1.pyc_common.cpython-311.pyc_compat.cpython-311.opt-1.pyc_compat.cpython-311.pyc_itertools.cpython-311.opt-1.pyc_itertools.cpython-311.pyc_legacy.cpython-311.opt-1.pyc_legacy.cpython-311.pycabc.cpython-311.opt-1.pycabc.cpython-311.pycreaders.cpython-311.opt-1.pycreaders.cpython-311.pycsimple.cpython-311.opt-1.pycsimple.cpython-311.pyc_adapters.py_common.py_compat.py_itertools.py_legacy.pyabc.pyreaders.pysimple.pyjaraco__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyccontext.cpython-311.opt-1.pyccontext.cpython-311.pycfunctools.cpython-311.opt-1.pycfunctools.cpython-311.pyccontext.pyfunctools.pytext__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycmore_itertools__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycmore.cpython-311.opt-1.pycmore.cpython-311.pycrecipes.cpython-311.opt-1.pycrecipes.cpython-311.pycmore.pyrecipes.pyordered_set.pypackaging__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_elffile.cpython-311.opt-1.pyc_elffile.cpython-311.pyc_manylinux.cpython-311.opt-1.pyc_manylinux.cpython-311.pyc_musllinux.cpython-311.opt-1.pyc_musllinux.cpython-311.pyc_parser.cpython-311.opt-1.pyc_parser.cpython-311.pyc_structures.cpython-311.opt-1.pyc_structures.cpython-311.pyc_tokenizer.cpython-311.opt-1.pyc_tokenizer.cpython-311.pycmarkers.cpython-311.opt-1.pycmarkers.cpython-311.pycrequirements.cpython-311.opt-1.pycrequirements.cpython-311.pycspecifiers.cpython-311.opt-1.pycspecifiers.cpython-311.pyctags.cpython-311.opt-1.pyctags.cpython-311.pycutils.cpython-311.opt-1.pycutils.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pyc_elffile.py_manylinux.py_musllinux.py_parser.py_structures.py_tokenizer.pymarkers.pyrequirements.pyspecifiers.pytags.pyutils.pyversion.pytomli__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_parser.cpython-311.opt-1.pyc_parser.cpython-311.pyc_re.cpython-311.opt-1.pyc_re.cpython-311.pyc_types.cpython-311.opt-1.pyc_types.cpython-311.pyc_parser.py_re.py_types.pytyping_extensions.pyzipp.pyarchive_util.pybuild_meta.pycli-32.execli-64.execli-arm64.execli.execommand__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycalias.cpython-311.opt-1.pycalias.cpython-311.pycbdist_egg.cpython-311.opt-1.pycbdist_egg.cpython-311.pycbdist_rpm.cpython-311.opt-1.pycbdist_rpm.cpython-311.pycbuild.cpython-311.opt-1.pycbuild.cpython-311.pycbuild_clib.cpython-311.opt-1.pycbuild_clib.cpython-311.pycbuild_ext.cpython-311.opt-1.pycbuild_ext.cpython-311.pycbuild_py.cpython-311.opt-1.pycbuild_py.cpython-311.pycdevelop.cpython-311.opt-1.pycdevelop.cpython-311.pycdist_info.cpython-311.opt-1.pycdist_info.cpython-311.pyceasy_install.cpython-311.opt-1.pyceasy_install.cpython-311.pyceditable_wheel.cpython-311.opt-1.pyceditable_wheel.cpython-311.pycegg_info.cpython-311.opt-1.pycegg_info.cpython-311.pycinstall.cpython-311.opt-1.pycinstall.cpython-311.pycinstall_egg_info.cpython-311.opt-1.pycinstall_egg_info.cpython-311.pycinstall_lib.cpython-311.opt-1.pycinstall_lib.cpython-311.pycinstall_scripts.cpython-311.opt-1.pycinstall_scripts.cpython-311.pycpy36compat.cpython-311.opt-1.pycpy36compat.cpython-311.pycregister.cpython-311.opt-1.pycregister.cpython-311.pycrotate.cpython-311.opt-1.pycrotate.cpython-311.pycsaveopts.cpython-311.opt-1.pycsaveopts.cpython-311.pycsdist.cpython-311.opt-1.pycsdist.cpython-311.pycsetopt.cpython-311.opt-1.pycsetopt.cpython-311.pyctest.cpython-311.opt-1.pyctest.cpython-311.pycupload.cpython-311.opt-1.pycupload.cpython-311.pycupload_docs.cpython-311.opt-1.pycupload_docs.cpython-311.pycalias.pybdist_egg.pybdist_rpm.pybuild.pybuild_clib.pybuild_ext.pybuild_py.pydevelop.pydist_info.pyeasy_install.pyeditable_wheel.pyegg_info.pyinstall.pyinstall_egg_info.pyinstall_lib.pyinstall_scripts.pylauncher manifest.xmlpy36compat.pyregister.pyrotate.pysaveopts.pysdist.pysetopt.pytest.pyupload.pyupload_docs.pyconfig__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_apply_pyprojecttoml.cpython-311.opt-1.pyc_apply_pyprojecttoml.cpython-311.pycexpand.cpython-311.opt-1.pycexpand.cpython-311.pycpyprojecttoml.cpython-311.opt-1.pycpyprojecttoml.cpython-311.pycsetupcfg.cpython-311.opt-1.pycsetupcfg.cpython-311.pyc_apply_pyprojecttoml.py_validate_pyproject__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycerror_reporting.cpython-311.opt-1.pycerror_reporting.cpython-311.pycextra_validations.cpython-311.opt-1.pycextra_validations.cpython-311.pycfastjsonschema_exceptions.cpython-311.opt-1.pycfastjsonschema_exceptions.cpython-311.pycfastjsonschema_validations.cpython-311.opt-1.pycfastjsonschema_validations.cpython-311.pycformats.cpython-311.opt-1.pycformats.cpython-311.pycerror_reporting.pyextra_validations.pyfastjsonschema_exceptions.pyfastjsonschema_validations.pyformats.pyexpand.pypyprojecttoml.pysetupcfg.pydep_util.pydepends.pydiscovery.pydist.pyerrors.pyextension.pyextern__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycglob.pygui-32.exegui-64.exegui-arm64.exegui.exeinstaller.pylaunch.pylogging.pymonkey.pymsvc.pynamespaces.pypackage_index.pypy312compat.pypy34compat.pysandbox.pyscript (dev).tmplscript.tmplunicode_utils.pyversion.pywarnings.pywheel.pywindows_support.pypython311-setuptoolsCHANGES.rstREADME.rstpython311-setuptoolsLICENSE/usr/lib/python3.11/site-packages//usr/lib/python3.11/site-packages/_distutils_hack//usr/lib/python3.11/site-packages/_distutils_hack/__pycache__//usr/lib/python3.11/site-packages/pkg_resources//usr/lib/python3.11/site-packages/pkg_resources/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/_vendor//usr/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources//usr/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco//usr/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text//usr/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools//usr/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/_vendor/packaging//usr/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs//usr/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__//usr/lib/python3.11/site-packages/pkg_resources/extern//usr/lib/python3.11/site-packages/pkg_resources/extern/__pycache__//usr/lib/python3.11/site-packages/setuptools-67.7.2-py3.11.egg-info//usr/lib/python3.11/site-packages/setuptools//usr/lib/python3.11/site-packages/setuptools/__pycache__//usr/lib/python3.11/site-packages/setuptools/_distutils//usr/lib/python3.11/site-packages/setuptools/_distutils/__pycache__//usr/lib/python3.11/site-packages/setuptools/_distutils/command//usr/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor//usr/lib/python3.11/site-packages/setuptools/_vendor/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata//usr/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources//usr/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor/jaraco//usr/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text//usr/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor/more_itertools//usr/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor/packaging//usr/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__//usr/lib/python3.11/site-packages/setuptools/_vendor/tomli//usr/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__//usr/lib/python3.11/site-packages/setuptools/command//usr/lib/python3.11/site-packages/setuptools/command/__pycache__//usr/lib/python3.11/site-packages/setuptools/config//usr/lib/python3.11/site-packages/setuptools/config/__pycache__//usr/lib/python3.11/site-packages/setuptools/config/_validate_pyproject//usr/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__//usr/lib/python3.11/site-packages/setuptools/extern//usr/lib/python3.11/site-packages/setuptools/extern/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python311-setuptools//usr/share/licenses//usr/share/licenses/python311-setuptools/-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:35205/SUSE_SLE-15-SP4_Update/f967eef94f75d8173af533214d6df70d-python-setuptools.SUSE_SLE-15-SP4_Updatedrpmxz5noarch-suse-linuxdirectoryPython script, ASCII text executableASCII textPython script, UTF-8 Unicode text executableemptyXML 1.0 document, ASCII textPython script, ASCII text executable, with very long linesUTF-8 Unicode text, with very long lines  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRrE 4Qca-certificates-mozillautf-8c5d7745d1ee1c97f96164ed32c931b29ec89e3bc93824a2418ee9095e0c5bf6f?7zXZ !t/ࢶQc]"k%a L掑Uo1(\1J85Rkuz{$)OaR<u|#.gHw)+( ǡ,gq$ Qȯly :gi2eT@cd # ѠhМ%%]}Pm+c"$*~~0%, DGC6/m- hho KѰ;Izq}-2-ٝMW,_{I^}` >2"1ʑC]QPwcqbZ)WljNtM|rW<g_%fHi.]y AK|$@@g~ب 7"[`zS!WDU-1=t:yA6  Kr0g6 vc4I :JΥ/qa0Ѱ{ uH#R@`d><`l?)*[e7ED!Ƶn'ǿ b=# zmS"H?VӜ x-}2 r'mNiѾj^_ /c_}Zxͥ0CaE]] O-h8:"ٞ-u0[ >3ϫzv~3~~FLuѰ2w(EfhπG?y3FUA]af?TfoL{TEuE|__HJdU0GLw)6F{beAiݪk66ĒC4Cl{%Kd ڢ> %fZڒ0.'ۘ' OGŸL[hѬ-L{ !)Kt_{1NZ`/"z{4r<. RR&)b-i96"8{&.?Gwؙށb稑̎;qr<.G@c̫Jb|sV pOj9fRc}i6*Da C] -LߒLWͱd`pBVE{ÂHOv _VM:HY}/=g=[ݬUj2CgϠ1A"camP̬/Bm6ּSHVX=dzTɞ0Uv9T0!+T#>*T@i}.D s'ދ*n.l)%زѕB"F kRGbݴSQXTa(L]~ )^\5̟DZ,ā& ]ItMDid`1ZśWrrdpJ}j1襊h :WRbɴFJ <]T4801ӊ MJ K㠳p;{ѵ [7FjYI c`4RM0*} ,0'nхd 3߇sk>rAP%`B6gP@K|В?$>~<b OYH'}uTa7 TS3䵼Ӌ `CJٸkOvDEBunzƮzL:!ToT4[@ypEe1dB+mk |y$*x*+x؇j4eUZ=ϛ5zi/ JٵS=4I/J7T2e9⺶~ԕkٝXIYud[tXAݰ|܏3|#O,/1đRJvPP %Am,j,\Eyݔ 1e !XPR[d>d}?o8ag IhdXO$` kS \z"062Ƀ9=ko3^j$gkۥK]-3ͭ16f+@~rjAŎՁYdJxrkƽ[a9Ȩ.‡Ç$(>S3vĿϹG ܮnw.s2ù[R,GixL?DOWi$,5SuA'qݳ&i G37șXg9CʼnyKى5{fg1y eSEmSG_?-RMĦ%(5Ŏ_zd__#/ţl(-YaoqPc5xo־tiToSLR4aBTƪ!̨Tsw'v `_x#nMYjvjkmhCQQƭzZn7h(pI GA3|J|ͥ!4@0~5kKh*tfaT>9 d@R ʁqbyx?J!L.W\35A^mӇ ϦmFE<5Ϸ.Uhҝs9=Zȑt@?βz@VNЍ.|ӷe1b]wNh:&O24ڒɒa4 +C<~6"0g@=Ea.(Û~ mˎg9CB*2 \Yor3V12J2Ż1[5:0fF-ɔ ڈ7$IKX=k;{ rPFvJ92\n<'Y;(S~ @u]8[4O)Nt|$3\1)SqW3.{n5 gq˵ f7.;Qo߭Ӯ2=v㰌6Z67{/{I'Ml' $X*?M(lu?`κJ6!ɾ&104)6K83'Yi #fB0b$-OK nNLs$A+`}Lå V R?ۓ\osrO0d\)VeQw_AްDd hIg:!m*r -NCt,~32Z7 4:H\(i;j7QM0FD0\1+SDrH9Yg&-;%ma f{3XX5y 9䷟YpU٧ﶻ.ʨQ)7]w*GrH`VYJOhi(4jg@^ 5:C3DՌ SL߼^8&&"IV\mE-ANW\I H{Sfder)ITIReZݴ/oILD+m=yGP= 9 ɍC#Meb&? fBQs$UJdOo:pP8Eȷ=oX\JE%< vG5-\JߢݴRTOA.&;0@Ց9ZپGRyZ ݃:^n_@80XPLBEi&9p2[Oc>$o+g:ud*S&=OjV(( j5uWɾڒ{4EXO5i?VBaha0lyEBy T4dp)U(GZq%%9%*}8fP'L5d<0VnQ4Q:%BM9*a%!h+)CՂ}i) :DizPn(dXZx{qN2R^;udmLWf.-Qa_;-o0aa!l1CfFq.W$ [+pYH]1Rn%tx2/Exi|ٽj&9PçwP0 F(пmjٸڎհqz# U!ʼn=(?2Ҫ<k\ZLa GWOn7:@2A[mUEe̝ء噒~j'ޓiU ls6(r}GDH\»輽Cpyi*HTDe5؏zUU#YhXQE{x3۬;mD:sh#k!H mCR<'z MICJ`CE)0T:c;@^/TΖW!2,:\t_ = 4h24o/8JgK(̨Մkg~*\+3MFlDui -sB#jm uΝ>;#NJǴ3rg[b(0OdqXȒA@A\nG)u IG ]hk7`9@Wv=vaTfDo{ zB`=2}V{+ɼb-+ft\(HD= ѶAȏ7:~*#/adkQύIgw51/_^C]wWFxbF̃܋J6@^䠍dqКǓH{ٷ0w4o'l̏g/zU٫5GgdfJoK:*mIp';WR֖x^] s'׊2OW`M|hA>M0Ea]#k%7?Ł,S N7@E*m ~ryॆ;CG8Aċ<"n|Wv=4fVD1z!l Sݲ;\[~,}bR~Lqس.'1F s\2 8 h^kQ$hMK /y|/r `AE&+wC=O:j 7 '[_SH7 i]Vyc#z6$e! D[#K-9;s^#V<$SL1 ?|ϫeQ":kyMтCgc%+*-j?]QOP5ciHG$ Yb+!)A8;xv\H@i~]VP*5#mXzLfݞFn@ey<)tLKF-3ج-?^a!MT%A]_s8 NnDJeKlYyB_?Ƅ'uT~g~>רގ5[魫MxZ“h鞝}5M^$-o,Œ(AOj_r][ ᛄ2LQcжnf'ofŹ^;@rfoE , V0ӇE}JRo()YSdo !1k4 }K|#*NvU30Q $},Xb 63GMc-5vI!zXd$e2Q*K!-^"f2KؚotP;y\Nۄ&gC0 Y{^q6&Cn[pI=̈Y7!Ąd`?<|Y1UBSwmlƽ,jNcku5'K]17TUJ_K+Z0VӇWxq2)n|~2۸AKҞ$C(b|jvv#(>lhyjr(NEyYir`dTnh~PPho4*?ֿN?TȡFbhGM5}7_Kuh߰kG%R#b@{6H͝6(kb6\]*/.&tgC_MGXpV|{6mY+1 /[vxpM4.wC-ρ=aƩu i9ZεW3RGɷiA]yu? *ӿ? a\il}O6X[~ۚ >b8n< a|,BXcE,h!"lgQț57xߚZiR ̧zuz4IF)DAlkaaE\.%h؊TuЪK U&)C}$E,̯IXdɿn)S(+ 2)!~_eIH5ȄGG]*LA ާع2Ciዝݴ&¼>]ٗz-l*HLR_D11RIFϺӆ]gß<įAէZL=3 93 KX8N[Xޯ˾/IlW`DYbL y>}7$'[[\|3M.s>Ñlmm\7kn|>UBZ%*pI.a7?5n *޸]$C{ /M_p_Um3NqZGIFSP6X]%x*K bsA ,) vXhC [>n.L_ovW{%TlTV +ac5vC v p٪Z_ vaψL' "J5}h^:|:,>KP 2krj"vJȺI;/reP fE0+:i>lxx8!-E+#[_(:+TgK7qr-Uw{?8A#gt!vV#PAm J@ޞ#Hnf}\9B* phΩaHf/V:2R>*O(.I"ҊȝB}1:@lJ=mQ/ ߔ-<6kľMA5lJCy2~U7$t.l" R1`5 WZsɤjonѻÀjZ6XlN8 =Ge~pQF7'7^j N 3[qS^FJJF?p"t5ְBdKNM?]5I> w1`ˊGx~Й=uD}_UR@hAv'CJ*M-&@P>uL!{n*rZ.7.Ki ڟ2Yr`yMR-{v43Gt"AH#бDȶo w6m!6~dyny0U%_ԽGv ew?= ݰsM"-΢~R d[!TnF2p͎[L`IOwC%>'KDGTL/gEh "r69_,_0AdlǃJԱ639cztѭv}|/AB\ f& BCEy)Cy /bUoU1'LRSD¼8rE-%=hPzF 8_lǡyfk3a?6&faoZpA9U]E>YT ULntrGw 8 "\r@YH,OcvHi/VfrxYc蟔(*&+XV0nj932V7A9ڃ 4pYAqEE^ZeVL~wwLpklE& F6/Gv ɿd%1[Ժۥ+ܩ+я[ѽp* ]e&j1a^,{^lj+ *0 X{5  ëĐG)36`)M\d~*w6!;Q%)gIBB&.9CF w`p4fn^釃e"@EY2>m#j|\[۳oBjjv'ԜbcI?7W_K)g ܨe,SffHA`+F:BZNȾWv(9F4%= ~?Y}~ݺIUYg:cڙ5L*t#ZLP'/|,Y$[pR @۔*<+]8IΌȾlz|1gBlA-3?5θZR~,@t뢊n6"XSpXYۅrF,fB" J;޴=i  6R\#l$l,yOZz97wIƬ2vո6?`&ATRuě?y+Wg`-_?eR D;6zdOD=&.*.r<0ۄDr}"?k@tEc=2\D:N(vu9慺 R-Yy ؍*㨶,MeyȠ+{+y=/'Mq")?ܚY, $`\{3.! J:5n]9 0qomRp “Mђ/Rɏ< MW;dnl1Ր0TP;{uRX"Z`sbO[U˲2mf˭ϲX3Evﲎ'c֧p%B۩7(&=ze)<ś" )=hr(g$ӗ)M^3a>ƩJ u(LQ~$e0M-h_Y9yM8zҖg~pۆ3Z eFZ<ӿ:X3RJ*s;F<{$JwbdV'p>IC#'!@Lcl<|脲v>5l(W$pۡ7Q;  _v]'Al_s!$`s^F}.jG_M  -0d~béՊzB5g <,lI-Q32طP |45|hJ;7vQM?n<.3 UM]t Aj_e䩏#(Jd;xP:ho_Vwf/y04)$fc4b??Skv4)㽵K#. x1Aq(|GڽpEw;k xOXYBY^ +^YՊቅFxLQ6V&Ԛ͛~+e(լ l5u0zW}¨drt|QRtm.턌Ώ{ izT2׾.Nގ$[~ !4 g=B[,8~;Y D#Kv:8၉!a!eb-6xf6CH| o@f+3~< f 6BYң{骔>Pm"8RѲqIgv҉Oh7VZlm;MYMc?zm1Qy$k ]ԍu)vgT>WF PLEj;B$ E_Lʻy9<(2hߧ<&S>+_!:͇3$jԮv-F0BN;OaG%M:{2%!Kf mZћOʸMf6Mi`F8oO(q r(DMsθ368)va9+O-oA $61bHl'F'*cۄܬH>6T8޸gul Q%Swa+ǸAWGƔ&z}9]@aKׇg<.8̏\mg `H}*|C2t3fI(siЪRu0N`͜}  .L{u;hS{L >hVmPC_|,w}AN]sH{@h+{,IlFiE-)_]__PeS`FtMFzezd_CE& $}zw0pz]aq Q"ülQA$rsۄ=& jIP+?Ncp~%犂KĐ:M^'Qh "Y7jv XΞdu44r/SEӔADI8'ݒB~bKHc iެ:p_n8˯'q("MaxP_$78Gx' ~xm4 ;- n]Cc!Z~Pj8yJ/0vQ,>X8oҜܗo(x˝rq6.M1x}cQ;W!%t<r=^}V'K)sgH 0˧x]EB:s+&?Ͼo\/Bz #n4MH]s@v,H${j|TJl`պ̬^̩=zml T}Ri6BB6aYceO jŕV t ϩA8j˽]]j99uF E^e'O'A$K38$?OaN,.*.9w!rA Ȭ7ؽ&$Wl:ΆJ e%Y8Y`Q6BnO!7BF*}n$ *lXۭ-L)Y0M ?% Cű]:e`Uҷ:w[MODq@!WcyG>wpnhYCqgz&N?c8(NkO^l!`9ߩ XdJXk;KkZB[k}2|䟂 W"SpSv (6j%$Ó:@P~s٤ *~^,•(_6^&-Ir[u Qenxxv& 6U&aZ6.zk) oJ4s).#-QFL1ܯtTwc I&cVРL/-M`eKڶ>6W jyPzW>~ e ^ʪT#[mvK#dp!̻!- b[$=3w:*ZNH,ByMLgOcΙN5_`LF $N2-%ʮ0O[A9tXϵntG֝vݢV/Î lOodž@8ziAC5vS4'ϡ>{$:eXLrvPHThe"T ? ¹RJ8b=󁌬x-7&Ƴ|`-1wƩtEkIj#]IyROQ\)}F&$6͜,_e0}Z`23D|&os)ŜT|~'&Eq58 NY_(K*T"s+sukwdTF]2 ``AuA7{v/ݬEVjcoz#on4EUd~n|KZ2IGeB p[fHic(Mxoo60Gns g،HPe5Ȣ_Wp-a߽?L n  v߭Ueff,)$[뮳.Gwz/8] 2rȷM)m Pb(izNPHA!uM;?%䶊Ez oȚV<`9&Ef%WRC2UC_d3 BoNP ,>dKc伣ަD"Z;^ȥ܂̬dg/Գ5xDŽ?I5m?-1㛋Yj)e~}葔M/bia񳒙&PG+kD',Nڶs?EJxڥ\%EsqC$z',ܧ}e (;KKx'7i+ϡ y\%gtI04T@̊p楻ݘNFF75y)(„q\us- CAZTmF=L^ޜr+TIX::z자L?C!,Lj7˜B$A.%nr#@Xw#x[;OD+Gهbb UT,A+w.~ Dl8nGfLMhHy !m k6' GoW/c1ֶ5ŀ!ov9ֳK=Ө 5i;AIJ>³meHۨT ]HA.$׌k<p+BŻR ǜՋ*TjCcO.Mxh%/we cbE:)h::BJBw5ɵ3u#6aDLwa%=hĚ:ņkm֛`!MŀL6 -n8f2 ^jFWbiPԝ$tPot) TiBH,XA܅MI`5Yu}4huʢ@ܾ݊}7hn͆[Bxdh^1w3hqaF弑x!.Qԝ}ȸvmW_#>!A_MxДZr]q ȊdǷoCNtZ(7V*c {u ?+ZKV|/8%iU5  <bu; *d~z5)43QN.]v-8pgUeFȮW̡!f\mI <ϧSy%_KjAf0l)uSg즧[6LXManx>Nɹa*)0-nŀ%s BJ42nA_kK/glk:J悾użsG"(u8N/jx>ԷNWNU}K)qs g"k:,2v0A֗(aNWj V$|g=!G BDѳqi^}v4Gp7R"btZ;&|օz] l_)7Ir`2q\.qiojwsN"d