o
    	h                     @  s<   d Z ddlmZ G dd deZdd ZG dd deZd	S )
zCustom maps, sequences, etc.    )annotationsc                   @  s$   e Zd ZdZdZdd Zdd ZdS )	HashedSeqzjHashed Sequence.

    Type used for hash() to make sure the hash is not generated
    multiple times.
    	hashvaluec                 G  s   || d d < t || _d S N)hashr   )selfseq r	   Y/var/www/html/optinet_system/venv/lib/python3.10/site-packages/kombu/utils/collections.py__init__   s   zHashedSeq.__init__c                 C  s   | j S r   )r   )r   r	   r	   r
   __hash__   s   zHashedSeq.__hash__N)__name__
__module____qualname____doc__	__slots__r   r   r	   r	   r	   r
   r      s
    r   c                 C  s&   z|   W S  ty   t|  Y S w )zCall ``obj.__eqhash__``.)
__eqhash__AttributeErrorr   )or	   r	   r
   eqhash   s
   
r   c                      s8   e Zd ZdZ fddZ fddZ fddZ  ZS )EqualityDictz&Dict using the eq operator for keying.c                   s&   t |}|| vr| |S t |S r   )r   __missing__super__getitem__)r   keyh	__class__r	   r
   r   #   s   
zEqualityDict.__getitem__c                   s   t  t||S r   )r   __setitem__r   )r   r   valuer   r	   r
   r   )   s   zEqualityDict.__setitem__c                   s   t  t|S r   )r   __delitem__r   )r   r   r   r	   r
   r    ,   s   zEqualityDict.__delitem__)r   r   r   r   r   r   r    __classcell__r	   r	   r   r
   r       s
    r   N)r   
__future__r   listr   r   dictr   r	   r	   r	   r
   <module>   s
    