hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Ë
Añúhr
ã
óþ—dZddlZddlZddlZddlZddlmZmZmZm    Z    ddl
m Z Gd„de«Z de d    ee fd
„Zejd e d    ee fd „«Zd e    e d    ee fd„Zedk(r–ddlZej(«Zej-d«sJd«‚ede«edeej0««edd¬«eej2ddej5dd«d««D] Zeed¬«Œyy)zPEP 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Ú
NamedTupleÚOptionalÚSequenceé)ÚELFFilecó"—eZdZUeed<eed<y)Ú _MuslVersionÚmajorÚminorN)Ú__name__Ú
__module__Ú __qualname__ÚintÚ__annotations__©óúiH:\Change_password\venv_build\Lib\site-packages\setuptools/_vendor/wheel/vendored/packaging/_musllinux.pyr
r
s …Ø ƒJØ „Jrr
ÚoutputÚreturncó@—d„|j«D«Dcgc]}|sŒ|‘Œ    }}t|«dks |ddddk7rytjd|d«}|syt    t |j d««t |j d««¬«Scc}w)    Nc3ó<K—|]}|j«–—Œy­w)N)Ústrip)Ú.0Úns  rú    <genexpr>z&_parse_musl_version.<locals>.<genexpr>sèø€Ò@ q˜Ÿ™ŸÑ@ùs‚éréÚmuslzVersion (\d+)\.(\d+)r)r r )Ú
splitlinesÚlenÚreÚmatchr
rÚgroup)rrÚlinesÚms    rÚ_parse_musl_versionr'sŠ€Ù@¨F×,=Ñ,=Ó,?Ô@Ö F1ÂAŠQÐ F€EÐ FÜ
ˆ5ƒzA‚~˜˜q™ " 1˜¨Ò/ØÜ
‰Ð(¨%°©(Ó3€AÙ ØÜ œc !§'¡'¨!£*›o´S¸¿¹À»³_Ô EÐEùò Gs
šB¢BÚ
executablecó*—    t|d«5}t|«j}ddd«d|vryt j|gt jd¬«}t|j«S#1swYŒLxYw#ttt
f$rYywxYw)a`Detect 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
    ÚrbNrT)ÚstderrÚtext) ÚopenrÚ interpreterÚOSErrorÚ    TypeErrorÚ
ValueErrorÚ
subprocessÚrunÚPIPEr'r+)r(ÚfÚldÚprocs    rÚ_get_musl_versionr8s‡€ðÜ *˜dÓ #ð    ( qܘ“×'Ñ'ˆB÷    (ð
€zV 2Ñ%ØÜ >‰>˜2˜$¤z§¡¸TÔ B€DÜ ˜tŸ{™{Ó +Ð+÷    (ð    (ûä ”Y¤
Ð +òÙðús'‚ A;ŽA/¤A;Á/A8Á4A;Á;BÂBÚarchsc#ó¸K—ttj«}|€y|D]5}t|jdd«D]}d|j
›d|›d|›–—ŒŒ7y­w)aÆGenerate musllinux tags compatible to the current platform.
 
    :param archs: Sequence of compatible architectures.
        The first one shall be the closest to the actual architecture and 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_Ú_)r8Úsysr(Úranger r )r9Úsys_muslÚarchr s    rÚ platform_tagsrB6shèø€ô!¤§¡Ó0€HØÐØØò?ˆÜ˜8Ÿ>™>¨2¨rÓ2ò    ?ˆEؘxŸ~™~Ð.¨a°¨w°a¸°vÐ>Ó >ñ    ?ñ?ùs‚AAÚ__main__zlinux-z    not linuxzplat:zmusl:ztags:ú )Úendz[.-]r=ú-r;z
      )Ú__doc__Ú    functoolsr"r2r>ÚtypingrrrrÚ_elffilerr
Ústrr'Ú    lru_cacher8rBr Ú    sysconfigÚ get_platformÚplatÚ
startswithÚprintr(ÚsubÚsplitÚtrrrú<module>rUs.ðñó Û    ÛÛ
ß;Ó;åô:ôð
F ðF¨°Ñ(>óFð ×Ñð, #ð,¨(°<Ñ*@ò,óð,ð,?˜ #™ð?¨8°C©=ó?ð& ˆzÒÛà !ˆ9× !Ñ !Ó #€DØ ?‰?˜8Ô $Ð1 kÓ1Ð $á    ˆ'4ÔÙ    ˆ'Ñ$ S§^¡^Ó4Ô5Ù    ˆ'sÕÙ ˜6˜2Ÿ6™6 '¨3°·
±
¸3ÀÓ0BÀ2Ñ0FÓGÓ Hò!ˆÙ ˆaZÖ ñ!ðr