+
    Nj'                        ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIt^RI	H
t
 ^RI	Ht ^RI	Ht ^RIHt ]P                  '       d   ^ RIt ! R R4      t ! R	 R
4      tR# )    )annotationsN)dump_header)parse_dict_header)quote_header_value)CallbackDictc                      ] tR t^tRtRR R lltR R ltR R ltRR	 R
 lltR R lt	R R lt
]R R l4       tR R ltR R ltR R ltRtR# )Authorizationa{  Represents the parts of an ``Authorization`` request header.

:attr:`.Request.authorization` returns an instance if the header is set.

An instance can be used with the test :class:`.Client` request methods' ``auth``
parameter to send the header in test requests.

Depending on the auth scheme, either :attr:`parameters` or :attr:`token` will be
set. The ``Basic`` scheme's token is decoded into the ``username`` and ``password``
parameters.

For convenience, ``auth["key"]`` and ``auth.key`` both access the key in the
:attr:`parameters` dict, along with ``auth.get("key")`` and ``"key" in auth``.

.. versionchanged:: 2.3
    The ``token`` parameter and attribute was added to support auth schemes that use
    a token instead of parameters, such as ``Bearer``.

.. versionchanged:: 2.3
    The object is no longer a ``dict``.

.. versionchanged:: 0.5
    The object is an immutable dict.
Nc               (    V ^8  d   QhRRRRRRRR/# )	   	auth_typestrdatadict[str, str | None] | Nonetoken
str | NonereturnNone )formats   "^/data/cameron/venvs/serve_omidlab/lib/python3.14/site-packages/werkzeug/datastructures/auth.py__annotate__Authorization.__annotate__+   s2       + 	
 
    c                	:    Wn          Vf   / pW n         W0n        R # N)type
parametersr   )selfr   r   r   s   &&&&r   __init__Authorization.__init__+   s,     	R<D	 
	r   c                    V ^8  d   QhRRRR/# r   namer   r   r   r   )r   s   "r   r   r   C        ) ) )
 )r   c                	8    V P                   P                  V4      # r   r   getr   r#   s   &&r   __getattr__Authorization.__getattr__C       ""4((r   c                    V ^8  d   QhRRRR/# r"   r   )r   s   "r   r   r   F   r$   r   c                	8    V P                   P                  V4      # r   r&   r(   s   &&r   __getitem__Authorization.__getitem__F   r+   r   c               $    V ^8  d   QhRRRRRR/# r   keyr   defaultr   r   r   )r   s   "r   r   r   I   !     1 1s 1Z 1: 1r   c                	8    V P                   P                  W4      # r   r&   r   r2   r3   s   &&&r   r'   Authorization.getI       ""300r   c                    V ^8  d   QhRRRR/# r   r2   r   r   boolr   )r   s   "r   r   r   L        & & & &r   c                	    WP                   9   # r   r   r   r2   s   &&r   __contains__Authorization.__contains__L       oo%%r   c                    V ^8  d   QhRRRR/# r   otherobjectr   r;   r   )r   s   "r   r   r   O        
 
F 
t 
r   c                	    \        V\        4      '       g   \        # VP                  V P                  8H  ;'       d;    VP                  V P                  8H  ;'       d    VP
                  V P
                  8H  # r   )
isinstancer	   NotImplementedr   r   r   r   rE   s   &&r   __eq__Authorization.__eq__O   sb    %//!! JJ$))# 4 4tzz)4 4  DOO3	
r   c                    V ^8  d   QhRRRR/# r   valuer   r   zte.Self | Noner   )r   s   "r   r   r   Z   s     ' '
 '~ 'r   c                   V'       g   R# VP                  R4      w  r#pVP                  4       pVP                  4       pVR8X  dE    \        P                  ! V4      P                  4       P                  R4      w  rSpT ! TRTRT/4      # RVP                  R4      9   d   V ! V\        V4      R4      # V ! VRV4      #   \        P                  \        3 d     R# i ; i)zParse an ``Authorization`` header value and return an instance, or ``None``
if the value is empty.

:param value: The header value to parse.

.. versionadded:: 2.3
N basic:usernamepassword=)	partitionlowerstripbase64	b64decodedecodebinasciiErrorUnicodeErrorrstripr   )clsrP   scheme_restrU   rV   s   &&     r   from_headerAuthorization.from_headerY   s     //#.4zz|W(.(8(8(>(E(E(G(Q(QRU(V%X v
Hj(KLL$++c""v06== 64&& NNL1 s   6B= =CCc                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   x   s     E E3 Er   c                   V P                   R8X  dR   \        P                  ! V P                   RV P                   2P                  4       4      P                  R4      pRV 2# V P                  e*   V P                   P                  4        RV P                   2# V P                   P                  4        R\        V P                  4       2# )zYProduce an ``Authorization`` header value representing this data.

.. versionadded:: 2.0
rS   rT   asciizBasic rR   )r   r[   	b64encoderU   rV   encoder]   r   titler   r   r   rP   s   & r   	to_headerAuthorization.to_headerx   s    
 99$$==/4==/299;fWo  E7##::!iioo'($**66))//#$Ak$//&B%CDDr   c                   V ^8  d   QhRR/# ri   r   )r   s   "r   r   r                r   c                	"    V P                  4       # r   rp   r   s   &r   __str__Authorization.__str__       ~~r   c                   V ^8  d   QhRR/# ri   r   )r   s   "r   r   r           = =# =r   c                	V    R \        V 4      P                   RV P                  4        R2# <rR   >r   __name__rp   rv   s   &r   __repr__Authorization.__repr__   *    4:&&'q)9(:!<<r   )r   r   r   NNr   )r   
