a
    lJh                     @   s   d dl Z d dlmZmZmZ d dlmZmZmZm	Z	m
Z
 erJddlmZ neZedZeddd	Zed
ZG dd dee ZG dd dee Ze	ee ee eeeef  df ZG dd deeef ZG dd dee eeef ZdS )    N)IterableMappingMutableMapping)TYPE_CHECKINGProtocolTypeVarUnionoverload   )istr_V_V_coT)	covariant_Tc                   @   s.   e Zd Zee dddZeedddZdS )SupportsKeysreturnc                 C   s   d S N selfr   r   @/var/www/shaz/venv/lib/python3.9/site-packages/multidict/_abc.pykeys       zSupportsKeys.keyskeyr   c                C   s   d S r   r   r   r   r   r   r   __getitem__   r   zSupportsKeys.__getitem__N)__name__
__module____qualname__r   strr   r   r   r   r   r   r   r      s   r   c                   @   s.   e Zd Zee dddZeedddZdS )SupportsIKeysr   c                 C   s   d S r   r   r   r   r   r   r      r   zSupportsIKeys.keysr   c                C   s   d S r   r   r   r   r   r   r      r   zSupportsIKeys.__getitem__N)r   r   r    r   r   r   r   r   r   r   r   r   r"      s   r"   c                   @   s   e Zd Zeeee dddZeeee	ee ef dddZe
jdeee	ee ef dddZeeeddd	Zeeee	eef dd
d	Ze
jdeee	eef ddd	ZdS )MultiMappingr   c                 C   s   d S r   r   r   r   r   r   getall   s    zMultiMapping.getallr   defaultr   c                 C   s   d S r   r   r   r   r&   r   r   r   r$      s    .c                 C   s   dS )zReturn all values for key.Nr   r'   r   r   r   r$   !   s    c                 C   s   d S r   r   r   r   r   r   getone%   s    zMultiMapping.getonec                 C   s   d S r   r   r'   r   r   r   r(   '   s    c                 C   s   dS )zReturn first value for key.Nr   r'   r   r   r   r(   )   s    N).).)r   r   r    r	   r!   listr   r$   r   r   abcabstractmethodr(   r   r   r   r   r#      s    "r#   c                   @   s   e Zd ZejeeddddZejdee eddddZ	e
eedd	d
Ze
eeeeef ddd
Zejdeeeeef ddd
Ze
eee dddZe
eeeee ef dddZejdeeeee ef dddZdS )MutableMultiMappingN)r   valuer   c                 C   s   dS )zAdd value to list.Nr   )r   r   r-   r   r   r   add/   s    zMutableMultiMapping.add)argkwargsr   c                K   s   dS )z2Add everything from arg and kwargs to the mapping.Nr   )r   r/   r0   r   r   r   extend3   s    zMutableMultiMapping.extendr   c                 C   s   d S r   r   r   r   r   r   popone7   s    zMutableMultiMapping.poponer%   c                 C   s   d S r   r   r'   r   r   r   r2   9   s    .c                 C   s   dS )z8Remove specified key and return the corresponding value.Nr   r'   r   r   r   r2   ;   s    c                 C   s   d S r   r   r   r   r   r   popall?   s    zMutableMultiMapping.popallc                 C   s   d S r   r   r'   r   r   r   r3   A   s    c                 C   s   dS )zJRemove all occurrences of key and return the list of corresponding values.Nr   r'   r   r   r   r3   C   s    )N).).)r   r   r    r*   r+   r!   r   r.   MDArgr1   r	   r2   r   r   r)   r3   r   r   r   r   r,   .   s     r,   )r*   collections.abcr   r   r   typingr   r   r   r   r	   Z_multidict_pyr   r!   r   r   r   r   r"   tupler4   r#   r,   r   r   r   r   <module>   s   $