+
    }i                     B    R t Rt ! R R]4      t]3tR tR tR tR tR# )	z'Key functions for memoizing decorators.c                      a  ] tR t^t o RtRt]P                  3R lt]P                  3R lt]P                  3R lt	R t
RtV tR# )_HashedTuplezA 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                D    V P                   pVf   V! V 4      ;V n         pV# N)_HashedTuple__hashvalue)selfhash	hashvalues   && a/Users/ahmad/.openclaw/workspace/my-crawler/.venv/lib/python3.14/site-packages/cachetools/keys.py__hash___HashedTuple.__hash__   s*    $$	+/:5Dy    c                $    \        V! W4      4      # r   r   r   otheradds   &&&r
   __add___HashedTuple.__add__   s    C,--r   c                $    \        V! W4      4      # r   r   r   s   &&&r
   __radd___HashedTuple.__radd__   s    C,--r   c                    / # r    )r   s   &r
   __getstate___HashedTuple.__getstate__   s    	r   )__hashvalue)__name__
__module____qualname____firstlineno____doc__r   tupler   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r
   r   r      sC      K!NN  "' . #(-- . r   r   c            	         V'       d>   \        V \        ,           \        \        VP	                  4       4      4      ,           4      # \        V 4      # )z8Return a cache key for the specified hashable arguments.)r   _kwmarkr"   sorteditems)argskwargss   *,r
   hashkeyr,   %   s6     D7NU6&,,.3I-JJKKD!!r   c                    \        V/ VB # )z/Return a cache key for use with cached methods.)r,   r   r*   r+   s   &*,r
   	methodkeyr/   .   s    D#F##r   c                    V'       dt   \        \        VP                  4       4      4      p\        V \        ,           V,           4      pT\         ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      ,          pM\        V 4      pT\         ;QJ d    . R V  4       F  NK  	  5,          pV# ! R V  4       4      ,          pV# )z>Return a typed cache key for the specified hashable arguments.c              3   <   "   T F  w  r\        V4      x  K  	  R # 5ir   type).0_vs   &  r
   	<genexpr>typedkey.<locals>.<genexpr>9   s     7T!WWs   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r2   )r4   r6   s   & r
   r7   r8   <   s     '$Qa$s   )r"   r(   r)   r   r'   )r*   r+   sorted_kwargskeys   *,  r
   typedkeyr<   3   s     fV\\^454'>M9:uu77uu77774 55'$'5'CJ '$'''CJr   c                    \        V/ VB # )z5Return a typed cache key for use with cached methods.)r<   r.   s   &*,r
   typedmethodkeyr>   @   s    T$V$$r   N)r,   r/   r<   r>   )	r!   __all__r"   r   r'   r,   r/   r<   r>   r   r   r
   <module>r@      s6    -
@5 8 /"$

%r   