U
    d                  
   @  s  d dl mZ d dlZd dlZdZdZzd dlZW n* ek
rZ Z ze	eZW 5 dZ[X Y nZX dZddl
mZ ddl
mZ ddl
mZ dd	l
mZ dd
l
mZ ddl
mZ ddl
mZ ejsesdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    )annotationsNFT   )
await_only)await_fallback)greenlet_spawn)is_exit_exception)AsyncAdaptedLock)_util_async_run)"_util_async_run_coroutine_functionc                   C  s    t rd S ttrdt ndd S )Nz9the greenlet library is required to use this function. %s )have_greenlet
ValueErrorgreenlet_error r   r   ?/tmp/pip-unpacked-wheel-wbr0uges/sqlalchemy/util/concurrency.py_not_implemented%   s    r   c                 C  s   t | t S N)
isinstance	Exception)er   r   r   r   2   s    r   c                 C  s
   t   d S r   r   thingr   r   r   r   5   s    r   c                 C  s   | S r   r   r   r   r   r   r   8   s    r   c                 O  s
   t   d S r   r   )fnargskwr   r   r   r   ;   s    r   c                  O  s
   t   d S r   r   )r   r   r   r   r   r   >   s    r   c                 O  s
   | ||S r   r   r   argr   r   r   r   r	   A   s    r	   c                 O  s
   t   d S r   r   r   r   r   r   r
   D   s    r
   )
__future__r   Zasynciotypingr   r   ZgreenletImportErrorr   strZ_concurrency_py3kr   r   r   r   r   r	   r
   TYPE_CHECKINGr   r   r   r   r   <module>	   s4   
