+
     h!  c                   s  a  R t:0 t ^ RIt^ RIHtHtHtHtHtHtH	t	H
t
Ht ^RIHtHtHtHt ^RIHtHtHtHtHt ^RIHt ^RIHtHtHtHtHtHtH t H!t! ^RI"H#t#H$t$H%t%H&t& R.t']PP                  ! ]PR                  ! R	4      4      t*]PP                  ! R
4      t+R R lt,R R lt-]PP                  ! ]PR                  ! R	4      4      t.R R lt/]PP                  ! ]PR                  ! R	4      4      t0R R lt1 ! R R4      t2]PP                  ! ]PR                  ! R	4      4      t3 ! R R4      t4 ! R R4      t5R R lt6]]]
]%,          ]	]
]%,          ]
]%,          3,          3,          ]]R]3,          ]]7]R]3,          3,          3,          3,          t8]]3]/]!]3]1]!] 3]1]]3]6]]3]6]]3]6]!]3]6]!]3]6]!]3]6]R]4R]2R]5//
t9] ^ k R# )     N)	AnyCallableDictIterableNoReturnOptionalTupleTypeUnion)chunk_headerheader_fieldrequest_linestatus_line)DataEndOfMessageInformationalResponseRequestResponseReceiveBuffer)CLIENTCLOSEDDONEIDLE
MUST_CLOSE	SEND_BODYSEND_RESPONSESERVER)LocalProtocolErrorRemoteProtocolErrorSentinelvalidateREADERSZasciis   [ \t]+c                s\    V ^8  d   QhR\         \        ,          R\         \        ,          /#    linesreturn)r   bytesformat   "1/usr/lib/python3.14/site-packages/h11/_readers.py__annotate__r+   +   s"      x 8E?     c              #   sD  "   \        V 4      pR pV F~  p\        P                  V4      pV'       dU   Vf   \        R4      h\	        V\
        4      '       g   \        V4      pVR,          pW#VP                  4       R  ,          pKt  Ve   Vx  TpK  	  Ve   Vx  R # R # 5i)Nz%continuation line at start of headerss    )Ziterobs_fold_rematchr   Z
isinstanceZ	bytearrayZend)r$   ZitZlastliner.   s   &    r*   _obsolete_line_foldr0   +   s     	eB D!!$'|()PQQdI.. DLD''D
D  
 s   BB c                s~    V ^8  d   QhR\         \        ,          R\         \        \        \        3,          ,          /# r"   )r   r&   r   r'   r)   r*   r+   r+   @   s.     > >E?>eE5L!">r,   c              #   s~   "   \        V 4       F)  p\        \        VR V4      pVR,          VR,          3x  K+  	  R# 5i)zillegal header line: {!r}Z