__module____qualname____firstlineno____doc__r   r)   r.   r'   r@   rL   classmethodrf   rp   rw   r   __static_attributes__r   r   r   r	   r	      sN    20))1&
 ' '<E  = =r   r	   c                    a  ] tR t^tRtR-R R lltR R lt]R R l4       t]P                  R R	 l4       t]R
 R l4       t
]
P                  R R l4       t
]R R l4       t]P                  R R l4       tR R ltR R ltR R ltR R ltR V 3R lltR R ltR R ltR  R! ltR.R" R# llt]R$ R% l4       tR& R' ltR( R) ltR* R+ ltR,tV ;t# )/WWWAuthenticatea  Represents the parts of a ``WWW-Authenticate`` response header.

Set :attr:`.Response.www_authenticate` to an instance of list of instances to set
values for this header in the response. Modifying this instance will modify the
header value.

Depending on the auth scheme, either :attr:`parameters` or :attr:`token` should be
set. The ``Basic`` scheme will encode ``username`` and ``password`` parameters to a
token.

For convenience, ``auth["key"]`` and ``auth.key`` both act on the :attr:`parameters`
dict, and can be used to get, set, or delete parameters. ``auth.get("key")`` and
``"key" in auth`` are also provided.

.. versionchanged:: 2.3
    The ``token`` parameter and attribute was added to support auth schemes that use
    a token instead of parameters, such as ``Bearer``.

.. versionchanged:: 2.3
    The object is no longer a ``dict``.

.. versionchanged:: 2.3
    The ``on_update`` parameter was removed.
c               $    V ^8  d   QhRRRRRR/# )r   r   r   valuesr   r   r   r   )r   s   "r   r   WWWAuthenticate.__annotate__   s-     N NN -N 	Nr   c                	x   a  VP                  4       S n        \        VV 3R  l4      S n        VS n        RS n        R# )c                $   < SP                  4       # r   _trigger_on_updaterd   r   s   &r   <lambda>*WWWAuthenticate.__init__.<locals>.<lambda>   s    d557r   N)rY   _typer   _parameters_token
_on_update)r   r   r   r   s   f&&&r   r   WWWAuthenticate.__init__   s6     __&
2>73
 IMr   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r      s     " "D "r   c                	H    V P                   e   V P                  V 4       R # R # r   )r   rv   s   &r   r   "WWWAuthenticate._trigger_on_update   s    ??&OOD! 'r   c                   V ^8  d   QhRR/# ri   r   )r   s   "r   r   r      s      c r   c                    V P                   # )zDThe authorization scheme, like ``basic``, ``digest``, or ``bearer``.)r   rv   s   &r   r   WWWAuthenticate.type   s     zzr   c                    V ^8  d   QhRRRR/# )r   rP   r   r   r   r   )r   s   "r   r   r      s     " "# "$ "r   c                	2    Wn         V P                  4        R # r   )r   r   ro   s   &&r   r   r      s    
