U
    ?h-                     @  sf   d dl mZ d dlZd dlmZmZ ddlmZmZ dddd	d
Z	dddddZ
G dd dZdS )    )annotationsN)AnyNoReturn   )StrOrBytesPath	TypeGuardr   zTypeGuard[StrOrBytesPath])freturnc                 C  s   t | tttjfS N)
isinstancebytesstrosPathLiker    r   ;/var/www/html/venv/lib/python3.8/site-packages/PIL/_util.pyis_path	   s    r   c                 C  s   t | otj| S )zCChecks if an object is a string, and that it points to a directory.)r   r   pathisdirr   r   r   r   is_directory   s    r   c                   @  s>   e Zd ZddddZddddd	Zedd
dddZdS )DeferredErrorBaseExceptionexc                 C  s
   || _ d S r
   r   )selfr   r   r   r   __init__   s    zDeferredError.__init__r   r   )eltr	   c                 C  s
   | j d S r
   r   )r   r   r   r   r   __getattr__   s    zDeferredError.__getattr__r   )r   r	   c                 C  s   t | S )z
        Creates an object that raises the wrapped exception ``ex`` when used,
        and casts it to :py:obj:`~typing.Any` type.
        )r   r   r   r   r   new   s    zDeferredError.newN)__name__
__module____qualname__r   r   staticmethodr   r   r   r   r   r      s   r   )
__future__r   r   typingr   r   Z_typingr   r   r   r   r   r   r   r   r   <module>   s   