
    g-                    \    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Z	d
dZ
 G d d	      Zy)    )annotationsN)AnyNoReturn   )StrOrBytesPath	TypeGuardc                L    t        | t        t        t        j                  f      S N)
isinstancebytesstrosPathLikefs    >/var/www/openai/venv/lib/python3.12/site-packages/PIL/_util.pyis_pathr   	   s    a%bkk233    c                Z    t        |       xr t        j                  j                  |       S )zCChecks if an object is a string, and that it points to a directory.)r   r   pathisdirr   s    r   is_directoryr      s    1:*"''--**r   c                  .    e Zd ZddZddZedd       Zy)DeferredErrorc                    || _         y r
   ex)selfr   s     r   __init__zDeferredError.__init__   s	    r   c                    | j                   r
   r   )r   elts     r   __getattr__zDeferredError.__getattr__   s    gg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   BaseException)r!   r   returnr   )r   r%   r&   r   )__name__
__module____qualname__r   r"   staticmethodr$    r   r   r   r      s      ! !r   r   )r   r   r&   zTypeGuard[StrOrBytesPath])
__future__r   r   typingr   r   _typingr   r   r   r   r   r+   r   r   <module>r/      s%    " 	   .4+
! !r   