hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
Ë
¸^i_™ãól—UddlZddlZddlZddlZddlmZddlmZddlm    Z    m
Z
m Z m Z m Z mZmZmZmZmZmZmZmZmZddlmZmZmZddlmZddlmZdd    lm Z dd
l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'dd l(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/dd l0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:dd l;m<Z<m=Z=ddl>m?Z?m@Z@ddlAmBZBdZCedZDeEejŒ«ZGe eeHeId<ej”d«ZKe eHeId<ej˜deK›d«ZMe eeHeId<ej˜dejœ«ZOe eeHeId<ej˜dejœ«ZPe eeHeId<ej˜d«ZQe eeReId<Gd„de«ZSGd „d!e«ZTed"eSeT«ZUGd#„d$e«ZVGd%„d&e«ZWGd'„d(«ZXd)eeHd*eYfd+„ZZGd,„d-ej¶e eU«Z\Gd.„d/e\eS«Z]Gd0„d1e\eT«Z^Gd2„d3«Z_Gd4„d5«Z`e]Zae^ZbeSZceTZd    e-sdd6lem]Z]m^Z^mSZSmTZTe]Zfe^ZgeSZheTZiyy#ej$rYywxYw)7éN)Úsuppress)ÚIntEnum)ÚAnyÚClassVarÚFinalÚGenericÚListÚLiteralÚ
NamedTupleÚOptionalÚPatternÚSetÚTupleÚTypeÚTypeVarÚUnion)Ú CIMultiDictÚCIMultiDictProxyÚistr)ÚURLé)Úhdrs)Ú BaseProtocol)ÚDEFAULT_MAX_DECOMPRESS_SIZEÚ
HAS_BROTLIÚHAS_ZSTDÚBrotliDecompressorÚZLibDecompressorÚZSTDDecompressor)Ú _EXC_SENTINELÚDEBUGÚEMPTY_BODY_METHODSÚEMPTY_BODY_STATUS_CODESÚ NO_EXTENSIONSÚBaseTimerContextÚ set_exception)
ÚBadHttpMessageÚ BadHttpMethodÚ BadStatusLineÚContentEncodingErrorÚContentLengthErrorÚDecompressSizeErrorÚ InvalidHeaderÚInvalidURLErrorÚ LineTooLongÚTransferEncodingError)Ú HttpVersionÚ HttpVersion10)Ú EMPTY_PAYLOADÚ StreamReader)Ú
RawHeaders)Ú HeadersParserÚ
HttpParserÚHttpRequestParserÚHttpResponseParserÚRawRequestMessageÚRawResponseMessage)ó
ó
ÚASCIISETz!#$%&'*+-.^_`|~Ú_TCHAR_SPECIALSz
[0-9A-Za-zz]+ÚTOKENREzHTTP/(\d)\.(\d)ÚVERSREz\d+ÚDIGITSs [0-9a-fA-F]+Ú    HEXDIGITScóx—eZdZUeed<eed<eed<ded<eed<eed<eeed<eed    <eed
<e    ed <y ) r:ÚmethodÚpathÚversionúCIMultiDictProxy[str]ÚheadersÚ raw_headersÚ should_closeÚ compressionÚupgradeÚchunkedÚurlN)
Ú__name__Ú
__module__Ú __qualname__ÚstrÚ__annotations__r1r5Úboolr r©óõfH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\aiohttp/http_parser.pyr:r:Ys=…Ø ƒKØ
ƒIØ ÓØ $Ó$ØÓØÓؘ#‘ÓØ ƒMØ ƒMØ     „HrWr:cót—eZdZUeed<eed<eed<eeed<eed<e    ed<e
eed<e    ed<e    ed    <y
) r;rGÚcodeÚreasonrIrJrKrLrMrNN) rPrQrRr1rTÚintrSrr5rUr rVrWrXr;r;fs=…Ø ÓØ
ƒIØ ƒKØ ˜cÑ "Ó"ØÓØÓؘ#‘ÓØ ƒMØ „MrWr;Ú_MsgTcó—eZdZdZdZdZdZy)Ú
ParseStaterrééN)rPrQrRÚ
PARSE_NONEÚ PARSE_LENGTHÚ PARSE_CHUNKEDÚPARSE_UNTIL_EOFrVrWrXr_r_us„à€JØ€LØ€M؁OrWr_có —eZdZdZdZdZdZdZy)Ú
ChunkStaterrr`raéN)rPrQrRÚPARSE_CHUNKED_SIZEÚPARSE_CHUNKED_CHUNKÚPARSE_CHUNKED_CHUNK_EOFÚPARSE_MAYBE_TRAILERSÚPARSE_TRAILERSrVrWrXrgrg}s„ØÐØÐØÐØÐ؁NrWrgc óR—eZdZ                d dededededdf
d„Zdeeded    e    ffd
„Z
y) r6Ú max_line_sizeÚ max_headersÚmax_field_sizeÚlaxÚreturnNcó<—||_||_||_||_y©N)rorprqÚ_lax)Úselfrorprqrrs     rXÚ__init__zHeadersParser.__init__†s#€ð+ˆÔØ&ˆÔØ,ˆÔ؈    rWÚlinesrHc    ó¸—t«}g}d}||}t|«}|r‹    |jdd«\}}t|«dk(r t    |«‚|d|dhddhzr t    |«‚|j d«}t|«|j kDrQtdj|jd    d
««t|j «tt|«««‚|jd d «}    tj|    «s t    |«‚t|«}
|dz }||}|jxr |xr|dd v} | r¬|g} | r•|
t|«z }
|
|j kDrHtdj|jd    d
««t|j «t|
««‚| j|«|dz }||kr||}|r |dd v} nd}n| rŒ•dj| «}nW|
|j kDrHtdj|jd    d
««t|j «t|
««‚|j!d«}|jd d «} d| vsd| vsd| vr t    |«‚|j#|    | «|j||f«|rŒ‹t%|«t'|«fS#t$r t    |«d‚wxYw)Nró:réÿÿÿÿé é    s     zrequest header name {}Úutf8Úbackslashreplaceúutf-8Úsurrogateescape)r}r~zrequest header field {}rWú
ú ú)rÚlenÚsplitÚ
ValueErrorr-Úlstriprqr/ÚformatÚdecoderSr@Ú    fullmatchrvÚappendÚjoinÚstripÚaddrÚtuple)rwryrIrJÚ    lines_idxÚlineÚ
line_countÚbnameÚbvalueÚnameÚ header_lengthÚ continuationÚ
bvalue_lstÚvalues              rXÚ parse_headerszHeadersParser.parse_headers’s€ô%0£Mˆàˆ àˆ    ØYшܘ“Zˆ
âð 4Ø $§
¡
¨4°Ó 3‘ vô5‹z˜QŠÜ# EÓ*Ð*ða‘˜% ™)Ð$¨¨A wÒ.Ü# DÓ)Ð)à—]‘] 6Ó*ˆFܐ5‹z˜D×/Ñ/Ò/Ü!Ø,×3Ñ3ØŸ ™  VÐ-?Ó@óô˜×+Ñ+Ó,Üœ˜E›
“Oó ðð—<‘< Ð):Ó;ˆDÜ×$Ñ$ TÔ*Ü# EÓ*Ð*ä ›KˆM𠘉NˆIؘÑ#ˆDð Ÿ9™9ÒD¨ÒD°$°q±'¸WÐ2DˆLñØ$˜X
Ù"Ø!¤S¨£YÑ.MØ$ t×':Ñ':Ò:Ü)Ø5×<Ñ<Ø %§ ¡ ¨VÐ5GÓ Hóô  × 3Ñ 3Ó4Ü  Ó.ó ðð×%Ñ% dÔ+ð ‘NIØ  :Ò-Ø$ YÑ/˜ÙØ+/°©7°gÐ+=™Là"˜Øò)#ð*Ÿ™ *Ó-‘à  4×#6Ñ#6Ò6Ü%Ø1×8Ñ8Ø!ŸL™L¨Ð1CÓDóô˜D×/Ñ/Ó0ܘMÓ*ó ðð—\‘\ &Ó)ˆFØ—M‘M 'Ð+<Ó=ˆEðu‰} ¨¡ °¸5±Ü# FÓ+Ð+à K‰K˜˜eÔ $Ø × Ñ   v˜Ô /ó_ôb! Ó)¬5°Ó+=Ð>Ð>øô[ò 4Ü# DÓ)¨tÐ3ð 4ús £KËK)éþé€rF) rPrQrRr\rUrxr    Úbytesrr5rœrVrWrXr6r6…sl„ð"Ø Ø"Øñ
àð
ðð
ðð    
ð
ð
ð
ð\?ؘ%‘[ð\?à    Ð&¨
Ð2Ñ    3ô\?rWr6rIrscóŠ—|jtjd«}|j«xr|j    «dvS)z)Check if the upgrade header is supported.Ú>ÚtcpÚ    websocket)ÚgetrÚUPGRADEÚisasciiÚlower)rIÚus  rXÚ_is_supported_upgrader©ñs3€à ‰ ”D—L‘L "Ó%€Aà 9‰9‹;Ò <˜1Ÿ7™7›9Ð(<Ð<Ð<rWcóü—eZdZUdZeeed<                                                    d%deedee    jde de de d    e d
ee d ee d ee d eeededededdfd„Zej$deedefd„«Zej$de defd„«Zdeefd„Zddej4ej6ej8fdedededede dedeeeee feeffd „Z!deeded!e"eeee eeffd"„Z#d#eddfd$„Z$y)&r7FrrNÚprotocolÚloopÚlimitrorprqÚtimerrZrEÚpayload_exceptionÚresponse_with_bodyÚread_until_eofÚauto_decompressrscó:—||_||_||_||_||_||_||_|    |_|
|_| |_    | |_
g|_ d|_ d|_ d|_d|_| |_||_t%||||j&«|_y)NrWF)r«r¬rorprqr®rZrEr¯r°r±Ú_linesÚ_tailÚ    _upgradedÚ_payloadÚ_payload_parserÚ_auto_decompressÚ_limitr6rrÚ_headers_parser)rwr«r¬r­rorprqr®rZrEr¯r°r±r²s              rXrxzHttpParser.__init__ûs¤€ð !ˆŒ ؈Œ    Ø*ˆÔØ&ˆÔØ,ˆÔ؈Œ
؈Œ    ØˆŒ Ø!2ˆÔØ"4ˆÔØ,ˆÔà#%ˆŒ ؈Œ
؈ŒØˆŒ Ø<@ˆÔØ /ˆÔ؈Œ Ü,Ø ˜;¨¸¿¹ó 
ˆÕrWrycó—yrurV)rwrys  rXÚ parse_messagezHttpParser.parse_message"s€Ø:=rWÚtecó—yrurV©rwr¾s  rXÚ_is_chunked_tezHttpParser._is_chunked_te%s€Ø/2rWcó´—|j"|jj«d|_y|jr%|jj    |j«|jra|jddk7r|jj    d«t t «5|j|j«cddd«Sy#1swYyxYw)Nr|z
rW)r¸Úfeed_eofrµr´rrÚ    Exceptionr½©rws rXrÃzHttpParser.feed_eof(sª€Ø × Ñ Ð +Ø ×  Ñ  × )Ñ )Ô +Ø#'ˆDÔ  ððzŠzØ— ‘ ×"Ñ" 4§:¡:Ô.à{Š{Ø—;‘;˜r‘? fÒ,Ø—K‘K×&Ñ& sÔ+ÜœiÓ(ñ;Ø×-Ñ-¨d¯k©kÓ:÷;ñ;à÷;àús Â(CÃCr<rWÚdataÚSEPÚEMPTYÚCONTENT_LENGTHÚ METH_CONNECTÚSEC_WEBSOCKET_KEY1c ó°
‡‡—g}|jr|j|zdc}|_t|«}d}    |j}
d} |    |krX|j€¾|js±|j ||    «} | |    k(r|j s| t|«z}    ŒR| |    k\rl| r td«‚||    | } |dk(r| jd«} |j j| «| t|«z}    |j d|k(r›    |j|j «Š|j j«dttfˆˆfd    „ }|«}|‰jvr t|«‚‰j xrt#‰j«|_t%‰d
|j&«}t%‰d d«}|j(€J‚|t*vxst-|xr|t.v«}|s½||dkDs ‰j0rª|jsžt3|j(|j4|
|j6¬ «}t9||‰j0|‰j:|j<|j>|j@|jB|jD¬ «
}|jFsO||_nF||k(rtI‰tJ«sJ‚t3|j(|j4|
|j6¬ «}d|_t9|‰j&‰j:|j@|jB|jD¬«|_n²|sª|€¨|jLrœt3|j(|j4|
|j6¬ «}t9||‰j0|‰j:|j<|j>|j@|jB|jD¬ «
}|jFs||_ntN}|j‰|f«‰jP} n“||    d|_|}n|j€|jr|j rJ‚nf|r\|    |krW|j rJ‚|j€J‚    |jjS||    d|«\}}|rd}    t|«}d|_ŒVn|    |krŒX|r |    |kr||    d}n|}||j|fS#|j j«wxYw#tT$rn}|}|jV|jWtY|««}t[|jj\||«d}d}tI|tt^f«r‚Yd}~ŒÏd}~wwxYw)NrWrFzData after `Connection: close`r=ó r|rscó–•—‰jj‰«}|€ytj|«s t    ‰«‚t |«Sru)rIr¤rBrŒr-r\)Ú
length_hdrrÉÚmsgs €€rXÚget_content_lengthz0HttpParser.feed_data.<locals>.get_content_lengthisCø€à),¯©¯©¸Ó)H˜JØ)Ð1Ø'+ô
$*×#3Ñ#3°JÔ#?Ü&3°NÓ&CРCä#& z£?Ð2rWrErZ)r®r¬r­)    ÚlengthrNrErLrZr°r²rrÚheaders_parserT)rErLr²rrrÓ)0rµr†r¬r¸r¶Úfindr´r'Úrstriprr½Úclearr r\rIr-rMr©ÚgetattrrEr«r#rUr"rNr4r®rºÚHttpPayloadParserrLrZr°r¹rrr»ÚdoneÚ
isinstancer:r±r3rKÚ    feed_dataÚ BaseExceptionr¯rSr&Úpayloadr0)rwrÆrÇrÈrÉrÊrËÚmessagesÚdata_lenÚ    start_posr¬rKÚposr“rÑrÒrErZÚ
empty_bodyrÝÚpayload_parserÚeofÚunderlying_excÚ reraised_excrÐs    `                   @rXrÛzHttpParser.feed_data8sù€ðˆà :Š:Ø#Ÿz™z¨DÑ0°#Ð ˆD$”*ät“9ˆØˆ    Øy‰yˆàˆ ؘ(Ó"ð×#Ñ#Ñ+°D·N³NØ—i‘i  YÓ/à˜)Ò#¨D¯KªKØ #¤c¨#£h¡IØà˜)Ó#Ù#Ü,Ð-MÓNÐNð      ¨#Ð.Dؘe’|Ø#Ÿ{™{¨5Ó1˜Ø—K‘K×&Ñ& tÔ,Ø #¤c¨#£h¡Ið—{‘{ 2‘¨%Ó/ð0Ø)-×);Ñ);¸D¿K¹KÓ)H˜Cà ŸK™K×-Ñ-Ô/ð 3´H¼S±Mö 3ñ"4Ó!5˜à-°·±Ñ<Ü"/Ð0BÓ"CÐCà),¯©ò*Ô9NØŸK™Kó:˜œô")¨¨h¸¿ ¹ Ó!D˜ä& s¨F°AÓ6˜à#Ÿ}™}Ð8Ð8Ð8à%)Ô-DÐ%Dò&ÌØ"ÒC vÔ1CÐ'CóI˜
ñ *Ø$Ð0°V¸a²ZÀCÇKÂKØ$(§N¢Nä&2Ø $§ ¡ Ø&*§j¡jØ%)Ø&*§k¡kô    '˜Gô .?Ø 'Ø'-Ø(+¯ © Ø'-Ø,/¯O©OØ%)§Y¡YØ37×3JÑ3JØ04×0EÑ0EØ$(§H¡HØ/3×/CÑ/Cô .˜Nð$2×#6Ó#6Ø7E Ö 4Ø# |Ò3Ü#-¨cÔ3DÔ#EÐEÐ#EÜ&2Ø $§ ¡ Ø&*§j¡jØ%)Ø&*§k¡kô    '˜Gð .2˜DœNÜ3DØ 'Ø'*§z¡zØ,/¯O©OØ04×0EÑ0EØ$(§H¡HØ/3×/CÑ/Cô 4˜DÕ0ñ",°°À4×CVÒCVÜ&2Ø $§ ¡ Ø&*§j¡jØ%)Ø&*§k¡kô    '˜Gô .?Ø 'Ø'-Ø(+¯ © Ø'-Ø,/¯O©OØ%)§Y¡YØ37×3JÑ3JØ04×0EÑ0EØ$(§H¡HØ/3×/CÑ/Cô .˜Nð$2×#6Ò#6Ø7E Õ 4ä&3˜Gà Ÿ™¨¨g¨Ô7Ø'*×'7Ñ'7™ à!% i jÐ!1D”JØ DØð×%Ñ%Ð-°$·.².ØŸ;š;Ð&Øñ˜) hÒ.ØŸ;š;Ð&Ø×+Ñ+Ð7Ð7Ð7ðØ $× 4Ñ 4× >Ñ >¸tÀIÀJÐ?OÐQTÓ U‘IC˜ñ&Ø !IÜ" 4›yHØ+/DÔ(ÙàðQ˜(Ô"ñT I Ò(ؘ    ˜
Ð#‰DàˆDà˜Ÿ™¨Ð-Ð-øði!ŸK™K×-Ñ-Õ/ûôj%òØ#1LØ×-Ñ-Ð9Ø'+×'=Ñ'=¼cÀ.Ó>QÓ'R˜ ä!Ø×,Ñ,×4Ñ4Ø$Ø&ôð CؐDÜ!Ø&¬Ô8MÐ(Nôðôûðús%ÄR?Ñ"SÒ?SÓ    UÓ'A$UÕUrHc
óÔ‡ —|jj|«\Š }d}d}d}d}tjtjtj
tj tjtjtjtjtjtjf
}tˆ fd„|D«d«}|td|›d«‚‰ jtj «}    |    rF|    j#«}
|
dk(rd}n.|
dk(rd}n&|
d    k(r!‰ jtj$«rd}‰ jtj&d
«} | j)«r| j#«d vr| }‰ jtj«} | 0|j+| «rd}tj‰ vr td «‚‰ |||||fS) z­Parses RFC 5322 headers from a stream.
 
        Line continuations are supported. Returns list of header name
        and value pairs. Header name is in upper case.
        NFc3ó`•K—|]%}t‰j|d««dkDsŒ"|–—Œ'y­w)rVrN)r†Úgetall)Ú.0ÚhrIs  €rXú    <genexpr>z+HttpParser.parse_headers.<locals>.<genexpr>s(øèø€ÒP˜a´°W·^±^ÀAÀrÓ5JÓ1KÈaÓ1OœÑPùsƒ#.§.z Duplicate 'z' header found.ÚcloseTz
keep-aliverMr¡>ÚbrÚgzipÚzstdÚdeflatez6Transfer-Encoding can't be present with Content-Length)r»rœrrÉÚCONTENT_LOCATIONÚ CONTENT_RANGEÚ CONTENT_TYPEÚETAGÚHOSTÚ MAX_FORWARDSÚSERVERÚTRANSFER_ENCODINGÚ
USER_AGENTÚnextr'r¤Ú
CONNECTIONr§r¥ÚCONTENT_ENCODINGr¦rÁ)rwryrJÚ
close_connÚencodingrMrNÚ
singletonsÚbad_hdrÚconnÚvÚencr¾rIs             @rXrœzHttpParser.parse_headersýs©ø€ð $×3Ñ3×AÑAÀ%ÓHшØˆ
؈؈؈ô
× Ñ Ü × !Ñ !Ü × Ñ Ü × Ñ Ü I‰IÜ I‰IÜ × Ñ Ü K‰KÜ × "Ñ "Ü O‰Oð 
ˆ
ôÓP :ÔPÐRVÓWˆØ Ð Ü  ;¨w¨i°Ð!GÓHÐ Hð{‰{œ4Ÿ?™?Ó+ˆÙ Ø—
‘
“ ˆAؐGŠ|Ø!‘
ؐlÒ"Ø"‘
ài’ G§K¡K´· ± Ô$=ؐðk‰kœ$×/Ñ/°Ó4ˆØ ;‰;Œ=˜SŸY™Y›[Ð,MÑM؈Hð[‰[œ×/Ñ/Ó 0ˆØ ˆ>Ø×"Ñ" 2Ô&ؐä×"Ñ" gÑ-Ü$ØLóðð˜ j°(¸GÀWÐMÐMrWÚvalcó—||_y)zZSet connection upgraded (to websocket) mode.
 
        :param bool val: new state.
        N)r¶)rwrs  rXÚ set_upgradedzHttpParser.set_upgraded=s €ð
ˆrW) NNirržrNNNNTFT)%rPrQrRrrrrUrTr rÚasyncioÚAbstractEventLoopr\r%rSrrÜrxÚabcÚabstractmethodr    rŸr]r½rÁrÃrrÉrÊrËÚ_SEPrrr4rÛr5rœrrVrWrXr7r7øs!…Ø€Cˆ$‰Óð,0Ø48ØØ!Ø Ø"Ø,0Ø"Ø $Ø;?Ø#'Ø$Ø $ñ%
à˜<Ñ(ð%
ðw×0Ñ0Ñ1ð%
ðð    %
ð
ð %
ð ð %
ðð%
ðÐ(Ñ)ð%
ðs‰mð%
𘑠ð%
ð$ D¨Ñ$7Ñ8ð%
ð!ð%
ðð%
ðð%
ð
ó%
ðN    ×ÑØ= 4¨¡;Ð=°5Ò=óØ=à×ÑØ2 Ð2¨Ò2óØ2ð˜( 5™/óð&ØØ#×2Ñ2Ø ×-Ñ-Ø#'×#:Ñ#:ñC.àðC.ððC.ðð    C.ð
ð C.ð ð C.ð!ðC.ð
ˆtE˜% Ð-Ñ.Ñ/°°uÐ<Ñ    =óC.ðJ>Nؘ%‘[ð>Nà    Ø ¨X°d©^¸XÀc¹]ÈDÐRVÐVñ
ó>Nð@ ð¨ôrWr7có6—eZdZdZdeedefd„Zdede    fd„Z
y)r8z¥Read request status line.
 
    Exception .http_exceptions.BadStatusLine
    could be raised in case of any errors in status line.
    Returns RawRequestMessage.
    ryrsc ó<—|djdd«}    |jdd¬«\}}}t    |«|j
kDr2t dt|j
«tt    |«««‚tj|«s t|«‚tj|«}|€ t|«‚tt|jd««t|jd«««}|d    k(rtj |d
¬ «}n³|j#d «rD|j%d «\}    }
} |    j%d«\}    } } tj |    | | d
¬«}n^|dk(r|dk(rt|d
¬«}nFt|d
¬«}|j&dk(r*t)|j+d¬«jd««‚|j-|dd«\}}}}}}|€|t.krd
}nd}t1||||||||||«
S#t$r t|«d‚wxYw)Nrrr‚ú r`©ÚmaxsplitúStatus line is too longrÚCONNECTT)Ú    authorityÚencodedú/ú#ú?)rFÚ query_stringÚfragmentrÚ*ÚOPTIONS)rr¡)ÚerrorsÚlatin1F)r‹r‡rˆr(r†ror/rSr@rŒrAr)r1r\ÚgrouprÚbuildÚ
startswithÚ    partitionÚschemer.Úencoderœr2r:)rwryr“rErFrGÚmatchÚ    version_orOÚ    path_partÚ_hash_separatorÚ url_fragmentÚ_question_mark_separatorÚqs_partrIrJrírLrMrNs                    rXr½zHttpRequestParser.parse_messageMs1€àQ‰x‰˜wÐ(9Ó:ˆð    0Ø$(§J¡J¨s¸Q JÓ$?Ñ !ˆFD˜'ô ˆt‹9t×)Ñ)Ò )ÜØ)¬3¨t×/AÑ/AÓ+BÄCÌÈDË    ÃNóð ô
× Ñ  Ô(Ü Ó'Ð 'ô× Ñ  Ó)ˆØ ˆ=Ü Ó%Ð %ܤ E§K¡K°£NÓ 3´S¸¿¹ÀQ»Ó5HÓIˆ    à YÒ ô—)‘) d°DÔ9‰CØ _‰_˜SÔ !ð8<·~±~ÀcÓ7JÑ 4ˆI¨ Ø;D×;NÑ;NÈsÓ;SÑ 8ˆIÐ/°ô —)‘)ØØ$Ø%Øô    ‰Cð SŠ[˜V yÒ0äd DÔ)‰Côd DÔ)ˆC؏z‰z˜RÒä%Ø—K‘KÐ'8KÓ9×@Ñ@ÀÓJóðð × Ñ ˜u Q R˜yÓ )ñ    
Ø Ø Ø Ø Ø Ø ð ˆ=ØœMÒ)Ø‘àä Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø ó 
ð     
øôGò    0Ü Ó%¨4Ð /ð    0ús —HÈHr¾cóª—|jdd¬«djd«}|j«r|j«dk(ryt    d«‚)    Nú,rrr|ú     rNTz'Request has invalid `Transfer-Encoding`)Úrsplitrr¦r§r'rÀs  rXrÁz HttpRequestParser._is_chunked_te¢sI€Ø Y‰Ys QˆYÓ '¨Ñ +× 1Ñ 1°%Ó 8ˆà :‰:Œ<˜BŸH™H›J¨)Ò3ØäÐFÓGÐGrWN) rPrQrRÚ__doc__r    rŸr:r½rSrUrÁrVrWrXr8r8Es9„ñðS
 4¨¡;ðS
