Ë
    ðmxi+  ã                   ó@   — d Z dZ G d„ de«      ZefZd„ Zd„ Zd„ Zd„ Zy)	z'Key functions for memoizing decorators.)ÚhashkeyÚ	methodkeyÚtypedkeyÚtypedmethodkeyc                   ót   — e Zd ZdZdZej                  fd„Zej                  fd„Zej                  fd„Zd„ Z	y)Ú_HashedTuplezðA tuple that ensures that hash() will be called no more than once
    per element, since cache decorators will hash the key multiple
    times on a cache miss.  See also _HashedSeq in the standard
    library functools implementation.

    Nc                 ó@   — | j                   }|€ || «      x| _         }|S ©N)Ú_HashedTuple__hashvalue)ÚselfÚhashÚ	hashvalues      úF/home/htdocs/ttos/venv/lib/python3.12/site-packages/cachetools/keys.pyÚ__hash__z_HashedTuple.__hash__   s*   € Ø×$Ñ$ˆ	ØÐÙ+/°«:Ð5ˆDÔ˜yØÐó    c                 ó&   — t         || |«      «      S r	   ©r   ©r   ÚotherÚadds      r   Ú__add__z_HashedTuple.__add__   s   € Ü™C  eÓ,Ó-Ð-r   c                 ó&   — t         ||| «      «      S r	   r   r   s      r   Ú__radd__z_HashedTuple.__radd__   s   € Ü™C  tÓ,Ó-Ð-r   c                 ó   — i S r	   © )r   s    r   Ú__getstate__z_HashedTuple.__getstate__   s   € Øˆ	r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   Útupler   r   r   r   r   r   r   r   r      s;   „ ñð €Kà!ŸN™Nó ð "'§¡ó .ð #(§-¡-ó .ór   r   c            	      ó†   — |r5t        | t        z   t        t        |j	                  «       «      «      z   «      S t        | «      S )z8Return a cache key for the specified hashable arguments.)r   Ú_kwmarkr    ÚsortedÚitems)ÚargsÚkwargss     r   r   r   %   s6   € ñ Ü˜D¤7™N¬U´6¸&¿,¹,».Ó3IÓ-JÑJÓKÐKä˜DÓ!Ð!r   c                 ó   — t        |i |¤ŽS )z/Return a cache key for use with cached methods.)r   ©r   r%   r&   s      r   r   r   .   s   € ä�DÐ#˜FÑ#Ð#r   c                  óž   — t        | i |¤Ž}|t        d„ | D «       «      z  }|t        d„ t        |j                  «       «      D «       «      z  }|S )z>Return a typed cache key for the specified hashable arguments.c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr	   ©Útype)Ú.0Úvs     r   ú	<genexpr>ztypedkey.<locals>.<genexpr>7   s   è ø€ Ò'˜Q”�a—Ñ'ùs   ‚c              3   ó8   K  — | ]  \  }}t        |«      –— Œ y ­wr	   r+   )r-   Ú_r.   s      r   r/   ztypedkey.<locals>.<genexpr>9   s   è ø€ Ò<™T˜Q ”�a—Ñ<ùs   ‚)r   r    r#   r$   )r%   r&   Úkeys      r   r   r   3   sM   € ô �4Ð
"˜6Ñ
"€CØŒ5Ñ' $Ô'Ó'Ñ'€CàŒ5Ñ<¤V¨F¯L©L«NÓ%;Ô<Ó<Ñ<€CØ€Jr   c                 ó   — t        |i |¤ŽS )z5Return a typed cache key for use with cached methods.)r   r(   s      r   r   r   =   s   € ä�TÐ$˜VÑ$Ð$r   N)	r   Ú__all__r    r   r"   r   r   r   r   r   r   r   ú<module>r5      s6   ðÙ -à
@€ô�5ô ð8 ˆ/€ò"ò$ò
ó%r   