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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Ë
ê^i»Dãó6—ddlmZddlZddlmZddlmZmZddlm    Z    ejrddlm Z ddl m Z Gd„d    e «Zd
d gZej d «Zej d «Zej d«Zej(d ej*eefej.eeefd    fZGd„de«Z                dd„ZGd„d
ej8eefej:eef«ZGd„deeeef«Z Gd„d ej:eef«Z!y)é)Ú annotationsN)Ú OrderedDict)ÚEnumÚauto)ÚRLock)ÚProtocol)ÚSelfcó—eZdZdd„Zdd„Zy)ÚHasGettableStringKeyscó—y©N©©Úselfs õgH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\urllib3/_collections.pyÚkeyszHasGettableStringKeys.keysóócó—yr r©rÚkeys  rÚ __getitem__z!HasGettableStringKeys.__getitem__rrN©Úreturnztyping.Iterator[str]©rÚstrrr)Ú__name__Ú
__module__Ú __qualname__rrrrrr r s„Û3ä3rr ÚRecentlyUsedContainerÚHTTPHeaderDictÚ_KTÚ_VTÚ_DTcó—eZdZe«Zy)Ú    _SentinelN)rrrrÚ
not_passedrrrr&r&'s    „Ù“Jrr&có¾—t|t«r|St|tj«r1tjtjt
t
f|«St|tj «r8tjtj tt
t
f|«St|d«r"t|d«rtjd|«Sy)Nrrr )    Ú
isinstancer!ÚtypingÚMappingÚcastrÚIterableÚtupleÚhasattr)Ú    potentials rÚ%ensure_can_construct_http_header_dictr1+sœ€ô)œ^Ô,ØÐÜ    IœvŸ~™~Ô    .ô{‰{œ6Ÿ>™>¬#¬s¨(Ñ3°YÓ?Ð?Ü    IœvŸ™Ô    /ô{‰{œ6Ÿ?™?¬5´´c°©?Ñ;¸YÓGÐGÜ    ˜FÔ    #¬°    ¸=Ô(I܏{‰{Ð2°IÓ>Ð>àrc󖇗eZdZUdZded<ded<ded<ded    <        d                    dˆfd
„ Zdd „Zdd „Zdd „Zdd„Z    dd„Z
dd„Z dd„Z ˆxZ S)r a‘
    Provides a thread-safe dict-like container which maintains up to
    ``maxsize`` keys while throwing away the least-recently-used keys beyond
    ``maxsize``.
 
    :param maxsize:
        Maximum number of recent elements to retain.
 
    :param dispose_func:
        Every time an item is evicted from the container,
        ``dispose_func(value)`` is called.  Callback which will get called
    ztyping.OrderedDict[_KT, _VT]Ú
_containerÚintÚ_maxsizeú#typing.Callable[[_VT], None] | NoneÚ dispose_funcrÚlockcóz•—t‰|«||_||_t    «|_t «|_yr )ÚsuperÚ__init__r5r7rr3rr8)rÚmaxsizer7Ú    __class__s   €rr;zRecentlyUsedContainer.__init__Rs1ø€ô
    ‰ÑÔØˆŒ Ø(ˆÔÜ%›-ˆŒÜ“Gˆ    rcóž—|j5|jj|«}||j|<|cddd«S#1swYyxYwr )r8r3Úpop)rrÚitems   rrz!RecentlyUsedContainer.__getitem__]sC€à Y‰Yñ    Ø—?‘?×&Ñ& sÓ+ˆDØ#'ˆDO‰O˜CÑ  Ø÷    ÷    ò    ús ,AÁA có¨—d}|j5    ||jj|«f}||j|<ddd«|$|jr|\}}|j|«yyy#t$rP||j|<t    |j«|j
kDr|jj d¬«}YŒ‡wxYw#1swYŒŒxYw)NF)Úlast)r8r3r?ÚKeyErrorÚlenr5Úpopitemr7)rrÚvalueÚ evicted_itemÚ_Ú evicted_values      rÚ __setitem__z!RecentlyUsedContainer.__setitem__ds؀؈ Ø Y‰Yñ    Gð Gð # D§O¡O×$7Ñ$7¸Ó$<Ð< Ø',—‘ Ñ$÷    Gð& Ð #¨×(9Ò(9Ø+Ñ ˆAˆ}Ø × Ñ ˜mÕ ,ð):Ð #øôò Gð(-—‘ Ñ$ܐt—‘Ó'¨$¯-©-Ò7ð$(§?¡?×#:Ñ#:ÀÐ#:Ó#FLùð Gú÷    Gð    Gús)C‘,A,Á,ACÃCÃCÃCÃCcó¸—|j5|jj|«}ddd«|jr|j«yy#1swYŒ(xYwr )r8r3r?r7)rrrFs   rÚ __delitem__z!RecentlyUsedContainer.__delitem__}sP€Ø Y‰Yñ    -Ø—O‘O×'Ñ'¨Ó,ˆE÷    -ð × Ò Ø × Ñ ˜eÕ $ð ÷    -ð    -ús AÁAcóp—|j5t|j«cddd«S#1swYyxYwr )r8rDr3rs rÚ__len__zRecentlyUsedContainer.__len__„s*€Ø Y‰Yñ    (ܐt—‘Ó'÷    (÷    (ò    (ús,¬5có—td«‚)Nz7Iteration over this class is unlikely to be threadsafe.)ÚNotImplementedErrorrs rÚ__iter__zRecentlyUsedContainer.__iter__ˆs€Ü!Ø Eó
ð    
rcó
—|j5t|jj««}|jj    «ddd«|j
rD]}|j |«Œyy#1swYŒ/xYwr )r8Úlistr3ÚvaluesÚclearr7)rrTrFs   rrUzRecentlyUsedContainer.clearsr€Ø Y‰Yñ    $ä˜$Ÿ/™/×0Ñ0Ó2Ó3ˆFØ O‰O× !Ñ !Ô #÷    $ð
× Ò Øò )Ø×!Ñ! %Õ(ñ )ð ÷     $ð    $ús >A9Á9BcóŒ—|j5t|jj««cddd«S#1swYyxYwr )r8Úsetr3rrs rrzRecentlyUsedContainer.keys—s3€Ø Y‰Yñ    /ܐt—‘×+Ñ+Ó-Ó.÷    /÷    /ò    /ús    #:ºA)é
N)r<r4r7r6rÚNone)rr"rr#)rr"rFr#rrY)rr"rrY©rr4)rztyping.NoReturn)rrY)rzset[_KT])rrrÚ__doc__Ú__annotations__r;rrJrLrNrQrUrÚ __classcell__©r=s@rr r ?slø…ñ ð-Ó,؃MØ5Ó5Ø
ƒKðØ<@ð    àð    ð:ð    ð
õ        óó-ó2%ó(ó
ó
)÷/rcó<—eZdZUdZded<d    d„Zd
d„Zd d„Zd d„Zy) ÚHTTPHeaderDictItemViewa
    HTTPHeaderDict is unusual for a Mapping[str, str] in that it has two modes of
    address.
 
    If we directly try to get an item with a particular name, we will get a string
    back that is the concatenated version of all the values:
 
    >>> d['X-Header-Name']
    'Value1, Value2, Value3'
 
    However, if we iterate over an HTTPHeaderDict's items, we will optionally combine
    these values based on whether combine=True was called when building up the dictionary
 
    >>> d = HTTPHeaderDict({"A": "1", "B": "foo"})
    >>> d.add("A", "2", combine=True)
    >>> d.add("B", "bar")
    >>> list(d.items())
    [
        ('A', '1, 2'),
        ('B', 'foo'),
        ('B', 'bar'),
    ]
 
    This class conforms to the interface required by the MutableMapping ABC while
    also giving us the nonstandard iteration behavior we want; items with duplicate
    keys, ordered by time of first insertion.
    r!Ú_headerscó—||_yr )ra)rÚheaderss  rr;zHTTPHeaderDictItemView.__init__»s    €Øˆ rcóZ—tt|jj«««Sr )rDrSraÚ    iteritemsrs rrNzHTTPHeaderDictItemView.__len__¾s€Ü”4˜Ÿ ™ ×/Ñ/Ó1Ó2Ó3Ð3rcó6—|jj«Sr )rarers rrQzHTTPHeaderDictItemView.__iter__Ás€Ø}‰}×&Ñ&Ó(Ð(rcó—t|t«rOt|«dk(rA|\}}t|t«r,t|t«r|jj ||«Sy)NéF)r)r.rDrraÚ_has_value_for_header)rr@Ú
