python310-doc-devhelp-3.10.20-150400.4.107.1<>,li"p9|#?50R 9!m 7O|mfESb.AT6z2b)gjOz?;y羻ƪ|yi_`ȒƓksbRu("vzG񕲞@7ՁbE WԁXђ>tTx2gB5$n [Jb>>?pd  / o<@LPi > > T> > > > >>>(`>XԐԠ(8(9d:%BOFOGO>HX>Ia>XcYcZd [d$\d(>]m >^jbcdeflu0>v(z $*lCpython310-doc-devhelp3.10.20150400.4.107.1Additional Package Documentation for Python 3 in devhelp formatTutorial, Global Module Index, Language Reference, Library Reference, Extending and Embedding Reference, Python/C API Reference, Documenting Python, and Macintosh Module Reference in format for devhelp.i"h04-armsrv1-SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Unspecifiedhttps://www.python.org/linuxaarch64Cj+>U:I9.g6 4%h6c]*fTZZ)A] DLJ&d8//.K6]1)JR0y=ZjZJki0D}a[L`85R =L<B:~fU\FS_)0DN0?-mbH0mJxt9,5(1lJ x M375GBtkWeu3%'iN0HUEO3T8/#~,E8zJۏ~T"Q-9lF.VcD D>CV|QIv!-;L] *Ow@= $B_g(4N)Į\p,*+u\qK|l}@fcf/1Vbq2JH'=w5Z<Gzht?sg/ 3rlplb@WLs@.p68%VWa2+)n3m.:;K/9%)=blo7OfdK 7ZWcW23w 4;.4 96?ȱlD%foo/W.f*S/q2;f?qky~KQX8]%2_Rk8Ec6I|E98dE gVKEFNmJnlJ;2T:fP)G]RIB@0Pj?s_`ki9Zv^G-.9O:F U`EaZlp{bz7S^Pi<)h1:WLpEr1ΛDq,Pˆ17_`z|-.O?,NY@aYl}{r)B[Y]jĨSd{qN&'Kwe2jlDv QBuy;g J=3 p>^ڵtC/UuNZ3TY#jLPT~M=U}Hg8S38rNN{3dEAAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii3ce557812370d7d762975a2108b8825a4fc131024e8d5aa66a7d300edac87be6d488b23208c21fe601bd6b2d4ba6c44d334bb075babbf7f0f751318903b6c5d4382828d64e88644e47e695d717ea8432ec1ef79a17f2d209b11aef4fdbfa4bf570d752f336a9ee7af4a56b8e5b3696b962b69793b274f76439165823c69cf5e04bd5db0b21f178fd8b16f7d999d0da20a00ca8d271cd556cfb1d26dea91aac88b21a9ea9ad785299a282cccc4b9a93cf9b1f028f65b0e90c0c41deea019953beb5528a56a8b0f2e5da3d6f20f47057cc0325273ff152816c202f8a114cd07138ba9abf87cadffa7027ca298ba11ceb6418f3a9abb32ac988c8d342e7c2b3fb2e277bdba99ffd0fc3356293aff094e234837aaf9fa301c6498c50bd7a525646ce97e48f22946a092e28d4306491653c06183fa76151614d10b8fb7b51dbcca7add5cae8d8abe8a32ebd9a01374bb520640353c89e0d8a23d52d21fbbc7b04f600583d4a896c950c9633854df40de1d2805f768279e280b4d14dadeb4a90c80fd0f1af795443875f7184331d307aa28dba3fed73126d1d27baceedcf376de52a30f3d74d09f9a0d5c08e9ef211afed3397ace994a39748325ae53bea62124348b15a001934886bdedcbabf89f6a81e8253c0c1bb47ac18e9c7b859f0fcb1d92406c82e1b94cbe2d4ba55b339d5d8e3a2e7dd8242aba9429a25d517f40c8d03b14c5c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3eeb6a6e8f593c5e58b735cc9aef0a31d2586cc36d204c0cc7167e43132d270ee8416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d004ad6ad7e772d6f3c61c65a7fb255e2b36d8bf583044c08ab97e7e5e6b8442dd0fbeb27b75fd2c9163de2f25926bdd72f8cda9e2ed8a97c3002675f0847c9d647e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc0088fc352fb3115e7ff6e6f9c3cbffdcc6b3d59b823999a8321712ac69a971f40c254115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac63ae173dc4842351fc1c8a551afbdb58cb2b295490782130daa4f359a6a80d72565865be8bcc0af888594903ea0112f6c8d923c5726c4081e8c856110cc7339cef0e2d097ec6582b8a0e035a7630ad3052bbb189f3abec9cb29822cd92d9ed86ab7029cabd6297c2a33d33024ab77167f9d7b2dafd5445ee24ca6e13a366426d46c7278fef0b7d6748faf50278bba7f6d78a85a9bce97f75700c9e434209491709d23c599fc95a194340402cec351ecc78b946ea27cff1da0ecc2b1f8b1a648b1dcc10f799cd0f6b65f95c4012445497e5ba3cb9f51964a9468940b27bde98b487218fb1c1fc72e9af6b866f430be2a67fa376392b4db2f4dbf32772671b6ae55c4d892992ec4fd7d40962eeeac3299b138dc69cb42525130829dadf5a2cb29e96b401249472101e4973faf2f14ed655902a16a46142bfefcbd6fb66e7f6b7681287b5741dc908bf880f82056b7f9e044fe27624e8b4922ed60b5d8ad3a741519083f31c63809994063757bd440b0a5dc57d40800d2751807334a07d33d48211c8d7b44aa8255fc90aeb1847aab31056962c99bdf7b6a01be4088960c59c812d38d101491b95925f383a35738bbc118dea3a294db50abcd9a8defb699ee0edfa6f7a64299289951b1b5c278b28ba72a31bc677c25c73ccbf9214ce486cdeebf0874aab1293a195a6541f64e7bb2e85d4389603e5470170ff68bfcf7c5ac8be7b036f984851e9bcbfe554558567a0c7dc714e62a476eab1e9949a074fdb10e941082d2d8201e7d858d5f5b3eeea6fd93e4a3b6a2d13229ab9c5c57def8b6717d509a5f5a97e1608f153d473db6e744467cecaae92b1816d1a04c317ed2f284d8a8d7c83f0887baeaa051c9c7949e21d8d73aeb71d46e7bf0d78e561bbb4959ea4a0f7b3b7eb89a5d4c4fc2223b3aff9d1c33da9e0e80216caa5f5c0d68b2e9b1d1ab6158f0f5231e83839604c7ccfe088d2541fd733a54c2c9ef3d6dda5179d23eeb5b16c88e13a89651a6f3533e32db0393a8d8141b477db34d80d6ca7cf3803feba270bb0026edf42275e81caed2953c597f7edfd853dac9e2a56baf656eb671b968a33a3762d166fb797ad4e42977a0f43beb4f82ac70b9806fd552726daeedc6d625186747feb6ffde26f7d5c7b711a55e558609facf43d1ac9198a473659e1a414d8a4844d5999699bf385a41abcda3720edfc9c7c1d028c51f3020ebceee22ecbc97cb44bacc889fad966bc8cf313ebc08c4bde40f2238850e96de322719eed6f4e155d431c84a4166ae25c55e7167fdf13b3750d15b032d69bccf0cbd95f24b6603ff22523f922e8e4312a2a10590d4af126814b0942ae0845ae4d2992ed946cbb7bac44ff2d150d4c4236f9f86f6ae27494d59e5b9386b4b14e6123e80771e9be178ef5da53cc6bf6380d18aa7913cc4cd4fd75fd68620caa6a0dbe666840244574a58b0e92f408b7ce5cb84760376a611e9598c664c6be72edb057d89fa28a1d3e248fc22aa39db9bdf5c45649960043db7578f7a17af197cdc154489dff052c50b09f7e96b883e39dfe2d2673834734d5d854335a4f3d679cd147e411c4c31e0cb87fc4433682bc7eac31d00945539c7e5d8c328ff927a05a2372b53c1fc868662b1801420292ca6c9a166668bb30332c2dcdd18dbf4a3fb1fd28961296e963c9a1e855ff7001e7df101fc503ba6a511fb719ef3e295270f5e359d890508a1f39db63b89a657049be7779a46f1d813c23acc9e519be38180b276192d6bd5f35881e76c17318fad0a03132d54a474b1dab30dfb9dc0132e2f50dab1e6369968beefb37bfe10456b94040bad140a69d66ec6dc3fb2cf5e5fa1c67020370beaf5a98a9473a09a97f6d5eff5736f37718c2b7c86f8c2352508ff08bf3c20fe0fd72ad98a3b4432afea8adfb3f3e16c42710ebfb5578c033d27c0669b25dc4be05cbc681ee1c0d8edf10005458a2cdbcb158a6470ba9eac238801d74602b8794a66e2f05b57d1b32a543447df3d4a75013e99ab55a431378d2d2165cc6be18e3db8eed7d88717fed6de5438f28fadbd27cac250e71f1edba8af41bccb127dee375821cf8c0a757899cfc643ffaf006be7592059ed3909bc57260a2f9995f20e90a1b377575679d641b32d3ed00194ea1351a7b414a37abc6cfc23f90f1ac2305f0cc18afec870e4a9e6419aca662f5d751bb1d6c465493fef68b03e9b4042ca559786d5debfcb8932e8804ba7d8626fba993cb6e418e1833d66d1484a6b09563275be952ad5de7e9dc60afc70bbdb539442a3ead6d129be914cd098edfa21c25f5863227130eaee6bb03533dd3e4aa0789da0f527e78bac51345cf2f670365fe741ea40d57ff0a21aecca0048a1c851dc706dc79358e5b2f46837c1fd6c23dd39e00231fc46a1d79c2a4c1af3d36b70a2e1639f7a432fb5e3d0f6aab9f3c288a57f58af9dcf8da0d923e5509ca7f3ce4b6494e9b659831e9538bd6895e0ba92bd981434a77b9e2037f3e9ecf1680a4fd19904ee7de85476c5c5d5b3f97348150d5dc74f73da4cef55a6e406c4cd83414d5fd6d7c5ca40e7e015b9124aa5643df89b6cd940810ba7701fb36c4a89fdf940c67c47a42272cd2c2d9f97145960bc038d6301ba637418fbaee8a014058bf7819023525bd01c2554a71cf5459d9f216bedd539e13680aea32f93269b4c4ad934bfff108ba90b81445ca58de73ca940f6c697f633f12f7c559c95b20b68961e46c31f2aaf26d8a877c72732b8b6dfa5230278b731ec0ee8e1e097599703b56ef1467877cbc4f3cd7b5c070cbf8241841d97290171ce6bedfff3fed362ce61a19325bad2f994ea7fd70b2e374a68f41273d56d6516b203e37b3c536c5f10ed108fafa226f9948c6ee81be400af4c1c9cbdd6c35a8a1c16b28158ba3f9a31687d6f243a9dc6114077f2eebbf37fdbff49a8bb1826d6638b03139274003eac6ff6d5f2daec2360d9bd88665892cf9f002770ad9d3a601fafc83e468cffc0ede3fed901a8dea00e1cccbd92917873c78f57fcf0a1c20d40a5301955d9356c4edc2d88ff2b1e7d4dc0afc15982ad2b4b2db33e3d616ef0ef482785c32b9749fb7be9376a61a51e63c1b64abbc9bdeca2351cc30597f01230c232c197d25525ad4f47387ef5bac4b8726a8616a7355083b44940e3cdd7985905cc6d29ae6b4a26bd0eab4f055e4f4c04bb4d7f9a659f43cefde5611b2acc4cba5ff9da7920252c9e8f4ab9da777dcba23049dc298bb5059e52a412f75a3cfec1adf3988b2303fc2122ba8c735d2470f01dfa0bc891bdd05705b6d9eb11c5c8472fc4ebb93eb74b8e84941621762d563cbe0fc3098a647a0a57c028232fb91ddda3154b44f475bd665b6279bb80845a900a73946402dfb150b4d89b9f9763b769dc2c070fc7dcb24609fed9c9035aafbb2b3607116abd4088967c4c5a985eb5a1e3565bb1faaab8261b73b6226cdfb7caabd88e318b8abc8e6d76255c5c2e0a9c2588a7f79804b9f76fe2734d8aff2606733119a2d3151cfae0e5338ca0a758eae18d98d2661b0c5f6a3f8176145044c35b8284687320fa0ba6ddece211a60c9d92ccbc2cbe77c8035ca25577c2fb2957ec92e69bb7dc0504d785297fe893a6241797ea5b0d6e72d70a053b323a9a46487874b4cae64ef80df55166370b88d426f16077b9484543d9b8fbcdc7c1775da4f79d3607f9c1e5fec254ac3d0aa9ea8fd14db7b9835f62d001ede1dfaef1e7b20eeed443670ebfb79b8f159396e5a367cd01d9b119998277a3e9eb27397ef94cac9bf65a5f99a2db647220b63b34487df80b5e63892f3f636fd16be30414fa10caf587c941ddb62eb75de061ecdc01358d95b468c27fc8cdf1404008d5f77f148ee1cd55fcbda6aa743c87397e588776ef24be171492d577d6109c83c6c2b01bbc47c09d6186c59221a394bfbffd700f966ff81373fa638b8b722805662a795040c1cbf5ebec41757f27e850375df2155a82301014d21957d58a734bf094447b3345fe111f45a0e97f55711510718cdd593c11f274fb1df1fb45615510346d7afd7524139d9e1daf0fe8c6891aa4415d3f21face3c8a7c1e942519974d5ec69f42e4b720a95c749e52f7be0a27091a7152c205fb87def6460d86efe910e82a72e43ea60046a4d52d759b9ce168b0efbb5cb833d0f20d0878b4468fa901ac9f6f92cf8e7ef303b9e2a3f3bfe78be82023b5449698a3ba488de6991a794b6b015bbe78c2dd68f19838eeb6730f4649d962365734e5480b777b9f6cfd5510e53c98f1ed9c23ac4a1ade1a290d66aef96372e35062ed7ed792307290eb21c48d7e08338ac32660f84b220b886772510abd07f75453b6b0e1e6289a2181d867c4b38dc2450519af7d8c6aa464fbce7fb01b0b69d4aa33d39ae5b51908e146c6b41bcc5c2f8429d42c3876a8581a0795c5971ec25356a739aec6fb8acaadd101fd7647e036ea8e8064f78258ce84eafe7dbfa8720b05a1f0488e7f52534b2c7d96af69b167843f021c05e3484e5f72ca1620d190d4942d4fc68912b4238ee1a8fe545d4dedbac67dfff522c57b9313f3940f1fe2e7f0c2b898c4f877fd5723d757e04e23d288251827d211774334cfecf215fa2b43ce1645efd74b0a51f00b6cad37c8e0a20596dac6b1d10ccf6778ebac5e28124d5cc1d4f2d4aa8f63aae2c6f8c7ced64466b4a28737710c1b85305dbe6c72d18bacc14837599a358d9f4efd631646e697a8737437b96820f4aa5afea0a554957c60757f1d308d107e945f2e5cf76116ef037c9da2f94e679219966666bd5402504727a92d556f15e85102327637739e4b9570366ec8cfb02f443ab993ce97502daa0c40902df19ede8f1b3cbc980fa25bfa711187ec4734c00fa4703cb72c36116d7ff6acc76d0a19156ce7e4524c1fdfbc39165ddc12e82c9d7992801bf58225a6b7dbcc09fa11bb6d5f65468d35acad271321f354289b600d9d489bc57342ce21359f24023dae4a949c5ca5c513297784b8426a3a7983b34b47e2bd0da2e303f951c9383952ae1f28750362d9da2e17f2749745177b690f196d9167eb1289c709fddcbbd451a19fd264d7428c61d61f245186063a9e486aa89c3899b422fed7aea5d72324fa16dd4946c2a0f966320e3fee022361e5b30be2cb6fd6a5d8593a551dbb5b9e54386c570b697fcb6ddcc5f599f1adb7692149c719b63554a3d038a8dc5da885c24909ec71a612c3fe8de93253626dff75e3d870065acfcc2d6ed968d2e84c2d0eef62663e800ede67deeed604685d19d4d69c9a2b9d39c3a3b7d387fbbf6607c2f889fd29b6be17f188be21628fa4d9dcebff3bd705602d76e57348aea0319bbcaeef3f4001c5bc1a080780af3618070eda1ca38f757dda11734141f18360dd011da98bed04d5aa45fb630ed87218a8cdf2d6b97caf4881ba4c97b29c04c48ccde1c17cd029c18658344b83e81284423e4b8a6bb793755b47749e02237d3dcbfa456ebbc1bd43ca35b31249cf8799f16f9e40670b86fcba9c93b97bd664b1c11057e0ded36e2966a3ae6a345fc333ff6740267b25c1597578326e82c81cfc0d63435a4fac98f01dad9a4b642c55f1b8fb391419652ac0dfd308902f1f3a6355724fe53c83e86be2b8c659c9874d0badab4a8b3f681e2f85195c6b5614f99b9bb8d4dcf1e1e55b2ec75d22e9b39c79c821ad3cf44cc5d7cc0499bfd9396fda8f044eda8d9c6468fed2c0ecf8bd0fe21e7df28056dc59b9a8e046772d03cf0875ec0970aee79dea1904d70096a5826e78b07fde52f5524e2d161e8abb020771c2f7f36955d941f3cecfb539127be4a70bf797355e2f1387415bc28b4c7ca69ced84cd3ba959e61609ae6dcee3abcfd3aec4f3a2138ced9336f796f7f38d46c3ad88885dd1d0f146050820fed7b3221347800f2e96c8d67caef695bd3b2cdc173cf751dc7b95319ee554a5a3f02fa3cfea88b4ef9d3611405a962e2edf30f72b79994a98fef4589782bb78b9bbbdbeaa36bbd67deee6e1e3b7bc90fcaa39e9fb69019ac4e9791f5372eeda509156851b445e55181b828ac7fee68cef9dbf6969f2c001e65accf2b64e6790644bcfffa518f768193dcc4ff2edefa0a1f023a9fbd816ecd45a183e01daf7735ce852dc5c3308cc06b6d0c327d946eb9beeed58de62003d3f111e74f524e7968eb409cde564a6feab4ec6333201aaf6b9d39e25a3db9af49ab96cfb93eb39a3b1080e2de0775c33a6f025f3627e4ebb5f0e879ad931a5151722e199cba38497f52943de5739160fe2e39c38869c5ea43abd6ba9c7cd367b18a3bff71eea1158616bce04a1c05098423304c92409fa89cbff1ccacf0c063de38bfab61d222bd895ffd14c9a4c22eb0f291a0cfb6dc188e4e238e8c1333bfa429886c3c33205933ffdff4276ad79083a0742ee17ff112959547cba0b1412ecc20b3d37e99ec31f8c9ce25ae0693ec76a8f6e00eb58335497089dca7c4184c584594369b3f8a37a618a247f3be50aa8c06d1800bd0c21aabae2b0ae1d9857017101dfdb4c6d8d0c46965abb340ac9d0513965f0a181cd96f22a5bad13e8999bd230113d3c493a8936306a3e37d3bb44af22de4f75f535134dd7513ff24605a8a6f75451effdd8856d3b90117e8ff312d4fc376ed2df708a229a4befd7eb961bc1bd2613c3e6c7e08c757c1a8b6b9499ced1bcdb5f14d1f1d954ea42e762eb345da654923017bb2d279eff4cdaa186533269daa195e6225a53be483546e1ca696749e0fd2af6c877c90f9bc524a4d38e89bd63bc959bfaa9189b78637716b7b8e0ef453b858f04701d0d144df35eb10398b09cc88b7fa2147b1acdd6f90d756a881b66e057d0258d7333c52b79f0ea0c9293d4578128aea0740ab620b3e8ef8d7b1b4f088d2258fde243c7ff526c043ebdc9b4a8851afc5b2702b5374327270787d6315637ab94c411adcbe07dda799598d2026ae47d59a979443351000b247135c8aeb0bd26bee70bcc7bee80ea757931a870c50d1e0b3dc2ee5c8de3afa7a077ff69025a5f626b8ea6f1591e01e7da516155feb91c6bd9b3b67e184b2d97793719ac695ced04605f5cc8cf6fab013dac398a5555e2d1c5112e40d8ddad8fae8e1c5ff561eb406511e026e91e832ca917b5b933d38eaf1d05518258dc2ceb5893231450e43717aeb8cd26d3f523c244f0220606b8531e3303dfa56c4b84bf22a00b112f8750fff45ba11f229292249a2a80144458438bf642bfc746fe7c1a5526fb27cac2c39b749824251a812cd91eb9912420bf5d360ae9db08c93b1efdd2b466d7dad4748bff7e2ea8936d37d3c4fc322b67b47967bcd6c938edf87b1692d4614dd33c65529234ed2ccd2e4a69b22094cc2b60cd5c5a43a1f0127ac5211892165eac0ca0ea8dc16a1dc17df0a70fb3c8d3e8c8b3a000f75b1bdd08af64107aa41980d480961cb70e0e1d50439c46f630098cce6327e78e7b031addc8eb272ab955aa231e2dfb4b56993bd709d44be31af383db76626b8610c77fb711612af4c95f9a2c7ff4b84de306a084c0953c84e99a37a07a1469fc8bad85380183828ef3baffbec37b4f145b6ff30225550de30a85292786851a1c276f3282e99586f8dc883b4fc622fe920a1c3f6ad8f0c27e748be4b5b046595019f59c0983637bf80a0a05c8bdfc45aa86b497002c15da735c49233ede00400e0e5ba23aa2b332459f247a851701efd73f1e03d6c13930d10bdcd212fd58c86d10353c9816df46515f35215717570474ad40987f156ed18daa6322f3c6992cb66e236a54e1dfac414d8b1f5a24d1b91b7e730a8598f61496f75b29712f13e2715d09d7943010d7675ff713b9c665805992e28f7005f7afde204322ea082470d58be85986a647bc194353fdbc4a3540e3f5425614c4aec0296e29916d609f202246b07c262f0c3e098a8478ab4b5bee321321619c5b3689834c50cfb0ac967f03923a51f78de5483dc447f266512a8b5003a96ae452db6c576e7f941eabf3f8323fbb301c6cac1e7ce4c026b2adb8131edc75ac287fb5d1554570be1cf1159cf83846b39a418cf8e2362f139a577be04f6f3c9f7a0c55d875351827e6768a019a600a9b298450c754ade96eb9c4fd79ac5a8279cff95dcd20b4d78ac53ce9ec897716ed871de9641731cca5013552bcc8e5b0561cc25c5aa338c1113bd3d894ba2c1b99f2c71fb9e3255f63143282941db333476948060909cbf279d5b99fd72fce573f48ae85695db1ebdbdae1c06800eb5a2362e9dceea43111114d2a61c74e0e889b5a599d5169900e53f3171a6f4d1ec15c6e7f3e189a79dffefc4c766815b7fc9f6bb6a1f913c6816ceec2ae4cfaf2298c0922dff3066fc6e1d06a6520c25d537602e57c1eb0ee899068bb1c9aa8b20e3bcd2d896c6ea8927f847b45e3f651ddac6c82f12798014cbd3ee2bdcca0fa1eb08d5908e38e349ffc985336d8b3e860aa9dc81d08b1d01402b528c80b4519d50e64cacb9120a2044d2b2c0e97e783860ff86889e8a928d6666886808788254c96839ca210202ee0fa319c122ae5718fee8541e5698406b546e7d22ff30afe42dfddc8c8f9b7bdfe5f4068f75ca385d0951e992823219647376162421cfae96b453f342760c3b97bc62aa203aa9bced9ce2901e726186ae44d3f76224746a6ebf0901efcba0d3bf373ba238b249504dd8f86e71d466eba5c2e0738296a00bc443f1c83ed81e38e2a702ab6bf18e094f0c6cab7a836cabe21225cf59a29cb3df7a2a55631447b1755e434395addadcb23b18f9358ff3f86ab8d5f207391e216261203014d0ac5d07d7071ca39a1815fa15cf5a193c71f20dfbd5216aec223ed89fbe0c3d14509b9d877b71441c5b922534f996399b24181262abd86ac919b5dd319200f1a46f313159dc512252b487227294dc74461394ffa66ee405cc3c8f5e60585c8254532a6dc0031609c6bcbf5054264a4990e016b2412c157b55be63b7e6d2975dba5b9ce442690fa91f748307556101169b0544884c1e048de2f7194b59357ae59d12be1b0ab5ba4f8478981a77fa63c0fd99db1f5d678f3fb74213f187d76d277dc9ba4902b146cda6655c4d03698da8fa1dde51fc54d3c37706d194bd59736eb3b7ae167e906d0b2f6b7de758c20c36dc801f5cd4c0a0e75cb67c855d106912e3688d06b322de08b34af71227c4d98e696ca93d4b810e261fa0082cf71ec7fab7534c7200b31633689a84df6ec017265f1d7547c5cb8f387e7624373f2b78ac6bd9be74d627d9095f3b55e5a04b4c4e535c0d4ae81d0ff675124a4ba1c2dd60308c6b716a9797155deca2a59f7cc33dd6745fda8aa32b57e43b7b4fb8424dade43cec8fb43772e1c95b3d8bfee916bc7dd48130991e54b1581747b2548eccf3533bb9a029bb9a5be48f11ac0a0c69d2c1fbc840b1daaef3c1cd5f302cb49c2f3e84fb5ccbba61691a2b0fa5463315814e253e82bca86954320ef90730f48d9e1b20a4ea625200db317d2b2d59a0ab425037e9cd2eb103ecca448c1c4f416f042589991a68a586e91e37f112954d4fef2caac1c071d480c6dac8f323ff4286b4e92a7f39fd2736c1b27a07790a8cda6d752518efdd4c261d0666762a84fada1f4f7dc8ef2a887973b7b1ee7430f21783185827e547a46ccde10528d9d618578d52aa5451fec026808c968af4ae788d9093593a8dcc0880aa2d363f13ab83093ba50e5ff56ca841ba7d739195449a8d6bfa16da03844ae6537bfc0eb4bdc5b3de5bf38f628e163cc003ed85acb3433aceb664d41cccef6a307fe3ec4647cdc4f7c1e5f035462ed4a06a729a03f59a368871c5c9f4ea2caed82073c2da03cd1f435fc260f09f2857e008b0f4ef72225ff3fd11b569f747fb0dd5cdd2bbb9360ab22abf604a0254ca63cdcf56c371f8e17852ebde26b552b23a273dcbb714a4c614cb590ddeb7943bc338415b511eb1c89cb3ee84e1b1cb023ec95efd203d462485be0ea0cacb6ffc1d349e2d2d603b9d4b05d8b700a23106b455e777b909dc58d0e49deb097ee8436ed85518d1060c1711476066af1c0e4774ebda2a94e591e1ddf49acb848610d3592247dfcab8d88b1fd6b86cb1d714964415636f49c6da72fe72339c815f0b4f00c8c0b4584982ef591a568b071f9abaf75ffb1cd3899f8ace0a60c7a46c4e8ee3b7c9d35dedcdec7626ba5deed00072e7d7c7d7547a49a50fe8dad8e1e2691b65adb0c86d8cb979a145a18ebd1454fdb6ce089974bd286fc2d7d3533301efd7cf58b4849f51c7e7b1daa8c819ecc9fe297f22045bbdc867e825ad00b9f8158033086074dae538a463d668a3cd707488d51485e28fe150893bafd9024d88b7af757e36e18432e63509183eac8f7a1aff27547f6f29418a33df335388574b96b89a82d64a66efb8bb4efd9ba50eee35a8588aca37bcc331644b99d3782cd7bc285fd477eb903fbe5c3ee8d161904571691bbc44be8206e5271a62a236b172f7d03cdcdac6d2b0c9d7a11b08c0c737de5d1598c406a585645e69e9019edb619cb2f492c5f1c6b9fc49d45ae6a1eb0affc9773ac38df2700e4368e34c7894fee18899c85ee0263da74406344910c37268398b7fcea693eeb57943d1d9d421c2d12c943083bee38906b3910f083185250ea6c621a409f0782880762414fcccf2fafc974cb03017bd5fbf699d7f71250a3ee93ff3a1802f8d227af10f1e4232f6f68cf8643e90ef25e623fdaa2ffa1fe5c290c2f9646b7894f249b943e7f76eb8e501930955f4ee5333a5502f3b89b32a5c021a1200f51dd99c7e72e644c4f96b2c9bc97880127b1c6f638afc1d561fb11fa583f69781ab9d7899dae92d95e793005e2958ad33b7a087ff3a525935fca13173c9dc07bc265f836184be871871d37e849dd3e98a6ec167d975cb65dcba981e6b29cc1ac308797bd291aa8eb75a38764a91e63d4c1714101e19f64d36a8ab2a5de7caa53ab9b03a3035df218a5c5f29debb6816de9bbdf784dbc94cec7d03bbd237a2b295ba7c5a7a4200b8ddb4aad48719b7d02547c0180444bb4bbb539e931313e6b725c60ac2122379812fe36f2595d62903ead4e8913e10ac482f83eddb686d0588cf95b5c225746a82686c6fba965472ba79097553a5bb525b0171384ce1f729c4607801a90732290babced3e477acf19cdef4c7c85cf35ec75cbbe28bb9e4b4ba5287d1f71cfcf4e46973b515ec05ca3f2c18c5a2b7fd49e3019930cc46f97c31fb72fe69ee615ae39512423ab9875de8f73ab995aceb84c0891d6a0511172cf31b3167aefd37a3db75fcb0f28fad3782454a272a5491e43dec3ad073d2475ec3a481a987abe833611176c0ac2017f9a22f1d639cf142956d7c688196ed0215686a1c4f211bc0e378967c280c14b3e382afa320b3d29c9959aed232d6a9ed5432b590d9a7c4eb666f3722843c30fa4df1f740c2e82d0e9b77b2702a172b7db61badea4da44e813679f35651fd1e65f52197fc6653ad17b899c0495bc72b11a867843bb92bc5447b3633d69e195289d1a2afb0c7926ac5421ce858a3e527b76eeafc234c3d058fa857e3af77919486c6ff6e821bbbc426112d9f7590b65e73a11d4b4389ac3281b0f9d4ec4061c871a9d73bfeea70384169d569cd51833dd746bf02ad69e44af790d38a00debc03d15f93dbcf2bd531c3d7248c55a8d15be9401030f00b19ad3f1f9de847128320ef15988752cae1bf26f87ace462551f1dc550732853cd43f64d9b01b03ec2b76faff7dcc929f432cfacbcbefac914f44cd9ef4c9227f7ac60604feb601a41743a01e8ecb4ebf3d9495e7c2ff9a780f2b8a637de69d734b5765fb55351b4690cba4c85d875bc17d21fd2284be09f3635aeb6dd93ff3467b18edcf49e3945f7b021098d28b23262a1459468b08ca5a8f4ab104e226f3445872d336f915a69d2223effa0fa481202941a64477dedfaaac760ec0bd258ea436dcaf3cf222598cf30d074506cff48e207ad07944778790535bf6a9fd5a1f1a363ef627ee467f197caa6a4a2e5a3cbd18122845cca1414ca30a798da4e9a6fbcd23cdbeb3386d70173d74e1a68dfc5cf991cefbb432587c1012e2519ab72a0316de934f869ac3239160df15107031f07c6c4d65178f52f1c871ef78728b1fcf6a01109bd033ebc907d2e74c4c67953c2c9a81c7bbccc8c0e7d9673a53228cc2b7c127c891444bea1e5057f416fa06a84a9804a0ab918292f9dc612b91a34a7e2a27f41a7f29a7b23d32922c646c0b34452fa64c7767edb19224b417ec634737049bca16ecca176e3f7ddd33d8472084b149890a5e6fed8918f02a14841331b16ea1cbfcc9e3747e62fed1794d769ac4223ae1e59044c16324b6490e33f5580c066125d1a51c9567b1ad11e31881d0fe59c915ca55019b84246f614f22e06931aa7da66bb5388b4c658074644b42eb77da262f47e0b3934bcdcf95a4602850687793d0c3f42853c1ade540fa4168547085eec56fc52b259bd6f35b064e885220880cdab135b95f14e65364bb33ab7a7a590a31198db2820e062899e690abb75d328cb74fc8ea76fdeab38e6c2ecb1f37bb8dc4868d719456f3757368185fc02f3419e0c0207dd84091f3a995908b999f5969beb8974f28b714760fc2fcd66f7f144f7541f783112ba73c95e19d8836593268facb31a02a36b2ccd5ff1182b4d3dd53052e1ab33c4dd0b61a16dada6f0063d0b20c01e2c78cc748e4cb6ca01276f0708150e0bb813c2ddb53f818235d4c64d43649071b615bcea956f722e7fef74761cb847c66732834d33f7d4576a87302355226309d0cbe36798fa3b0e5e6fb4644e70b4187c41d6af29f24e6c21aa7d7c423497edb2d2cd2a104911551a09f9d51db518347b8d709e5be366dd2ea8a0859c5248e0d5abedaa0b7ef70f1d9a74ffb69425ce63c7477685bdea1056116482171eb17184785c35f6fb5090af012adc26380842e272094bd76f76a9f293573d01a4507b8055d20ce0e8196ed6da9e4e52c149dd3c847972e3f1c266e541d8b2e2331ca49e2588b440b9451d3109825c4f2f2088ad7b046e7781c1ba7090ec8e5cc8140a8e48a68f915def92f9d6c8f2ff0e3657971190187318ecf51ccc242efcd4b3f87773a09439a12fb193746bbc3c22af7e8e3d0df14d76bc7767909694b06edb3617362a283e073b7f6b20d51ae1e5ddae3738cdb65cc5cde2e6c50242d522aa7e08e136d7adc2e5d4350ae2065f81a29965c01b097c84d5c29f3091f4e57c89ab5e8a0425fa55faca071b736f3d392f25583bc8c060bf7e9939e1ecf3cefc0d683342197b860bc02df5bd2922bdf12104a2685ed610e5f4496762789824f6bafc313602b05a68fe2d66c3328089eb8ec48469fec0da40a05036464195754868805a4d76fe605bc4a18aa0d7b3699807b3fab12bf9c708ba4e3668c0c85d3d4e9a6e55a6274a6416b812dcae744305f1128ee289998a31c685812249c5b34e30ba0fdeef1cfe09151aeef23340e76ab8833751271d4816cef67d17026953c1a1baeb46a35f7c1ae38e927ab22a8816949016c7240de2485e7fae624262a722dc53a126bea85cdd45b623d2e60e4f5407b9c6a2edb4c73210d3cd10e68623a75842f9eec35e86c6ddb11239d3cc5279f8ef1fa84b21610f2acb933a8715134e24a26c0eb2ec7502ba9c9f543f5a885a40f1b326911d8205463116b7f846065a64b93caa05e4d063a32ddd3b2a3839b18c42af0e56e655aacdede5017a8ad87b1a5d28d2cc3ea3df0d72a82d9a8ea4d9cbda2b2e457062eb0f326d6e4899f24c29abac1f3a1ba1629a1d4754f0c5ab8f398de9c84f63d037475db024db1e5318a115e9891d2cc7f3305d3fdb126d6fc0796fd4999d58e54c74ef2c1c09abe9cbf66150f00577d7df69f8abbb4dc15a49139dba7c6022bd537aa67d4257ad6759ac97f80f1cf3c2d9252e6aa28a24c57cdd6ca77e35b14747cacc7a98d660d04edeba0a081fc8d08a1f7f926a04bdd97bad02b84e76a26f3c6b5be45c94f60c5480c1fa97e471a878c7756c991b6c87a00205387c1ec08122dbcc9ae5f164a2c45734e3eda5629cc9ad7f8d73e741d4836b31dcb365ba97fb65bf79bee5fa14bdbd133f345b9d592514228bc10d124cb7d41b2e99720ed74ce8c31da49c39b13df22a190e1803cadd08dc262764da4bc76f5a8b830019345ecb9b1ba423d05f32f24fbdb13899942027fd3aabe973c7df5011dd8f8db5281d62c90b83254b6e5b6e9a96e18749ee93227fba0b3d266c1b5e7bdcdf9f5c9bd3f92bbdc90792c819efa951e6a8716f5c6d64c2dc76ecf2ec2a713d0bf8a839e473f390adce5903bb0e65675a60f806f7433b8ddd8df069cb775f5d33ec1f95630ebd3fabac886e4ec035a87e393b6a50839f5972406cab4d36ae540a61b1d784acf8e92e0f043c75d66aded105dc7a4b9c32e39d113c0b9a15ad957b210984d11d670d51ca30224024ec82ca3f350cc72a8c831fd27cef478a9e53d3ca43502908996a74cf30ab10eb23443953cecf97e5687719eaa466f52b9bc33438e96cc6fab677098ee3fbaec9b64a436cdde73fb6581eee39b209479829433a054900bb78697c6248097cbbee77bda1ef3a37ca3e8b99a4bf788017a9f9059ac27d58321b7be9a6c301d78f6bb49512e3782badc4191d1c25c8efeabef07eb0d1d611494012f15b07826a306f83bbe5d2800a084e0751c8526d88d7ae31e87e0d88a01c9186bbb1ad0294f784075808e75e678ab36b81558e22d6daa1ca682320412942c363257046c600e27b0ebd4c44cb7bebfa3d4495826a675b46d5f732012e41d83335bbb20580256024d4424e972d2cf3430437b51e534be05c9c07e0726abae48d1e0d8a3e5eac5016d9a391652f915d307af1861db549079e6fbe36b7c5a616ad4477b7713cd07e4ee811b68ba5ddb2171377f0ec84bdbc36e14af55ca94478dfbb32c391b3f2a948fed0ab418de8ca022d32fd849e9ccf740c9a89813f4880061f4b435f8b1a69bfe96d58657ec4f4a9745900a44bd7da877bd16a9e9eeeecf99449053539bf128dbf4cff94bf3450b338556e006816096d2adffefd6eaa68b62bca841f9efefe4d69a1b10d010a8f98e9db54a267c2a92b3338db93fb9d613cbfca750932af919a579b39a831262c088dbe091976c11a60c34aded9bf59f3d9e3d92c0adc1eb77d85994d253855ced588e32e4fce1c476f21004b9f90c4c553e7b9e0f26d14ae2cdb02b4edd429fd9409cae1b9b39c786bbac7f8a3efd3f2c5989115f6992a0bae4daf7de101172fd3cebcc28352c21a88cbf497fc89fd672ced5ce29d8e62f9f0ed5a13ae3790f30d9eb86fd4147e6dd0dd00f5cce858530436a68ade716e2c84d9634eb18a9c03dcaa96e048f298bb5fa4f54d3adbf3ed495ce0b117494e3459c26568a0956feaf7a1ea92526098efc4ec63917a544fddcbe4416814a5bf92190655ecee45ce5eac8b956ea5148e2566ebdeb4f8c9a1066c4b9605b269fca615311d6af71bb149b642860ed2a952fc6854983e2ff78fc7621483d3e0656341c91526fc33280ac85a0e47155ff1c1ff2b12abe65cb176910a013822e1ad3fa99543e980d64fcddf4d00fb1a14de1ee3f5ea50fc3ba792735216a4af0ee51689b627f04c93b10d986da23cc81c9be1ffe9215be4fee8ac2ba57cb99933078f19eda8ac02e51df2519ee8acdbaa84cfc3cae1fe8c928556e65910bc77d49281887f2b403597ad60a65d1b81a495272c85381f705f0ac2fb2977ed923db7d130156f665aa6e4d2083ba6e124d1b6ed5873b1e5b90fa98b76ccdc913f86a2a392a51ca092b8a0a21647289125427f72457fa2fc35721b335dbeff40f6394f84bbb780d7e7dd3dd417010c16f1131bd4c61c3fd29a5d6364e632108f4d4c868175c5cea0fe407cebb52154151237a7d93827236b20d28e7dd8f4e960ad0e87c670a9d2138ff614579580dd0355f7e7b7ab01e9419ab490bdec769d9d6ed343c1a7a2ff5a2e1487e81abb3d655f021d72781bef69f1bf7b08ac74dafd0e1334a659347121c9e3eb932d2d26801021b83f28c78f4776895cf0bcd10c64cb192c639789edac8acb3b4ab8a5bd4cd9e1129a2b4b0f15edb38703332e0ccef9225e98ad2a63bf2dd45ef52f26808a245b82bd2959f3f8c59770441666bb2124f655145975a59a49cf1996f68b4a207c1fdcd0f4e65474c244fe994e87d63fadc9aecdb099eca7793dd5e0267c44ae1c2b5628e23182bc0f91db941a154acc357a2cf046a909b8a9b7e8df6161063cc7ccf5ed205a298a7b46b88a348cdc4e5b124d7a4a6fa210c9df321e19e7512277f249a711aa682b448be8ef0241d523575d1ae04e6a119aa09e2510dee22a25dee65e2cf4a46829ae1d2afa932d79b12b308bbbcf86a3788f438560a551e1f0c71c3b4fd154a1076472de3e1a9143f16fde66fc59bf6c8af88b72c9e7c1a9a7df3806df5960b13b3bfe8a10dc0cb75bc039ad91d280768443f203d06dd740c92089e162063b63557a1d19e0e4b8734d74cc970edf34eb755f346c52d15d2d16aaf7946441c389a82845311f02a760275a8b971b23c15df09c21f0e4fdaf59107ed4d18690eb8940bdaf8a29d4650c7f2a9f0ec69ba109130c74085f5f90925269d13970258821c6815dff3e7ed9e557c5c857e58b7737a7d10a475f0c33a89ac82d1c3261c5e906a87cf11c8942be68442566dc341759ceddf51e6d874bc908a6e4ae063f066ffb4c392a638139d7b65574d9e36080635ca6d8d331b92e71f535d9a9599a14ff9406d3dc074dbf1c4b461e395161e11ea9caf25fbb366320d0fac1bc8b2cb09879c80d190024249d831e9d2398f2aef9fbeec9b4f6289c0327140a5592bf428c65a8f946ef5134151c395f40ed1b605907d99f803d141b7e0ae6eb2404bad0e5708494b9c47b9b5a45bad7a7c40439a382f34dcebb4d67e1a4ae69443e9487b330fa1a82421d4afee036b12e9897c35f48964aab1066821de593ef67acacb4ba0c71323e8d907d79ca9937010323f8c206fbe049f53bf7f8417ac6f04959aaeffd097d86e2b9d02b3b9a3324bb0ef16e9a5c69983ee129fb9ced1a4bc983a13ddcf87cd0cd25167695620d61980d769d6e722145d9f600ad88cff3e64e71d8e2bcc50d474b4f1aa75b2794d85f072e642f5e92b1c3eda628e5f92fb68625d1b84e5537f60eef160f1d3abba23a4b8d2fa546dd410d38c0113dc9865eb212717670bdee749843ad719b29601c498e291d99a8d3f864efe3803db501e2a0494d2813f28ca3c1cc4bde40bdf73ab9e387e9a26e5290060d6bbd455823896f1f9e9e44b839c76e5f57671c274a87dff4225a433855f0edea9f20d8c60897afa7252c386bd7b0338a1dd587c9d0d5de65358fba0b89030743741b4df5877da98127f843da20cc2be869490bac095225ae6a2109881c8cd37468bc55fe3490f59af95d3497943d2c8f80b91422834398bd30935fa371482d30c2b0f30aefc5b969dabdf26a0018fffbf970f8bca77e176cc05fc4770fd38a896fb28aa2e06570748174aeeb7e898d5bafce46e326c5dae2b0de300bdafd6516000d532426ebb21a0376dbf001a0670978247101c028901750da5498f8dcc1f7ff63f2e8e644a731877d863f9d2959723da7178d86b1ed9a9d298cb816402d7f63ecace149f060615d1d3e75217ae591218bc8f8cfb347451f556ecfee493da6fbf443884fc39e902347c58e7cd9263fcfa90138f8ede2b3b44dadc74f48a72500408aacce3d98b3e39e986b61e9017c5afba9853c41c693f5eeeaa3bde0b4cc2399b77c9deb139677042f4e27baa322e71fb9506b1e3adbe1411e8325f8eaa200c37dbff97ea9926ca0e92d5f5a6695b69383fd8f80123be498af11bccd5d213186c8b4824c5c2889c86221ce5f7eac470e9626593051c6355de8dde791591667f893e22f0e9be824f3548fb252ec2a6f9c2a5b3470fc256abb65aa7b3a443bc8fc8d197835fd5dbbc4c9389bd3b9a8d607c094cdf7d0b28569700c1447b9f67c0e3f0cc5a25798eb1563399e552f8fdb2e3f84751e07af6e1b4e9a75c53cbb576859f8694963a6d7271c4358240b2e65cedd2afe644c44ad6fcda623420a158a48950f6f259c0f383c2b2daece28b39a53b57a9c1e022852061145ece47347daee7f875fd544026eea0cbf1235457f286a78668ed6ad85bc1dee3375f8c1a5b2d05a5139f78e8fe9f5c409c5b967dbe7d9483c1812a08ad226d2af745a2354ef97e67426d9dfa4febb927895514022f92c5ee639a2352806cc8227f0fab5ebf06d3901a6e82a384bbebbcbc6524bbbdfb0efd4bd8e5765ff6d2124ea2989bef655a92bdd23d7b2ee67b7528c2342cb6d1d8d4b3a894c871e9e44290334058edd1de9ba1354cd6d6f1cb4aaa05a839cd585fde7867ae982b19d7f858a036be8670f2090926eedfe54eba56dbdca40b3ca405f286da15d067393fc99247e2e98d49a0d52621f41bb712b6a208b1ebbd79959fe1eac2f7c6e5ac9f8ae753337fe6221bc15b3f154485bf6b3ce69077aaaa0f99de72e7ad26f2780fb42ee9a34b1885d49b706f5eaac72d08eb3a1e38f4dc1a06588e52b28b2b8e84cf99f3035a5c8928b4743d174b49ce9950d105283a4840b8cb913a97dfe472ecf9e445bab2262828fb23c35e2f7c2f8ccb68faf477a1527a4538a6d031a32b216f3b51bc706e6aeaade877b5e33f7f04e7878ff2c22e869de43554602a815165979742632f11ed02c578b6623aee6e86646a965d8d38a71f22e3f43ac9201e26c95beb3e97314ef419944c613378e008a681ebda6515ab9e49da7845f44afa22626d30e62c722ed1fe2bf4c28e07a7ea4c8b5ef217ad46fd89da915d28ad76011bb95bf0af18003e416caa99a6cf45dd769d73472022e67cf748e48b3a28fc35181e75fbd798891fe05815604d94d51872db782143772674431f62493a8bf2db59258714881ff5a2c214755e05e5a2102a4e618cfce30304af7a893fea03c49d268267b67ce3e7e69658f01b496a75e1cf370a50eb846bdb7350802384f597d58f1301476d621c7c8d377c155b72a3b53201b3899a0bb5636bf78ecd1df6e07f9e022c5dc2827069f419b1d201a348e80e42d4f6884a10859232da48cf1bc22c1f054af904f7fe41d166ea3dc22d4f897d87570327d47a059e9f6bf8b9e2265ed9f4af52a8979be0d0272bfac96ca58f2acd0ea4796ab49a92cbb404efa7306339548b4fea895578a705a864412eb4ef28b3be714eb54966122f217eeeef03388f1f1532fd7c28d88f0ac314cb5a403d0ca8b52d85f5890aca70291b6f45afe3666272a6423656634e45028de91b9cba2ac8efc9df93485d94b4e6b1f7b6a8a487ade7d2694fdcc6e7d6cd11805b5ee179d142b8472cffd6a9568252d85c6eaa736b151466b38aa89da42eb824c10e3bf8632a8c2747f39fb8a7d2830862e3538dd38db38b14348fc099cd319559dfd4f85b27edcdedc5e3adc3fa98c678096df3399ce91acb86fd34e0b3c9b3cb37d7c612db26a96567e57b075262008a6dbff5b4668193ad9f042feba5e1250d60b9621c48c55f779055c56e0eda5135480480eac5a9c9d5b2ffcd0725e6446a2883059354c8b02d9d289506fe1f4f1781aa39ac5ef6a2874c391d3697d14d1f395593327b8e6d37e7b3af27bf6745627f2af517bbe874767c571abb2817b8a5822e838a4bae07b2cdeb866e622821c9d141ef593b0a8bbcb80108fccd50828f786216cd7d7f63dea4476c9bafd1ac6eea5cac73bb317d34bc7df0f2d2c3c48884a991d6a0c0cdb893006d5c2275eb229aa554e39e42716a0f2440e963ab411a719b34bcc69f9dededaf5405e58e74c28103d06b2b5b029875f2224e5f47dd2e26fa217c8bf6904dcf3d93b18b3bdeb76650910d185d42185a43c422f2a55ba04842dfdbb694cd68394c574f652081a67ace0b12c3a7964ace036294ce3a7d41aa78c5b9490723677f4111ced46f0e928439b97c6618e7a31a64c226a0428fa626e759d3bedbe2bb085f89c2e226d140b69322f9e29792293d77458c8d646759840e83ec573e3735f87b8c217103a99b4a4753af5475d034fdcf07ebf09bd0021e3fe19d260d7f43ddc1913a507c423b2978e537126ef1e58b6d7ca396dc2c70cc8566b122fe88e7b97c8e2f5a9c6201c1e60e3dbcfdcba2f1622eff3aa4947d9829d1c385ba7ce302cee79c70ce5d5ece8c6b85192dbc99e44469dd72943abbb1c36ac188074a2ad3842e82a5cb7560a6d9ca6a15a52a8de33872e8e7e2ecec41fdb2962cbb6951ec3d352cee5bdfdfc4cea39187598d7de779cfa8031a87ff30bfac860f458e1459d7e2084d926217e0ae87f16bb2baf7aa5648e742cfa517ee2f25103a048d8042b5d83f557bd85f6c2d14fde4b82e2768fb794e45531781061115f34b2034ee9a0c4894487e81678aca09adcec9813cf94921a9faf0a52d5072f3ac318605bcf6eff19f93d8a18cf1dddbe456a6ab6b275da6cc2808151566d7bbc7ad99de519f6f93aa24e3f05fb7832e87cf7d5da09117c1de2798453f88ddd060888ea09a4741fe84c2b190896796b38a1e372b704757ab4fac81377b2dc9318acdf93c74f0b726fea3c5bd82081bbb2d00b8a4b91d1ed543f90ea11614c4c6ab479c9d776b1b8ef9f223372d7d2e2727c5f77ed02c8dc5cac2761a524b1e9f5a475a7023b3ab216bb56731c0779879dce1ef1ccd0eb06fae9e2333b39a27b4169f5ca2b548c11f5a2146916e0f0021bc25e6fae0a68781e9be2cc77576909d1da55221ad2839e50b2e5da5cc159e410c32ef8572fa94c65a36190f96a713f0314730993c63c309e02321128e6bfacc14ed73024aaa40b7665a6a9c4b750ec2fd10b97f5a3ae73a5be126e619cb525888f1a4fa49dc0f122f1f9a7d8d0c4c1bcdaeb1af815d2eadca20c5c86f79a7888108cae869e000f6322459224416ab419c77c9b10ac65ebde5c253470e5663fa38fc75f33041a230db1902916f64e7be2071735a31b2f10c95aa0c8f21e51609b8423b17a9c4f55bd8ab11d33e40b22d74a1b53dee34991d23f3769daf19a547c91a052a8999af4efa5cc320b2e5602e5a920e147952976da746ee9bfec6970221ba8654e699f079c96d087f23b6a5df32eeab82d96902df5e7e9d96ad0709d088e6273e0c489376402fe8c3eeb6e03eca4a41127123c5acf36d6f3ec36628b16d4b52cc2750b710a0812f3651799f21764d941292e06d76365d851a8b9c202b01fe282123c59be184680fe2f4d75c0f6028232f17ec4d3e3846aaf3ef10b44acc8e04233eb6b13bcb763eb11b9c6dfb1e949cd1dc7ef207c50174dd981cfafe455dfabe3339481b58db7cd22f69a115a8f97657ae2d7abe8785ed32a32fdc44e2edd98945cf86ab887b23521f0a766e6a3433ff895bee45dad1b6b0f59e9dda54e0efe7e84e517e7954e8d25836daa078f566a0ccaaf1aa86672dd04961888d2fa5dc442b8f763c52ed0c1cbaefe72dbccfd8e2e2181018859541ce5593c2e7bd1efa8fd9252d5984f0aceea6c92b9fb4bf2a401477aed7fd15231dabd31f24c78439db53039d34859f31d586eb891b0185a6395d00f49ce971ded744ffe19eee684927fb5f1ff638c49bd97df1fa3b2e9aa7cb9f7798bb7d17c08959abdb93b09bc98f5dac63450797062142f91d1b3efcebc47f80e077341a5836b6fb681bf6a85bb2de6c995f874bbecfef7c24aeeec54c18985e272d456f57af50c994cddf981e7e5acebec9b7787cd9c280861b0ccb60a479f008a22860e3530598ca97acf893f623a7fdca63f271eabb3e06789618424682af2242eda647440e20c82d9321044381de3171b8d276931c3b218e556a8dd12a559dfd209485251b6c26b75b627f0d63521b364790cefd4d6667d1df8473f7cda74b02ce4249e9b4b90db978c9bfcd2bff9bbe1c9565eb85534a991376313a91fb7b1d7a6e21df8295b2054bf85429e9ac37d19feb3587d16c2e256ebe1620604430f254674f53c56c4f7889cab9b8631d5493e288d2c741634606adcc502a24c9ea5b1213e4b9b9fc843ccc6b293830d052adc972e79cfd364fa92028d2f119353a5dedef03039d6226e50bd21975c61db371c5b2d0afc0339398fc79ad29ee34a2b70c0c9306739f65aeaea4d8801644a01fa566288bc2bd377767eaa85ac24e52c0a264120edc0ac9ff15cb6ab86b0125176d31edac72f9c7e9b761f43e6d43f982a1240929c547069ce2f97bb9bb90bfd6eb2c181815b053a2f2e60c5bc257fbfe2999d638b6a0211f68d5c91fc1f8016951902829483743a7bc8cb719f223ef36f07e60da7af899f86281202fd3957b97b2cf831ecd63e269de3c578bf1c19ca914f7ec1dab09988dad1560f66c77ef89214f89241061935f35f9f95d3abde41ffb615e16a1ea333f0bb8f8a93da5db42530d4d45a01df446b554d1398846637be7e9815c0fd4bd26cfeaa6a32c40a3609b294ac9d5cd5a30131d722461c10ca380267cdfc34a17711753d6472d5e41df5d1802e0e9a84f39f1eba0d22f11eb035cbcaa3a696ccab6aa451e572a713c700f97d5bc628197cbb18a1533c523c13e4ca4baf864d0eecf8639663c73eaae3f4e315d13449a2321082f0aa070b325de12d11c3773fd89aabf1804de1e03da053daf5efcd7f837a738de5eb6df33443f58326abe8f2a3470c1074cde1aef5ade27c6a25918ba6fbe5be514c759034e7586a885edcc6c06e47dd19f51b9618084275af40b5a4bd67f26663a208e14cee22b9dad5273291cab38a92b78d5d707152feb0ea7494cd853b5efd919445575326da30b7b984ce9ad4e7959ef55aeddcd633ea72075bf78399b10b7b9c97a029447a4383bb0ef4e1680f7a974142098b8bfe5f33c72333350c5ed50b943c0f1f82ad717d095099802f793f2072e7bb54470c54d625dad4726b5a45c56d5f1f8122e22e6ed2b53c93a770bd26e545069429ca9ce5260c1c10ce6d29c890481c96eb8f70440a310cf239fdee8a39d9199c57a4173a1330ced4845f0839951125169792af5f1eb385c6d76cd819f9f92d577e78cd6396e1c0853caeb0a70f7bfd9b3064489ef5a6564cada5d8a9ab9aee1b7bcfe6fa95c29c3f150841154c98c8b90d8fb5be8373ec5dfb21198d4b38c00eaa407a326c659251f1129aca71a66939155fa7a52eaa93e893cc42f0911ff6842670c6a3dcaf85d15b727d07db6efa7aef9a2dbdf3c9afdeb2ba9018e2871734c07cb9f9cf157d8cc44d1e3c35c934bb8f5277e0acbfa749feb82174b1629194f4548190127696feda9de515402ec1266a58f07f7793ffec4d03169897d7f7be4625ecf4f2532b021dd8342fa5d5b31574b05b8b2e1b1926a4f45cb5ef1d7a5f0f2d2faf46ab7abe387d0baf211e326c6ab1739d489e1e6e5ea45ba1094544cad71b389b5a42aa94c721a302a01b5e4f1f1210a5528ab3f2c6e3aa70cf4ead289c95da9d57a662ea6ca94baf3c0d16803f709ec44fe1c4ee00397fbb975b9c8287ba7488a3d2633e1a36910baff50b706e240ce1da97fc12a013d657d4010febca0781506e1ca13b962bd7b45bb94c6565e1249f191eff8828e93d93dd7f134f0ece8715e6aa8df17e0b916e1d559d6e2703a87aa715c96f923994f6689f8923ef8cba32d1af3fdeec1775b99e59b3566909b465f716671b9f959c587e334313d7b55591b3fb03f15c3ff7f62333b0b438c40c363e59ef5c04a1812c3349b5e768c462c18a0c776a4133bcb44b50b2c5fac36cf34bd36dab7b53b4edb199738e8de1e4681756f180553916e8e384aa5accaaf27eeee5d93b2019fa2211f9fcbcd821c16b684abrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython310-documentation-3.10.20-150400.4.107.1.src.rpmpython310-doc-devhelppython310-doc-devhelp(aarch-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3iZ@iq@i@i+@i+@ii@ip@io@iCiCi@hhth@h@he@hFh/h(z@h?g@g@g@gPD@g5@g4g(@g$g6f5f@fըf@fafIf@ffz@f"\fere!@eZe؈eԔ@ee4@dd˖d@dD@d ddJcdJcd@c>@c@cӼcck@cc@cRcOc'@cb@bbnb?bb@bzSbs@b?@b<]@b@b a@a@a@a@aX@a@aa@af@a\>@a,@a(a @a` @` @`g@``r```@`N@`/@`"y@`!'`_T__԰_ _v@_u@_P_|\@_m_O@_N7_>e__@__A@___ @_X@_X@_X@_X@_X@_X@_X@_X@_X@^z^z^z^z^)@^^^^@^(@^3^@^'@^H^|@^h^`^>^>^8 @^8 @^ P@^[]f@]f@]]]]W]]c@]]]z@](]]]@]V]w@]i]g@]W@]Ik]6]!]G@\\9\~\@\\@\7\+@\\s\b@\b@\Q\C@\4\4\,\2\\\\&@[[@[^[ @[ͻ[ͻ[$@[ā@[/[[@["@[D[;e@[6@[4ZnZ@Z@ZZԐ@Zx@Z@Z Z Z Zz@ZxG@Zhu@Z`@ZLZ"Z }YYX@Yo@YY@YY@Y@YP@YI@XӸXƉXqX@Xv@W@V@Vm@VVhVCV }@U@U@U@U@UU[%UT@UT@UCjU@TeTBV@T;mcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eudaniel.garcia@suse.comdaniel.garcia@suse.comdimstar@opensuse.orgmcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eubwiedemann@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eupmonreal@suse.commcepl@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comkukuk@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.comdmueller@suse.commcepl@suse.comcoolo@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdavid.anes@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.deschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdmueller@suse.comdcermak@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.decallumjfarmer13@gmail.commcepl@suse.comcallumjfarmer13@gmail.comcallumjfarmer13@gmail.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comdmueller@suse.comandreas.stieger@gmx.decallumjfarmer13@gmail.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commliska@suse.czmcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.demcepl@suse.commcepl@suse.commgorse@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.combwiedemann@suse.comtchvatal@suse.commcepl@suse.comguillaume.gardet@opensuse.orgjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commliska@suse.czmcepl@suse.commcepl@suse.commcepl@suse.comjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtoddrme2178@gmail.commcepl@suse.comjengelh@inai.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commimi.vx@gmail.comhpj@urpla.netjengelh@inai.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.comadam@mizerski.plschwab@suse.debwiedemann@suse.comtchvatal@suse.comtchvatal@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comdimstar@opensuse.orgmimi.vx@gmail.comjmatejek@suse.comdmueller@suse.comvcizek@suse.comjengelh@inai.deschwab@suse.dejmatejek@suse.comkukuk@suse.dejmatejek@suse.comjmatejek@suse.comasn@cryptomilk.orgjmatejek@suse.comjmatejek@suse.combwiedemann@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comschwab@suse.detoddrme2178@gmail.comarichardson.kde@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comdimstar@opensuse.orgjmatejek@suse.comfisiu@opensuse.orgdimstar@opensuse.orgmeissner@suse.comschwab@suse.dejmatejek@suse.comjmatejek@suse.commailaender@opensuse.orgrguenther@suse.comp.drouand@gmail.comcrrodriguez@opensuse.orgjmatejek@suse.com- Add CVE-2026-3479-pkgutil_get_data.patch pkgutil.get_data() has the same security model as open(). The documented limitations ensure compatibility with non-filesystem loaders; Python doesn't check that. (bsc#1259989, CVE-2026-3479, gh#python/cpython#146121).- Add CVE-2026-4519-webbrowser-open-dashes.patch to reject leading dashes in webbrowser URLs (bsc#1260026, CVE-2026-4519, gh#python/cpython#143930).- Add CVE-2025-13462-tarinfo-header-parse.patch which skips TarInfo DIRTYPE normalization during GNU long name handling (bsc#1259611, CVE-2025-13462).- Add CVE-2026-4224-expat-unbound-C-recursion.patch avoiding unbound C recursion in conv_content_model in pyexpat.c (bsc#1259735, CVE-2026-4224).- Add CVE-2026-3644-cookies-Morsel-update-II.patch to reject control characters in http.cookies.Morsel.update() and http.cookies.BaseCookie.js_output (bsc#1259734, CVE-2026-3644).- Fix changelog- Add CVE-2026-2297-SourcelessFileLoader-io_open_code.patch ensuring that `SourcelessFileLoader` uses `io.open_code` when opening `.pyc` files (bsc#1259240, CVE-2026-2297).- Update to 3.10.20: - Security - gh-144125: BytesGenerator will now refuse to serialize (write) headers that are unsafely folded or delimited; see verify_generated_headers. (Contributed by Bas Bloemsaat and Petr Viktorin in gh-121650) (bsc#1257181, CVE-2026-1299). - gh-143935: Fixed a bug in the folding of comments when flattening an email message using a modern email policy. Comments consisting of a very long sequence of non-foldable characters could trigger a forced line wrap that omitted the required leading space on the continuation line, causing the remainder of the comment to be interpreted as a new header field. This enabled header injection with carefully crafted inputs (bsc#1257029 CVE-2025-11468). - gh-143925: Reject control characters in data: URL media types. - gh-143919: Reject control characters in http.cookies.Morsel fields and values (bsc#1257031, CVE-2026-0672). - gh-143916: Reject C0 control characters within wsgiref.headers.Headers fields, values, and parameters (bsc#1257042, CVE-2026-0865). - gh-142145: Remove quadratic behavior in xml.minidom node ID cache clearing. In order to do this without breaking existing users, we also add the ownerDocument attribute to xml.dom.minidom elements and attributes created by directly instantiating the Element or Attr class. Note that this way of creating nodes is not supported; creator functions like xml.dom.Document.documentElement() should be used instead (bsc#1254997, CVE-2025-12084). - gh-137836: Add support of the “plaintext” element, RAWTEXT elements “xmp”, “iframe”, “noembed” and “noframes”, and optionally RAWTEXT element “noscript” in html.parser.HTMLParser. - gh-136063: email.message: ensure linear complexity for legacy HTTP parameters parsing. Patch by Bénédikt Tran. - gh-136065: Fix quadratic complexity in os.path.expandvars() (bsc#1252974, CVE-2025-6075). - gh-119451: Fix a potential memory denial of service in the http.client module. When connecting to a malicious server, it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError, swapping, out of memory (OOM) killed processes or containers, or even system crashes (CVE-2025-13836, bsc#1254400). - gh-119452: Fix a potential memory denial of service in the http.server module. When a malicious user is connected to the CGI server on Windows, it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError, swapping, out of memory (OOM) killed processes or containers, or even system crashes. - gh-119342: Fix a potential memory denial of service in the plistlib module. When reading a Plist file received from untrusted source, it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError, swapping, out of memory (OOM) killed processes or containers, or even system crashes (bsc#1254401, CVE-2025-13837). - Library - gh-144833: Fixed a use-after-free in ssl when SSL_new() returns NULL in newPySSLSocket(). The error was reported via a dangling pointer after the object had already been freed. - gh-144363: Update bundled libexpat to 2.7.4 - gh-90949: Add SetAllocTrackerActivationThreshold() and SetAllocTrackerMaximumAmplification() to xmlparser objects to prevent use of disproportional amounts of dynamic memory from within an Expat parser. Patch by Bénédikt Tran. - Core and Builtins - gh-120384: Fix an array out of bounds crash in list_ass_subscript, which could be invoked via some specificly tailored input: including concurrent modification of a list object, where one thread assigns a slice and another clears it. - gh-120298: Fix use-after free in list_richcompare_impl which can be invoked via some specificly tailored evil input. - Remove upstreamed patches: - CVE-2025-11468-email-hdr-fold-comment.patch - CVE-2025-12084-minidom-quad-search.patch - CVE-2025-13836-http-resp-cont-len.patch - CVE-2025-13837-plistlib-mailicious-length.patch - CVE-2025-6075-expandvars-perf-degrad.patch - CVE-2026-0672-http-hdr-inject-cookie-Morsel.patch - CVE-2026-0865-wsgiref-ctrl-chars.patch- CVE-2025-11468: preserving parens when folding comments in email headers (bsc#1257029, gh#python/cpython#143935). CVE-2025-11468-email-hdr-fold-comment.patch - CVE-2026-0672: rejects control characters in http cookies. (bsc#1257031, gh#python/cpython#143919) CVE-2026-0672-http-hdr-inject-cookie-Morsel.patch - CVE-2026-0865: rejecting control characters in wsgiref.headers.Headers, which could be abused for injecting false HTTP headers. (bsc#1257042, gh#python/cpython#143916) CVE-2026-0865-wsgiref-ctrl-chars.patch - CVE-2025-15366: basically the same as the previous patch for IMAP protocol. (bsc#1257044, gh#python/cpython#143921) CVE-2025-15366-imap-ctrl-chars.patch - CVE-2025-15282: basically the same as the previous patch for urllib library. (bsc#1257046, gh#python/cpython#143925) CVE-2025-15282-urllib-ctrl-chars.patch - CVE-2025-15367: basically the same as the previous patch for poplib library. (bsc#1257041, gh#python/cpython#143923) CVE-2025-15367-poplib-ctrl-chars.patch- Add CVE-2025-13836-http-resp-cont-len.patch (bsc#1254400, CVE-2025-13836) to prevent reading an HTTP response from a server, if no read amount is specified, with using Content-Length per default as the length. - Add CVE-2025-12084-minidom-quad-search.patch prevent quadratic behavior in node ID cache clearing (CVE-2025-12084, bsc#1254997). - Add CVE-2025-13837-plistlib-mailicious-length.patch protect against OOM when loading malicious content (CVE-2025-13837, bsc#1254401).- Add CVE-2025-13836-http-resp-cont-len.patch (bsc#1254400, CVE-2025-13836) to prevent reading an HTTP response from a server, if no read amount is specified, with using Content-Length per default as the length.- Add CVE-2025-6075-expandvars-perf-degrad.patch avoid simple quadratic complexity vulnerabilities of os.path.expandvars() (CVE-2025-6075, bsc#1252974).- Update to 3.10.19: - Security - gh-139700: Check consistency of the zip64 end of central directory record. Support records with “zip64 extensible data” if there are no bytes prepended to the ZIP file (CVE-2025-8291, bsc#1251305). - gh-139400: xml.parsers.expat: Make sure that parent Expat parsers are only garbage-collected once they are no longer referenced by subparsers created by ExternalEntityParserCreate(). Patch by Sebastian Pipping. - gh-135661: Fix parsing start and end tags in html.parser.HTMLParser according to the HTML5 standard. * Whitespaces no longer accepted between does not end the script section. * Vertical tabulation (\v) and non-ASCII whitespaces no longer recognized as whitespaces. The only whitespaces are \t\n\r\f and space. * Null character (U+0000) no longer ends the tag name. * Attributes and slashes after the tag name in end tags are now ignored, instead of terminating after the first > in quoted attribute value. E.g. . * Multiple slashes and whitespaces between the last attribute and closing > are now ignored in both start and end tags. E.g. . * Multiple = between attribute name and value are no longer collapsed. E.g. produces attribute “foo” with value “=bar”. - gh-135661: Fix CDATA section parsing in html.parser.HTMLParser according to the HTML5 standard: ] ]> and ]] > no longer end the CDATA section. Add private method _set_support_cdata() which can be used to specify how to parse <[CDATA[ — as a CDATA section in foreign content (SVG or MathML) or as a bogus comment in the HTML namespace. - gh-102555: Fix comment parsing in html.parser.HTMLParser according to the HTML5 standard. --!> now ends the comment. -- > no longer ends the comment. Support abnormally ended empty comments <--> and <--->. - gh-135462: Fix quadratic complexity in processing specially crafted input in html.parser.HTMLParser. End-of-file errors are now handled according to the HTML5 specs – comments and declarations are automatically closed, tags are ignored. - gh-118350: Fix support of escapable raw text mode (elements “textarea” and “title”) in html.parser.HTMLParser. - gh-86155: html.parser.HTMLParser.close() no longer loses data when the