
    +jz                     ,    d Z  G d de          Zd ZdS )z7Simple and tiny yield-based trampoline implementation.
c                       e Zd ZdZd ZdS )TailCallz-Raised to signal a tail call to trampoline().c                     || _         d S )N)call)selfr   s     V/home/wildlama/comfy/ComfyUI/.venv/lib/python3.11/site-packages/trampoline/__init__.py__init__zTailCall.__init__   s    			    N)__name__
__module____qualname____doc__r    r	   r   r   r      s)        33    r	   r   c                    | g}d}d}|r	 | |d}}|d                              |          }n7|t          |d                   }n|d}}|d                             |          }|                    |           nv# t          $ r%}|                                 |j        }Y d}~nLd}~wt          $ r}|j        |d<   Y d}~n0d}~wt          $ r }|                                 |}Y d}~nd}~ww xY w||||S )z3Invoke a generator for a trampolined function call.N)
thrownextsendappendStopIterationpopvaluer   r   BaseException)r   stackretval	exceptionexresr   es           r   
trampoliner      sI    FEFI
 	$ )4IBioob)) 59oo &vBinnU++LL 	 	 	IIKKKWFFFFFF 	 	 	E"IIIIII 	 	 	IIKKKIIIIII	%  * Ms0   A.A: :
C-B$$C-1
C  C-C((C-N)r   r   r   r   r   r	   r   <module>r       sR        }       r	   