o
    i                     @   sD   d dl Z d dlZd dlZG dd deZdd Zdd Zdd	 ZdS )
    Nc                   @   s,   e Zd ZddddZdddZdd	 Zd
S )EventSourceF)save_historyc                C   s   |rg | _ d S d | _ d S N)_history)selfr    r   Q/home/ubuntu/.local/lib/python3.10/site-packages/spaces/_vendor/jurigged/utils.py__init__   s   

zEventSource.__init__Tc                 C   s6   | j r|r| j D ]\}}||i | q| | |S r   r   append)r   listenerapply_historyargskwargsr   r   r   register   s
   

zEventSource.registerc                 O   s:   | D ]	}||i | q| j d ur| j ||f d S d S r   r
   )r   r   r   r   r   r   r   emit   s
   
zEventSource.emitN)T)__name__
__module____qualname__r	   r   r   r   r   r   r   r      s    
r   c                    sX     drtj  n  dstj  tj r$tj d  fdd}|S )N~/*c                    s   t  |  S r   )fnmatchfilenamepatternr   r   matcher$   s   zglob_filter.<locals>.matcher)
startswithospath
expanduserabspathisdirjoin)r   r   r   r   r   glob_filter   s   

r%   c                    s$   t  dkr
 d S  fdd}|S )N   r   c                    s   t  fddD S )Nc                 3   s    | ]}| V  qd S r   r   ).0fr   r   r   	<genexpr>/   s    z-or_filter.<locals>.matcher.<locals>.<genexpr>)anyr   filtersr   r   r   .   s   zor_filter.<locals>.matcher)len)r,   r   r   r+   r   	or_filter*   s   r.   c                    s8   t | tjr| j| j  t fdd| jD dS | S )Nc                 3   s    | ]}t | V  qd S r   )shift_lineno)r'   ctdeltar   r   r)   8   s    zshift_lineno.<locals>.<genexpr>)co_firstlineno	co_consts)
isinstancetypesCodeTypereplacer3   tupler4   )cor2   r   r1   r   r/   4   s   r/   )r   r   r6   listr   r%   r.   r/   r   r   r   r   <module>   s    