Ð3DóS
ðjH ðH¨ôHrWr8c󊇗eZdZdZe Z    d dedeede    de    de
e e
e e feeff
ˆfd„ Zde ede fd    „Zd
edefd „ZˆxZS) r9z”Read response status line and headers.
 
    BadStatusLine could be raised in case of any errors in status line.
    Returns RawResponseMessage.
    rÆrÇÚargsÚkwargsrscóD•—|€
trdnd}t‰|||g|¢­i|¤ŽS)Nr<r=)r!ÚsuperrÛ)rwrÆrÇr2r3Ú    __class__s     €rXrÛzHttpResponseParser.feed_dataµs/ø€ð ˆ;Ý"‘'¨ˆC܉wÑ   sÐ<¨TÒ<°VÑ<Ð<rWryc óÊ—|djdd«}    |jd¬«\}}    |jd¬«\}}t |«|j kDr2tdt|j «tt |«««‚tj|«}|€ t|«‚tt|jd««t|jd«««}t |«d    k7stj|«s t|«‚t|«}|j|dd«\}    }
} } } }| €I|t krd
} n=d |cxkrd ksn|d vrd} n)t"j$|    vst"j&|    vrd} nd
} t)|||j    «|    |
| | | |«    S#t$r t|«d‚wxYw#t$r|j    «}d}YŒŸwxYw)Nrrr‚rrr¡rr`raTédéÈ>é0éÌF)r‹r‡rˆr)rr†ror/rSrArŒr1r\rrBrœr2rrÉrùr;)rwryr“rGÚstatusr[r%r&Ústatus_irIrJrírLrMrNs               rXr½z HttpResponseParser.parse_messageÀsê€ØQ‰x‰˜wÐ(9Ó:ˆð    0Ø"Ÿj™j°!˜jÓ4‰OˆGVð    Ø#Ÿ\™\°1˜\Ó5‰NˆFFô
ˆv‹;˜×+Ñ+Ò +ÜØ)¬3¨t×/AÑ/AÓ+BÄCÌÈFË ÓDTóð ô
× Ñ  Ó)ˆØ ˆ=Ü Ó%Ð %ܤ E§K¡K°£NÓ 3´S¸¿¹ÀQ»Ó5HÓIˆ    ô ˆv‹;˜!Ò ¤6×#3Ñ#3°FÔ#;Ü Ó%Ð %ܐv“;ˆð × Ñ ˜u Q R˜yÓ )ñ    
Ø Ø Ø Ø Ø Ø ð ˆ=ØœMÒ)Ø‘à˜Ô& 3Ô&¨(°jÑ*@Ø‘Ü×$Ñ$¨Ñ/´4×3IÑ3IÈWÑ3TØ‘ðä!Ø Ø Ø L‰L‹NØ Ø Ø Ø Ø Ø ó
 
ð
    
øô_ò    0Ü Ó%¨4Ð /ð    0ûô
ò    Ø—\‘\“^ˆFØ‹Fð    ús—F*­GÆ*GÇG"Ç!G"r¾cón—|jdd¬«djd«j«dk(S)Nr-rrr|r.rN)r/rr§rÀs  rXrÁz!HttpResponseParser._is_chunked_teÿs3€ày‰y˜ qˆyÓ)¨"Ñ-×3Ñ3°EÓ:×@Ñ@ÓBÀiÑOÐOrWru)rPrQrRr0r!rrrŸr r rrr    r;r4rUrÛr½rSrÁÚ __classcell__)r6s@rXr9r9«sšø„ñðˆ)€Cð
#ñ    =àð    =ðd‰^ð    =ðð        =ð
ð     =ð
ˆtEÐ,¨lÐ:Ñ;Ñ<¸dÀEÐIÑ    Jõ     =ð=
 4¨¡;ð=
