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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Ë
ñúhããóî—dZddlmZddgZddlmZmZddlmZddl    m
Z
ddl m Z dd    l mZdd
lmZmZdd lmZdd lmZmZdd lmZmZmZddlmZddlmZmZm Z Gd„de!«Z"dd„Z#Gd„d«Z$y)zLazy ZIP over HTTPé)Ú annotationsÚHTTPRangeRequestUnsupportedÚdist_from_wheel_url)Ú bisect_leftÚ bisect_right)Ú    Generator)Úcontextmanager)ÚNamedTemporaryFile)ÚAny)Ú
BadZipFileÚZipFile)Úcanonicalize_name)ÚCONTENT_CHUNK_SIZEÚResponse)ÚBaseDistributionÚ MemoryWheelÚget_wheel_distribution)Ú
PipSession)ÚHEADERSÚraise_for_statusÚresponse_chunkscó —eZdZy)rN)Ú__name__Ú
__module__Ú __qualname__©óúSH:\Change_password\venv_build\Lib\site-packages\pip/_internal/network/lazy_wheel.pyrrs„Ørcóœ—t||«5}t|j|«}t|t    |««cddd«S#1swYyxYw)aReturn a distribution object from the given wheel URL.
 
    This uses HTTP range requests to only fetch the portion of the wheel
    containing metadata, just enough for the object to be constructed.
    If such requests are not supported, HTTPRangeRequestUnsupported
    is raised.
    N)ÚLazyZipOverHTTPrÚnamerr)r!ÚurlÚsessionÚzfÚwheels     rrrsM€ô
