
    `iq                        d dl Z d dlZd dlZd dl mZmZ d dlmZmZmZm	Z	 d dl
mZmZ d dlmZ d dlmZmZmZmZmZ d dlmZ  ed          Zeedef         Zej        d	k    r G d
 de          ZeZneeeedef         gef         Zdee         defdZe	 ddede	e         fd            Ze	 ddee         de	e j                 fd            Zdedee         ddfdZ dedee         fdZ!dS )    N)AbstractEventLoopFuture)	Awaitable	Coroutine	GeneratorIterator)contextmanager	ExitStack)Context)AnyCallableOptionalProtocolTypeVar)
OrderedSetT      c            
       z    e Zd Z	 ddededdef         eddef         z  dedz  dej	        j
        e         fdZdS )TaskFactoryN_TaskFactory__loop_TaskFactory__factory_TaskFactory__contextreturnc                    d S N )selfr   r   r   s       o/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torch/_inductor/await_utils.py__call__zTaskFactory.__call__   s	     .1S    r   )__name__
__module____qualname__r   r   objectr   r   asynciofuturesr   r!   r   r"   r    r   r      s        
 )-		1 	1%	1 !tV!34ytVAS7TT	1 ~		1 _#F+	1 	1 	1 	1 	1 	1r"   r   	awaitabler   c                 |    t                      5 }|                    |           cd d d            S # 1 swxY w Y   d S r   )get_looprun_until_complete)r)   loops     r    
await_syncr.       s~    	 2t&&y112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s   155Falways_create_new_loopc              #     K   	 t          j                    }nT# t          $ rG}dt          |          v r0t	                      5 }|V  d d d            n# 1 swxY w Y   Y d }~d S  d }~ww xY wt
          dt           j        dt          d          fd            }t
          dt          d          fd            }t                      5 }|	                                rq|
                     |                       |
                     ||                     |
                    t	          |                                                    }nx|                                r"|
                    t	                                }nB| r@|
                     ||                     |
                    t	                                }|V  d d d            d S # 1 swxY w Y   d S )Nz(There is no current event loop in threadr-   r   c              3   n   K   	 d V  t          j        |            d S # t          j        |            w xY wr   )r'   set_event_loopr-   s    r    _restore_loopzget_loop.<locals>._restore_loop3   sB      	)EEE"4(((((G"4((((s    4c               3     K   t           j                                        } t           j                            d            	 d V  t           j                            |            d S # t           j                            |            w xY wr   )r'   events_get_running_loop_set_running_loop)loop_from_eventss    r    _restore_running_loopz'get_loop.<locals>._restore_running_loop<   sx      ">;;==((...	?EEEN,,-=>>>>>GN,,-=>>>>s   A& &!Br3   )r'   get_event_loopRuntimeErrorstr	_new_loopr	   r   r   r
   
is_runningenter_contextget_task_factory	is_closed)r/   r-   rer4   r:   stacks         r    r+   r+   %   s}     %''   5R@@ 


              FFFFF )')	$) ) ) ^) ?8D> ? ? ? ^? 
 
?? 	4 5 5 7 78884 8 8 8999&&y1F1F1H1H'I'IJJDD^^ 	4&&y{{33DD# 	44 8 8 8999&&y{{33D



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
sQ    
A)A$AA$A	A$A	A$#A$$A)DGGGtask_factoryc              #   P  K   t          j                    }t          |          }| r|                    |            t          j        |           	 |V  	 t          ||           t          j        d            |                                 d S # t          j        d            |                                 w xY w# 	 t          ||           t          j        d            |                                 w # t          j        d            |                                 w xY wxY wr   )r'   new_event_loop_patch_loopset_task_factoryr2   _cancel_all_tasksclose)rE   r-   taskss      r    r>   r>   R   s      !##DE ,l+++4   


	dE***"4(((JJLLLLL "4(((JJLLLL		dE***"4(((JJLLLL "4(((JJLLLLs0   B= B *B:=D%?C8)D%8*D""D%r-   rL   c                 R   d |D             }|sd S |D ]}|                                  |                     t          j        |ddi           |D ]V}|                                r|                                +|                     d|                                |d           Wd S )Nc                 :    g | ]}|                                 |S r   )done).0tasks     r    
<listcomp>z%_cancel_all_tasks.<locals>.<listcomp>l   s%    ;;;$tyy{{;;;;r"   return_exceptionsTz1unhandled exception during asyncio.run() shutdown)message	exceptionrQ   )cancelr,   r'   gather	cancelledrU   call_exception_handler)r-   rL   	to_cancelrQ   s       r    rJ   rJ   h   s     <;%;;;I    GNINNNOOO 
 
>> 	>>'''R!%!1!1    	
 
r"   c           	      <   t          j                    d gdt          t                   dd ffd}dt          t                   ffd}d ddt          dt
          dt          d z  dt          j        ffd	}| 	                    |           || _	        || _
        S )
Nfactoryr   c                     | d<   d S Nr   r   )r\   task_factoriess    r    _set_task_factoryz&_patch_loop.<locals>._set_task_factory   s    #qr"   c                       d         S r^   r   )r_   s   r    _get_task_factoryz&_patch_loop.<locals>._get_task_factory   s    a  r"   contextr-   corord   c                8   d         }|Nt           j        dk    rt          j        || |          }nt          j        ||           }|j        r|j        d= n+t           j        dk    r || ||          }n || |          }                    |           |S )Nr   r   )r-   rd   r3   rc   )sysversion_infor'   Task_source_tracebackadd)r-   re   rd   rE   rQ   r_   rL   s        r    _safe_task_factoryz'_patch_loop.<locals>._safe_task_factory   s     &a(7**|DtWEEE|Dt444% * 7**#|D$@@@#|D$//		$r"   )weakrefWeakSetr   TaskFactoryTyper   TCoror   r'   r   rI   rA   )r-   r`   rb   rm   r_   rL   s       @@r    rH   rH      s    %,_%6%6E7;fN$8O#< $ $ $ $ $ $ $!x8 ! ! ! ! ! ! #'	   4	
 
      6 	,----D-DLr"   )Fr   )"r'   rh   rn   r   r   collections.abcr   r   r   r   
contextlibr	   r
   contextvarsr   typingr   r   r   r   r   torch.utils._ordered_setr   r   rq   ri   r   rp   r.   boolr+   r>   rJ   rH   r   r"   r    <module>rx      sQ    



  - - - - - - - - E E E E E E E E E E E E 0 0 0 0 0 0 0 0       = = = = = = = = = = = = = = / / / / / / GCLL#tQ,w1 1 1 1 1h 1 1 1 "OO 19UD!^3LMvUVO2)A, 21 2 2 2 2
 #() ) ) ) ) ) )X .2 ?+g'(   *
f 
   8,' ,Jv,> , , , , , ,r"   