%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/
Upload File :
Create Path :
Current File : //opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyo

�
��]c	@s�ddlZddlZddlZddlmZmZddlmZddlTdZ	dZ
dZd	fd
��YZdfd��YZ
d
fd��YZdfd��YZdfd��YZdfd��YZejdfkr�ejZndejfd��YZd�Zed�Zed�Zd�Zd�Zd�Zd�Zd�Zd ee d!e de e d"�Z!dS(#i����Ni(tffiplatformtmodel(tVerificationError(t*i&i'i(t
GlobalExprcBs)eZddd�Zd�Zd�ZRS(icCs1||_||_||_||_||_dS(N(tnametaddressttype_optsizetcheck_value(tselfRRRRR	((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt__init__s
				cCs&d|j|j|jj�|jfS(Ns'  { "%s", (void *)%s, %s, (void *)%s },(RRRt	as_c_exprR(R
((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRscCs d|jj�|j|jfS(Ns
b'%s%s',%d(Rtas_python_bytesRR	(R
((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytas_python_exprs(t__name__t
__module__RRR(((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRs	t	FieldExprcBs,eZd�Zd�Zd�Zd�ZRS(cCs1||_||_||_||_||_dS(N(Rtfield_offsett
field_sizetfbitsizet
field_type_op(R
RRRRR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRs
				cCsOdt|j�}d|j|jfd||jfd||jj�fS(Nt s  { "%s", %s,
s     %s   %s,
s     %s   %s },(tlenRRRRR(R
tspaces((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR#s$cCs
t�dS(N(tNotImplementedError(R
((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR)scCsb|jjtkrd}n*|jjtkr?t|j�}nt�d|jj�||jfS(Nts	b'%s%s%s'(	RtoptOP_NOOPtOP_BITFIELDtformat_four_bytesRRR
R(R
t	size_expr((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytas_field_python_expr,s	(RRRRRR (((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRs			tStructUnionExprcBs#eZd�Zd�Zd�ZRS(c		CsL||_||_||_||_||_||_||_||_dS(N(Rt
type_indextflagsRt	alignmenttcommenttfirst_field_indextc_fields(	R
RR"R#RR$R%R&R'((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR8s							cCsfd|j|j|jfd|j|jfd|jt|j�f|jr]d|jnddS(Ns  { "%s", %d, %s,s

    %s, %s, s%d, %d s	/* %s */ Rs},(	RR"R#RR$R&RR'R%(R
((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRCscCsct|jt�}g|jD]}|j�^q}dt|j�t|�|jdj|�fS(Ns(b'%s%s%s',%s)t,(	tevalR#tG_FLAGSR'R RR"Rtjoin(R
R#tc_fieldtfields_expr((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRJs	(RRRRR(((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR!7s		tEnumExprcBs#eZd�Zd�Zd�ZRS(cCs1||_||_||_||_||_dS(N(RR"Rtsignedtallenums(R
RR"RR/R0((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRUs
				cCs&d|j|j|j|j|jfS(Ns1  { "%s", %d, _cffi_prim_int(%s, %s),
    "%s" },(RR"RR/R0(R
((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR\scCswitd6td6td	6td
6td6td6td
6td6|j|j	f}dt
|j�t
|�|j|j
fS(Niiiiisb'%s%s%s\x00%s'(ii(ii(ii(ii(ii(ii(ii(ii(t
PRIM_UINT8t	PRIM_INT8tPRIM_UINT16t
PRIM_INT16tPRIM_UINT32t
PRIM_INT32tPRIM_UINT64t
PRIM_INT64RR/RR"RR0(R
t
prim_index((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRas	(RRRRR(((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR.Ts		tTypenameExprcBs#eZd�Zd�Zd�ZRS(cCs||_||_dS(N(RR"(R
RR"((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRms	cCsd|j|jfS(Ns  { "%s", %d },(RR"(R
((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRqscCsdt|j�|jfS(Nsb'%s%s'(RR"R(R
((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRts(RRRRR(((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR:ls		t
RecompilercBs�eZdZed�Zd�Zd�Zd�Zd�Zdddd	d
gZ	d�Z
dd
�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Zd!�Zd"�Z dNd#�Z"d$�Z#d%�Z$d&�Z%e%Z&d'�Z'd(�Z(e(Z)d)�Z*e*Z+d*�Z,d+�Z-d,�Z.dNd-dNd.�Z/d/�Z0d0�Z1d1�Z2d2�Z3dNd3�Z4d4�Z5d5�Z6d6�Z7d7�Z8d8�Z9d9�Z:d:�Z;d;�Z<d<�Z=d=�Z>e>Z?Z@d>�ZAd?�ZBd@�ZCdA�ZDdB�ZEeEZFZGdC�ZHdD�ZIdE�ZJdF�ZKdG�ZLdH�ZMdI�ZNeNZOeNZPdJ�ZQdK�ZRdL�ZSeSZTdM�ZURS(OicCs(||_||_||_t|_dS(N(tffitmodule_namettarget_is_pythontVERSION_BASEt_version(R
R<R=R>((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR~s			cCst|j|�|_dS(N(tmaxR@(R
tver((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt
needs_version�scCs�i|_|jd�t|jdt�}g|_x�|D]�}|jr;t|j�|j|<|jj|�xM|jD]B}|j|dkr�t|j�|j|<n|jj|�qzW|jjd�q;q;Wx|D]w}|jr�|j|dkr�t|j�|j|<|jj|�|j
rU|jdk	rU|jjd�qUq�q�Wi|_i|_
xR|D]J}t|tj�r�d|j|<qrt|tj�rrd|j
|<qrqrWx9tt|jdd���D]\}}||j|<q�Wx9tt|j
dd���D]\}}||j
|<qWx;|D]3}t|d|jj�}|||j|�q?Wx|jD]}q�Wt|j�|_dS(NtcollecttypetkeytENDtLENcSs|jS(N(R(ttp((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt<lambda>�RcSs|jS(N(R(RH((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRI�Rt_emit_bytecode_(t
_typesdictt	_generatetsortedtstrt
cffi_typestis_raw_functionRtappendtargstNonet
is_array_typetlengtht_struct_unionst_enumst
isinstanceRt
StructOrUniontEnumTypet	enumeratetgetattrt	__class__Rttuple(R
t	all_declsRHttp1titmethodR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytcollect_type_table�sL	
	
	
		

cCs6t|tj�sFt|t�rBx|D]}|j|�q(WndS||jkr2d|j|<t|tj�r�|j|j��q2t|tj	�r|j
dk	r/||jjj
kr/x?|j�D].\}}}}|j|j|||��q�Wq/q2x*|j�D]\}}|j|�qWndS(N(RXRtBaseTypeByIdentityR^t_do_collect_typeRKRStFunctionPtrTypetas_raw_functionRYtfldtypesR<t_parsert_included_declarationst
enumfieldst_field_typet
_get_items(R
RHtxtname1R`t_((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRe�s 

&c
Cs�|jjjj�}x�t|�D]�\}\}}|jdd�\}}yt|d||f�}Wn!tk
r�td|��nXy||_	|||�Wq"t
k
r�}	tj|	|��q"Xq"WdS(NRis_generate_cpy_%s_%ss"not implemented in recompile(): %r(
R<Rit
_declarationstitemsRMtsplitR\tAttributeErrorRt_current_qualst	ExceptionRtattach_exception_info(
R
t	step_nametlstRRHtqualstkindtrealnameRbte((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRL�s
	tglobaltfieldtstruct_uniontenumttypenamecCsi|_x|jD]}g|j|<qWt�|_|jd�|j�xS|jD]H}|j|}|dkr�|jdd��nt|�|j|<qWW|jd}x|jj	�D]\}}q�W|jd}x|j
j	�D]\}}q�WdS(NtctxRREcSs|jS(N(R(tentry((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRI�RR�R�(t_lstst	ALL_STEPStsett_seen_struct_unionsRLt_add_missing_struct_unionstsortR^RVRrRW(R
RxRyRHRa((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytcollect_step_tables�s$	




RcCs|jj|d�dS(Ns
(t_ftwrite(R
twhat((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_prntscCs-|jr|j|�n|j||�dS(N(R>twrite_py_source_to_ftwrite_c_source_to_f(R
tftpreamble((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytwrite_source_to_fs	cCsDttjjtjjt�|�d�}|j�}|j�|S(Ntr(topentostpathR+tdirnamet__file__t	readlinestclose(R
tfilenametgtlines((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_rel_readliness*
cCs||_|j}|jjdk	r1|d�n|jd�}|jd�}|jd�|||d+|dj|��|jj	d�d}|jjdk	r�|d	|jf�|d
�|j
|jj�|d�|d�|d
|f�|d�|d|f�|d�|d|f�|d�|jd�}|jd�}|jd�|||d+|dj|��|jt�n|d�|�||�|�|d�|�|d�t
g|jj�D]\}}||f^q��}xct|j�D]R\}}	d}
||krKd||j�}
n|d||	j�|
f�qW|js�|d�n|d�|�t�|_|jd�i}x�|jD]|}|j|}
t|
�||<||dkr�|d||f�x|
D]}||j��q
W|d�|�q�q�W|jjr�|d�x�|jjD]v}y|jd  \}}Wn*tk
r�td!|j|f��nX|dkr�td"��n|d#|f�q_W|d$�|d�|�n|d%�|d&�x@|jD]5}||dkr<|d'|�q|d(|�qWx8|jD]-}|d)krX|d*|||f�qXqXW|jjr�|d+�n
|d,�|d-t|j�f�d}|jr�|dO}n|d.|�|d�|�|d/�|d0�|d�|�|d�|d1�|d2|f�|d3�|jr|d4�|d5�|d6�n|d7|j�|d8�|d9�|d:�|d�|d;�|d<�|d=�|d>�|d?|f�|d@�|dA|f�|dB�|dB�|d�|d1�|dC|f�|d3�|dD|j|jf�|d;�|d�|d1�|dE|f�|d3�|dF|j|jf�|d;�|d�|�|d/�|dG�|d�d|_dS(HNs#define _CFFI_USE_EMBEDDINGs_cffi_include.hs#include "parse_c_type.h"
sparse_c_type.hiRt.i����s#define _CFFI_MODULE_NAME  "%s"s1static const char _CFFI_PYTHON_STARTUP_CODE[] = {s0 };s#ifdef PYPY_VERSIONs5# define _CFFI_PYTHON_STARTUP_FUNC  _cffi_pypyinit_%ss#elif PY_MAJOR_VERSION >= 3s-# define _CFFI_PYTHON_STARTUP_FUNC  PyInit_%ss#elses*# define _CFFI_PYTHON_STARTUP_FUNC  init%ss#endifs_embedding.hs#include "_cffi_errors.h"
s_cffi_errors.hs>/************************************************************/sstatic void *_cffi_types[] = {s // s/* %2d */ %s,%ss  0s};tdeclis.static const struct _cffi_%s_s _cffi_%ss[] = {s.static const char * const _cffi_includes[] = {isQffi object %r includes %r, but the latter has not been prepared with set_source()sMnot implemented yet: ffi.include() of a Python-based ffi inside a C-based ffis  "%s",s  NULLs?static const struct _cffi_type_context_s _cffi_type_context = {s  _cffi_types,s  _cffi_%ss,s  NULL,  /* no %ss */Rs  %d,  /* num_%ss */s  _cffi_includes,s  NULL,  /* no includes */s  %d,  /* num_types */s  %d,  /* flags */s#ifdef __GNUC__s?#  pragma GCC visibility push(default)  /* for -fvisibility= */tPyMODINIT_FUNCs"_cffi_pypyinit_%s(const void *p[])t{s%    if (((intptr_t)p[0]) >= 0x0A03) {sQ        _cffi_call_python_org = (void(*)(struct _cffi_externpy_s *, char *))p[1];s    }s    p[0] = (const void *)0x%x;s    p[1] = &_cffi_type_context;s#if PY_MAJOR_VERSION >= 3s    return NULL;t}s#  ifdef _MSC_VERs     PyMODINIT_FUNCs#  if PY_MAJOR_VERSION >= 3s%     PyInit_%s(void) { return NULL; }s#  elses     init%s(void) { }s#  endifsPyInit_%s(void)s5  return _cffi_init("%s", 0x%x, &_cffi_type_context);sinit%s(void)s.  _cffi_init("%s", 0x%x, &_cffi_type_context);s#  pragma GCC visibility pop( R�R�R<t
_embeddingRSR�tindexR+R=Rst_print_string_literal_in_arrayRCtVERSION_EMBEDDEDtdictRKRrR[ROt_get_c_nameRR�t_seen_constantsRLR�R�Rt_included_ffist_assigned_sourceRtRt
_num_externpyR@(R
R�R�tprntR�Ratbase_module_nameRHttypeindex2typeRR%tnumsRxRyR�tffi_to_includetincluded_module_nametincluded_sourceR#((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR�s		










4!	














	







	

























cCs�t|t�rd|fSt|ttf�r�g|D]}|j|�^q6}t|�dkrs|jd�nddj|�fS|j�S(Nsb'%s'iRs(%s)R((	RXRNtlistR^t_to_pyRRQR+R(R
Rntitemtrep((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR��s"cCsN||_|j}|d�|d�t|jjp8d�}x�t|�D]�}|jj|}y|jd \}}Wn*tk
r�td|j|f��nX|dk	r�td��n|d||f�qKW|�|d|j
f�|d|jf�d|_t|j
�|_
g|j
D]}|j�^q,}	|d	|jd
j|	��f�tg|jj�D]\}
}||
f^qz�}x\|jD]Q}|j|}
t|
�dkr�|dkr�|d
||j|
�f�q�q�W|dkr@|ddjgt|�D]}d|^q�f�n|d�dS(Ns# auto-generated filesimport _cffi_backendisQffi object %r includes %r, but the latter has not been prepared with set_source()sMnot implemented yet: ffi.include() of a C-based ffi inside a Python-based ffisfrom %s import ffi as _ffi%dsffi = _cffi_backend.FFI('%s',s    _version = 0x%x,s    _types = %s,RiRs    _%ss = %s,s    _includes = (%s,),s, s_ffi%dt)((R�R�RR<R�trangeR�RtRRSR=R@R^ROR
R�R+R�RKRrR�R�(R
R�R�tnum_includesRaR�R�R�Rt	types_lstRHR�RxRy((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR��sB		


	"#4
$4cCs|j|S(N(RK(R
ttype((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_gettypenumsc	Cs�d}t|tj�r�|j�r�|j�rV|jdkrVd}d|j}nut|tj�r�d|jd�f}nJ|jd�}d||jjdd�f}|dkr�|j	t
�nd}n�t|tj�r|j||||�dSt|tj
�s$t|tj�r\|jd||j|�|f�|jd
|�dSt|tj�r�d|jd�}d|j|�}d}nt|��|jd||||f�|jd||jd�|f�|jd
|�dS(NRt_Boolt_cffi_to_c_ints, %ss(%s)_cffi_to_c_doubles(%s)_cffi_to_c_%sRRptchar16_ttchar32_ts-1s6  if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)s    %s;s(%s)_cffi_to_c_pointers, _cffi_type(%d)tNULLs  %s = %s(%s%s);s'  if (%s == (%s)%s && PyErr_Occurred())(R�R�(RXRtBasePrimitiveTypetis_complex_typetis_integer_typeRtUnknownFloatTypet
get_c_nametreplaceRCtVERSION_CHAR16CHAR32tPointerTypet"_convert_funcarg_to_c_ptr_or_arraytStructOrUnionOrEnumR�R�RfR(	R
RHtfromvarttovarterrcodetextraargt	convertertcnameterrvalue((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_convert_funcarg_to_cs@	
			cCs&t|tj�r"|jd�ndS(NsPy_ssize_t datasize(RXRR�tadd(R
RHt	localvars((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_extra_local_variables3scCs�|jd�|jd|j|�||f�|jd�|jd�|jd|�|jd||jd�f�|jd|f�|jd	||j|�|f�|jd|�|jd
�dS(Ns1  datasize = _cffi_prepare_pointer_call_argument(s(      _cffi_type(%d), %s, (char **)&%s);s  if (datasize != 0) {s    if (datasize < 0)s	      %s;s&    %s = (%s)alloca((size_t)datasize);Rs,    memset((void *)%s, 0, (size_t)datasize);sL    if (_cffi_convert_array_from_object((char *)%s, _cffi_type(%d), %s) < 0)s  }(R�R�R�(R
RHR�R�R�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR�7s
	

		cCs�t|tj�r�|j�r>|jdkr>d||jfSt|tj�r[d|fS|jdkr�|j�r�|jjdd�}|dkr�|jt	�nd	||fSd
||j
|�fSn�t|tjtjf�rd||j
|�fSt|tj
�r7d||j
tj|j��fSt|tj�r�|jdkrwtd|j�|f��nd
||j
|�fSt|tj�r�d
||j
|�fSt|��dS(NR�s_cffi_from_c_int(%s, %s)s_cffi_from_c_double(%s)slong doubleRRpR�R�s_cffi_from_c_%s(%s)s/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))s0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))s!'%s' is used as %s, but is opaques0_cffi_from_c_struct((char *)&%s, _cffi_type(%d))(R�R�(RXRR�R�RR�R�R�RCR�R�R�Rft	ArrayTypeR�RYtfldnamesRSt	TypeErrorR�RZR(R
RHtvartcontextR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_convert_expr_from_cGs8 cCs|j|d|f�S(Ns
(*(%s *)0)(t_global_type(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt
_typedef_typejscCs|j|j||��dS(N(ReR�(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt!_generate_cpy_typedef_collecttypemscCsdS(N((R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_typedef_declpscCs.|j|}|jdjt||��dS(NR�(RKR�RQR:(R
RHRR"((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_typedef_ctxss
cCs�|j||�}|j||�t|dd�dkrV|j||jdd�n=t|tj�r�|j|j	|j	jd|jd|�ndS(Ntorigintunknown_typet
approxnamet	named_ptr(
R�R�R\RSt_struct_ctxRRXRtNamedPointerTypettotype(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_typedef_ctxws!cCs:|j|j��|jr6|jr6|j|�ndS(N(ReRgtellipsisR>(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt"_generate_cpy_function_collecttype�sc
Csz|jr|j||�dS|j}t|j�}|dkrJd}n|dkr_d}nd}g}g}d|}xKt|j�D]:\}	}
|j|
jd|	|��|jd|	�q�Wd	j|�}|p�d
}|j	r�|j	d}nd}d
|||f}
|d|j
j|
�f�|d�d	j|�}d}t|j
tj
�rpd}n|d|||f�|d�|d�|d�|d||f�|d�d|}xAt|j�D]0\}	}
|
jd|	|�}|d|�q�Wt�}x!|jD]}
|j|
|�q$Wx|D]}|d|f�qEWt|j
tj
�s�d}d|}d|j
jd|�}||�nd}d}t|j�dkrZtt|j��}x|D]}	|d|	�q�W|�|d|t|�t|�d	jg|D]}	d|	^q/�f�|d�n|�xBt|j�D]1\}	}
|j|
d|	d|	d�|�qqW|d �|d!�gtt|j��D]}	d|	^q�}d	j|�}|d"|||f�|d#�|d$�|�|d%�|dkrJ|d&�n|rs|d'|j|j
d(d)��n|d*�|d+�|d�|d,�d-�}t}g}g}d|}x~t|j�D]m\}	}
d}||
�r�d.}t}n|
jd/||	f|�}|j|�|jd0||	f�q�W|j
}||�r�d|}|jd1|�}|jd|�tj}d}d2}t}n|rQd	j|�}|p�d
}d3|||f}
|d|j|
�f�|d�|r||�nd	j|�}|d"|||f�|rD|d4�n|d�n|d5||f�|d6�|�dS(7Nitnoargitarg0RRsargument of %ss x%dsx%ds, tvoidRRs%s_cffi_d_%s(%s)s	static %sR�sreturn s  %s%s(%s);R�s#ifndef PYPY_VERSIONsstatic PyObject *s(_cffi_f_%s(PyObject *self, PyObject *%s)s  %s;s	result = sresult of %ss results  PyObject *arg%d;s1  if (!PyArg_UnpackTuple(args, "%s", %d, %d, %s))s&arg%ds    return NULL;sarg%dsreturn NULLs  Py_BEGIN_ALLOW_THREADSs  _cffi_restore_errno();s  { %s%s(%s); }s  _cffi_save_errno();s  Py_END_ALLOW_THREADSs  (void)self; /* unused */s  (void)noarg; /* unused */s  return %s;tresultsresult types  Py_INCREF(Py_None);s  return Py_None;s#elsecSs.t|tj�p-t|tj�o-|j�S(N(RXRRYt
PrimitiveTypeR�(R�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytneed_indirection�sRs %sx%ds%sx%ds *results
*result = s%s_cffi_f_%s(%s)s  return result;s#  define _cffi_f_%s _cffi_d_%ss#endif(R�t_generate_cpy_constant_declR�RRRR[RQR�R+tabiR�RXRtVoidTypeR�R�RSR�R�R�tFalsetTruetinsertt	void_type(R
RHRR�tnumargstargnamet	argumentstcall_argumentsR�RaR�trepr_argumentsR�tname_and_argumentstresult_codetargR�R�tresult_decltrngR�t
differencetindirectiont	tp_result((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_function_decl�s�				
	
	




	



+


,







	
	
	
			





cCs�|jr'|jr'|j||�dS|j|j�}t|j�}|jr[t}n0|dkrpt}n|dkr�t	}nt
}|jdjt
|d|t||�dd|��dS(NiiR~s
_cffi_f_%sRs
_cffi_d_%s(R�R>t_generate_cpy_constant_ctxRKRgRRRtOP_DLOPEN_FUNCtOP_CPYTHON_BLTN_NtOP_CPYTHON_BLTN_OtOP_CPYTHON_BLTN_VR�RQRtCffiOp(R
RHRR"R�t	meth_kind((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_function_ctx#s 				

cCs~t|tj�rz|j}|dkrI|jd�}d||f}n|j|d||j�}tj||�}n|S(Ns...Rs_cffi_array_len(((%s)0)->%s)s%s[0](RXRR�RUR�RlR�(R
t	tp_structt
field_namettp_fieldt
actual_lengthtptr_struct_namettp_item((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRl9s	cCsA|j|�|jr=x$|j�D]}|j|�q#WndS(N(ReR>tanonymous_struct_fieldst_struct_collecttype(R
RHtfldtype((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyREs
	cCs�|jdkrdS|j}d|f}|d�|d||f�|d�|d�|d�x|j�D]�\}}}}	y�|j�s�|dkr�|dkr�|d	|||f�nwrnxGt|tj�r|jdks�|jd
kr|j	}|d}q�W|d|j
d
d|d|	�|f�Wqrtk
ri}
|dt|
��qrXqrW|d�|d||f�|�dS(Ns_cffi_checkfld_%st_CFFI_UNUSED_FNsstatic void %s(%s *p)R�s8  /* only to generate compile-time warnings or errors */s
  (void)p;iRs>  (void)((p->%s) | 0);  /* check that '%s.%s' is an integer */s...s[0]s  { %s = &p->%s; (void)tmp; }s*tmpsfield %rRzs
  /* %s */R�s(struct _cffi_align_%s { char x; %s y; };(
RhRSR�RkR�RXRR�RUR�R�RRN(R
RHR�R�R�t
checkfuncnametfnametftypeRtfqualR}((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_struct_declLs8	




	
cCs�|j|}d}g}t|tj�r;|jd�n|jdkr`|jd�d}n||jjj	kr|dks�||jjj	kr|jdkr�n+|j
s�t|j��r�n
|jd�|j
r-|j
dkrtd||j
f��n|jd�q-n|jd�d	}d
j|�p?d}g}|dkrf|j}	t|j|	��}
x`|
D]X\}}}
}|j|||�}|j|d|j|f�t}|
d
kr�t}d|
}nd|dkst|tj�r|jdkrd}n.d|dkr7|jd�n|j|f}|dks_|
d
krhd}n;|dk	r�d|j|f}nd|jd�|f}|jt||||
t||j|���qzWt|jd�}|jdj|�|dkrd}d}d}q~|dk	rCd|jf}d}nd|f}d|f}d}nd}d}d}|}|jdjt |j|||||||��|j!j"|�dS(Nt
_CFFI_F_UNIONt_CFFI_F_OPAQUEtopaquet_CFFI_F_CHECK_FIELDSis�%r is declared with 'pack=%r'; only 0 or 1 are supported in API mode (try to use "...;", which does not require a 'pack' declaration)t_CFFI_F_PACKEDt_CFFI_F_EXTERNALtexternalt|t0s
field '%s.%s'is
%d /* bits */s
(size_t)-1ssizeof(((%s)0)->%s)Rs"((char *)&((%s)0)->%s) - (char *)0soffsetof(%s, %s)RRs
(size_t)-2i����tunnamedssizeof(*(%s)0)s-1 /* unknown alignment */s
sizeof(%s)s"offsetof(struct _cffi_align_%s, y)i����R�(#RKRSRXRt	UnionTypeRQRhR<RiRjtpartialtanyRtpackedRR+R>R�RkRlt_check_not_opaqueRRRR�RUR�RRRR�textendR!R�R�(R
RHR�R�R�R"treason_for_not_expandingR#R'texpand_anonymous_struct_unionRktfldnameRRR RRtoffsetR&talignR%((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR�ns�

	
	

	
	
			

	

cCsZxt|tj�r!|j}qWt|tj�rV|jdkrVtd|��ndS(Ns0%s is of an opaque type (not declared in cdef())(RXRR�R�RYRhRSR�(R
RHtlocation((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR0�s

!cCst|jj��}|jdd��x�|D]�\}}||jkr/|jritd|f��n|jjd�r�|jdj	�r�|jd}nJ|jdkr�|j
dkr�d}|j|d�ntd|f��|j|d|�q/q/WdS(	NREcSs|dS(Ni((ttp_order((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRI�RsDinternal inconsistency: %r is partial but was not seen at this pointt$it_IO_FILEtFILEsinternal inconsistency: %r(R�RVRrR�R�R-RRt
startswithtisdigitt	forcenameR�R�RS(R
RyRHtorderR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR��s	%
cCs|j|�dS(N(R(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt _generate_cpy_struct_collecttype�scCsC|jd�}d|kr1||jdd�fS|d|fSdS(NRRRp(R�R�(R
RHR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt
_struct_names�scCs|j||j|��dS(N(R!RA(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_struct_decl�scCs|j||j|��dS(N(R�RA(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_struct_ctx�scCs6t|tj�r%|j||�n
|j|�dS(N(RXRRZt_generate_cpy_enum_collecttypeR(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt#_generate_cpy_anonymous_collecttype�scCs=t|tj�r"|j|�n|j||d|�dS(Nttypedef_(RXRRZt_generate_cpy_enum_declR!(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_anonymous_declscCs@t|tj�r%|j||�n|j||d|�dS(NRF(RXRRZt	_enum_ctxR�(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_anonymous_ctxstconstcCsG||f|jkr.td||f��n|jj||f�|j}d||f}|r�|d|�|d�|d|f�|d||f�|dk	r�|dkr�d|f}n|d	|f�|d
�n|d�|d�n?|d
|�|d�|d|jd�|f�|d�|�dS(Ns duplicate declaration of %s '%s's_cffi_%s_%ss$static int %s(unsigned long long *o)R�s  int n = (%s) <= 0;sI  *o = (unsigned long long)((%s) | 0);  /* check that %s is an integer */is%dUs"  if (!_cffi_check_int(*o, n, %s))s    n |= 2;s  return n;R�sstatic void %s(char *o)s  *(%s)o = %s;R(R�RR�R�RSR�(R
tis_intRRHtcategoryR	R�tfuncname((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_consts0	





cCs0|j�}|s|jr,|j|�ndS(N(R�R>Re(R
RHRRL((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt"_generate_cpy_constant_collecttype-scCs#|j�}|j|||�dS(N(R�RO(R
RHRRL((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR�2scCs�|jr(|j�r(ttd�}n4|jr:t}nt}|j|}t||�}|jdjt	|d||��dS(Ni����R~s_cffi_const_%s(
R>R�RtOP_CONSTANT_INTtOP_DLOPEN_CONSTtOP_CONSTANTRKR�RQR(R
RHRRt
const_kindR"((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR6s		

cCs|j|�dS(N(Re(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRDFscCs(x!|jD]}|jt|�q
WdS(N(tenumeratorsROR�(R
RHRt
enumerator((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRGIscCsH|j|}ttd�}|jr2|j�nxMt|j|j�D]6\}}|jdj	t
|d||d|��qHW|dk	r�d|kr�|jr�d|}d|}nN|j|j
g�}	|j
j|	�}tt|j
j|	d��dk�}d	j|j�}
|jd
j	t|j||||
��dS(Ni����R~s_cffi_const_%sR	R9s
sizeof(%s)s
((%s)-1) <= 0iR(R�(RKRtOP_ENUMR>tcheck_not_partialtzipRUt
enumvaluesR�RQRRStbuild_baseinttypeR<tsizeoftinttcastR+R.R(R
RHR�R"RRVt	enumvalueRR/tbasetpR0((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRIMs"
	
"
"

'
cCs|j||j��dS(N(RIR�(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_enum_ctxbscCsdS(N((R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_macro_collecttypehscCs5|dkrd}n|}|jt|d|�dS(Ns...R	(RSROR�(R
RHRR	((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_macro_declks	cCsw|dkr4|jr+td|f��nd}n|}ttd�}|jdjt|d||d|��dS(Ns...sGcannot use the syntax '...' in '#define %s ...' when using the ABI modei����R~s_cffi_const_%sR	(R>RRSRRQR�RQR(R
RHRR	R((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_macro_ctxrs		
cCsit|tj�re|j}|dkr7d|f}n|j|jd|�}tj||�}n|S(Ns...s_cffi_array_len(%s)s%s[0](RXRR�RUR�R�(R
RHtglobal_nameRR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR��s	cCs|j|j||��dS(N(ReR�(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt"_generate_cpy_variable_collecttype�scCs�|j}|j||�}t|tj�rN|jdkrN|j}d}nd}d|f}|d|j|d|j	��|d�|d||f�|d�|�dS(	NRt&s*_cffi_var_%s(void)sstatic RzR�s  return %s(%s);R�(
R�R�RXRR�RURSR�R�Ru(R
RHRR�t	ampersandR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_variable_decl�s	!			
 

cCsh|j||�}|j|}|jr1t}nt}|jdjt|d|t||���dS(NR~s_cffi_var_%s(	R�RKR>t
OP_GLOBAL_VARtOP_GLOBAL_VAR_FR�RQRR(R
RHRR"R((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_variable_ctx�s
		
cCs|j|�dS(N(Re(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt'_generate_cpy_extern_python_collecttype�scCs�|j}t|jtj�r'd}n&d|}d|jjd|�f}|d|�|d|j||f�|�g}d|}x@t|j�D]/\}}	|	jd||�}
|j	|
�q�Wd	j
|�}|p�d
}d||f}|jdkrd
|}nd�}
tt
|j�dd�}|
|j�r\t|d�}nt|jtj�r�d|jjd�||jjd�|f}n|d||jj|�f�|d�|d|�|d�x�t|j�D]t\}}	d|}
t|	tj�s(|
|	�rDd|
}
tj|	�}	n|d|	jd�|d|
f�q�W|d|�t|jtj�s�|d|jjd�f�n|d�|�|jd7_dS(NR*sresult of %ss(int)sizeof(%s)Rs3static struct _cffi_externpy_s _cffi_externpy__%s =s  { "%s.%s", %s };sargument of %ss a%ds, R�s%s(%s)t	__stdcalls_cffi_stdcall cSst|tj�o|jdkS(Nslong double(RXRR�R(RH((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytmay_need_128_bits�siis!sizeof(%s) > %d ? sizeof(%s) : %ds%s%sR�s
  char a[%s];s  char *p = a;sa%dRgs  *(%s)(p + %d) = %s;Rs,  _cffi_call_python(&_cffi_externpy__%s, p);s  return *(%s)p;R�i(R�RXR�RR�R�R=R[RRRQR+R�RARRYR�R�(R
RHRt
tag_and_spaceR�tsize_of_resultR�R�RaR�RRRRot	size_of_a((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_extern_python_decl�sX		


	 



( 
cCs|j||d�dS(Nsstatic (Rs(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt _generate_cpy_extern_python_decl�scCs|j||d�dS(NsCFFI_DLLEXPORT (Rs(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt#_generate_cpy_dllexport_python_decl�scCs|j||d�dS(NR(Rs(R
RHR((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt'_generate_cpy_extern_python_plus_c_decl�scCsw|jrtd��n|jr0td��n|j|}tt|�}|jdjt	|d|||��dS(Ns,cannot use 'extern "Python"' in the ABI modes$a vararg function is extern "Python"R~s&_cffi_externpy__%s(
R>RR�RRKRtOP_EXTERN_PYTHONR�RQR(R
RHRR"R((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_extern_python_ctx�s		

cCs�|j}|d�x�|jt�D]w}|d|j��d}xJ|D]B}t|�dkru||�d}n|dt|�f7}qJW||�q#WdS(Ns=// # NB. this is not a string because of a size limit in MSVCs// RiLs%d,(R�t
splitlinesR�trstripRtord(R
tsR�tlinetprinted_linetc((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR�s	


	cCsttt�|j|<dS(N(RtOP_PRIMITIVEt	PRIM_VOIDRO(R
RHR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_VoidTypescCs't|j}tt|�|j|<dS(N(tPRIMITIVE_TO_INDEXRRR�RO(R
RHR�R9((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_PrimitiveTypes
cCs6d|j|j|jf}tt|�|j|<dS(Nsl_cffi_prim_int(sizeof(%s), (
           ((%s)-1) | 0 /* check that %s is an integer type */
         ) <= 0)(RRR�RO(R
RHR�R|((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt!_emit_bytecode_UnknownIntegerTypescCs0d|j|jf}tt|�|j|<dS(Nsd_cffi_prim_float(sizeof(%s) *
           (((%s)1) / 2) * 2 /* integer => 0, float => 1 */
         )(RRR�RO(R
RHR�R|((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_UnknownFloatType$scCstt|j|j�|j|<|d7}xr|jD]g}|j|}||kr�t|tj�rx|j	||�q�tt
|�|j|<n|d7}q4Wt|j�}|j
dk	r�|j
dkr�|dO}q�td|j
f��ntt|�|j|<dS(NiRnisabi=%r(RtOP_FUNCTIONRKR�RORRRXRR�R�RR]R�R�RSRtOP_FUNCTION_END(R
RHR�R`t	realindexR#((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_RawFunctionType*s 


cCs$tt|j|j�|j|<dS(N(Rt
OP_POINTERRKR�RO(R
RHR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_PointerType=scCs-|j�}tt|j|�|j|<dS(N(RgRR�RKRO(R
RHR�traw((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_FunctionPtrTypeCscCs�|j|j}|jdkr8tt|�|j|<np|jdkrotdt|�j	dd�f��n9tt
|�|j|<tdt|j��|j|d<dS(Ns...sitype %s badly placed: the '...' array length can only be used on global arrays or on fields of structuress/*...*/i(RKR�RURSRt
OP_OPEN_ARRAYRORRNR�tOP_ARRAY(R
RHR�t
item_index((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_ArrayTypeGs"cCs'|j|}tt|�|j|<dS(N(RVRtOP_STRUCT_UNIONRO(R
RHR�tstruct_index((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_StructTypeUs
cCs'|j|}tt|�|j|<dS(N(RWRRWRO(R
RHR�t
enum_index((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_EnumTypeZs
N(VRRR�R�RRCRcReRLR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R
RRlRR!RSR�R0R�R@t_generate_cpy_union_collecttypeRARBt_generate_cpy_union_declRCt_generate_cpy_union_ctxRERHRJRORPR�RRDRGRIRaRbRcRdR�RfRiRlRmt*_generate_cpy_dllexport_python_collecttypet._generate_cpy_extern_python_plus_c_collecttypeRsRtRuRvRxt"_generate_cpy_dllexport_python_ctxt&_generate_cpy_extern_python_plus_c_ctxR�R�R�R�R�R�R�t_emit_bytecode_ConstPointerTypet_emit_bytecode_NamedPointerTypeR�R�R�t_emit_bytecode_UnionTypeR�(((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR;{s�		:						�	
	4		-			#							�				"W																								
	
	5				
										itNativeIOcBseZd�ZRS(cCs;t|t�r!|jd�}ntt|�j|�dS(Ntascii(RXtunicodetencodetsuperR�R�(R
R|((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR�cs(RRR�(((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyR�bsc
CsX|rd|fGHnt||d|dk�}|j�|j�t�}|j||�|j�}yVt|d��/}|jt	|�d�|kr�t
�nWdQX|r�dGHntSWn�t
k
rSd|tj
�f}	t|	d��}|j|�WdQXytj|	|�Wn.tk
rNtj|�tj|	|�nXtSXdS(Ns
generating %sR>R�is(already up-to-date)s%s.~%dtw(R;RSRcR�R�R�tgetvalueR�treadRtIOErrorR�R�tgetpidR�trenametOSErrortunlinkR�(
R<R=R�ttarget_filetverboset
recompilerR�toutputtf1ttmp_file((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_make_c_or_py_sourcehs4

	


cCst|||||�S(N(R�(R<R=R�t
target_c_fileR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt
make_c_source�scCst||d||�S(N(R�RS(R<R=ttarget_py_fileR�((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytmake_py_source�scCsp|jd�}y$tjtjj||d ��Wntk
rFnX|dc|7<tjj||�|fS(NR�i����(RsR�tmakedirsR�R+R�(t	outputdirtmodnamet	extensiontparts((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_modname_to_file�s$
cCs9t||�}|j|||f�t|||�|S(N(R\RQtsetattr(t	patchlisttclsRtnew_methtold((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_patch_meth�scCs4x-t|�D]\}}}t|||�q
WdS(N(treversedR�(R�R�Rtold_meth((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_unpatch_meths�scs�tjdkr8ddlm}t||dd��ntjdkr~ddlm}�fd�}t||d	|��ndS(
Ntwin32i����(tMSVCCompilert_remove_visual_c_refcSs|S(N((R
t
manifest_file((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRI�Rtdarwin(t	CCompilercsSd|jkrCt|j�|_|jjd�}d|j|<n�|||�S(Ns-bundles-dynamiclib(t	linker_soR�R�(R
RRtkwdsRa(told_link_shared_object(sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pytmy_link_shared_object�s
tlink_shared_object(tsystplatformtdistutils.msvc9compilerR�R�tdistutils.ccompilerR�(R�R�R�R�((R�sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_patch_for_embedding�s
	cs�ddlm}�jd�rn�d �tjdkrE�d7�qntjdkra�d7�qn�d	7�nt||d
�fd��dS(Ni����(t	build_exts.*i����R�s.dllR�s.dylibs.sotget_ext_filenamecs�S(N((R
text_name(ttarget(sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyRI�R(tdistutils.command.build_extR�tendswithR�R�R�(R�R�R�((R�sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt_patch_for_target�s



R�s.ccKsJt|t�s!|jd�}n|jr:|j|�n|dk	r�|jdk	}|rk|j|�n|dkr�t|||�\}}
|r�|g|
}
nt	j
j|
�}n|}|	dkr�|r�d|}	q�d}	ntj
|||�}t||||d|�}|r�g}t	j�}z�|rFt|�n|	dkrbt||	�n|r�|dkr}d}nd}d|t	j
j|�fGHnt	j|�tjd|||
�}Wdt	j|�t|�X|S||fSnS|dkrt||d	�\}}nt|||d|�}|r<|Sd|fSdS(
NR�s%s.*RR�R�sthe current directory iss setting the current directory tos%s %rs.py(RXRNR�t_windows_unicodet_apply_windows_unicodeRSR�t_apply_embedding_fixR�R�R�R+Rt
get_extensionR�tgetcwdR�R�tabspathtchdirtcompileR�R�(R<R=R�ttmpdirtcall_c_compilertc_filetsource_extensiontextradirtcompiler_verboseR�tdebugR�t	embeddingR�t
ext_c_filetexttupdatedR�tcwdtmsgtoutputfilenameRp((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt	recompile�sb		
		
	


	("R�R�tioRRRterrorRtcffi_opcodeR?R�R�RRR!R.R:R;tversion_infotStringIOR�tBytesIOR�R�R�R�R�R�R�R�R�R�RSR�(((sF/opt/plesk/python/2.7/lib64/python2.7/site-packages/cffi/recompiler.pyt<module>s<$
�����							

Zerion Mini Shell 1.0