
    'j                        d dl mZ d dlZd dlmZmZmZmZ  G d de          Z	 ed          Z
 G d dee
                   ZdS )	    )annotationsN)AnyCallableGenericTypeVarc                      e Zd Zdd	dZdS )
ClassPropertyNclsr   ownertype | Nonereturnc                Z    | j         J  | j                             d |                      S N)fget__get__)selfr
   r   s      F/DATA/AppData/hermes/venv/lib/python3.11/site-packages/path/classes.pyr   zClassProperty.__get__   s0    y$$$-ty  u--///    r   )r
   r   r   r   r   r   )__name__
__module____qualname__r    r   r   r	   r	      s-        0 0 0 0 0 0 0r   r	   _Tc                  .    e Zd ZU dZded<   ddZdd
ZdS )multimethodz|
    Acts like a classmethod when invoked from the class and like an
    instancemethod when invoked from the instance.
    Callable[..., _T]funcc                    || _         d S r   )r   )r   r   s     r   __init__zmultimethod.__init__   s    			r   instance	_T | Noner   type[_T] | Noner   c                p    |t          j        | j        |          nt          j        | j        ||          S )z\
        If called on an instance, pass the instance as the first
        argument.
        )	functoolspartialr   )r   r    r   s      r   r   zmultimethod.__get__   s:      di///"49eX>>	
r   N)r   r   )r    r!   r   r"   r   r   )r   r   r   __doc____annotations__r   r   r   r   r   r   r      sV          
    	
 	
 	
 	
 	
 	
r   r   )
__future__r   r$   typingr   r   r   r   propertyr	   r   r   r   r   r   <module>r+      s    " " " " " "     2 2 2 2 2 2 2 2 2 2 2 20 0 0 0 0H 0 0 0 WT]]
 
 
 
 
'"+ 
 
 
 
 
r   