hyb
2026-01-30 15bc7727b58bf9ca0c8f21702fa893daac232b8d
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
54
55
Ë
Jñúh†
ã
óÖ—dZddlmZddlZddlZddlZddlZddlmZm    Z    m
Z
ddl m Z Gd„de    «Z dd    „Zejdd
„«Zdd „Zed k(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.
é)Ú annotationsN)ÚIteratorÚ
NamedTupleÚSequenceé)ÚELFFilecó"—eZdZUded<ded<y)Ú _MuslVersionÚintÚmajorÚminorN)Ú__name__Ú
__module__Ú __qualname__Ú__annotations__©óúGH:\Change_password\venv_build\Lib\site-packages\packaging/_musllinux.pyr
r
s …Ø ƒJØ „Jrr
có@—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)ÚoutputrÚ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¢Bcó*—    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))Ú
executableÚfÚldÚprocs    rÚ_get_musl_versionr7!s‡€ðÜ *˜dÓ #ð    ( qܘ“×'Ñ'ˆB÷    (ð
€zV 2Ñ%ØÜ >‰>˜2˜$¤z§¡¸TÔ B€DÜ ˜tŸ{™{Ó +Ð+÷    (ð    (ûä ”Y¤
Ð +òÙðús'‚ A;ŽA/¤A;Á/A8Á4A;Á;BÂBc#ó¸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_Ú_)r7Úsysr3Úranger r )ÚarchsÚsys_muslÚarchr s    rÚ platform_tagsrA8shèø€ô!¤§¡Ó0€HØÐØØò?ˆÜ˜8Ÿ>™>¨2¨rÓ2ò    ?ˆEؘxŸ~™~Ð.¨a°¨w°a¸°vÐ>Ó >ñ    ?ñ?ùs‚AAÚ__main__zlinux-z    not linuxzplat:zmusl:ztags:ú )Úendz[.-]r;ú-r9z
      )r#ÚstrÚreturnú_MuslVersion | None)r3rFrGrH)r>z Sequence[str]rGz Iterator[str])Ú__doc__Ú
__future__rÚ    functoolsr r0r<ÚtypingrrrÚ_elffilerr
r&Ú    lru_cacher7rArÚ    sysconfigÚ get_platformÚplatÚ
startswithÚprintr3ÚsubÚsplitÚtrrrú<module>rWsóðñõ #ãÛ    ÛÛ
ß1Ñ1åô:ôó
Fð ×Ñò,óð,ó,?ð& ˆ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