
    \j                         d dl Z d dlmZ e j                  e j                   G d d                    Ze j                  de j                  ej                     defd       Z
y)    N)	err_checkc                       e Zd Zd Zd Zdej                  fdZdej                  dej                  fdZdej                  fdZ	d Z
d	 Zd
 Zd Zd ZdefdZddZy)
Dictionaryc                 \    |D ]  }| j                  |        |r| j                  |       y y N)update)selfargskwargsargs       @/root/.hermes/venv/lib/python3.12/site-packages/av/dictionary.py	__cinit__zDictionary.__cinit__   s1     	CKK	KK     c                     | j                   t        j                  k7  r3t        j	                  t        j
                  | j                                y y r   )ptrcythonNULLlibav_dict_freeaddressr	   s    r   __dealloc__zDictionary.__dealloc__   s2    88v{{"V^^DHH56 #r   keyc                     t         j                  | j                  |t        j                  d      }|t        j                  k(  rt        |      |j                  S Nr   )r   av_dict_getr   r   r   KeyErrorvalue)r	   r   elements      r   __getitem__zDictionary.__getitem__   sC    9<HHc6;;:
 fkk!3-}}r   r   c                     t        t        j                  t        j                  | j
                        ||d             y r   )r   r   av_dict_setr   r   r   r	   r   r   s      r   __setitem__zDictionary.__setitem__   s&    #//&..":CJKr   c                     t        t        j                  t        j                  | j
                        |t        j                  d             y r   )r   r   r"   r   r   r   r   )r	   r   s     r   __delitem__zDictionary.__delitem__   s*    #//&..":CaPQr   c                 R    t        t        j                  | j                              S r   )r   r   av_dict_countr   r   s    r   __len__zDictionary.__len__    s    **488455r   c              #      K   t         j                  }	 t        j                  | j                  d|t        j
                        }|t         j                  k(  ry |j                   Sw)N )r   r   r   r   r   AV_DICT_IGNORE_SUFFIXr   )r	   r   s     r   __iter__zDictionary.__iter__#   sN     9?oodhhGS=V=VWG&++%++	 s   A%A'c                      dt        |       dS )Nzav.Dictionary())dictr   s    r   __repr__zDictionary.__repr__+   s    T
~Q//r   c                     t        |       S r   )listr   s    r   keyszDictionary.keys.   s    Dzr   c                     t               }t        j                  t        j                  |j
                        | j
                  d       |S r   )r   r   av_dict_copyr   r   r   )r	   others     r   copyzDictionary.copy1   s1    &L		2DHHa@r   c                     | |   }| |= |S r    r#   s      r   popzDictionary.pop6   s    S	Ir   c                ~   t        |t              rWt        j                  t	        j
                  | j                        t	        j                  t        |      j                  d       n9t        |d      r|j                         D ]
  }||   | |<    n|D ]
  \  }}|| |<    |j                         D ]
  \  }}|| |<    y )Nr   r4   )
isinstancer   r   r6   r   r   r   casthasattrr4   items)r	   r7   kwdsr   r   s        r   r   zDictionary.update;   s    eZ(txx(&++j%*H*L*La UF#zz| '!#JS	' $ "
U!S	"**, 	JCDI	r   N)r:   )__name__
__module____qualname__r   r   r   strr    r$   r&   r)   r-   r1   r4   r8   r;   r   r:   r   r   r   r      sv     7vzz Lvzz L&** LRvzz R60
s 
r   r   input_returnc                 (    t               }| |_        |S r   )r   r   )rF   outputs     r   wrap_dictionaryrJ   J   s    #FFJMr   )r   cython.cimports.av.errorr   finalcclassr   cfuncpointerr   AVDictionaryrJ   r:   r   r   <module>rQ      sm     . @ @  @F FNN3+;+;<   r   