+
     h(  c                   s   ^ RI 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 ^RIHtHtHt ]'       d   ^RIHt  ^ RIHt ^t] P.                  ! R4      t] P.                  ! ]P2                  ! R4      4      t] P.                  ! ]P2                  ! R4      4      t ! R	 R
]]]]3,          ,          4      t]	]]]]3,          ,          ]]]]3,          ,          ]]]]3,          ,          ]]]]3,          ,          3,          t]R R l4       t ]R R l4       t ]RR R ll4       t RR R llt R R lt!R R lt"R R lt#R#   ] d    ^ RIHt  ELi ; i)i    N)AnyStrcastListoverloadSequenceTupleTYPE_CHECKINGUnion)
field_namefield_value)bytesifyLocalProtocolErrorvalidate)Request)Literals   [0-9]+Zasciic                   s   a  ] tR t^Mt o RtRtV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt	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# )Headersa  
A list-like interface that allows iterating over headers as byte-pairs
of (lowercased-name, value).

Internally we actually store the representation as three-tuples,
including both the raw original casing, in order to preserve casing
over-the-wire, and the lowercased name, for case-insensitive comparisions.

r = Request(
    method="GET",
    target="/",
    headers=[("Host", "example.org"), ("Connection", "keep-alive")],
    http_version="1.1",
)
assert r.headers == [
    (b"host", b"example.org"),
    (b"connection", b"keep-alive")
]
assert r.headers.raw_items() == [
    (b"Host", b"example.org"),
    (b"Connection", b"keep-alive")
]
_full_itemsc                sN   < V ^8  d   QhRS[ S[S[S[S[3,          ,          RR/# )   
full_itemsreturnNr   r   bytesformat__classdict__   "1/usr/lib/python3.14/site-packages/h11/_headers.py__annotate__Headers.__annotate__h   s,     & &4eUE.A(B#C & &    c                s    Wn         R # Nr   )selfr      &&r   __init__ZHeaders.__init__h   s    %r   c                    < V ^8  d   QhRS[ /# r   r   boolr   r   r   r   r   k   s     & &$ &r   c                ,    \        V P                  4      # r   )r&   r   r       &r   __bool__ZHeaders.__bool__k   s    D$$%%r   c                s&   < V ^8  d   QhRS[ RS[/# )r   otherr   )Zobjectr&   r   r   r   r   r   n   s     ) )F )t )r   c                s0    \        V 4      \        V4      8H  # r   )list)r    r+   r!   r   __eq__ZHeaders.__eq__n   s    DzT%[((r   c                r#   r$   )intr   r   r   r   r   q   s     % % %r   c                r'   r   )lenr   r(   r)   r   __len__ZHeaders.__len__q   s    4##$$r   c                r#   r$   )strr   r   r   r   r   t   s     2 2# 2r   c                s8    R \        \        V 4      4      ,          # )z<Headers(%s)>)Zreprr,   r(   r)   r   __repr__ZHeaders.__repr__t   s    d4j!111r   c                s<   < V ^8  d   QhRS[ RS[S[S[3,          /# )r   idxr   )r.   r   r   r   r   r   r   r   w   s$      s uUE\': r   c                s4    V P                   V,          w  r#pW43# r   r   )r    r3   _namevalues   &&   r   __getitem__ZHeaders.__getitem__w   s    ))#.}r   c                sF   < V ^8  d   QhRS[ S[S[S[3,          ,          /# r$   r   r   r   r   r   r   {   s%     N N4eUl 34 Nr   c                sX    V P                    UUUu. uF	  w  rq1V3NK  	  uppp# u upppi r   r   )r    raw_namer4   r6   s   &   r   	raw_itemsZHeaders.raw_items{   s*    <@<L<LM<L&8h55!<LMMMs   %r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z	__slots__r"   r*   r-   r0   r2   r7   r9   Z__static_attributes__Z__classdictcell__)r   s   @r   r   r   M   sY     0 I& && &) )% %2 2 N Nr   r   c                sJ    V ^8  d   QhR\         R\        R,          R\         /# )r   headers_parsedTr   )r   r   r      "r   r   r      s%      G gdm  r   c                     R # r    r:   r;   r!   r   normalize_and_validaterA          r   c                sJ    V ^8  d   QhR\         R\        R,          R\        /# )r   r:   r;   Fr   )HeaderTypesr   r   r<   r=   r   r   r      s%      K '%. W r   c                 r>   r   r?   r@   r!   r   rA   rA      rB   r   c                ^    V ^8  d   QhR\         \        \        3,          R\        R\        /# r   r:   r;   r   r   r   rC   r&   r<   r=   r   r   r      s.      7K'(37r   c                 r>   r   r?   r@   r!   r   rA   rA      s     r   c                rD   rE   rF   r<   r=   r   r   r      s.     6  6 7K'(6 376 6 r   c                 sD   . pR pRpV  EF  w  rVV'       g;   \        V4      p\        V4      p\        \        VRV4       \        \        VRV4       TpVP	                  4       pVR8X  d   VP                  R4       Uu0 uF  qP                  4       kK  	  p	p\        V	4      ^8w  d   \        R4      hV	P                  4       p\        \        VR4       \        V4      \        8  d   \        R4      hVf   TpVP                  WuV34       EK  W68w  d   \        R4      hEK  VR8X  dR   V'       d   \        R	R
R7      hVP	                  4       pVR8w  d   \        RR
R7      hRpVP                  WuV34       EKq  VP                  WuV34       EK  	  \        V4      # u upi )NFzIllegal header name {!r}zIllegal header value {!r}s   content-length   ,z"conflicting Content-Length headerszbad Content-Lengths   transfer-encodingz"multiple Transfer-Encoding headersi  )Zerror_status_hints   chunkedz,Only Transfer-Encoding: chunked is supportedT)r
   r   _field_name_re_field_value_relowersplitstripr/   r   Zpop_content_length_reCONTENT_LENGTH_MAX_DIGITSappendr   )
r:   r;   new_headersZseen_content_lengthZsaw_transfer_encodingr5   r6   r8   ZlengthZlengthss
   &&        r   rA   rA      s    K! D>DUOE^T+EtL_e-H%P zz|$$49KK4EF4E&||~4EGF7|q ()MNNKKME'0DE5z55()=>>"*&+#""HE#:;$-()MNN .))
 %(8C 
 KKME
"(B&)  %)!6767_ ` ;C Gs   =Fc                sR    V ^8  d   QhR\         R\        R\        \        ,          /# )r   r:   r5   r   r   r   r   r<   r=   r   r   r      s%     , ,g ,U ,tE{ ,r   c                 s    . pV P                    Fa  w  r4pWA8X  g   K  VP                  4       pVP                  R 4       F.  pVP                  4       pV'       g   K  VP	                  V4       K0  	  Kc  	  V# )rG   )r   rJ   rK   rL   rO   )r:   r5   Zoutr4   
found_namefound_raw_valueZfound_split_values   &&     r   get_comma_headerrT      ss    H C*1*=*=&-335O%4%:%:4%@!$5$;$;$=!$$JJ01 &A +> Jr   c                s^    V ^8  d   QhR\         R\        R\        \        ,          R\         /# )r   r:   r5   
new_valuesr   rQ   r<   r=   r   r   r      s-     / /g /U /U /PW /r   c                 s    . pV P                    F   w  rEpWQ8w  g   K  VP                  WF34       K"  	  V F$  pVP                  VP                  4       V34       K&  	  \        V4      # r   )r   rO   ZtitlerA   )r:   r5   rU   rP   Zfound_raw_namerR   rS   Z	new_values   &&&     r   set_comma_headerrV      sf     .0K7>7J7J3O@A 8K  	DJJL)45  !+..r   c                s(    V ^8  d   QhRRR\         /# )r   requestr   r   r%   r<   r=   r   r   r     s     % %Y %4 %r   c                 s^    V P                   R 8  d   R# \        V P                  R4      pRV9   # )s   1.1Fs   expects   100-continue)Zhttp_versionrT   r:   )rW   Zexpects   & r   has_expect_100_continuerX     s0     f$gooy9Ff$$r   )F)$ZreZtypingr    r   r   r   r   r   r   r   Z_abnfr   r	   Z_utilr
   r   r   Z_eventsr   r   ZImportErrorZtyping_extensionsrN   ZcompilerM   ZencoderH   rI   r   r   r1   rC   rA   rT   rV   rX   r?   r   r   <module>rY      sO   	 V V V * 9 9 *  r ZZ
+ J--g67**[//89/NhuUE\*+ /Nd ue|	ucz	sEz	sCx 
 
 
 
 
 
6 r,^/&%O  *))*s   D? ?EE