Ð3Eó=
ð~P ðP¨÷PrWr9có˜—eZdZ                                ddedeededeedeedeeded    ed
ed ed dfd „Z    dd„Z
    dde de de d e ee ffd„Zy)rØNrÝrÒrNrLrZrEr°r²rrrÓrsc
óF—d|_tj|_tj
|_d|_d|_||_    |    |_
|
|_ g|_ d|_ |r|r|jr t||«} n|} |s4tj|_| j!«d|_ | |_y|rtj"|_| |_y|Btj$|_||_|jdk(r| j!«d|_ | |_y)NrrWFT)Ú_lengthr_reÚ_typergriÚ_chunkÚ _chunk_sizeÚ _chunk_tailr¹rvr»Ú_trailer_linesrÙÚ DeflateBufferrbrÃrdrcrÝ) rwrÝrÒrNrLrZrEr°r²rrrÓÚ real_payloads             rXrxzHttpPayloadParser.__init__s €ðˆŒ Ü×/Ñ/ˆŒ
Ü ×3Ñ3ˆŒ ØˆÔØˆÔØ /ˆÔ؈Œ    Ø-ˆÔØ+-ˆÔ؈Œ    ñ ¡+°$×2GÒ2GÜ?Lؘó@‰Lð#ˆLñ"ä#×.Ñ.ˆDŒJØ × !Ñ !Ô #؈DŒIð$ˆ ñÜ#×1Ñ1ˆDŒJð$ˆ ðÐ Ü#×0Ñ0ˆDŒJØ!ˆDŒL؏|‰|˜qÒ Ø×%Ñ%Ô'Ø ”    à#ˆ rWcó—|jtjk(r|jj    «y|jtj
k(r t d«‚|jtjk(r td«‚y)Nz1Not enough data to satisfy content length header.z2Not enough data to satisfy transfer length header.)    rCr_rerÝrÃrcr+rdr0rÅs rXrÃzHttpPayloadParser.feed_eof7so€Ø :‰:œ×3Ñ3Ò 3Ø L‰L× !Ñ !Õ #Ø Z‰Zœ:×2Ñ2Ò 2Ü$ØCóð ðZ‰Zœ:×3Ñ3Ò 3Ü'ØDóð ð4rWÚchunkrÇÚ    CHUNK_EXTcóv
—|jtjk(r´|j}t    |«}||k\rP||z
|_|j
j ||«|jdk(rb|j
j«yd|_|j
j |d||«|j
j«d||dfSy |jtjk(ré|jr|j|z}d|_    |rÃ|jtjk(rv|j|«}|dk\rW|j|d|«}|dk\r4|d|}d|||x}    vr+td|    ›«}
t|j
|
«|
‚|d|}|j r|j#«}t%j&t(|«s6t|d|j+dd««}
t|j
|
«|
‚t-t/|«d    «} ||t    |«zd}| dk(r8tj0|_
|j rV|j3d
«rE|d d}n?tj4|_
| |_|j
j9«n||_    y |jtj4k(r|j6}t    |«}||kDr'||z
|_|j
j ||«y d|_|j
j |d||«||d}tj:|_
|j
j=«|jtj:k(r_|j r|j3d
«r|d d}|dt    |«|k(r$|t    |«d}tj|_
n||_    y |jtj0k(rØ|j|«}|dkr||_    y |d|} ||t    |«zd}|dk(r| j?d
«} |j@jC| «|j@d dk(ra    |jDjG|j@«\} }|j@jI«|j
j«d|fS|rŒÃy |jtjJk(r%|j
j |t    |««y #|j@jI«wxYw)Nr)TrWTrWr=z"Unexpected LF in chunk-extension: Úasciir‚érÍr)FrWr|)&rCr_rcrBr†rÝrÛrÃrdrFrDrgrirÔr0r&rvrÚrerŒrCr‹r\rŸrmr!rjrEÚbegin_http_chunk_receivingrkÚend_http_chunk_receivingrÕrGrr»rœrÖre)rwrKrÇrLÚrequiredÚ    chunk_lenráÚiÚsize_bÚextÚexcÚsizer“ÚtrailersÚ raw_trailerss               rXrÛzHttpPayloadParser.feed_dataCs¨€ð :‰:œ×0Ñ0Ò 0Ø—|‘|ˆHܘE›
ˆIà˜9Ò$Ø'¨)Ñ3” Ø— ‘ ×&Ñ& u¨iÔ8Ø—<‘< 1Ò$Ø—L‘L×)Ñ)Ô+Ø$ࠐ” Ø— ‘ ×&Ñ& u¨Y¨hÐ'7¸ÔBØ— ‘ ×%Ñ%Ô'ؘU 8 9Ð-Ð-Ð-ðVðQZ‰Zœ:×3Ñ3Ó 3Ø×ÒØ×(Ñ(¨5Ñ0Ø#&Ô âð—;‘;¤*×"?Ñ"?Ó?ØŸ*™* S›/Cؘa“xØ!ŸJ™J y°!°SÓ9˜Ø š6Ø%*¨2¨A Y˜Fà$°°a¸° Ð)<¨Ñ=Ü&;Ø&HÈÈÐ$Pó'" ô!.¨d¯l©l¸CÔ @Ø&)     à%*¨4¨C [˜FàŸ9š9Ø%+§\¡\£^˜Fä!Ÿ|™|¬I°vÔ>Ü"7Ø % d s  × 2Ñ 2°7Ð<MÓ Nó#˜Cô*¨$¯,©,¸Ô<Ø"%˜IÜ"¤5¨£=°"Ó5˜à % c¬C°«H¡nÐ&6Р7˜Ø 1š9Ü*4×*CÑ*C˜DœKØ#Ÿyšy¨U×-=Ñ-=¸eÔ-DØ(-¨a¨b¨    ¡ä*4×*HÑ*H˜DœKØ/3˜DÔ,Ø ŸL™L×CÑCÕEà+0˜Ô(Ø)ð—;‘;¤*×"@Ñ"@Ò@Ø#×/Ñ/HÜ # E£
Ià )Ò+Ø+3°iÑ+?˜Ô(ØŸ ™ ×.Ñ.¨u°iÔ@Ø)à+,˜Ô(ØŸ ™ ×.Ñ.¨u°Y°hÐ/?ÀÔJØ % h iР0˜Ü&0×&HÑ&H˜œ ØŸ ™ ×=Ñ=Ô?ð—;‘;¤*×"DÑ"DÒDØ—y’y U×%5Ñ%5°eÔ%<Ø % a b     ˜Ø˜Zœs 3›xÐ(¨CÒ/Ø %¤c¨#£h jР1˜Ü&0×&CÑ&C˜ à+0˜Ô(Ø)à—;‘;¤*×";Ñ";Ò;ØŸ*™* S›/CؘQ’wØ+0˜Ô(Ø)à   #˜;DØ! #¬¨C«¡.Ð"2Ð3Eؘe’|Ø#Ÿ{™{¨5Ó1˜Ø×'Ñ'×.Ñ.¨tÔ4ð×*Ñ*¨2Ñ.°#Ò5ð8Ø59×5IÑ5I×5WÑ5WØ $× 3Ñ 3ó6Ñ2˜H lð!×/Ñ/×5Ñ5Ô7ØŸ ™ ×-Ñ-Ô/Ø# U˜{Ð*ó{ðFðZ‰Zœ:×5Ñ5Ò 5Ø L‰L× "Ñ " 5¬#¨e«*Ô 5àøð!×/Ñ/×5Ñ5Õ7ús Ñ4(TÔT8)NFNNNTTF©rsN)r<ó;)rPrQrRr4r r\rUrSr6rxrÃrŸr rrÛrVrWrXrØrØs݄ð!%ØØ%)Ø"Ø $Ø#'Ø $Øñ0$àð0$𘑠ð0$ðð    0$ð
˜c‘]ð 0$ð s‰mð 0$𘑠ð0$ð!ð0$ðð0$ðð0$ð&ð0$ð
ó0$ód
ðEIñ}Øð}Ø!%ð}Ø<Að}à    ˆtUˆ{Ñ    ô}rWrØc    ó‚—eZdZUdZeed<efdedee    de
ddfd„Z e fd    e d
e ddfd „Zd ed e
ddfd„Zdd„Zdd„Zdd„Zy)rHzDDeflateStream decompress stream and feed data into specified stream.Ú decompressorÚoutrÿÚmax_decompress_sizersNcóF—||_d|_|j|_||_d|_||dk(r(t
s t d«‚t«|_||_ y|dk(r(ts t d«‚t«|_||_ yt|¬«|_||_ y)NrFrîzECan not decode content-encoding: brotli (br). Please install `Brotli`rðzRCan not decode content-encoding: zstandard (zstd). Please install `backports.zstd`)rÿ) r`rYÚtotal_compressed_bytesrÿÚ_started_decodingrr*rr_rrrÚ_max_decompress_size)rwr`rÿras    rXrxzDeflateBuffer.__init__Ès±€ð ˆŒØˆŒ    Ø%)§Y¡YˆÔ"Ø ˆŒ Ø!&ˆÔá Ø tÒ ÝÜ*ð.óðô!3Ó 4ˆDÔ ð%8ˆÕ!ð˜Ò ÝÜ*ð6óðô!1Ó 2ˆDÔ ð%8ˆÕ!ô!1¸(Ô CˆDÔ à$7ˆÕ!rWrXÚ    exc_causecó2—t|j||«yru)r&r`)rwrXrfs   rXr&zDeflateBuffer.set_exceptionès€ô
    d—h‘h  YÕ/rWrKrYcóL—|sy|xj|z c_|j|j_|js6|jdk(r'|ddzdk7rt |jd¬«|_    |j j||jdz¬«}d|_t|«|jkDrtd
|jz«‚|r&|jj|t|««yy#t$rtd    |jz«‚wxYw) NrñrééT)rÿÚsuppress_deflate_headerr)Ú
max_lengthz#Can not decode content-encoding: %sz:Decompressed data exceeds the configured limit of %d bytes)rYr`rcrdrÿrr_Údecompress_syncrerÄr*r†r,rÛ)rwrKrYs   rXrÛzDeflateBuffer.feed_dataïs€ÙØ à     Š    Tэ    Ø*.¯)©)ˆ‰Ô'ð ×&Ò&Ø— ‘  Ò*ؐa‘˜3‘ !Ò#ô!1ØŸ™Àô!ˆDÔ ð    à×%Ñ%×5Ñ5Ø $×";Ñ";¸aÑ"?ð6óˆEð"&ˆÔô ˆu‹:˜×1Ñ1Ò 1Ü%ØLØ×+Ñ+ñ,óð ñ
Ø H‰H× Ñ ˜u¤c¨%£jÕ 1ð øôò    Ü&Ø5¸¿ ¹ ÑEóð ð    ús Á7*DÄ"D#có8—|jj«}|s|jdkDrU|jj    |t |««|j dk(r!|jjs td«‚|jj«y)Nrrñ)
r_ÚflushrYr`rÛr†rÿrär*rÃ)rwrKs  rXrÃzDeflateBuffer.feed_eofsp€Ø×!Ñ!×'Ñ'Ó)ˆá D—I‘I ’MØ H‰H× Ñ ˜u¤c¨%£jÔ 1؏}‰}     Ò)°$×2CÑ2C×2GÒ2GÜ*¨9Ó5Ð5à ‰×ÑÕrWcó8—|jj«yru)r`rQrÅs rXrQz(DeflateBuffer.begin_http_chunk_receiving$s€Ø ‰×+Ñ+Õ-rWcó8—|jj«yru)r`rRrÅs rXrRz&DeflateBuffer.end_http_chunk_receiving's€Ø ‰×)Ñ)Õ+rWr\)rPrQrRr0rrTrr4r rSr\rxr rÜr&rŸrÛrÃrQrRrVrWrXrHrHÃs…ÙNàÓð $?ñ    8à ð8ð˜3‘-ð8ð!ð    8ð
 
ó 8ðF$1ñ0à ð0ð!ð0ð
ó    0ð)2˜uð)2¨Cð)2°Dó)2óVó.ô,rWrH)r8r9r:r;)kr
rrPÚstringÚ
contextlibrÚenumrÚtypingrrrrr    r
r r r rrrrrÚ    multidictrrrÚyarlrr¡rÚ base_protocolrÚcompression_utilsrrrrrrÚhelpersr r!r"r#r$r%r&Úhttp_exceptionsr'r(r)r*r+r,r-r.r/r0Ú http_writerr1r2Ústreamsr3r4Útypedefsr5Ú__all__r ÚsetÚ    printabler>rSrTÚescaper?Úcompiler@ÚASCIIrArBrCrŸr:r;r]r_rgr6rUr©ÚABCr7r8r9rØrHÚHttpRequestParserPyÚHttpResponseParserPyÚRawRequestMessagePyÚRawResponseMessagePyÚ _http_parserÚHttpRequestParserCÚHttpResponseParserCÚRawRequestMessageCÚRawResponseMessageCÚ ImportErrorrVrWrXú<module>rssðÜ
ÛÛ    Û ÝÝ÷÷÷÷÷":Ñ9ÝåÝ'÷÷÷÷ñ÷ ÷ ÷ ÷4ß0Ý ð €ðˆ~Ñ€á × 0Ñ 0Ó1€ˆ%C‘‰/Ó1ð(˜bŸi™iÐ(9Ó:€s‘Ó:Ø)˜rŸz™z¨J°Ð6GÀrÐ*JÓK€ˆˆws‰|Ñ    ÓKØ(˜bŸj™jÐ);¸R¿X¹XÓF€ˆˆgc‰lÑÓFØ(˜bŸj™j¨°·±Ó:€ˆˆgc‰lÑÓ:Ø#- 2§:¡:Ð.>Ó#?€    ˆ5˜‘Ñ  Ó?ô
 ˜
ô
 ô    ˜ô    ñ    Ð*Ð,>Ó?€ôôôô÷i?ñi?ðX=Ð#3°CÑ#8ð=¸Tó=ôJ—‘˜' %™.ôJôZ
cH˜
Ð#4Ñ5ôcHôLVP˜Ð$6Ñ7ôVP÷r|ñ|÷~e,ñe,ðP(ÐØ)ÐØ'ÐØ)Ðð    Ù ÷    
ó    
ð/ÐØ0ÐØ.ÐØ0Ñð øðò    Ùð    úsÈH+È+H3È2H3