;iHdZdZGddeZefZdZdZdZdZdS) z'Key functions for memoizing decorators.)hashkey methodkeytypedkeytypedmethodkeycXeZdZdZdZejfdZejfdZejfdZdZ dS) _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<|j}|||x|_}|SN)_HashedTuple__hashvalue)selfhash hashvalues CC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\cachetools/keys.py__hash__z_HashedTuple.__hash__s+$  +/4:: 5D yc4t|||Sr rr otheradds r__add__z_HashedTuple.__add__sCCe,,---rc4t|||Sr rrs r__radd__z_HashedTuple.__radd__sCCt,,---rciSr )r s r __getstate__z_HashedTuple.__getstate__s r) __name__ __module__ __qualname____doc__r tuplerrrrrrrrrsK!N "'....#(-....rrc |rDt|tt|tzSt|S)z8Return a cache key for the specified hashable arguments.)rsumsorteditems_kwmark)argskwargss rrr%sG"D3vfllnn'='=w#G#GGHHHD!!!rct|i|S)z/Return a cache key for use with cached methods.)rr r&r's rrr.s D #F # ##rct|i|}|td|Dz }|tdt|Dz }|S)z>Return a typed cache key for the specified hashable arguments.c34K|]}t|VdSr type).0vs r ztypedkey..7s(''Qa''''''rc3:K|]\}}t|VdSr r,)r._r/s rr0ztypedkey..8s,<r6s-- @58 /"""$$$ %%%%%r