a
    ǏPfo                     @   s\   d dl mZmZmZmZ d dlmZ er4d dlmZ dZ	ee
dddZedd	d
dZdS )    )AnycastSetTYPE_CHECKING)isclassRenderableType-aihwerij235234ljsdnp34ksodfipwoe234234jlskjdf)check_objectreturnc                 C   s   t | tpt| dpt| dS )z+Check if an object may be rendered by Rich.__rich____rich_console__)
isinstancestrhasattr)r
    r   Z/var/www/html/python-backend/venv/lib/python3.9/site-packages/pip/_vendor/rich/protocol.pyis_renderable
   s
    
r   r   )
renderabler   c                 C   sn   ddl m} t }t| drdt| sdt| tr6t| S t| d}| } t| }||v rXqd|	| qt
|| S )zCast an object to a renderable by calling __rich__ if present.

    Args:
        renderable (object): A potentially renderable object

    Returns:
        object: The result of recursively calling __rich__.
    r   r   r   )pip._vendor.rich.consoler   setr   r   
_GIBBERISHreprgetattrtypeaddr   )r   r   rich_visited_setcast_methodrenderable_typer   r   r   	rich_cast   s    	

r   N)typingr   r   r   r   inspectr   r   r   r   boolr   objectr   r   r   r   r   <module>   s   	