passed_keyÚ
passed_vals    rÚ __contains__z#HTTPHeaderDictItemView.__contains__ÄsM€Ü dœEÔ "¤s¨4£y°A¢~Ø%)Ñ "ˆJ˜
ܘ*¤cÔ*¬z¸*ÄcÔ/JØ—}‘}×:Ñ:¸:ÀzÓRÐRØrN)rcr!rrYrZ©rz typing.Iterator[tuple[str, str]])r@ÚobjectrÚbool)    rrrr[r\r;rNrQrlrrrr`r`œs#…ñð8Óó ó4ó)ôrr`có|‡—eZdZUdZded<d!d"ˆfd„ Zd#d„Zd$d„Zd%d„Zd&d„Z    d'd(ˆfd    „ Z
d)d
„Z d)d „Z d*d „Z d+d „Zd%d„Zddœd,d„Zd-d„Zej&d.d„«Zej&d/d„«Zej,f                    d0d„Zd1d„ZeZeZeZeZd2d„Zd3d„Zd1d„Zd4d„Zd4d„Z d5d„Z!d6d„Z"d7d„Z#d8d„Z$d8d „Z%ˆxZ&S)9r!ap
    :param headers:
        An iterable of field-value pairs. Must not contain multiple field names
        when compared case-insensitively.
 
    :param kwargs:
        Additional field-value pairs to pass in to ``dict.update``.
 
    A ``dict`` like container for storing HTTP Headers.
 
    Field names are stored and compared case-insensitively in compliance with
    RFC 7230. Iteration provides the first case-sensitive key seen for each
    case-insensitive pair.
 
    Using ``__setitem__`` syntax overwrites fields that compare equal
    case-insensitively in order to maintain ``dict``'s api. For fields that
    compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add``
    in a loop.
 
    If multiple fields that are equal case-insensitively are passed to the
    constructor or ``.update``, the behavior is undefined and some will be
    lost.
 
    >>> headers = HTTPHeaderDict()
    >>> headers.add('Set-Cookie', 'foo=bar')
    >>> headers.add('set-cookie', 'baz=quxx')
    >>> headers['content-length'] = '7'
    >>> headers['SET-cookie']
    'foo=bar, baz=quxx'
    >>> headers['Content-Length']
    '7'
    z%typing.MutableMapping[str, list[str]]r3c ó•—t‰|«i|_|3t|t«r|j |«n|j |«|r|j |«yyr )r:r;r3r)r!Ú
