Ë
    Fÿ/jv  ã                  óî   — d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
mZmZmZmZ dZej                   dk\  rdd	l	mZ ne
Z ed
«      Z edeee
f   ¬«      Z G d„ dee   «      Z G d„ dee   «      Zy)zVarious helper functions.é    )ÚannotationsN)ÚCallableÚMapping)Úcached_property)ÚAnyÚGenericÚProtocolÚTypeVarÚoverload)Úunder_cached_propertyr   )é   é   )ÚSelfÚ_TÚ_Cache)Úboundc                  ó   — e Zd ZU ded<   y)Ú
_CacheImplr   Ú_cacheN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úS/var/www/html/maxservice/venv/lib/python3.12/site-packages/propcache/_helpers_py.pyr   r      s   … Ø„Nr   r   c                  ój   — e Zd ZdZdd„Zed	d
d„«       Ze	 d		 	 	 	 	 dd„«       Z	 d		 	 	 	 	 dd„Zdd„Zy)r   aU  Use as a class method decorator.

    It operates almost exactly like
    the Python `@property` decorator, but it puts the result of the
    method it decorates into the instance dict after the first call,
    effectively replacing the function it decorates with an instance
    variable.  It is, in Python parlance, a data descriptor.
    c                óV   — || _         |j                  | _        |j                  | _        y ©N)ÚwrappedÚ__doc__r   Úname)Úselfr    s     r   Ú__init__zunder_cached_property.__init__&   s!   € ØˆŒØ—‘ˆŒØ×$Ñ$ˆ	r   Nc                 ó   — y r   r   ©r#   ÚinstÚowners      r   Ú__get__zunder_cached_property.__get__+   s   € ØNQr   c                 ó   — y r   r   r&   s      r   r)   zunder_cached_property.__get__.   s   € ð r   c                ó´   — |€| S 	 |j                   | j                     S # t        $ r/ | j                  |«      }||j                   | j                  <   |cY S w xY wr   )r   r"   ÚKeyErrorr    )r#   r'   r(   Úvals       r   r)   zunder_cached_property.__get__3   sZ   € ð ˆ<ØˆKð	Ø—;‘;˜tŸy™yÑ)Ð)øÜò 	Ø—,‘,˜tÓ$ˆCØ%(ˆDK‰K˜Ÿ	™	Ñ"ØŠJð	ús   † Ÿ5AÁAc                ó   — t        d«      ‚)Nzcached property is read-only)ÚAttributeError)r#   r'   Úvalues      r   Ú__set__zunder_cached_property.__set__?   s   € ÜÐ;Ó<Ð<r   )r    zCallable[[Any], _T]ÚreturnÚNoner   )r'   r3   r(   útype[object] | Noner2   r   )r'   ú_CacheImpl[Any]r(   r4   r2   r   )r'   z_CacheImpl[Any] | Noner(   r4   r2   z	_T | Self)r'   r5   r0   r   r2   r3   )r   r   r   r!   r$   r   r)   r1   r   r   r   r   r      sr   „ ñó%ð
 ÛQó ØQààBFðØ#ðØ,?ðà	òó ðð
 JNð
Ø*ð
Ø3Fð
à	ó
ô=r   r   )r!   Ú
__future__r   ÚsysÚcollections.abcr   r   Ú	functoolsr   Útypingr   r   r	   r
   r   Ú__all__Úversion_infor   r   Ústrr   r   r   r   r   r   ú<module>r>      sx   ðÙ å "ã 
ß -Ý %ß <Õ <à
6€ð ×ÑwÒÞà€DáˆTƒ]€ñ 
 ¨¨c¨Ñ!2Ô	3€ô˜&Ñ!ô ô$=˜G B™Kõ $=r   