
q<\c        
   @@  s  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z y d  d l Z Wn e k
 r{ d  d l	 Z n Xd  d l
 m Z m Z d  d l m Z d  d l Z d d l m Z m Z m Z d d l m Z m Z m Z m Z d d l m Z d d	 l m Z d
 d l m Z m Z m  Z  d d l! m" Z" m# Z# d d l$ m% Z% d  d l& Z' e j( d% k Z) e j( d  d k  rd   Z* n	 d   Z* d e e f d     YZ+ e  d d   Z- d d  Z. d d  Z/ d   Z0 e  d    Z1 i  Z2 e1 d&  Z3 d d d  Z4 e. e j5 j6 e%   d  d d e7 e7 d d d d 	 Z8 d e8 _9 e j: d  j; Z< d   Z= e j: d  Z> d   Z? y d  d  l m@ Z@ Wn e k
 rd!   Z@ n Xd"   ZA d# eB f d$     YZC d S('   i    (   t   absolute_importN(   t   Distributiont	   Extension(   t	   build_exti   (   t   Contextt   CompilationOptionst   default_options(   t   CythonTransformt   SkipDeclarationst   AnalyseDeclarationsTransformt   EnvTransform(   t   parse_from_strings(   t   _unicodei   (   t   strip_string_literalst	   cythonizet   cached_function(   t   Pipelinet   Nodes(   t   get_cython_cache_diri   c         C@  s$   t  |  t  r |  j d  S|  Sd  S(   Nt   ascii(   t
   isinstancet   bytest   decode(   t   s(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt
   to_unicode   s    c         C@  s   |  S(   N(    (   t   x(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   <lambda>$   s    t   UnboundSymbolsc           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  s    t  j |  d   t   |  _ d  S(   N(   R   t   __init__t   Nonet   sett   unbound(   t   self(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR   (   s    c         C@  s2   |  j    j | j  s. |  j j | j  n  | S(   N(   t   current_envt   lookupt   nameR   t   add(   R    t   node(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   visit_NameNode+   s    c         C@  s   t  t |   j |  |  j S(   N(   t   superR   t   __call__R   (   R    R%   (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR(   /   s    (   t   __name__t
   __module__R   R&   R(   (    (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR   '   s   		c         C@  s   t  |   }  | d  k r* t g  t  } n  d d l m } t d |   } xK t j | d  D]7 } | d  k rt q\ n  | |  } t	 | |  r\ Pq\ q\ Wy d d  l
 } Wn t k
 r d d  l } n Xt t   |  t t |    S(   Ni   (   R	   s   (tree fragment)t   pyxi    (   R   R   R   R   t   Compiler.ParseTreeTransformsR	   R   R   t   create_pipelineR   t   builtinst   ImportErrort   __builtin__t   tupleR   R   t   dir(   t   codet   contextR	   t   treet   phaseR.   (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   unbound_symbols4   s     c         C@  s-   t  |   } | t k r d St |  |  Sd  S(   Nt   long(   t   typet   intt	   safe_type(   t   argR4   t   py_type(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   unsafe_typeH   s    c         C@  s  t  |   } | t t t t f k r+ | j S| t k r; d S| t k rK d S| t k r[ d Sd t	 j
 k r t |  t	 j
 d j  r d |  j j |  j f Sxt | j D]i } | j d k r d S| j | j d	 t } | r | j | j  } | j rd
 | j | j f Sq q Wd Sd  S(   Ns   double complext   doublet   bintt   numpys"   numpy.ndarray[numpy.%s_t, ndim=%s]R0   R.   t   objectt   need_pxds   %s.%s(   s   __builtin__s   builtins(   R9   t   listR1   t   dictt   strR)   t   complext   floatt   boolt   syst   modulesR   t   ndarrayt   dtypeR#   t   ndimt   __mro__R*   t   find_modulet   FalseR"   t   is_type(   R<   R4   R=   t	   base_typet   modulet   entry(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR;   P   s(    (	c          C@  s<   t    }  |  j   } |  j |  t |   } | j   | S(   N(   R   t   find_config_filest   parse_config_filesR   t   finalize_options(   t   distt   config_filest   build_extension(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   _get_build_extensionh   s    	
c         C@  s   t  t |   t  S(   N(   R   RD   R   (   t   cython_include_dirs(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   _create_contexts   s    t   .c         C@  s   x | D] } | |  k r | d  k s1 | d  k ry t j   j j j } | d  k r^ | j } n  | d  k ry | j } qy n  | | k r | | |  | <q | | k r | | |  | <q d | GHq q Wd  S(   Ns   Couldn't find %r(   R   t   inspectt   currentframet   f_backt   f_localst	   f_globals(   t   kwdsR7   t   localst   globalst   symbolt   calling_frame(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   _populate_unbound{   s    t   inlinec
   ,      K@  s  | d  k r d   } n  | r0 t t |   n t } t j |   } | d  k	 r t |
 | | |  t |
 j    } t g  | D]! \ } } | | |  | f ^ q  } t j |  | f  } | d  k	 r g  | D] } | d ^ q } | |   Sn  |  } t	 |   }  t
 |   \ }  } t |   }  | d  k rIt j   j j j } n  | d  k rmt j   j j j } n  y+ t |   t | <} t |
 | | |  Wn t k
 r| sd GHqn Xt | pi   } |	 d  k	 r|	 | d <n  g  } xG t |
 j    D]3 \ } } | t k r| j d |  |
 | =qqWt |
  } t g  | D] } | |
 | |  | f ^ qK } | | t j t j |	 t j f } d t j t |  j d   j    } | t j! k rt j! | } nd  } t" j# d  k rt$   } | j% d  t" _# n  t& j' j( | | t" j#  } t& j' j) |  sLt& j* |  n  | set& j' j+ |  rsg  } g  } t, j- d	  } x | D]w \ }  }! | j. |   }" |" r| j d
 |" j/   d  |" j/   d d k rd d  l0 }# | j |# j1    qqqWt2 |   \ }$ }% d j( g  | D] }& d |& ^ q! }' d i d j( |  d 6|$ d 6|' d 6|% d 6}( x, | j   D] \ } } |( j3 | |  }( qvWt& j' j( | | d  }) t4 |) d  }* z |* j5 |(  Wd  |* j6   Xt7 d | d |) g d | d |  }+ | d  k rt$   } n  t8 |+ g d | p3d g d | d | | _9 t& j' j: |)  | _; | | _< | j=   n  t> j? | |  } | j@ t | | f <g  | D] } |
 | ^ q} | j@ |   S(   Nc         S@  s   d S(   NRB   (    (   R   (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR      s    i   s>   Could not parse code as a string (to extract unbound symbols).t   language_levels   
cimport cython as %st   _cython_inline_s   utf-8t    s   ([.\w]+)[.]s   
cimport %si    RA   s   , s   %s %ssf   
%(module_body)s
%(cimports)s
def __invoke(%(params)s):
%(func_body)s
    return locals()
            s   
t   cimportst   module_bodyt   paramst	   func_bodys   .pyxt   wR#   t   sourcest   include_dirst   extra_compile_argst   include_pathR_   t   compiler_directivest   quiet(A   R   R^   R1   t   _cython_inline_default_contextt   _cython_inline_cachet   getRj   t   sortedt   itemsR   R   t   strip_common_indentR`   Ra   Rb   Rc   Rd   R7   t   AssertionErrorRE   RD   t   cython_modulet   appendRJ   t   version_infot
   executablet   Cythont   __version__t   hashlibt   md5R   t   encodet	   hexdigestRK   t   cython_inlinet   so_extR\   t   get_ext_filenamet   ost   patht   joint   existst   makedirst   isfilet   ret   compilet   matcht   groupsRA   t   get_includet   extract_func_codet   replacet   opent   writet   closeR   R   t
   extensionst   dirnamet
   build_tempt	   build_libt   runt   impt   load_dynamict   __invoke(,   R3   t   get_typet   lib_dirR]   t   cython_compiler_directivest   forceRy   Rf   Rg   Rl   Re   t   ctxt   _unbound_symbolst   argsR<   t   valuet   arg_sigst   invoket   arg_listt	   orig_codet   literalsRo   R#   t	   arg_namest   keyt   module_nameRT   R[   t   module_patht   cflagst   c_include_dirst	   qualifiedR9   t   _t   mRA   Rp   Rr   t   aRq   t   module_codet   pyx_filet   fht	   extension(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR      s    42!(	&				s   [^ ]c         C@  s   d  } |  j   } xi | D]a } t |  } | s7 q n  | j   } | | d k rY q n  | d  k sq | | k r | } q q Wx_ t |  D]Q \ } } t |  } | s | s | | | d !d k r q n  | | | | <q Wd j |  S(   Nt   #i   s   
(   R   t
   splitlinest   _find_non_spacet   startt	   enumerateR   (   R3   t
   min_indentt   linest   lineR   t   indentt   ix(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR   	  s"    %sI   ^((cdef +(extern|class))|cimport|(from .+ cimport)|(from .+ import +[*]))c         C@  s   g  } g  } | } |  j  d d  }  |  j d  } xK | D]C } | j d  sp t j |  rg | } qp | } n  | j |  q: Wd j |  d d j |  f S(   Ns   	t    s   
s       s   
    (   R   t   splitt
   startswitht   module_statementR   R   R   (   R3   RT   t   functiont   currentR   R   (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR     s    		(   t   getcallargsc         O@  s  i  } t  j |   \ } } } } | d  k	 rD | t |  | | <n  x' t | |  D] \ } }	 |	 | | <qT Wxa t | j    D]M \ } }	 | | k r | | k r t d |   n  | j |  | | <q q W| d  k	 r | | | <n | r
t d t |    n  | d  k rd } n  t |  t |  }
 xZ t	 |  D]L \ } } | | k rB| |
 k r{| | |
 | | <qt d |   qBqBW| S(   Ns   Duplicate argument %ss    Unexpected keyword arguments: %ss   Missing argument: %s(    (
   R`   t
   getargspecR   t   lent   zipRD   R~   t	   TypeErrort   popR   (   t   funct
   arg_valuest
   kwd_valuest   allR   t   varargsRe   t   defaultsR#   R   t   first_defaultR   (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR   1  s0    	c         C@  s?   |  j  d  } |  d  d k r/ d |  | d S|  | d Sd  S(   Nt   :i   t   lambdas	   return %si   (   t   index(   t   sourceR   (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   get_bodyM  s    t   RuntimeCompiledFunctionc           B@  s   e  Z d    Z d   Z RS(   c         C@  s%   | |  _  t t j |   |  _ d  S(   N(   t   _fR   R`   t	   getsourcet   _body(   R    t   f(    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR   Y  s    	c         O@  so   t  |  j | |  } t rC t |  j d |  j j d |  j j | St |  j d |  j j d |  j j | Sd  S(   NRf   Rg   (   R   R   t   IS_PY3R   R   t   __globals__t   func_globals(   R    R   Re   R   (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR(   ]  s    ((   R)   R*   R   R(   (    (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyR   W  s   	(   i   i    (   R_   (D   t
   __future__R    RJ   R   R   R`   R   R   R/   R   t   distutils.coreR   R   t   distutils.command.build_extR   R   t   Compiler.MainR   R   R   R,   R   R   R	   R
   t   Compiler.TreeFragmentR   t   Compiler.StringEncodingR   t   DependenciesR   R   R   t   CompilerR   R   t   UtilsR   t   cythonR   R   R   R   R   R   R7   R>   R;   R\   R^   R{   Rz   Rj   R   R   RQ   R   R   R   t   searchR   R   R   R   R   R   RB   R   (    (    (    sc   /home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python2.7/site-packages/Cython/Build/Inline.pyt   <module>   s\   0"		v				
