
    j&                        S r SSKJr  SSKJr  SSKJrJrJr  SSK	J
r
JrJrJr  SSKJr  \" S5      r\" S	5      r " S
 S\\\4   \\   5      r " S S\\\4   5      rg)zO
requests.structures
~~~~~~~~~~~~~~~~~~~

Data structures that power Requests.
    )annotations)OrderedDict)IterableIteratorMapping)AnyGenericTypeVaroverload   )MutableMapping_VT_Dc                      \ rS rSr% SrS\S'    S     SS jjrSS jrSS jrSS	 jr	SS
 jr
SS jrSS jrSS jrSS jrSS jrSrg)CaseInsensitiveDict   a  A case-insensitive ``dict``-like object.

Implements all methods and operations of
``MutableMapping`` as well as dict's ``copy``. Also
provides ``lower_items``.

All keys are expected to be strings. The structure remembers the
case of the last key to be set, and ``iter(instance)``,
``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()``
will contain case-sensitive keys. However, querying and contains
testing is case insensitive::

    cid = CaseInsensitiveDict()
    cid['Accept'] = 'application/json'
    cid['aCCEPT'] == 'application/json'  # True
    list(cid) == ['Accept']  # True

For example, ``headers['content-encoding']`` will return the
value of a ``'Content-Encoding'`` response header, regardless
of how the header name was originally stored.

If the constructor, ``.update``, or equality comparison
operations are given keys that have equal ``.lower()``s, the
behavior is undefined.
z!OrderedDict[str, tuple[str, _VT]]_storeNc                R    [        5       U l        Uc  0 nU R                  " U40 UD6  g N)r   r   update)selfdatakwargss      V/var/www/html/Sattelite-Image/venv/lib/python3.13/site-packages/requests/structures.py__init__CaseInsensitiveDict.__init__1   s(    
 "m<DD#F#    c                @    X4U R                   UR                  5       '   g r   r   lower)r   keyvalues      r   __setitem__CaseInsensitiveDict.__setitem__;   s     %(<CIIK r   c                B    U R                   UR                  5          S   $ )Nr   r   r   r!   s     r   __getitem__CaseInsensitiveDict.__getitem__@   s    {{399;'**r   c                :    U R                   UR                  5       	 g r   r   r&   s     r   __delitem__CaseInsensitiveDict.__delitem__C   s    KK		$r   c                D    S U R                   R                  5        5       $ )Nc              3  *   #    U  H	  u  pUv   M     g 7fr    ).0casedkey_s      r   	<genexpr>/CaseInsensitiveDict.__iter__.<locals>.<genexpr>G   s     A,@[X,@s   )r   valuesr   s    r   __iter__CaseInsensitiveDict.__iter__F   s    ADKK,>,>,@AAr   c                ,    [        U R                  5      $ r   )lenr   r5   s    r   __len__CaseInsensitiveDict.__len__I   s    4;;r   c                D    S U R                   R                  5        5       $ )z.Like iteritems(), but with all lowercase keys.c              3  2   #    U  H  u  pXS    4v   M     g7f)r   Nr.   )r/   lowerkeykeyvals      r   r2   2CaseInsensitiveDict.lower_items.<locals>.<genexpr>N   s     T@S*<8!9%@Ss   )r   itemsr5   s    r   lower_itemsCaseInsensitiveDict.lower_itemsL   s    T@Q@Q@STTr   c                    [        U[        5      (       a  [        U5      nO[        $ [	        U R                  5       5      [	        UR                  5       5      :H  $ r   )
isinstancer   r   NotImplementeddictrB   )r   other
other_dicts      r   __eq__CaseInsensitiveDict.__eq__P   sF    eW%%3Fu3MJ!!D$$&'4
0F0F0H+IIIr   c                H    [        U R                  R                  5       5      $ r   )r   r   r4   r5   s    r   copyCaseInsensitiveDict.copyY   s    "4;;#5#5#788r   c                F    [        [        U R                  5       5      5      $ r   )strrG   rA   r5   s    r   __repr__CaseInsensitiveDict.__repr__\   s    4

%&&r   )r   r   )r   z4Mapping[str, _VT] | Iterable[tuple[str, _VT]] | Noner   r   returnNone)r!   rP   r"   r   rS   rT   )r!   rP   rS   r   )r!   rP   rS   rT   )rS   zIterator[str])rS   int)rS   zIterator[tuple[str, _VT]])rH   objectrS   bool)rS   zCaseInsensitiveDict[_VT]rS   rP   )__name__
__module____qualname____firstlineno____doc____annotations__r   r#   r'   r*   r6   r:   rB   rJ   rM   rQ   __static_attributes__r.   r   r   r   r      sg    4 .- FJ$B$ $ 
	$0
+%B UJ9'r   r   c                     ^  \ rS rSr% SrS\S'   SSU 4S jjjrSS jrSS jrSS jr	\
SSS	 jj5       r\
SS
 j5       rSSS jjrSrU =r$ )
LookupDict`   zDictionary lookup object.r   namec                .   > Xl         [        TU ]	  5         g r   )rc   superr   )r   rc   	__class__s     r   r   LookupDict.__init__e   s    	r   c                "    SU R                    S3$ )Nz	<lookup 'z'>rc   r5   s    r   rQ   LookupDict.__repr__i   s    499+R((r   c                    XR                   ;   a  U R                   U   $ [        S[        U 5      R                   SU S35      e)N'z' object has no attribute ')__dict__AttributeErrortyperY   r&   s     r   __getattr__LookupDict.__getattr__l   sH     --==%% DJ''((CC5J r   c                :    U R                   R                  US 5      $ r   rm   getr&   s     r   r'   LookupDict.__getitem__v   s     }}  d++r   c                    g r   r.   r   r!   defaults      r   rt   LookupDict.get{   s    ADr   c                    g r   r.   rw   s      r   rt   ry   ~   s    <?r   c                8    U R                   R                  X5      $ r   rs   rw   s      r   rt   ry      s    }}  ..r   ri   r   )rc   r   rS   rT   rX   )r!   rP   rS   
_VT | None)r!   rP   rx   rT   rS   r|   )r!   rP   rx   _D | _VTrS   r}   )r!   rP   rx   z	_D | NonerS   z_VT | _D | None)rY   rZ   r[   r\   r]   r^   r   rQ   rp   r'   r   rt   r_   __classcell__)rf   s   @r   ra   ra   `   sL    #
I ),
 D D? ?/ /r   ra   N)r]   
__future__r   collectionsr   collections.abcr   r   r   typingr   r	   r
   r   compatr   r   r   rP   r   rG   ra   r.   r   r   <module>r      se    # # 7 7 2 2 "enT]I'.c2GCL I'X"/c3h "/r   