_copy_fromÚextend)rrcÚkwargsr=s   €rr;zHTTPHeaderDict.__init__ðsQø€Ü ‰ÑÔØˆŒØ Рܘ'¤>Ô2Ø—‘ Õ(à— ‘ ˜GÔ$Ù Ø K‰K˜Õ ð rcó„—t|t«r|jd«}||g|j|j    «<y©Núlatin-1©r)ÚbytesÚdecoder3Úlower©rrÚvals   rrJzHTTPHeaderDict.__setitem__ûs2€ä cœ5Ô !Ø—*‘*˜YÓ'ˆCØ(+¨S zˆ‰˜Ÿ    ™    › Ò$rcó¦—t|t«r|jd«}|j|j    «}dj |dd«S)Nrwú, é)r)ryrzr3r{Újoinr|s   rrzHTTPHeaderDict.__getitem__sC€Ü cœ5Ô !Ø—*‘*˜YÓ'ˆC؏o‰o˜cŸi™i›kÑ*ˆØy‰y˜˜Q˜R˜Ó!Ð!rcó|—t|t«r|jd«}|j|j    «=yrvrxrs  rrLzHTTPHeaderDict.__delitem__s,€Ü cœ5Ô !Ø—*‘*˜YÓ'ˆCØ O‰O˜CŸI™I›KÑ (rcóž—t|t«r|jd«}t|t«r|j    «|j
vSy)NrwF)r)ryrzrr{r3rs  rrlzHTTPHeaderDict.__contains__ s<€Ü cœ5Ô !Ø—*‘*˜YÓ'ˆCÜ cœ3Ô Ø—9‘9“; $§/¡/Ð1Ð 1Ørcó$•—t‰|||«Sr )r:Ú
setdefault)rrÚdefaultr=s   €rr…zHTTPHeaderDict.setdefaultsø€Ü‰wÑ! # wÓ/Ð/rcó"—t|«}|€yt|«|«}|j«Dcic]\}}|j«|“Œc}}|j«Dcic]\}}|j«|“Œc}}k(Scc}}wcc}}w)NF)r1ÚtypeÚ
itermergedr{)rÚotherÚmaybe_constructableÚother_as_http_header_dictÚkÚvs      rÚ__eq__zHTTPHeaderDict.__eq__sŠ€ÜCÀEÓJÐØ Ð &Øà(2¬¨T«
Ð3FÓ(GÐ %à)-¯©Ó):×;¡  A—‘“    ˜1‘ Ó;Ø%>×%IÑ%IÓ%K÷@
Ù!˜Q ˆAG‰G‹Iq‰Ló@
ñ
ð    
ùÓ;ùó@
s ³BÁ$B có&—|j|« Sr )r)rrŠs  rÚ__ne__zHTTPHeaderDict.__ne__!s€Ø—;‘;˜uÓ%Ð%Ð%rcó,—t|j«Sr )rDr3rs rrNzHTTPHeaderDict.__len__$s€Ü4—?‘?Ó#Ð#rc#óXK—|jj«D]    }|d–—Œ y­w)Nr)r3rT)rÚvalss  rrQzHTTPHeaderDict.__iter__'s+èø€à—O‘O×*Ñ*Ó,ò    ˆDؐq‘'‹Mñ    ùs‚(*có*—    ||=y#t$rYywxYwr )rCrs  rÚdiscardzHTTPHeaderDict.discard,s €ð    ØS‘    øÜò    Ù ð    ús ‚†    ‘F)Úcombinecó—t|t«r|jd«}|j«}||g}|jj ||«}||ur3t |«dk\sJ‚|r|ddz|z|d<y|j|«yy)aùAdds a (name, value) pair, doesn't overwrite the value if it already
        exists.
 
        If this is called with combine=True, instead of adding a new header value
        as a distinct item during iteration, this will instead append the value to
        any existing header value with a comma. If no existing header value exists
        for the key, then the value will simply be added, ignoring the combine parameter.
 
        >>> headers = HTTPHeaderDict(foo='bar')
        >>> headers.add('Foo', 'baz')
        >>> headers['foo']
        'bar, baz'
        >>> list(headers.items())
        [('foo', 'bar'), ('foo', 'baz')]
        >>> headers.add('foo', 'quz', combine=True)
        >>> list(headers.items())
        [('foo', 'bar, baz, quz')]
        rwrhéÿÿÿÿrN)r)ryrzr{r3r…rDÚappend)rrr}r—Ú    key_lowerÚnew_valsr”s       rÚaddzHTTPHeaderDict.add2sŠ€ô( cœ5Ô !Ø—*‘*˜YÓ'ˆCØ—I‘I“Kˆ    Ø˜:ˆà‰×)Ñ)¨)°XÓ>ˆØ ˜4Ñ ôt“9 ’>Ð !>ÙØ ™8 d™?¨SÑ0R’à— ‘ ˜CÕ ð  rcó0—t|«dkDrtdt|«›d«‚t|«dk\r|dnd}t|t«r+|j    «D]\}}|j ||«Œnöt|t j«r+|j«D]\}}|j ||«Œn±t|t j«rUt jt jtttf|«}|D]\}}|j ||«ŒnBt|d«r6t|d«r*|j«D]}|j |||«Œ|j«D]\}}|j ||«Œy)    zÀGeneric import function for any type of header-like object.
        Adapted version of MutableMapping.update in order to insert items
        with self.add instead of self.__setitem__
        r€z/extend() takes at most 1 positional arguments (z given)rrrrN)rDÚ    TypeErrorr)r!rerr*r+Úitemsr-r,r.rr/r)rÚargsrtrŠrr}rFs       rrszHTTPHeaderDict.extendUs_€ô
