
(°h2  ã               @   sÝ   d  d l  Z  d  d l Z d  d l Z y d  d l Z Wn e k
 rN d Z Yn Xd  d l m Z d  d l m Z e	 Z
 e j d d ƒ Z Gd d „  d ƒ Z e e  d e ƒ Z e e d	 d ƒ Z e d k rÙ e j ƒ  j Z d S)
é    N)Úsix)Úhtml_parserÚOpArgz
opcode argc               @   s(   e  Z d  Z d d „  Z d d „  Z d S)ÚBytecode_compatc             C   s   | |  _  d  S)N)Úcode)Úselfr   © r   ú;/tmp/pip-build-kmztzv_d/setuptools/setuptools/py33compat.pyÚ__init__   s    zBytecode_compat.__init__c             c   sâ   t  j  d |  j j ƒ } t |  j j ƒ } d } d } x¥ | | k  rÝ | | } | t j k r¼ | | d | | d d | } | d 7} | t j k rÌ t j d	 } | | d ƒ } q9 n d } | d 7} t	 | | ƒ Vq9 Wd S)
z>Yield '(op,arg)' pair for each operation in code object 'code'Úbr   é   é   é   é   i   Néÿÿÿÿ)
Úarrayr   Úco_codeÚlenÚdisZHAVE_ARGUMENTZEXTENDED_ARGr   Úinteger_typesr   )r   ÚbytesÚeofÚptrZextended_argÚopÚargZ	long_typer   r   r	   Ú__iter__   s     
"

zBytecode_compat.__iter__N)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r	   r      s   r   ÚBytecodeÚunescape)r   r   ÚcollectionsÚhtmlÚImportErrorZsetuptools.externr   Zsetuptools.extern.six.movesr   ÚtypeZ__metaclass__Ú
namedtupler   r   Úgetattrr   r    Ú
HTMLParserr   r   r   r	   Ú<module>   s   "