
    "e                     Z    d Z ddlZddlZdZ ej                  d      Zi Zd Zdad Z	d Z
y)zH
Support for a tag that allows skipping over functions while debugging.
    Nz
@DontTracez^\s*@c                 .   t         j                  |      }|i }t        j                  |      }t	        |      D ]  \  }}|j                  d      }|dk\  s||d }t        |v s+d||<   |dz
  }|dk\  r*t        j                  ||         rd||<   |dz  }nn|dk\  r*|dz   }|t        |      k  sxt        j                  ||         rd||<   |dz  }n|t        |      k  r3 |t         |<   | j                  j                  dz
  }	|	dz
  |v xs |	|v  S )zY
    Return True if this frame should be traced, False if tracing should be blocked.
    N#r      )_filename_to_ignored_linesget	linecachegetlines	enumeratefindDONT_TRACE_TAGRE_DECORATORmatchlenf_codeco_firstlineno)
frameabsolute_filenameignored_lineslinesi_linelinejcommentk	func_lines
             B/usr/lib/python3/dist-packages/_pydevd_bundle/pydevd_dont_trace.pydefault_should_trace_hookr      sP   
 /223DEM ""#45%e, 	"LFD		#AAvqr(!W,,-M&) 
Aq&'--eAh7/0M!,FA! q& 
As5z/'--eAh7/0M!,FA! s5z/#	"0 9F"#45++a/IA& 	#]"$ $    c                  x    	 t         } da t        j                          t        j	                          | a y#  a w xY w)zF
    Clear the trace filter cache.
    Call this after reloading.
    N)should_trace_hookr   
clearcacher   clear)old_hooks    r   clear_trace_filter_cacher$   T   s=    % %  	"((* %Hs   05 9c                 2    | t         du } | rt        a | S da | S )a  
    Set the trace filter mode.

    mode: Whether to enable the trace hook.
      True: Trace filtering on (skipping methods tagged @DontTrace)
      False: Trace filtering off (trace methods tagged @DontTrace)
      None/default: Toggle trace filtering.
    N)r    r   )modes    r   trace_filterr'   h   s0     | D(5 K !Kr   )__doc__r   rer   compiler   r   r   r    r$   r'    r   r   <module>r,      sK     	  rzz(#   /$d  %(r   