ˆt‹9qŠ=ÜØAÄ#ÀdÃ)ÀÈGÐTóð ô˜t›9¨š>Q’¨rˆä eœ^Ô ,Ø!ŸO™OÓ-ò #‘SØ—‘˜˜cÕ"ñ #ä ˜œvŸ~™~Ô .Ø!ŸK™K›Mò #‘SØ—‘˜˜cÕ"ñ #ä ˜œvŸ™Ô /Ü—K‘K¤§¡´´c¼3°h±Ñ @À%ÓHˆEØ#ò %‘
UØ—‘˜˜eÕ$ñ %ä U˜FÔ #¬°°}Ô(Eð —z‘z“|ò *Ø—‘˜˜e C™jÕ)ð *ð!Ÿ,™,›.ò    !‰JˆCØ H‰HS˜%Õ  ñ    !rcó—yr rrs  rÚgetlistzHTTPHeaderDict.getlistvs€Ø.1rcó—yr r)rrr†s   rr£zHTTPHeaderDict.getlistys€ØBErcóؗt|t«r|jd«}    |j|j    «}|ddS#t
$r|t jurgcYS|cYSwxYw)zmReturns a list of all the values for the named field. Returns an
        empty list if the key doesn't exist.rwr€N)r)ryrzr3r{rCr&r')rrr†r”s    rr£zHTTPHeaderDict.getlist|sk€ô