field_nameZfield_valueN)r0   r    header_field_re)r$   r/   matches   &  r*   _decode_header_linesr4   @   s<      $E*?D2MtT|$gm&<== +s   ;=c                sF    V ^8  d   QhR\         R\        \        ,          /# r#   bufr%   )r   r   r   r'   r)   r*   r+   r+   K   s      ] x7H r,   c           
      s&   V P                  4       pVf$   V P                  4       '       d   \        R4      hR # V'       g   \        R4      h\        \        V^ ,          RV^ ,          4      p\        RR\        \        VR,          4      4      RR/VB # )	Nillegal request linezno request line receivedzillegal request line: {!r}headersi   NN_parsedT )maybe_extract_lines+is_next_line_obviously_invalid_request_liner   r    request_line_rer   listr4   )r6   r$   r2   r3   r*   maybe_read_from_IDLE_clientr@   K   s    ##%E}::<<$%;<< !;<<q#?qG  )%)45?CGN r,   c                sT    V ^8  d   QhR\         R\        \        \        R3,          /# r#   r6   r%   N)r   r	   r   r   r'   r)   r*   r+   r+   ^   s)      	
 (D01r,   c                 s   V P                  4       pVf$   V P                  4       '       d   \        R4      hR # V'       g   \        R4      h\        \        V^ ,          RV^ ,          4      pVR,          f   RMVR,          pVR,          f   RMVR,          p\        VR,          4      pV^8  d   \        M\        pV! \        \        VR	,          4      4      R
VVVR7      # )Nr7   zno response line receivedzillegal status line: {!r}http_versions   1.1reasonr,   status_coder9   T)r8   r:   rD   rC   rB   )
r<   r=   r   r    status_line_reintr   r   r?   r4   )r6   r$   r2   rB   rC   rD   Zclass_s   &      r*   $maybe_read_from_SEND_RESPONSE_serverrG   ^   s     ##%E}::<<$%;<< !<==~uQx1LeTUhWG.)1w~7N  H%-S783DFgm,-K!,s!2  )%)45! r,   c                   sV   a  ] tR t^zt o V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )	ContentLengthReaderc                s$   < V ^8  d   QhRS[ RR/# )r#   lengthr%   N)rF   r(   __classdict__   "r*   r+    ContentLengthReader.__annotate__{   s     ! !s !t !r,   c                s    Wn         Wn        R # N_length
_remaining)selfrI   s   &&r*   __init__ZContentLengthReader.__init__{   s     r,   c                >   < V ^8  d   QhRS[ RS[S[S[R3,          /# rA   r   r	   r   r   rJ   rL   r*   r+   rM      s'      M eD,4L.M r,   c                s    V P                   ^ 8X  d   \        4       # VP                  V P                   4      pVf   R# V ;P                   \        V4      ,          un         \	        VR7      # )r    Ndata)rQ   r   maybe_extract_at_mostlenr   rR   r6   rW      && r*   __call__ZContentLengthReader.__call__   sN    ??a>!((9<3t9$r,   c                    < V ^8  d   QhRS[ /# r#   r%   r   rJ   rL   r*   r+   rM      s     
 
( 
r,   c                s    \        R P                  V P                  V P                  ,
          V P                  4      4      h)z]peer closed connection without sending complete message body (received {} bytes, expected {}))r   r(   rP   rQ   rR      &r*   read_eofZContentLengthReader.read_eof   s4    !//5vt.0
 	
r,   rO   N	__name__
__module____qualname____firstlineno__rS   r\   rb   __static_attributes____classdictcell__rK      @r*   rH   rH   z   s#     ! ! 
 
r,   rH   c                   sV   a  ] tR t^t o V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )	ChunkedReaderc                s   < V ^8  d   QhRR/# )r#   r%   Nr;   rJ   rL   r*   r+   ChunkedReader.__annotate__   s     & &$ &r,   c                s0    ^ V n         RV n        RV n        R# )r    r,   FN_bytes_in_chunk_bytes_to_discard_reading_trailerr`   ra   r*   rS   ZChunkedReader.__init__   s      "% %r,   c                rT   rA   rU   rJ   rL   r*   r+   rm      s+     0M 0MM 0MeD,4L.M 0Mr,   c                s   V P                   '       d5   VP                  4       pVf   R # \        \        \	        V4      4      R7      # V P
                  '       d   VP                  \        V P
                  4      4      pVf   R # W0P
                  R \        V4       8w  d   \        RV: RV P
                  : R24      hV P
                  \        V4      R  V n        V P
                  '       d   R # V P                  ^ 8X  de   VP                  4       pVf   R # \        \        VRV4      p\        VR,          ^R7      V n	        V P                  ^ 8X  d   RV n         V ! V4      # RpMR	pVP                  V P                  4      pVf   R # V ;P                  \        V4      ,          un	        V P                  ^ 8X  d   R
V n        RpMR	p\        W6VR7      # )N)r8   zmalformed chunk footer: z (expected Z)zillegal chunk header: {!r}Z
chunk_size)ZbaseTFs   
)rW   chunk_start	chunk_end)rq   r<   r   r?   r4   rp   rX   rY   r   ro   Zmaybe_extract_next_liner    chunk_header_rerF   r   )rR   r6   r$   rW   r
   r2   rr   rs   s   &&      r*   r\   ZChunkedReader.__call__   s      ++-E}-A%-H(IJJ!!!,,S1G1G-HID|--kD	::(.thk$BXBXA[[\]  &*%;%;CIK%HD"%%% 1$668L#,	G $'w|'<2#FD ##q((,%Cy KK(()=)=><D	)1$%,D"II)LLr,   c                r]   r^   r_   rJ   rL   r*   r+   rm      s     
 
( 
r,   c                s    \        R 4      h)zVpeer closed connection without sending complete message body (incomplete chunked read))r   r`   ra   r*   rb   ZChunkedReader.read_eof   s    !(
 	
r,   rn   Nrc   rj   rk   r*   rl   rl      s&     & &0M 0Md
 
r,   rl   c                   sD   a  ] tR t^t o V 3R lR ltV 3R lR ltRtV tR# )Http10Readerc                s6   < V ^8  d   QhRS[ RS[S[,          /# r5   )r   r   r   rJ   rL   r*   r+   Http10Reader.__annotate__   s      M htn r,   c                sH    VP                  R 4      pVf   R# \        VR7      # )iɚ;NrV   )rX   r   rZ   r[   r*   r\   ZHttp10Reader.__call__   s$    ((3<r,   c                r]   r^   r   rJ   rL   r*   r+   rv      s      , r,   c                s    \        4       # rN   rw   r`   ra   r*   rb   ZHttp10Reader.read_eof   s
    ~r,   r;   N)rd   re   rf   rg   r\   rb   rh   ri   rj   rk   r*   ru   ru      s       r,   ru   c                s(    V ^8  d   QhR\         RR/# rA   r   r'   r)   r*   r+   r+      s       $ r,   c                 s,    V '       d   \        R 4      hR# )zGot data when expecting EOFN)r   )r6   ra   r*   expect_nothingrx      s    
 !>??r,   .Zchunkedzcontent-lengthzhttp/1.0c                s@    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r#   r!   )__conditional_annotations__ReadersTyper'   r)   r*   r+   r+      s    		p  q 
r,   );ry   ZreZtypingr   r   r   r   r   r   r   r   r	   Z_abnfr
   r   r   r   Z_eventsr   r   r   r   r   Z_receivebufferr   Z_stater   r   r   r   r   r   r   r   Z_utilr   r   r   r    Z__all__ZcompileZencoder1   r-   r0   r4   r>   r@   rE   rG   rH   rt   rl   ru   rx   Zstrrz   r!   r+   )ry   rk   r*   <module>r{      s  & 
	 X X X H H Q Q )	 	 	 O N+**\009:jj$*> **\009:  K..w788
 
. **\009:>
 >
B  	$x.%XX >?
?@	(38
d3c(:#:;
;<> TN/TN8]ATNNZ.VnTNNZ.Vn=-L r,   