˜˜gÓ    &ðF¨"ô˜BŸG™G RÓ(ˆô& eÔ->¸tÓ-DÓE÷ F÷FòFús +AÁA có—eZdZdZef                            dd„Zedd„«Zedd„«Zdd„Z    dd„Z
edd„«Z ddd„Z dd    „Z ddd
„Zdd „Zdd d „Zdd„Zd!d„Zd"d„Zed#d„«Zdd„Zef                            d$d„Z                                        d%d„Zd&d„Zy )'r aFile-like object mapped to a ZIP file over HTTP.
 
    This uses HTTP range requests to lazily fetch the file's content,
    which is supposed to be fed to ZipFile.  If such requests are not
    supported by the server, raise HTTPRangeRequestUnsupported
    during initialization.
    có²—|j|t¬«}t|«|jdk(sJ‚|||c|_|_|_t|jd«|_    t«|_ |j|j«g|_ g|_d|jjdd«vr t!d«‚|j#«y)N)ÚheaderséÈzContent-LengthÚbytesz Accept-RangesÚnonezrange request is not supported)ÚheadrrÚ status_codeÚ_sessionÚ_urlÚ _chunk_sizeÚintr(Ú_lengthr
Ú_fileÚtruncateÚ_leftÚ_rightÚgetrÚ
_check_zip)Úselfr"r#Ú
chunk_sizer,s     rÚ__init__zLazyZipOverHTTP.__init__4s¶€ð|‰|˜C¬ˆ|Ó1ˆÜ˜ÔØ×Ñ 3Ò&Ð&Ð&Ø5<¸cÀ:Ð2ˆŒ t”y $Ô"2ܘ4Ÿ<™<Ð(8Ñ9Ó:ˆŒ Ü'Ó)ˆŒ
Ø  ‰ d—l‘lÔ#Ø "ˆŒ
Ø!#ˆŒ Ø ˜$Ÿ,™,×*Ñ*¨?¸FÓCÑ CÜ-Ð.NÓOÐ OØ ‰Õrcó—y)z!Opening mode, which is always rb.Úrbr©r9s rÚmodezLazyZipOverHTTP.modeDs€ðrcó.—|jjS)zPath to the underlying file.)r3r!r>s rr!zLazyZipOverHTTP.nameIs€ðz‰z‰Ðrcó—y)z9Return whether random access is supported, which is True.Trr>s rÚseekablezLazyZipOverHTTP.seekableNó€àrcó8—|jj«y)zClose the file.N)r3Úcloser>s rrEzLazyZipOverHTTP.closeRs€à 
‰
×ÑÕrcó.—|jjS)zWhether the file is closed.)r3Úclosedr>s rrGzLazyZipOverHTTP.closedVs€ðz‰zנѠРrcó—t||j«}|j«|j}}|dkr|nt    ||z|«}td||z
«}|j ||dz
«|j j|«S)zäRead up to size bytes from the object and return them.
 
        As a convenience, if size is unspecified or -1,
        all bytes until EOF are returned.  Fewer than
        size bytes may be returned if EOF is reached.
        ré)Úmaxr0Útellr2ÚminÚ    _downloadr3Úread)r9ÚsizeÚ download_sizeÚstartÚlengthÚstops      rrNzLazyZipOverHTTP.read[sx€ô˜D $×"2Ñ"2Ó3ˆ ØŸ    ™    ›  T§\¡\ˆvˆØ š‰v¤s¨5°=Ñ+@À&Ó'IˆÜAt˜mÑ+Ó,ˆØ ‰u˜d Q™hÔ'؏z‰z‰˜tÓ$Ð$rcó—y)z3Return whether the file is readable, which is True.Trr>s rÚreadablezLazyZipOverHTTP.readableirCrcó:—|jj||«S)a-Change stream position and return the new absolute position.
 
        Seek to offset relative position indicated by whence:
        * 0: Start of stream (the default).  pos should be >= 0;
        * 1: Current position - pos may be negative;
        * 2: End of stream - pos usually negative.
        )r3Úseek)r9ÚoffsetÚwhences   rrWzLazyZipOverHTTP.seekms€ðz‰z‰˜v vÓ.Ð.rcó6—|jj«S)zReturn the current position.)r3rKr>s rrKzLazyZipOverHTTP.tellws€àz‰z‰Ó Ð rNcó8—|jj|«S)zÌResize the stream to the given size in bytes.
 
        If size is unspecified resize to the current position.
        The current stream position isn't changed.
 
        Return the new file size.
        )r3r4)r9rOs  rr4zLazyZipOverHTTP.truncate{s€ðz‰z×"Ñ" 4Ó(Ð(rcó—y)z Return False.Frr>s rÚwritablezLazyZipOverHTTP.writable…s€àrcó:—|jj«|S©N)r3Ú    __enter__r>s rr`zLazyZipOverHTTP.__enter__‰s€Ø 
‰
×ÑÔØˆ rcó6—|jj|Žyr_)r3Ú__exit__)r9Úexcs  rrbzLazyZipOverHTTP.__exit__s€Øˆ
‰
×јSÒ!rc#ó„K—|j«}    d–—|j|«y#|j|«wxYw­w)zyReturn a context manager keeping the position.
 
        At the end of the block, seek back to original position.
        N)rKrW)r9Úposs  rÚ_stayzLazyZipOverHTTP._stays1èø€ð i‰i‹kˆð    Û à I‰IcNøˆDI‰IcNüs‚A”*˜Aª=½Acó(—|jdz
}ttd||j««D];}|j    ||«|j «5    t |«    ddd«yy#t$rYnwxYw    ddd«ŒX#1swYŒaxYw)z1Check and download until the file is a valid ZIP.rIrN)r2ÚreversedÚranger0rMrfr r )r9ÚendrQs   rr8zLazyZipOverHTTP._check_zipœs“€àl‰l˜Qшܜe A s¨D×,<Ñ,<Ó=Ó>ò
    ˆEØ N‰N˜5 #Ô &Ø—‘“ñ ðô˜D”Mð÷ ñ ñ
    øô"òÙðúØ÷  ÷ ñ ús0ÁBÁ A/Á"BÁ/    A;Á8BÁ:A;Á;BÂB    có’—|j«}d|›d|›|d<d|d<|jj|j|d¬«S)z:Return HTTP response to a range request from start to end.zbytes=ú-ÚRangezno-cachez Cache-ControlT)r(Ústream)Úcopyr.r7r/)r9rQrjÚ base_headersr(s     rÚ_stream_responsez LazyZipOverHTTP._stream_response«sS€ð×#Ñ#Ó%ˆØ# E 7¨!¨C¨5Ð1ˆÑà#-ˆÑ Ø}‰}× Ñ  §¡°GÀDРÓIÐIrc#ó:K—|j|||j||}}t|g|ddz«x}}t|g|ddz«}t    ||«D]\}}    ||kDr    ||dz
f–—|    dz}Œ||kr||f–—|g|gc|j|||j||y­w)a/Return a generator of intervals to be fetched.
 
        Args:
            start (int): Start of needed interval
            end (int): End of needed interval
            left (int): Index of first overlapping downloaded data
            right (int): Index after last overlapping downloaded data
        NrIéÿÿÿÿ)r5r6rLrJÚzip)
r9rQrjÚleftÚrightÚlsliceÚrsliceÚiÚjÚks
          rÚ_mergezLazyZipOverHTTP._mergeµsÉèø€ðŸ™ D¨Ð/°·±¸TÀ%Ð1HˆÜ˜˜ &¨¨! *Ñ,Ó-Ð-ˆˆEܐ3%˜&  ˜+Ñ%Ó&ˆÜ˜ Ó'ò    ‰DˆAˆqؐ1Šuؘ˜Q™h’ؐA‘‰Að    ð Š8ؐS&ŠLØ;@¸'ÀCÀ5Ð7ˆ
‰
4˜Ð § ¡ ¨D°Ñ 7ùs‚BBcó²—|j«5t|j|«}t|j|«}|j ||||«D]n\}}|j ||«}|j«|j|«t||j«D]}|jj|«ŒŒp    ddd«y#1swYyxYw)z-Download bytes from start to end inclusively.N) rfrr6rr5r|rqrrWrr0r3Úwrite)r9rQrjrurvÚresponseÚchunks       rrMzLazyZipOverHTTP._downloadËsº€à Z‰Z‹\ñ    ,ܘtŸ{™{¨EÓ2ˆDÜ  §¡¨SÓ1ˆEØ"Ÿk™k¨%°°d¸EÓBò ,‘
sØ×0Ñ0°¸Ó<Ø×)Ñ)Ô+Ø—    ‘    ˜%Ô Ü,¨X°t×7GÑ7GÓHò,EØ—J‘J×$Ñ$ UÕ+ñ,ñ     ,÷    ,÷    ,ñ    ,ús ‘B2C à C)r"Ústrr#rr:r1ÚreturnÚNone)r‚r)r‚Úbool)r‚rƒ)rs)rOr1r‚r*)r)rXr1rYr1r‚r1)r‚r1r_)rOz
int | Noner‚r1)r‚r )rcr r‚rƒ)r‚zGenerator[None, None, None])rQr1rjr1rpzdict[str, str]r‚r)
rQr1rjr1rur1rvr1r‚z&Generator[tuple[int, int], None, None])rQr1rjr1r‚rƒ)rrrÚ__doc__rr;Úpropertyr?r!rBrErGrNrUrWrKr4r]r`rbr    rfr8rrqr|rMrrrr r +s#„ñð@RðØðØ!+ðØ9<ðà     óð òóððòóðóóðò!óð!ô %óô/ó!ô)óóó"ðò    óð    ó ð DKðJØðJØ"ðJØ2@ðJà    óJðIØðIØ"ðIØ*-ðIØ69ðIà    /óIô,
,rr N)r!rr"rr#rr‚r)%r…Ú
__future__rÚ__all__ÚbisectrrÚcollections.abcrÚ
contextlibr    Útempfiler
Útypingr Úzipfiler r Úpip._vendor.packaging.utilsrÚpip._vendor.requests.modelsrrÚpip._internal.metadatarrrÚpip._internal.network.sessionrÚpip._internal.network.utilsrrrÚ    Exceptionrrr rrrú<module>r•s[ðÙå"à (Ð*?Ð
@€ç,Ý%Ý%Ý'Ýß'å9ßDçXÑXÝ4ßRÑRô     )ô    óF÷"j,òj,r