!r   c                   V ^8  d   QhRR/# )r   r   zdict[str, str | None]r   )r   s   "r   r   r      s        1  r   c                    V P                   # zoA dict of parameters for the header. Only one of this or :attr:`token` should
have a value for a given scheme.
)r   rv   s   &r   r   WWWAuthenticate.parameters   s    
 r   c                    V ^8  d   QhRRRR/# )r   rP   zdict[str, str]r   r   r   )r   s   "r   r   r      s     " " "4 "r   c                	R   a  \        VV 3R  l4      S n        S P                  4        R# )c                $   < SP                  4       # r   r   r   s   &r   r   ,WWWAuthenticate.parameters.<locals>.<lambda>   s    9P9P9Rr   N)r   r   r   ro   s   f&r   r   r      s    '/RS!r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r      s      z r   c                    V P                   # r   )r   rv   s   &r   r   WWWAuthenticate.token   s    
 {{r   c                    V ^8  d   QhRRRR/# )r   rP   r   r   r   r   )r   s   "r   r   r      s     " ": "$ "r   c                2    Wn         V P                  4        R# )z~A token for the header. Only one of this or :attr:`parameters` should have a
value for a given scheme.

.. versionadded:: 2.3
N)r   r   ro   s   &&r   r   r      s     !r   c                    V ^8  d   QhRRRR/# )r   r2   r   r   r   r   )r   s   "r   r   r      s     ( (s (z (r   c                	8    V P                   P                  V4      # r   r&   r?   s   &&r   r.   WWWAuthenticate.__getitem__   s    ""3''r   c               $    V ^8  d   QhRRRRRR/# )r   r2   r   rP   r   r   r   r   )r   s   "r   r   r      s!     " "s ": "$ "r   c                	    Vf   WP                   9   d   V P                   V MW P                   V&   V P                  4        R # r   r   r   )r   r2   rP   s   &&&r   __setitem__WWWAuthenticate.__setitem__   s6    =oo%OOC(#(OOC !r   c                    V ^8  d   QhRRRR/# )r   r2   r   r   r   r   )r   s   "r   r   r      s     & &s &t &r   c                	d    WP                   9   d    V P                   V V P                  4        R # R # r   r   r?   s   &&r   __delitem__WWWAuthenticate.__delitem__   s)    //!$##% "r   c                    V ^8  d   QhRRRR/# r"   r   )r   s   "r   r   r      s       
 r   c                	    W,          # r   r   r(   s   &&r   r)   WWWAuthenticate.__getattr__   s
    zr   c               $    V ^8  d   QhRRRRRR/# )r   r#   r   rP   r   r   r   r   )r   s   "r   r   r      s!       J 4 r   c                	@   < VR9   d   \         SV `  W4       R# W V&   R# )r   N>   r   r   r   r   )super__setattr__)r   r#   rP   	__class__s   &&&r   r   WWWAuthenticate.__setattr__   s     CCG,Jr   c                    V ^8  d   QhRRRR/# )r   r#   r   r   r   r   )r   s   "r   r   r      s        r   c                	
    W R # r   r   r(   s   &&r   __delattr__WWWAuthenticate.__delattr__   s    Jr   c                    V ^8  d   QhRRRR/# r:   r   )r   s   "r   r   r      r<   r   c                	    WP                   9   # r   r>   r?   s   &&r   r@   WWWAuthenticate.__contains__   rB   r   c                    V ^8  d   QhRRRR/# rD   r   )r   s   "r   r   r     rG   r   c                	    \        V\        4      '       g   \        # VP                  V P                  8H  ;'       d;    VP                  V P                  8H  ;'       d    VP
                  V P
                  8H  # r   )rI   r   rJ   r   r   r   rK   s   &&r   rL   WWWAuthenticate.__eq__  sb    %11!! JJ$))# 4 4tzz)4 4  DOO3	
r   c               $    V ^8  d   QhRRRRRR/# r1   r   )r   s   "r   r   r     r4   r   c                	8    V P                   P                  W4      # r   r&   r6   s   &&&r   r'   WWWAuthenticate.get  r8   r   c                    V ^8  d   QhRRRR/# rO   r   )r   s   "r   r   r     s     ' '
 '~ 'r   c                    V'       g   R# VP                  R4      w  r#pVP                  4       pVP                  4       pRVP                  R4      9   d   V ! V\	        V4      R4      # V ! VRV4      # )zParse a ``WWW-Authenticate`` header value and return an instance, or ``None``
if the value is empty.

:param value: The header value to parse.

.. versionadded:: 2.3
NrR   rW   )rX   rY   rZ   ra   r   )rb   rP   rc   rd   re   s   &&   r   rf   WWWAuthenticate.from_header  si     //#.4zz|$++c""v06== 64&&r   c                   V ^8  d   QhRR/# ri   r   )r   s   "r   r   r   %  s     E E3 Er   c                ,   V P                   e*   V P                  P                  4        RV P                    2# V P                  '       g   V P                  P                  4       # V P                  R8X  dp   . pV P                  P	                  4        F;  w  r#VR9   d   \        VRR7      pM\        V4      pVP                  V RV 24       K=  	  RRP                  V4       2# V P                  P                  4        R\        V P                  4       2# )	zCProduce a ``WWW-Authenticate`` header value representing this data.rR   digestF)allow_tokenrW   zDigest z, >   qopnoncerealmdomainopaque)	r   r   rn   r   itemsr   appendjoinr   )r   r   r2   rP   s   &   r   rp   WWWAuthenticate.to_header%  s    ::!iioo'($**6699??$$99 E"oo335
GG.u%HE.u5EuAeW-. 6 TYYu-.//))//#$Ak$//&B%CDDr   c                   V ^8  d   QhRR/# ri   r   )r   s   "r   r   r   <  rs   r   c                	"    V P                  4       # r   ru   rv   s   &r   rw   WWWAuthenticate.__str__<  ry   r   c                   V ^8  d   QhRR/# ri   r   )r   s   "r   r   r   ?  r{   r   c                	V    R \        V 4      P                   RV P                  4        R2# r}   r   rv   s   &r   r   WWWAuthenticate.__repr__?  r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   r   propertyr   setterr   r   r.   r   r   r)   r   r   r@   rL   r'   r   rf   rp   rw   r   r   __classcell__)r   s   @r   r   r      s    2N"   
[[" "     " "   \\" "("&
 &
1 ' ',E. = =r   r   )
__future__r   r[   r^   collections.abcabccabctypingthttpr   r   r   
structuresr   TYPE_CHECKINGtyping_extensionster	   r   r   r   r   <module>r      sE    "      $ % $???"{= {=|q= q=r   