ó
¹å½\c           @   s*  d  d l  m Z d e f d     YZ d   Z d  Z d Z d Z d Z d Z	 d	 Z
 d
 Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d  Z d Z d Z d Z d Z d Z  d Z! d Z" d Z# d Z$ d	 Z% d Z& d
 Z' d  Z( d Z) d! Z* d Z+ d" Z, d Z- d# Z. d Z/ d$ Z0 d Z1 d% Z2 d Z3 d& Z4 d Z5 d' Z6 d Z7 d( Z8 d Z9 d) Z: d Z; d* Z< d Z= d+ Z> d Z? d, Z@ d ZA d- ZB d ZC d. ZD d/ ZE d0 ZF d1 ZG d2 ZH d3 ZI d4 ZJ d5 ZK d6 ZL d7 ZM d8 ZN d9 ZO d: ZP d; ZQ d9 ZR i3 e d< 6e d= 6e! d> 6e# d? 6e% d@ 6e dA 6e dB 6e  dC 6e" dD 6e$ dE 6e& dF 6e' dG 6e( dH 6e) dI 6eJ dJ 6eK dK 6e dL 6e* dM 6eL dN 6eM dO 6e+ dP 6e, dQ 6e- dR 6e. dS 6e/ dT 6e0 dU 6e1 dV 6e2 dW 6e3 dX 6e4 dY 6e5 dZ 6e6 d[ 6e7 d\ 6e8 d] 6e9 d^ 6e: d_ 6e; d` 6e< da 6e= db 6e> dc 6e? dd 6e@ de 6eA df 6eB dg 6eC dh 6eD di 6eE dj 6eF dk 6eG dl 6eH dm 6eI dn 6ZS d  ZT d ZU d ZV d ZW d! ZX eY g  do dp dq dr ds g D] ZZ dt eZ e[   eZ f ^ q„ Z\ i  Z] xR e^ e[   j_    D]; \ Z` Za e` jb du  rēec ea ed  rēe` d e] ea <qēqēWdv S(w   i   (   t   VerificationErrort   CffiOpc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   t   opt   arg(   t   selfR   R   (    (    s/   lib/python2.7/site-packages/cffi/cffi_opcode.pyt   __init__   s    	c         C   sS   |  j  d  k r5 t |  j t  s' t  d |  j f St |  j  } d | |  j f S(   Ns   (_cffi_opcode_t)(%s)s   _CFFI_OP(_CFFI_OP_%s, %s)(   R   t   Nonet
   isinstanceR   t   strt   AssertionErrort
   CLASS_NAME(   R   t	   classname(    (    s/   lib/python2.7/site-packages/cffi/cffi_opcode.pyt	   as_c_expr   s
    c         C   s   |  j  d  k r\ |  j j   r\ t |  j  } | d k rR t d |  j f   n  t |  St |  j t  r t	 d |  j f   n  t |  j d >|  j  B S(   Ni   i   s"   cannot emit %r: limited to 2**31-1s   cannot emit to Python: %ri   I       (
   R   R   R   t   isdigitt   intt   OverflowErrort   format_four_bytesR   R   R    (   R   t   value(    (    s/   lib/python2.7/site-packages/cffi/cffi_opcode.pyt   as_python_bytes   s    
c         C   s)   t  j |  j |  j  } d | |  j f S(   Ns   (%s %s)(   R
   t   getR   R   (   R   R   (    (    s/   lib/python2.7/site-packages/cffi/cffi_opcode.pyt   __str__   s    (   t   __name__t
   __module__R   R   R   R   (    (    (    s/   lib/python2.7/site-packages/cffi/cffi_opcode.pyR      s   			c         C   s0   d |  d ?d @|  d ?d @|  d ?d @|  d @f S(   Ns   \x%02X\x%02X\x%02X\x%02Xi   i’   i   i   (    (   t   num(    (    s/   lib/python2.7/site-packages/cffi/cffi_opcode.pyR      s
    i   i   i   i	   i   i   i   i   i   i   i   i   i   i   i   i!   i#   i%   i'   i)   i    i   i   i   i   i
   i   i   i   i   i   i   i   i   i   i   i    i"   i$   i&   i(   i*   i+   i,   i-   i.   i/   i0   i1   i2   i3   i4   i’’’’iž’’’iż’’’t   chart   shortR   t   longs	   long longs   signed chars   unsigned chars   unsigned shorts   unsigned ints   unsigned longs   unsigned long longt   floatt   doubles   long doubles   float _Complexs   double _Complext   _Boolt   wchar_tt   char16_tt   char32_tt   int8_tt   uint8_tt   int16_tt   uint16_tt   int32_tt   uint32_tt   int64_tt   uint64_tt   intptr_tt	   uintptr_tt	   ptrdiff_tt   size_tt   ssize_tt   int_least8_tt   uint_least8_tt   int_least16_tt   uint_least16_tt   int_least32_tt   uint_least32_tt   int_least64_tt   uint_least64_tt   int_fast8_tt   uint_fast8_tt   int_fast16_tt   uint_fast16_tt   int_fast32_tt   uint_fast32_tt   int_fast64_tt   uint_fast64_tt   intmax_tt	   uintmax_tt   F_UNIONt   F_CHECK_FIELDSt   F_PACKEDt
   F_EXTERNALt   F_OPAQUEt   _CFFI_t   OP_N(e   t   errorR    t   objectR   R   t   OP_PRIMITIVEt
   OP_POINTERt   OP_ARRAYt   OP_OPEN_ARRAYt   OP_STRUCT_UNIONt   OP_ENUMt   OP_FUNCTIONt   OP_FUNCTION_ENDt   OP_NOOPt   OP_BITFIELDt   OP_TYPENAMEt   OP_CPYTHON_BLTN_Vt   OP_CPYTHON_BLTN_Nt   OP_CPYTHON_BLTN_Ot   OP_CONSTANTt   OP_CONSTANT_INTt   OP_GLOBAL_VARt   OP_DLOPEN_FUNCt   OP_DLOPEN_CONSTt   OP_GLOBAL_VAR_Ft   OP_EXTERN_PYTHONt	   PRIM_VOIDt	   PRIM_BOOLt	   PRIM_CHARt
   PRIM_SCHARt
   PRIM_UCHARt
   PRIM_SHORTt   PRIM_USHORTt   PRIM_INTt	   PRIM_UINTt	   PRIM_LONGt
   PRIM_ULONGt   PRIM_LONGLONGt   PRIM_ULONGLONGt
   PRIM_FLOATt   PRIM_DOUBLEt   PRIM_LONGDOUBLEt
   PRIM_WCHARt	   PRIM_INT8t
   PRIM_UINT8t
   PRIM_INT16t   PRIM_UINT16t
   PRIM_INT32t   PRIM_UINT32t
   PRIM_INT64t   PRIM_UINT64t   PRIM_INTPTRt   PRIM_UINTPTRt   PRIM_PTRDIFFt	   PRIM_SIZEt
   PRIM_SSIZEt   PRIM_INT_LEAST8t   PRIM_UINT_LEAST8t   PRIM_INT_LEAST16t   PRIM_UINT_LEAST16t   PRIM_INT_LEAST32t   PRIM_UINT_LEAST32t   PRIM_INT_LEAST64t   PRIM_UINT_LEAST64t   PRIM_INT_FAST8t   PRIM_UINT_FAST8t   PRIM_INT_FAST16t   PRIM_UINT_FAST16t   PRIM_INT_FAST32t   PRIM_UINT_FAST32t   PRIM_INT_FAST64t   PRIM_UINT_FAST64t   PRIM_INTMAXt   PRIM_UINTMAXt   PRIM_FLOATCOMPLEXt   PRIM_DOUBLECOMPLEXt   PRIM_CHAR16t   PRIM_CHAR32t	   _NUM_PRIMt   _UNKNOWN_PRIMt   _UNKNOWN_FLOAT_PRIMt   _UNKNOWN_LONG_DOUBLEt   _IO_FILE_STRUCTt   PRIMITIVE_TO_INDEXR@   RA   RB   RC   RD   t   dictt   _keyt   globalst   G_FLAGSR
   t   listt   itemst   _namet   _valuet
   startswithR   R   (    (    (    s/   lib/python2.7/site-packages/cffi/cffi_opcode.pyt   <module>   s   	
	0"