
    Rf7                    l    d dl mZ d dlZd dlmZ d dlmZmZ ddlm	Z	 ddZ
ddZ G d d          ZdS )    )annotationsN)Path)AnyNoReturn   )	TypeGuardfr   returnTypeGuard[bytes | str | Path]c                F    t          | t          t          t          f          S N)
isinstancebytesstrr   r	   s    ;/var/www/html/env/lib/python3.11/site-packages/PIL/_util.pyis_pathr   
   s    a%d+,,,    c                ^    t          |           ot          j                            |           S )zCChecks if an object is a string, and that it points to a directory.)r   ospathisdirr   s    r   is_directoryr      s!    1::*"'--***r   c                  6    e Zd ZddZddZedd
            ZdS )DeferredErrorexBaseExceptionc                    || _         d S r   r   )selfr   s     r   __init__zDeferredError.__init__   s    r   eltr   r
   r   c                    | j         r   r   )r    r"   s     r   __getattr__zDeferredError.__getattr__   s	    gr   r   c                     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   s    r   newzDeferredError.new   s     R   r   N)r   r   )r"   r   r
   r   )r   r   r
   r   )__name__
__module____qualname__r!   r$   staticmethodr&    r   r   r   r      s\               ! ! ! \! ! !r   r   )r	   r   r
   r   )
__future__r   r   pathlibr   typingr   r   _typingr   r   r   r   r+   r   r   <module>r0      s    " " " " " " 				                            - - - -+ + + +
! ! ! ! ! ! ! ! ! !r   