cœ5Ô !Ø—*‘*˜YÓ'ˆCð     Ø—?‘? 3§9¡9£;Ñ/ˆD𘘐8ˆOøôò    Øœ)×.Ñ.Ñ.à’    àŠNð     ús£AÁA)Á$A)Á(A)có>—gd¢}|D]}|j|«Œ|S)z–
        Remove content-specific header fields before changing the request
        method to GET or HEAD according to RFC 9110, Section 15.4.
        )zContent-EncodingzContent-LanguagezContent-Locationz Content-TypezContent-LengthÚDigestz Last-Modified)r–)rÚcontent_specific_headersÚheaders   rÚ_prepare_for_method_changez)HTTPHeaderDict._prepare_for_method_changes,€ò
$
Рð/ò    !ˆFØ L‰L˜Õ  ð    !àˆ rcóf—t|«j›dt|j««›dS)Nú(ú))rˆrÚdictr‰rs rÚ__repr__zHTTPHeaderDict.__repr__ªs-€Üt“*×%Ñ%Ð& a¬¨T¯_©_Ó->Ó(?Ð'@ÀÐBÐBrcót—|D]3}|j|«}|g|¢|j|j«<Œ5yr )r£r3r{)rrŠrr}s    rrrzHTTPHeaderDict._copy_from­s9€Øò    7ˆCØ—-‘- Ó$ˆCØ,/¨;°#¨;ˆDO‰O˜CŸI™I›KÒ (ñ    7rcóH—t|««}|j|«|Sr )rˆrr)rÚclones  rÚcopyzHTTPHeaderDict.copy²s"€Ø”T“
“ ˆØ ×Ñ˜ÔØˆ rc#ózK—|D]2}|j|j«}|ddD] }|d|f–—Œ Œ4y­w)z8Iterate over all header lines, including duplicate ones.r€Nr©r3r{)rrr”r}s    rrezHTTPHeaderDict.iteritems·sLèø€àò    #ˆCØ—?‘? 3§9¡9£;Ñ/ˆDؘA˜Bxò #Ø˜1‘g˜slÓ"ñ #ñ    #ùs‚9;c#óŠK—|D]:}|j|j«}|ddj|dd«f–—Œ<y­w)z:Iterate over all headers, merging duplicate ones together.rrr€N)r3r{rr|s   rr‰zHTTPHeaderDict.itermerged¾sGèø€àò    -ˆCØ—/‘/ #§)¡)£+Ñ.ˆCؐa‘&˜$Ÿ)™) C¨¨ GÓ,Ð,Ó ,ñ    -ùs‚AAcó—t|«Sr )r`rs rr zHTTPHeaderDict.itemsÄs €Ü% dÓ+Ð+rcóP—||vr"||j|j«ddvSy)Nr€Frµ)rÚ header_nameÚpotential_values   rriz$HTTPHeaderDict._has_value_for_headerÇs1€Ø ˜$Ñ Ø" d§o¡o°k×6GÑ6GÓ6IÑ&JÈ1È2Ð&NÐNÐ NØrcóN—t|«}|€tS|j|«|Sr )r1ÚNotImplementedrs)rrŠr‹s   rÚ__ior__zHTTPHeaderDict.__ior__Ìs.€ôDÀEÓJÐØ Ð &Ü!Ð !Ø  ‰ Ð'Ô(؈ rcón—t|«}|€tS|j«}|j|«|Sr )r1r¼r³rs©rrŠr‹Úresults    rÚ__or__zHTTPHeaderDict.__or__Õs9€ôDÀEÓJÐØ Ð &Ü!Ð !Ø—‘“ˆØ ‰ Ð)Ô*؈ rcóp—t|«}|€tSt|«|«}|j|«|Sr )r1r¼rˆrsr¿s    rÚ__ror__zHTTPHeaderDict.__ror__ßs>€ôDÀEÓJÐØ Ð &Ü!Ð !Ø”d“Ð/Ó0ˆØ ‰ dÔØˆ rr )rcúValidHTTPHeaderSource | Nonertr)rrr}rrrYr)rrrrY)rrnrro)Ú)rrr†rrr)rŠrnrrorZr)rrr}rr—rorrY)r¡ÚValidHTTPHeaderSourcertrrrY)rrrz    list[str])rrr†r$rúlist[str] | _DT)rrr†z_Sentinel | _DTrrÇ)rr    )rr)rŠr!rrYrm)rr`)r¹rrºrrro)rŠrnrr!)rŠrnrr    )'rrrr[r\r;rJrrLrlr…rr‘rNrQr–rrsr*Úoverloadr£r&r'rªÚ
getheadersÚgetallmatchingheadersÚigetÚget_allr¯rrr³rer‰r rir½rÁrÃr]r^s@rr!r!Ìsøø…ñðB6Ó5ö     ó2ó "ó )ó
ö0ó    
ó&ó$óó
ð :?õ!!óF!ðB ‡__Ú1óØ1à ‡__ÚEóØEð4=×3GÑ3GðØðØ!0ðà    óó(ð&€JØ#ÐØ €Dð€GóCó7ó
ó
#ó-ó ,óó
ó÷r)r0rnrrÄ)"Ú
__future__rr*Ú collectionsrÚenumrrÚ    threadingrÚ TYPE_CHECKINGrÚtyping_extensionsr    r Ú__all__ÚTypeVarr"r#r$ÚUnionr+rr-r.rÆr&r1ÚGenericÚMutableMappingr rWr`r!rrrú<module>rØs4ðÝ"ã Ý#ßÝà    ×Òõ å&ô4 ô4ð #Ð$4Ð
5€ð€f‡nnUÓ€à€f‡nnUÓ€à€f‡nnUÓ€àŸ ™ ØØ
‡NN3˜8ÑØ
‡OOE˜#˜s˜(‘OÑ$ØðñÐôôðØðà!óô(Z/˜FŸN™N¨3°¨8Ñ4°f×6KÑ6KÈCÐQTÈHÑ6UôZ/ôz-˜S  s¨C x¡Ñ1ô-ô`[V×*Ñ*¨3°¨8Ñ4õ[r