
9Wc           @   sZ  d  d l  Z  d  d l Z d  d l Z d d l m Z d Z d Z d Z d   Z d e	 f d     YZ
 d	 e
 f d
     YZ d e f d     YZ e   Z d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ e e  Z d   Z e e  Z d e f d     YZ d  e f d!     YZ e e d"  d  Z d# e
 f d$     YZ d% e f d&     YZ d' e f d(     YZ d) e f d*     YZ  d+ e f d,     YZ! d d-  Z" d d.  Z# e   Z$ d/   Z% d0   Z& d1   Z' d S(2   iNi   (   t   allocate_locki   i   c         C   s[   |  t  @r d | j   } n  |  t @r: d | j   } n  |  t @rW d | j   } n  | S(   Ns    const s
    volatile s    __restrict (   t   Q_CONSTt   lstript
   Q_VOLATILEt
   Q_RESTRICT(   t   qualst   replace_with(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   qualify   s    


t   BaseTypeByIdentityc           B   s_   e  Z e Z e Z d  d d d  Z d   Z d   Z d   Z e d  Z	 d   Z
 d	   Z RS(
   t    s   a C filei    c         C   s   |  j  } | j   } | rc | j d  rC d | k rC d | } qc | d d k rc d | } qc n  t | |  } | j d |  } d | k r d	 d
 l m } | d |  j   | f   n  | S(   Nt   *s   &[s   (%s)i    s   [(t    t   &t   $i   (   t   VerificationErrors-   cannot generate '%s' in %s: unknown type name(   t   c_name_with_markert   stript
   startswithR   t   replacet   ffiplatformR   t   _get_c_name(   t   selfR   t   contextR   t   resultR   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt
   get_c_name   s    	c         C   s   |  j  j d d  S(   NR   R	   (   R   R   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR   0   s    c         C   s   d |  j    k S(   NR   (   R   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt
   has_c_name3   s    c         C   s   t  S(   N(   t   False(   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   is_integer_type6   s    c         C   sP   y | j  |  } Wn8 t k
 rK |  j | |  } | j  j |  |  } n X| S(   N(   t   _cached_btypest   KeyErrort   build_backend_typet
   setdefault(   R   t   ffit
   finishlistt	   can_delayt   BTypet   BType2(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   get_cached_btype9   s    c         C   s   d |  j    f S(   Ns   <%s>(   R   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   __repr__B   s    c         C   s)   g  |  j  D] } | t |  |  f ^ q
 S(   N(   t   _attrs_t   getattr(   R   t   name(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt
   _get_itemsE   s    (   t   __name__t
   __module__R   t   is_array_typet   is_raw_functionR   R   R   R   R%   R&   R*   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s   					t   BaseTypec           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s(   |  j  | j  k o' |  j   | j   k S(   N(   t	   __class__R*   (   R   t   other(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   __eq__K   s    c         C   s   |  | k S(   N(    (   R   R1   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   __ne__O   s    c         C   s   t  |  j t |  j    f  S(   N(   t   hashR0   t   tupleR*   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   __hash__R   s    (   R+   R,   R2   R3   R6   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR/   I   s   		t   VoidTypec           B   s    e  Z d Z d    Z d   Z RS(   c         C   s   d |  _  d  S(   Ns   void&(   R   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   __init__Y   s    c         C   s   t  |  | d  S(   Nt   new_void_type(   t   global_cache(   R   R    R!   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR   \   s    (    (   R+   R,   R'   R8   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR7   V   s   	t   BasePrimitiveTypec           B   s   e  Z RS(    (   R+   R,   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR;   b   s   t   PrimitiveTypec           B   s  e  Z d8 Z i/ d d 6d d 6d d 6d d 6d d 6d d 6d d	 6d d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d d! 6d d" 6d d# 6d d$ 6d d% 6d d& 6d d' 6d d( 6d d) 6d d* 6d d+ 6d d, 6d d- 6d d. 6d d/ 6d d0 6d d1 6d d2 6Z d3   Z d4   Z d5   Z d6   Z d7   Z RS(9   R)   t   ct   chart   it   shortt   intt   longs	   long longs   signed chars   unsigned chars   unsigned shorts   unsigned ints   unsigned longs   unsigned long longt   ft   floatt   doubles   long doublet   _Boolt   wchar_tt   int8_tt   uint8_tt   int16_tt   uint16_tt   int32_tt   uint32_tt   int64_tt   uint64_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   intptr_tt	   uintptr_tt   intmax_tt	   uintmax_tt	   ptrdiff_tt   size_tt   ssize_tc         C   s   | |  _  | d |  _ d  S(   NR   (   R)   R   (   R   R)   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8      s    	c         C   s   |  j  |  j d k S(   NR=   (   t   ALL_PRIMITIVE_TYPESR)   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   is_char_type   s    c         C   s   |  j  |  j d k S(   NR?   (   Rg   R)   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s    c         C   s   |  j  |  j d k S(   NRC   (   Rg   R)   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   is_float_type   s    c         C   s   t  |  | d |  j  S(   Nt   new_primitive_type(   R:   R)   (   R   R    R!   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s    (   s   name(	   R+   R,   R'   Rg   R8   Rh   R   Ri   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR<   f   sl   
				t   UnknownIntegerTypec           B   s)   e  Z d Z d   Z d   Z d   Z RS(   R)   c         C   s   | |  _  | d |  _ d  S(   NR   (   R)   R   (   R   R)   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8      s    	c         C   s   t  S(   N(   t   True(   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s    c         C   s   t  d |  j   d  S(   Ns4   integer type '%s' can only be used after compilation(   t   NotImplementedErrorR)   (   R   R    R!   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s    (   s   name(   R+   R,   R'   R8   R   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyRk      s   		t   UnknownFloatTypec           B   s    e  Z d Z d   Z d   Z RS(   R)   c         C   s   | |  _  | d |  _ d  S(   NR   (   R)   R   (   R   R)   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8      s    	c         C   s   t  d |  j   d  S(   Ns2   float type '%s' can only be used after compilation(   Rm   R)   (   R   R    R!   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s    (   s   name(   R+   R,   R'   R8   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyRn      s   	t   BaseFunctionTypec           B   s   e  Z d Z d d  Z RS(   t   argsR   t   ellipsist   abic         C   s   | |  _  | |  _ | |  _ | |  _ g  |  j  D] } | j   ^ q. } |  j r_ | j d  n  | pk d g } |  j d j |  f } | d  k	 r | d  | d | d } n  |  j j	 j
 d |  |  _	 d  S(   Ns   ...t   voids   , i   R   R   (   Rp   R   Rq   Rr   R   t   appendt   _base_patternt   joint   NoneR   R   (   R   Rp   R   Rq   Rr   t   argt   reprargsR   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8      s    				"	(   s   argss   results   ellipsiss   abiN(   R+   R,   R'   Rw   R8   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyRo      s   t   RawFunctionTypec           B   s&   e  Z d  Z e Z d   Z d   Z RS(   s   (&)(%s)c         C   s*   d d l  m } | j d |  f   d  S(   Ni   (   t   apisP   cannot render the type %r: it is a function type, not a pointer-to-function type(   R	   R{   t	   CDefError(   R   R    R!   R{   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s    	c         C   s   t  |  j |  j |  j |  j  S(   N(   t   FunctionPtrTypeRp   R   Rq   Rr   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   as_function_pointer   s    (   R+   R,   Ru   Rl   R.   R   R~   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyRz      s   	R}   c           B   s    e  Z d  Z d   Z d   Z RS(   s   (*&)(%s)c         C   s   |  j  j | |  } g  } x* |  j D] } | j | j | |   q% Wd } |  j d k r |  j s y | j j f } Wq t k
 r q Xq n  t	 |  | d t
 |  | |  j |  S(   Nt	   __stdcallt   new_function_type(    (   R   R%   Rp   Rt   Rr   Rq   t   _backendt   FFI_STDCALLt   AttributeErrorR:   R5   (   R   R    R!   R   Rp   t   tpt   abi_args(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s    	
c         C   s   t  |  j |  j |  j |  j  S(   N(   Rz   Rp   R   Rq   Rr   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   as_raw_function   s    (   R+   R,   Ru   R   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR}      s   	t   PointerTypec           B   s#   e  Z d Z d d  Z d   Z RS(   t   totypeR   i    c         C   s\   | |  _  | |  _ t | d  } | j r@ d | j   f } n  | j j d |  |  _ d  S(   Ns    *&s   (%s)R   (   R   R   R   R-   R   R   R   (   R   R   R   t   extra(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8     s    			c         C   s.   |  j  j | | d t } t |  | d |  S(   NR"   t   new_pointer_type(   R   R%   Rl   R:   (   R   R    R!   t   BItem(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s    (   s   totypes   quals(   R+   R,   R'   R8   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s   c         C   s   t  |  t  S(   N(   R   R   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   ConstPointerType  s    t   NamedPointerTypec           B   s   e  Z d Z d d  Z RS(   R   R)   i    c         C   s-   t  j |  | |  | |  _ | d |  _ d  S(   NR   (   R   R8   R)   R   (   R   R   R)   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8     s    	(   s   totypes   name(   R+   R,   R'   R8   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s   t	   ArrayTypec           B   s/   e  Z d Z e Z d   Z d   Z d   Z RS(   t   itemt   lengthc         C   se   | |  _  | |  _ | d  k r' d } n | d k r< d } n
 d | } |  j  j j d |  |  _ d  S(   Ns   &[]s   ...s
   &[/*...*/]s   &[%s]R   (   R   R   Rw   R   R   (   R   R   R   t   brackets(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8   $  s    				
c         C   s   t  |  j |  S(   N(   R   R   (   R   t	   newlength(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   resolve_length1  s    c         C   s   |  j  d k r8 d d l m } | j d |  f   n  |  j j | |  t |  j  j | |  } t |  | d | |  j   S(   Ns   ...i   (   R{   s)   cannot render the type %r: unknown lengtht   new_array_type(   R   R	   R{   R|   R   R%   R   R:   (   R   R    R!   R{   t   BPtrItem(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR   4  s    	(   s   items   length(   R+   R,   R'   Rl   R-   R8   R   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR      s
   		R>   t   StructOrUnionOrEnumc           B   s/   e  Z d Z d Z d   Z d   Z d   Z RS(   R)   c         C   s0   |  j  p d |  j |  j f } | d |  _ d  S(   Ns   %s %sR   (   t	   forcenamet   kindR)   R   (   R   R)   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   build_c_name_with_markerD  s    c         C   s   | |  _  |  j   d  S(   N(   R   R   (   R   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   force_the_nameH  s    	c         C   s   |  j  d  S(   Ni(   R   (   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   get_official_nameL  s    (   s   nameN(   R+   R,   R'   Rw   R   R   R   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR   @  s
   		t   StructOrUnionc           B   sw   e  Z d
 Z d  Z e Z e Z d
 d  Z d   Z	 d   Z
 d   Z e d  Z d   Z d   Z d   Z d	   Z RS(   i    c         C   s;   | |  _  | |  _ | |  _ | |  _ | |  _ |  j   d  S(   N(   R)   t   fldnamest   fldtypest
   fldbitsizet   fldqualsR   (   R   R)   R   R   R   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8   W  s    					c         C   s\   |  j  d  k r t SxB t |  j |  j   D]+ \ } } | d k r) t | t  r) t Sq) Wt S(   NR	   (   R   Rw   R   t   zipR   t
   isinstanceR   Rl   (   R   R)   t   type(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   has_anonymous_struct_fields_  s    "c         c   s   |  j  } | d  k r+ d t |  j  } n  x} t |  j |  j |  j |  D]] \ } } } } | d k r t | t  r x- | j	   D] } | Vq WqJ | | | | f VqJ Wd  S(   Ni    R	   (   i    (
   R   Rw   t   lenR   R   R   R   R   R   t
   enumfields(   R   R   R)   R   t   bitsizeR   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR   g  s    	c   	      C   s   g  } g  } g  } g  } xT |  j    D]F \ } } } } | j |  | j |  | j |  | j |  q% Wt |  |  _ t |  |  _ t |  |  _ t |  |  _ d  S(   N(   R   Rt   R5   R   R   R   R   (	   R   t   namest   typest   bitsizesR   R)   R   R   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   force_flattent  s    c         C   s5   t  j |  | | |  } | s1 |  j | |  n  | S(   N(   R   R%   t   finish_backend_type(   R   R    R!   R"   R#   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR%     s
    	c         C   s  |  j  r5 |  j  d k r1 t d |  j f   n  d  S| j |  } d |  _  |  j d  k r] nh|  j d  k r g  |  j D] } | j | |  ^ qv } t t	 |  j
 | |  j   } d } |  j r d } n  | j j | | |  d d |  ng  } |  j \ } }	 }
 } x~t t |  j
   D]g} |	 | } |  j | } t | t  r| j d k r| j j | |  } t | | j |   \ } } | d k r|  j d |  j |  j
 | pd	 f  n  | j |  } |  j |  | f |  j | d |  _ n  | j | |  } t | t  r,| j d  k r,nK | j |  } | | k rw|  j d
 |  j |  j
 | pfd	 | | f  n  | j |  qWt t	 |  j
 | |  j |   } | j j | | |  |
 |  d |  _  d  S(   Ni   s(   recursive structure declaration for '%s'i   i    i   is   ...s   field '%s.%s' has a bogus size?s   {}s=   field '%s.%s' is declared as %d bytes, but is really %d bytes(   t	   completedRm   R)   R   R   Rw   t   fixedlayoutR%   t   listR   R   R   t   packedR   t   complete_struct_or_uniont   rangeR   R   R   R   R   t   divmodt   sizeoft   _verification_errorR   Rt   (   R   R    R!   R#   R   R   t   lstt   sflagst   fieldofst	   fieldsizet	   totalsizet   totalalignmentR?   t   fsizet   ftypet	   BItemTypet   nlent   nrestt
   BFieldTypet	   bitemsize(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s`    		%		
!!
c         C   s    d d l  m } | |   d  S(   Ni   (   R   (   R   R   (   R   t   msgR   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s    c         C   sD   |  j  r@ |  j d  k r@ d d l m } | j |  j     n  d  S(   Ni   (   R   (   t   partialR   Rw   R	   R   t   VerificationMissingR   (   R   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   check_not_partial  s    c         C   s=   |  j    | j |   t |  | d |  j |  j   d |  S(   Ns   new_%s_typet   key(   R   Rt   R:   R   R   (   R   R    R!   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s    
N(   R+   R,   Rw   R   R   R   R   R   R8   R   R   R   R%   R   R   R   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR   Q  s   				<		t
   StructTypec           B   s   e  Z d  Z RS(   t   struct(   R+   R,   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s   t	   UnionTypec           B   s   e  Z d  Z RS(   t   union(   R+   R,   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s   t   EnumTypec           B   sJ   e  Z d  Z e Z e Z d d  Z d   Z d   Z	 d   Z
 d   Z RS(   t   enumc         C   s2   | |  _  | |  _ | |  _ | |  _ |  j   d  S(   N(   R)   t   enumeratorst
   enumvaluest   baseinttypeR   (   R   R)   R   R   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR8     s
    				c         C   sK   t  j |  |  |  j d  k rG |  j   } d | j d d  |  _ n  d  S(   NR   R   t   _(   R   R   R   Rw   R   R   (   R   R   R)   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s    c         C   s?   |  j  r; |  j r; d d l m } | j |  j     n  d  S(   Ni   (   R   (   R   t   partial_resolvedR	   R   R   R   (   R   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s    c      
   C   sJ   |  j    |  j | |  } t |  | d |  j   |  j |  j | d |  S(   Nt   new_enum_typeR   (   R   t   build_baseinttypeR:   R   R   R   (   R   R    R!   t
   base_btype(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s    
	c         C   s  |  j  d  k	 r" |  j  j | |  Sd d l m } |  j r\ t |  j  } t |  j  } n- d d  l } | j	 d |  j
    d } } | d k  r d } t d  } t d  }	 n d } t d  } t d	  }	 | j | |  }
 |	 j | |  } | j |
  } | j |  } | d d
 | d >k rJ| d d
 | | >k  rJ|
 S| d d
 | d >k r~| d d
 | | >k  r~| S| j d |  j
     d  S(   Ni   (   R{   is   %r has no values explicitly defined; next version will refuse to guess which integer type it is meant to be (unsigned/signed, int/long)i    RA   RB   s   unsigned ints   unsigned longi   s=   %s values don't all fit into either 'long' or 'unsigned long'(   R   Rw   R%   R	   R{   R   t   mint   maxt   warningst   warnR   R<   R   R|   (   R   R    R!   R{   t   smallest_valuet   largest_valueR   t   signt
   candidate1t
   candidate2t   btype1t   btype2t   size1t   size2(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s:    		
	N(   R+   R,   R   R   R   R   Rw   R8   R   R   R   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR     s   			c         C   sH   | d  k r d |  } n  t | d  d  d   } | j |   d | _ | S(   Ns   $%st   unknown_type(   Rw   R   R   t   origin(   R)   t
   structnameR   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR   %  s    	c         C   s;   | d  k r d |  } n  t | d  d  d   } t | |   S(   Ns   $$%s(   Rw   R   R   (   R)   R   R   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   unknown_ptr_type-  s    c   
      O   s%  | j  d | | f  } y | j j | SWnc t k
 r= nS t k
 r t | j t j  rt t j	   | j _ q t j	   t
 | j  _ n Xy t | j |  |   } Wn, t k
 r } t d | |  | f   n X| j j } t 2 | j |  }	 |	 d  k r| | | <| S|	 SWd  QXd  S(   NR   s
   %s: %r: %s(   t   popR   t   __typecacheR   R   R   R   t
   ModuleTypet   weakreft   WeakValueDictionaryR   R(   Rm   t   global_lockt   getRw   (
   t   srctypeR    t   funcnameRp   t   kwdsR   t   rest   et   cachet   res1(    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyR:   6  s(    
c         C   s   t  d |  d |  S(   Nt   ?R   (   R:   (   R    R#   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   pointer_cacheU  s    c         C   sQ   |  j  rM t |  j  d  t k rM d | |  j  d f f |  j  d |  _  n  d  S(   Ni    s   %s: %si   (   Rp   R   t   str(   R   R)   (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   attach_exception_infoX  s    "((   R   t   sysR   t   lockR    R   R   R   R   t   objectR   R/   R7   t	   void_typeR;   R<   Rk   Rn   Ro   Rz   R}   R   t
   voidp_typeR   t   const_voidp_typeR   R   Rw   t   char_array_typeR   R   R   R   R   R   R   R   R:   R   R   (    (    (    s0   /usr/lib64/python2.7/site-packages/cffi/model.pyt   <module>   sF   	0		F		C			