-í
ŒH ?c       si  d  Z  d k Z d k Z d d d d d d d d	 d
 d d d d g Z e d „ Z e d „ Z d d „ Z e Z d „  Z	 d d d d d d d d d d d d f Z
 g  Z g  Z g  Z g  Z g  Z g  Z g  Z d  g d! Z x' e d! ƒ D] Z d e d e e <qæ Wd" „  Z d# „  Z d$ „  Z d% „  Z e d& d' ƒ e d( d) ƒ e d* d+ ƒ e d, d- ƒ e d. d/ ƒ e d0 d1 ƒ e d2 d3 ƒ e d4 d5 ƒ e d6 d7 ƒ e d8 d9 ƒ e d: d; ƒ e d< d= ƒ e d> d? ƒ e d@ dA ƒ e dB dC ƒ e dD dE ƒ e dF dG ƒ e dH dI ƒ e dJ dK ƒ e dL dM ƒ e dN dO ƒ e dP dQ ƒ e dR dS ƒ e dT dU ƒ e dV dW ƒ e dX dY ƒ e dZ d[ ƒ e d\ d] ƒ e d^ d_ ƒ e d` da ƒ e db dc ƒ e dd de ƒ e df dg ƒ e dh di ƒ e dj dk ƒ e dl dm ƒ e dn do ƒ e dp dq ƒ e dr ds ƒ e dt du ƒ e dv dw ƒ e dx dy ƒ e dz d{ ƒ e d| d} ƒ e d~ d ƒ e d€ d� ƒ e d‚ dƒ ƒ e d„ d… ƒ e d† d‡ ƒ e dˆ d‰ ƒ e dŠ d‹ ƒ e dŒ d� ƒ e dŽ d� ƒ e d� d‘ ƒ e d’ d“ ƒ e d” d• ƒ e d– d— ƒ e d˜ d™ ƒ e dš d› ƒ e dœ d� ƒ e dž dŸ ƒ e d  d¡ ƒ e d¢ d£ ƒ e d¤ d¥ ƒ e d¦ d§ ƒ e d¨ d© ƒ e dª d« ƒ d¬ Z e d­ d¬ ƒ e d® d¯ ƒ e d° d± ƒ e d² d³ ƒ e d´ dµ ƒ e d¶ d· ƒ e d¸ d¹ ƒ e dº d» ƒ e d¼ d½ ƒ e d¾ d¿ ƒ e i d¿ ƒ e dÀ dÁ ƒ e dÂ dÃ ƒ e dÄ dÅ ƒ e dÆ dÇ ƒ e dÈ dÉ ƒ e dÊ dË ƒ e i dË ƒ e dÌ dÍ ƒ e dÎ dÏ ƒ e dÐ dÑ ƒ e dÒ dÓ ƒ e dÔ dÕ ƒ e dÖ d× ƒ e dØ dÙ ƒ e dÚ dÛ ƒ e dÜ dÝ ƒ e dÞ dß ƒ e dà dá ƒ e dâ dã ƒ e dä då ƒ e i då ƒ e dæ dç ƒ e i dç ƒ e dè dé ƒ e i dé ƒ e dê dë ƒ dë Z e dì dí ƒ e dî dï ƒ e dð dñ ƒ e dò dó ƒ e dô dõ ƒ e dö d÷ ƒ e i d÷ ƒ e dø dù ƒ e i dù ƒ e dú dû ƒ e i dû ƒ e dü dý ƒ e dþ dÿ ƒ e d dƒ e ddƒ dZ d„  Z e dj o e ƒ  n d S(  s0   Disassembler of Python byte code into mnemonics.Ns   diss   disassembles   distbs   discos   opnames   cmp_ops   hasconsts   hasnames   hasjrels   hasjabss   haslocals
   hascompares   hasfreec    sR  |  o t ƒ  d Sn t |  ƒ t i j o |  i }  n t |  d ƒ o |  i }  n t |  d ƒ o |  i }  n t |  d ƒ o– |  i	 i
 ƒ  } | i ƒ  xv | D]n \ } } t | ƒ t i t i t i f j o= d | GHy t | ƒ Wn t j
 o } d G| GHn XHn q¤ Wn5 t |  d ƒ o t |  ƒ n t d t |  ƒ i ‚ d S(	   sn   Disassemble classes, methods, functions, or code.

    With no argument, disassemble the last traceback.

    Ns   im_funcs	   func_codes   __dict__s   Disassembly of %s:s   Sorry:s   co_codes(   don't know how to disassemble %s objects(   s   xs   distbs   types   typess   InstanceTypes	   __class__s   hasattrs   im_funcs	   func_codes   __dict__s   itemss   sorts   names   x1s
   MethodTypes   FunctionTypes   CodeTypes   diss	   TypeErrors   msgs   disassembles   __name__(   s   xs   names   itemss   msgs   x1(    (    s    /mit/python/lib/python2.2/dis.pys   dis
 s2     
 %	c    sm   |  oK y t i }  Wn t j
 o t d ‚ n Xx |  i o |  i }  q7 Wn t |  i i |  i	 ƒ d S(   s2   Disassemble a traceback (default: last traceback).s    no last traceback to disassembleN(
   s   tbs   syss   last_tracebacks   AttributeErrors   RuntimeErrors   tb_nexts   disassembles   tb_frames   f_codes   tb_lasti(   s   tb(    (    s    /mit/python/lib/python2.2/dis.pys   distb- s      
 iÿÿÿÿc    sC  |  i } t | ƒ } t | ƒ } d } d } t	 } x	| | j  oû| | } t | ƒ }
 |
 t j o
 | d j o Hn | | j o d Gn d G| | j o d Gn d G| i d ƒ Gt |
 i d ƒ G| d } |
 t j oYt | | ƒ t | | d ƒ d	 | }	 d } | d
 } |
 t j o |	 d } n |	 i d ƒ G|
 t j o d |  i |	 d GnÎ |
 t j o d |  i |	 d Gnª |
 t j o d | |	 d Gnˆ |
 t j o d |  i |	 d Gnd |
 t j o d t |	 d GnC |
 t j o5 | t	 j o |  i  |  i! } n d | |	 d Gn n Hq6 Wd S(   s   Disassemble a code object.i    s   -->s      s   >>s     i   i   i   i   i   l      i   s   (s   )s   (to N("   s   cos   co_codes   codes
   findlabelss   labelss   lens   ns   is   extended_args   Nones   frees   cs   ords   ops
   SET_LINENOs   lastis   rjusts   opnames   ljusts   HAVE_ARGUMENTs   opargs   EXTENDED_ARGs   hasconsts	   co_constss   hasnames   co_namess   hasjrels   haslocals   co_varnamess
   hascompares   cmp_ops   hasfrees   co_cellvarss   co_freevars(   s   cos   lastis   extended_args   codes   labelss   cs   frees   is   ns   opargs   op(    (    s    /mit/python/lib/python2.2/dis.pys   disassemble7 sX     	 
   
*
c    sý   g  } t |  ƒ } d } xÚ | | j  oÌ |  | } t | ƒ } | d } | t j o› t |  | ƒ t |  | d ƒ d } | d } d } | t j o | | } n | t j o
 | } n | d j o" | | j o | i | ƒ n n n q W| Sd S(   s`   Detect all offsets in a byte code which are jump targets.

    Return the list of offsets.

    i    i   i   i   iÿÿÿÿN(   s   labelss   lens   codes   ns   is   cs   ords   ops   HAVE_ARGUMENTs   opargs   labels   hasjrels   hasjabss   append(   s   codes   cs   is   labelss   labels   opargs   ns   op(    (    s    /mit/python/lib/python2.2/dis.pys
   findlabelsc s*      

&

s   <s   <=s   ==s   !=s   >s   >=s   ins   not ins   iss   is nots   exception matchs   BADs    i   c    s   |  t | <d  S(   N(   s   names   opnames   op(   s   names   op(    (    s    /mit/python/lib/python2.2/dis.pys   def_op‹ s    c    s   |  t | <t i | ƒ d  S(   N(   s   names   opnames   ops   hasnames   append(   s   names   op(    (    s    /mit/python/lib/python2.2/dis.pys   name_opŽ s    
c    s   |  t | <t i | ƒ d  S(   N(   s   names   opnames   ops   hasjrels   append(   s   names   op(    (    s    /mit/python/lib/python2.2/dis.pys   jrel_op’ s    
c    s   |  t | <t i | ƒ d  S(   N(   s   names   opnames   ops   hasjabss   append(   s   names   op(    (    s    /mit/python/lib/python2.2/dis.pys   jabs_op– s    
s	   STOP_CODEi    s   POP_TOPi   s   ROT_TWOi   s	   ROT_THREEi   s   DUP_TOPi   s   ROT_FOURi   s   UNARY_POSITIVEi
   s   UNARY_NEGATIVEi   s	   UNARY_NOTi   s   UNARY_CONVERTi   s   UNARY_INVERTi   s   BINARY_POWERi   s   BINARY_MULTIPLYi   s   BINARY_DIVIDEi   s   BINARY_MODULOi   s
   BINARY_ADDi   s   BINARY_SUBTRACTi   s   BINARY_SUBSCRi   s   BINARY_FLOOR_DIVIDEi   s   BINARY_TRUE_DIVIDEi   s   INPLACE_FLOOR_DIVIDEi   s   INPLACE_TRUE_DIVIDEi   s   SLICE+0i   s   SLICE+1i   s   SLICE+2i    s   SLICE+3i!   s   STORE_SLICE+0i(   s   STORE_SLICE+1i)   s   STORE_SLICE+2i*   s   STORE_SLICE+3i+   s   DELETE_SLICE+0i2   s   DELETE_SLICE+1i3   s   DELETE_SLICE+2i4   s   DELETE_SLICE+3i5   s   INPLACE_ADDi7   s   INPLACE_SUBTRACTi8   s   INPLACE_MULTIPLYi9   s   INPLACE_DIVIDEi:   s   INPLACE_MODULOi;   s   STORE_SUBSCRi<   s   DELETE_SUBSCRi=   s   BINARY_LSHIFTi>   s   BINARY_RSHIFTi?   s
   BINARY_ANDi@   s
   BINARY_XORiA   s	   BINARY_ORiB   s   INPLACE_POWERiC   s   GET_ITERiD   s
   PRINT_EXPRiF   s
   PRINT_ITEMiG   s   PRINT_NEWLINEiH   s   PRINT_ITEM_TOiI   s   PRINT_NEWLINE_TOiJ   s   INPLACE_LSHIFTiK   s   INPLACE_RSHIFTiL   s   INPLACE_ANDiM   s   INPLACE_XORiN   s
   INPLACE_ORiO   s
   BREAK_LOOPiP   s   LOAD_LOCALSiR   s   RETURN_VALUEiS   s   IMPORT_STARiT   s	   EXEC_STMTiU   s
   YIELD_STMTiV   s	   POP_BLOCKiW   s   END_FINALLYiX   s   BUILD_CLASSiY   iZ   s
   STORE_NAMEs   DELETE_NAMEi[   s   UNPACK_SEQUENCEi\   s   FOR_ITERi]   s
   STORE_ATTRi_   s   DELETE_ATTRi`   s   STORE_GLOBALia   s   DELETE_GLOBALib   s   DUP_TOPXic   s
   LOAD_CONSTid   s	   LOAD_NAMEie   s   BUILD_TUPLEif   s
   BUILD_LISTig   s	   BUILD_MAPih   s	   LOAD_ATTRii   s
   COMPARE_OPij   s   IMPORT_NAMEik   s   IMPORT_FROMil   s   JUMP_FORWARDin   s   JUMP_IF_FALSEio   s   JUMP_IF_TRUEip   s   JUMP_ABSOLUTEiq   s   FOR_LOOPir   s   LOAD_GLOBALit   s   CONTINUE_LOOPiw   s
   SETUP_LOOPix   s   SETUP_EXCEPTiy   s   SETUP_FINALLYiz   s	   LOAD_FASTi|   s
   STORE_FASTi}   s   DELETE_FASTi~   s
   SET_LINENOi   s   RAISE_VARARGSi‚   s   CALL_FUNCTIONiƒ   s   MAKE_FUNCTIONi„   s   BUILD_SLICEi…   s   MAKE_CLOSUREi†   s   LOAD_CLOSUREi‡   s
   LOAD_DEREFiˆ   s   STORE_DEREFi‰   s   CALL_FUNCTION_VARiŒ   s   CALL_FUNCTION_KWi�   s   CALL_FUNCTION_VAR_KWiŽ   s   EXTENDED_ARGi�   c     sÛ   t  i d o_ t  i d o! t  i i d ƒ t  i d ƒ n t  i d } | p
 | d j o
 t } n n t } | o t  i } n t	 | ƒ } | i
 ƒ  }  | o | i ƒ  n d } t |  | d ƒ } t | ƒ d S(   s*   Simple test program to disassemble a file.i   i   s   usage: python dis.py [-|file]
s   -s   <stdin>s   execN(   s   syss   argvs   stderrs   writes   exits   fns   Nones   stdins   fs   opens   reads   sources   closes   compiles   codes   dis(   s   sources   codes   fs   fn(    (    s    /mit/python/lib/python2.2/dis.pys   _test/s$     s   __main__(   s   __doc__s   syss   typess   __all__s   Nones   diss   distbs   disassembles   discos
   findlabelss   cmp_ops   hasconsts   hasnames   hasjrels   hasjabss   haslocals
   hascompares   hasfrees   opnames   ranges   ops   def_ops   name_ops   jrel_ops   jabs_ops   HAVE_ARGUMENTs   appends
   SET_LINENOs   EXTENDED_ARGs   _tests   __name__(   s   hasjrels   hasconsts   HAVE_ARGUMENTs
   SET_LINENOs   disassembles
   findlabelss   syss   jabs_ops   haslocals   opnames   typess   __all__s   EXTENDED_ARGs   hasfrees   name_ops   distbs   jrel_ops
   hascompares   discos   hasjabss   def_ops   diss   cmp_ops   _tests   hasnames   op(    (    s    /mit/python/lib/python2.2/dis.pys   ? s*  		-#
*	*  					