N
u9c       s      k  Z   k Z  d  Z 	 d f  d     YZ d   Z d f  d     YZ d   Z d e f d     YZ  d	   Z %d
   Z	 )d   Z
 d S(   s   bdb.BdbQuits   Bdbc      s  	 d  Z    d   Z  d   Z # d   Z 1 d   Z 7 d   Z D d   Z I d   Z S d   Z ^ d	   Z	 o d
   Z
 v d   Z { d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d e d  Z  d   Z  d   Z  d   Z  d   Z d   Z 
d   Z d   Z d   Z d   Z /d! d   Z  Ke e d"  Z! ^e e d#  Z" qd$   Z# wd%   Z$ RS(&   s   Generic Python debugger base class.

	This class takes care of details of the trace facility;
	a derived class should implement user interaction.
	The standard debugger class (pdb.Pdb) is an example.
	c    s7     h  |  _  t |  d  o  t |  _ n d  S(   Ns   canonic(   s   selfs   breakss   hasattrs   strs   canonic(   s   selfs'   /usr/lib/python1.5/site-packages/bdb.pys   __init__ s   c    sM     k  }  | i    t |  _  t |  _   t |  _ ! d |  _ d  S(   Ni    (   s	   linecaches
   checkcaches   Nones   selfs   botframes	   stopframes   returnframes   quitting(   s   selfs	   linecaches'   /usr/lib/python1.5/site-packages/bdb.pys   reset s   	c    s   # $ |  i o % d  Sn & | d j o ' |  i |  Sn ( | d j o ) |  i | |  Sn * | d j o + |  i | |  Sn , | d j o - |  i | |  Sn . d G| GH/ |  i	 Sd  S(   Ns   lines   calls   returns	   exceptions*   bdb.Bdb.dispatch: unknown debugging event:(
   s   selfs   quittings   events   dispatch_lines   frames   dispatch_calls   args   dispatch_returns   dispatch_exceptions   trace_dispatch(   s   selfs   frames   events   args'   /usr/lib/python1.5/site-packages/bdb.pys   trace_dispatch# s   c    sb   1 2 |  i |  p |  i |  o. 3 |  i |  4 |  i o 4 t  n n 5 |  i Sd  S(   N(   s   selfs	   stop_heres   frames
   break_heres	   user_lines   quittings   BdbQuits   trace_dispatch(   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys   dispatch_line1 s
   # c    s   7 9 |  i t j o ; | |  _ < |  i Sn = |  i |  p |  i |  o ? d  Sn @ |  i | |  A |  i	 o A t
  n B |  i Sd  S(   N(   s   selfs   botframes   Nones   frames   trace_dispatchs	   stop_heres   break_anywheres	   user_calls   args   quittings   BdbQuit(   s   selfs   frames   args'   /usr/lib/python1.5/site-packages/bdb.pys   dispatch_call7 s   $ c    s[   D E |  i |  p | |  i j o1 F |  i | |  G |  i o G t  n n d  S(   N(   s   selfs	   stop_heres   frames   returnframes   user_returns   args   quittings   BdbQuit(   s   selfs   frames   args'   /usr/lib/python1.5/site-packages/bdb.pys   dispatch_returnD s   # c    sU   I J |  i |  o1 K |  i | |  L |  i o L t  n n M |  i Sd  S(   N(   s   selfs	   stop_heres   frames   user_exceptions   args   quittings   BdbQuits   trace_dispatch(   s   selfs   frames   args'   /usr/lib/python1.5/site-packages/bdb.pys   dispatch_exceptionI s
    c    s   S T |  i t j o U d Sn V | |  i j o W d Sn X xO X | t j	 o | |  i j	 o. Y | |  i j o Z d Sn [ | i } qE W\ d Sd  S(   Ni   i    (   s   selfs	   stopframes   Nones   frames   botframes   f_back(   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys	   stop_hereS s     c    s   ^ _ |  i | i i  } ` |  i i |  o a d Sn b | i } c | |  i | j o d d Sn f t
 | | |  \ } } g | oK h | i |  _ i | o | i o j |  i t | i   n k d Sn m d Sd  S(   Ni    i   (   s   selfs   canonics   frames   f_codes   co_filenames   filenames   breakss   has_keys   f_linenos   linenos	   effectives   bps   flags   numbers	   currentbps	   temporarys   do_clears   str(   s   selfs   frames   filenames   linenos   bps   flags'   /usr/lib/python1.5/site-packages/bdb.pys
   break_here^ s   
c    s)   o p |  i i |  i | i i   Sd  S(   N(   s   selfs   breakss   has_keys   canonics   frames   f_codes   co_filename(   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys   break_anywhereo s   c    s
   v y d  S(   N(    (   s   selfs   frames   argument_lists'   /usr/lib/python1.5/site-packages/bdb.pys	   user_callv s   c    s
   { } d  S(   N(    (   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys	   user_line{ s   c    s
     d  S(   N(    (   s   selfs   frames   return_values'   /usr/lib/python1.5/site-packages/bdb.pys   user_return s   c    s    | \ } } }  d  S(   N(    (   s   selfs   frames   .4s   exc_types	   exc_values   exc_tracebacks'   /usr/lib/python1.5/site-packages/bdb.pys   user_exception s   c    s+     t  |  _  t  |  _  d |  _ d  S(   Ni    (   s   Nones   selfs	   stopframes   returnframes   quitting(   s   selfs'   /usr/lib/python1.5/site-packages/bdb.pys   set_step s   c    s+     | |  _  t |  _  d |  _ d  S(   Ni    (   s   frames   selfs	   stopframes   Nones   returnframes   quitting(   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys   set_next s   c    s.     | i |  _  | |  _  d |  _ d  S(   Ni    (   s   frames   f_backs   selfs	   stopframes   returnframes   quitting(   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys
   set_return s   c    s     y  d d Wn#   t  i   d i i } n X |  i    x6  | o+  |  i | _  | |  _	  | i } qN W |  i
    t  i |  i  d  S(   Ni   s    i   (   s   syss   exc_infos   tb_frames   f_backs   frames   selfs   resets   trace_dispatchs   f_traces   botframes   set_steps   settrace(   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys	   set_trace s    
c    s     |  i |  _  t |  _  d |  _  |  i o  t i t   y  d d Wn#   t i	   d i
 i } n X x4  | o | |  i j	 o  | `  | i } q Wn d  S(   Ni    i   s    i   (   s   selfs   botframes	   stopframes   Nones   returnframes   quittings   breakss   syss   settraces   exc_infos   tb_frames   f_backs   frames   f_trace(   s   selfs   frames'   /usr/lib/python1.5/site-packages/bdb.pys   set_continue s    	c    s>     |  i |  _  t |  _  d |  _  t i t  d  S(   Ni   (   s   selfs   botframes	   stopframes   Nones   returnframes   quittings   syss   settrace(   s   selfs'   /usr/lib/python1.5/site-packages/bdb.pys   set_quit s   c 	   s     |  i |  }  k }  | i | |  }  | o  d | | f Sn  |  i i |  o  g  |  i | <n  |  i | }  | | j o  | i
 |  n  t | | | |  } d  S(   Ns   Line %s:%d does not exist(   s   selfs   canonics   filenames	   linecaches   getlines   linenos   lines   breakss   has_keys   lists   appends
   Breakpoints	   temporarys   conds   bp(	   s   selfs   filenames   linenos	   temporarys   conds	   linecaches   lines   lists   bps'   /usr/lib/python1.5/site-packages/bdb.pys	   set_break s   	i    c    s     |  i |  }  |  i i |  o  d | Sn  | |  i | j o  d | | f Sn  x. t i | | f d  r }  | i	   q W t i i | | f  o  |  i | i
 |  n  |  i | o  |  i | =n d  S(   Ns   There are no breakpoints in %ss   There is no breakpoint at %s:%di    (   s   selfs   canonics   filenames   breakss   has_keys   linenos
   Breakpoints   bplists   bps   deleteMes   remove(   s   selfs   filenames   linenos   bps'   /usr/lib/python1.5/site-packages/bdb.pys   clear_break s    	c    s     y  t  |  } Wn   d | Sn X y  t i | } Wn!  t j
 o  d | Sn X | o  d | Sn  |  i | i	 | i
  d  S(   Ns"   Non-numeric breakpoint number (%s)s#   Breakpoint number (%d) out of ranges   Breakpoint (%d) already deleted(   s   ints   args   numbers
   Breakpoints
   bpbynumbers   bps
   IndexErrors   selfs   clear_breaks   files   line(   s   selfs   args   numbers   bps'   /usr/lib/python1.5/site-packages/bdb.pys   clear_bpbynumber s   c    s     |  i |  }  |  i i |  o  d | Sn  xV |  i | d  rB }  t i | | f }  x  | d  r }  | i
   qy WqN W |  i | =d  S(   Ns   There are no breakpoints in %si    (   s   selfs   canonics   filenames   breakss   has_keys   lines
   Breakpoints   bplists   blists   bps   deleteMe(   s   selfs   filenames   lines   blists   bps'   /usr/lib/python1.5/site-packages/bdb.pys   clear_all_file_breaks s    	 	c    sc     |  i o  d Sn  x1 t i d  r! } | o | i   n q+ Wh  |  _ d  S(   Ns   There are no breakpointsi    (   s   selfs   breakss
   Breakpoints
   bpbynumbers   bps   deleteMe(   s   selfs   bps'   /usr/lib/python1.5/site-packages/bdb.pys   clear_all_breaks s    	
c    s@   |  i |  } |  i i |  o | |  i | j Sd  S(   N(   s   selfs   canonics   filenames   breakss   has_keys   lineno(   s   selfs   filenames   linenos'   /usr/lib/python1.5/site-packages/bdb.pys	   get_breaks   c    s[   
|  i |  } |  i i |  o% | |  i | j o t i | | f p g  Sd  S(   N(   s   selfs   canonics   filenames   breakss   has_keys   linenos
   Breakpoints   bplist(   s   selfs   filenames   linenos'   /usr/lib/python1.5/site-packages/bdb.pys
   get_breaks
s   c    sH   |  i |  } |  i i |  o |  i | Sn g  Sd  S(   N(   s   selfs   canonics   filenames   breakss   has_key(   s   selfs   filenames'   /usr/lib/python1.5/site-packages/bdb.pys   get_file_breakss   c    s   |  i Sd  S(   N(   s   selfs   breaks(   s   selfs'   /usr/lib/python1.5/site-packages/bdb.pys   get_all_breakss   c    s  g  } | o | i | j o  | i } n !xU !| t j	 oD "| i | | i f  #| |  i	 j o $Pn %| i
 } q< W&| i   't d t |  d  } (x= (| t j	 o, )| i | i | i f  *| i } q W+| | f Sd  S(   Ni    i   (   s   stacks   ts   tb_frames   fs   tb_nexts   Nones   appends   f_linenos   selfs   botframes   f_backs   reverses   maxs   lens   is	   tb_lineno(   s   selfs   fs   ts   stacks   is'   /usr/lib/python1.5/site-packages/bdb.pys	   get_stacks    	  c    s  /0k  } k } k } 1| \ } } 2|  i | i i	  } 3| d | d }	 4| i i o 5|	 | i i }	 n 7|	 d }	 8| i i d  o 9| i d }
 n
 ;t }
 <|
 o =|	 | i |
  }	 n ?|	 d }	 @| i i d  o7 A| i d } B|	 d }	 C|	 | i |  }	 n D| i | |  } E| o E|	 | | i |  }	 n F|	 Sd  S(   Ns   (s   )s   <lambda>s   __args__s   ()s
   __return__s   ->(   s	   linecaches   reprs   strings   frame_linenos   frames   linenos   selfs   canonics   f_codes   co_filenames   filenames   ss   co_names   f_localss   has_keys   argss   Nones   rvs   getlines   lines   lprefixs   strip(   s   selfs   frame_linenos   lprefixs	   linecaches   reprs   strings   frames   linenos   filenames   ss   argss   rvs   lines'   /usr/lib/python1.5/site-packages/bdb.pys   format_stack_entry/s*   	

 s   : c    s   KL| e j o Mk } N| i } n O| e j o P| } n Q|  i   Re i |  i	  Se
 |  e i j o T| d } n Uz4 Vy W| | | UWn Xe j
 o
 Yn XWd  Z[d |  _ \e i e  Xd  S(   Ns   
i   (   s   globalss   Nones   __main__s   __dict__s   localss   selfs   resets   syss   settraces   trace_dispatchs   types   cmds   typess   CodeTypes   BdbQuits   quitting(   s   selfs   cmds   globalss   localss   __main__s'   /usr/lib/python1.5/site-packages/bdb.pys   runKs"   	c    s   ^_| t j o `k } a| i } n b| t j o c| } n d|  i   et i |  i	  ft
 |  t i j o g| d } n hz: iy jt | | |  SWn kt j
 o
 ln XWd  mnd |  _ ot i t  Xd  S(   Ns   
i   (   s   globalss   Nones   __main__s   __dict__s   localss   selfs   resets   syss   settraces   trace_dispatchs   types   exprs   typess   CodeTypes   evals   BdbQuits   quitting(   s   selfs   exprs   globalss   localss   __main__s'   /usr/lib/python1.5/site-packages/bdb.pys   runeval^s"   	c    s   qs|  i | | |  d  S(   N(   s   selfs   runs   cmds   globalss   locals(   s   selfs   cmds   globalss   localss'   /usr/lib/python1.5/site-packages/bdb.pys   runctxqs   c    s   wx|  i   yt i |  i  zt } {z9 |y }t | |  } Wn ~t
 j
 o
 n XWd  d |  _ t i t  X| Sd  S(   Ni   (   s   selfs   resets   syss   settraces   trace_dispatchs   Nones   ress   applys   funcs   argss   BdbQuits   quitting(   s   selfs   funcs   argss   ress'   /usr/lib/python1.5/site-packages/bdb.pys   runcallws   	(%   s   __doc__s   __init__s   resets   trace_dispatchs   dispatch_lines   dispatch_calls   dispatch_returns   dispatch_exceptions	   stop_heres
   break_heres   break_anywheres	   user_calls	   user_lines   user_returns   user_exceptions   set_steps   set_nexts
   set_returns	   set_traces   set_continues   set_quits   Nones	   set_breaks   clear_breaks   clear_bpbynumbers   clear_all_file_breakss   clear_all_breakss	   get_breaks
   get_breakss   get_file_breakss   get_all_breakss	   get_stacks   format_stack_entrys   runs   runevals   runctxs   runcall(    s'   /usr/lib/python1.5/site-packages/bdb.pys   Bdb	 sH   		

c      s   t    i   d  S(   N(   s   Bdbs	   set_trace(    s'   /usr/lib/python1.5/site-packages/bdb.pys	   set_traces   s
   Breakpointc      sn   d  Z  d Z h  Z e g Z d e d  Z d   Z d   Z d   Z d   Z	 RS(   s|  Breakpoint class

	Implements temporary breakpoints, ignore counts, disabling and
	(re)-enabling, and conditionals.

	Breakpoints are indexed by number through bpbynumber and by
	the file,line tuple using bplist.  The former points to a
	single instance of class Breakpoint.  The latter points to a
	list of such instances since there may be more than one
	breakpoint per line.

	i   c    s   | |  _  | |  _ | |  _ | |  _ d |  _ d |  _ d |  _ t i	 |  _
 t i	 d t _	 |  i i |   |  i i | | f  o! |  i | | f i |   n |  g |  i | | f <d  S(   Ni   i    (   s   files   selfs   lines	   temporarys   conds   enableds   ignores   hitss
   Breakpoints   nexts   numbers
   bpbynumbers   appends   bplists   has_key(   s   selfs   files   lines	   temporarys   conds'   /usr/lib/python1.5/site-packages/bdb.pys   __init__s   !i    c    si   |  i |  i f } t |  i |  i <|  i | i |   |  i | o |  i | =n d  S(   N(	   s   selfs   files   lines   indexs   Nones
   bpbynumbers   numbers   bplists   remove(   s   selfs   indexs'   /usr/lib/python1.5/site-packages/bdb.pys   deleteMes
   c    s   d |  _ d  S(   Ni   (   s   selfs   enabled(   s   selfs'   /usr/lib/python1.5/site-packages/bdb.pys   enables   c    s   d |  _ d  S(   Ni    (   s   selfs   enabled(   s   selfs'   /usr/lib/python1.5/site-packages/bdb.pys   disables   c    s  |  i o d } n
 d } |  i o | d } n | d } d |  i | |  i |  i f GH|  i o d |  i f GHn |  i o d |  i GHn |  i	 oB |  i	 d j o d	 } n
 d
 } d |  i	 | f GHn d  S(   Ns   del  s   keep s   yess   no s   %-4dbreakpoint	 %s at %s:%ds   	stop only if %ss   	ignore next %d hitsi   s   ss    s!   	breakpoint already hit %d time%s(   s   selfs	   temporarys   disps   enableds   numbers   files   lines   conds   ignores   hitss   ss(   s   selfs   disps   sss'   /usr/lib/python1.5/site-packages/bdb.pys   bpprints    	! 	(
   s   __doc__s   nexts   bplists   Nones
   bpbynumbers   __init__s   deleteMes   enables   disables   bpprint(    s'   /usr/lib/python1.5/site-packages/bdb.pys
   Breakpoints   			c    sh  t  i |  | f } x5t d t |   d r} | | } | i	 d j o
 q7 n | i
 d | _
 | i oA | i d j o | i d | _ q7 n | d f Sn yj t | i | i | i  } | o; | i d j o | i d | _ n  | d f Sn Wn 	| d f Sn Xq7 W
t t f Sd S(   s   Determine which breakpoint for this file:line is to be acted upon.

	Called only if we know there is a bpt at this
	location.  Returns breakpoint that was triggered and a flag
	that indicates if it is ok to delete a temporary bp.

	i    i   N(   s
   Breakpoints   bplists   files   lines	   possibless   ranges   lens   is   bs   enableds   hitss   conds   ignores   evals   frames	   f_globalss   f_localss   vals   None(   s   files   lines   frames	   possibless   is   bs   vals'   /usr/lib/python1.5/site-packages/bdb.pys	   effectives.    	


s   Tdbc      s5   d   Z  d   Z d   Z d   Z RS(   Nc    s>   | i i } | o d } n d G| G| GHd  S(   Ns   ???s   +++ call(   s   frames   f_codes   co_names   names   args(   s   selfs   frames   argss   names'   /usr/lib/python1.5/site-packages/bdb.pys	   user_calls    c    s   k  } k } | i i } | o d } n |  i | i i  } | i
 | | i  } d G| G| i G| Gd G| i |  GHd  S(   Ns   ???s   +++s   :(   s	   linecaches   strings   frames   f_codes   co_names   names   selfs   canonics   co_filenames   fns   getlines   f_linenos   lines   strip(   s   selfs   frames	   linecaches   strings   names   fns   lines'   /usr/lib/python1.5/site-packages/bdb.pys	   user_lines    c    s   d G| GHd  S(   Ns
   +++ return(   s   retval(   s   selfs   frames   retvals'   /usr/lib/python1.5/site-packages/bdb.pys   user_returns   c    s    d G| GH|  i   d  S(   Ns   +++ exception(   s	   exc_stuffs   selfs   set_continue(   s   selfs   frames	   exc_stuffs'   /usr/lib/python1.5/site-packages/bdb.pys   user_exceptions   (   s	   user_calls	   user_lines   user_returns   user_exception(    s'   /usr/lib/python1.5/site-packages/bdb.pys   Tdbs   c    s6    !d G|  Gd GH"t |  d  } #d G| GHd  S(   Ns   foo(s   )i
   s   bar returned(   s   ns   bars   x(   s   ns   xs'   /usr/lib/python1.5/site-packages/bdb.pys   foo s   c    s"   %&d G|  Gd GH'|  d Sd  S(   Ns   bar(s   )i   (   s   a(   s   as'   /usr/lib/python1.5/site-packages/bdb.pys   bar%s   c     s#   )*t    }  +|  i d  d  S(   Ns   import bdb; bdb.foo(10)(   s   Tdbs   ts   run(   s   ts'   /usr/lib/python1.5/site-packages/bdb.pys   test)s   N(   s   syss   typess   BdbQuits   Bdbs	   set_traces
   Breakpoints	   effectives   Tdbs   foos   bars   test(    s'   /usr/lib/python1.5/site-packages/bdb.pys   ? s   		 ~Q3