a0bi SrSSKrSSKrSSKrSSKrSSKJrJrJr SSK J r "SS\5r S\ S \\ 4S jr \R"5S \ S \\ 4S j5rS \ S \\ 4Sjr\S:XaSSKr\R&"5r\R+S5(dS5e\"S\5 \"S\"\R.55 \"SSS9 \"\R0"SS\R3SS5S55H r\"\SS9 M gg)zPEP 656 support. This module implements logic to detect if the currently running Python is linked against musl, and what musl version is used. N)Iterator NamedTupleOptional)ELFFilec*\rSrSr%\\S'\\S'Srg) _MuslVersionmajorminorN)__name__ __module__ __qualname____firstlineno__int__annotations____static_attributes__r ڠ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/_vendor/packaging/_musllinux.pyr r s J Jrr outputreturncZSUR55Vs/sH o(dM UPM nn[U5S:d USSSS:wag[R"SUS5nU(dg[ [ UR S55[ UR S55S9$s snf) Nc3@# UHoR5v M g7f)N)strip).0ns r &_parse_musl_version..s@,?q,?srmuslzVersion (\d+)\.(\d+)r)r r ) splitlineslenrematchr rgroup)rrlinesms r_parse_musl_versionr*s@F,=,=,?@ F@1AQ@E F 5zA~q"1/ (%(3A  c!''!*oS_ EE Gs B(B( executablec8[US5n[U5RnSSS5 WbSU;ag[ R"U/[ RSS9n[UR5$!,(df  NR=f![[[ 4a gf=f)aDDetect currently-running musl runtime version. This is done by checking the specified executable's dynamic linking information, and invoking the loader to parse its output for a version string. If the loader is musl, the output would be something like:: musl libc (x86_64) Version 1.2.2 Dynamic Program Loader rbNr"T)stderruniversal_newlines) openr interpreterOSError TypeError ValueError subprocessrunPIPEr*r.)r+fldprocs r_get_musl_versionr;s *d #q''B$ zV2% >>2$z4 PD t{{ ++$ # Y +s- BA0B0 A>:B>BBBarchc## [[R5nUcg[URSS5HnSUR SUSU3v M g7f)a@Generate musllinux tags compatible to the current platform. :param arch: Should be the part of platform tag after the ``linux_`` prefix, e.g. ``x86_64``. The ``linux_`` prefix is assumed as a prerequisite for the current platform to be musllinux-compatible. :returns: An iterator of compatible musllinux tags. N musllinux__)r;sysr+ranger r )r<sys_muslr s r platform_tagsrD6sS!0Hx~~r2.8>>*!E7!D6::/sAA__main__zlinux-z not linuxzplat:zmusl:ztags: )endz[.-]r@-r>z )__doc__ functoolsr%r5rAtypingrrr_elffilerr strr* lru_cacher;rDr sysconfig get_platformplat startswithprintr+subsplittr rrrWs(   11: FF(>F ,#,(<*@,,, ; ; ;  z  ! ! #D ??8 $ $1k1 $ '4 '$S^^45 's 266'3 30B20FG H aZ Ir