/var/opt/nydus/ops/cffi/__pycache__
NameSizeModeActions
api.cpython-312.pyc500910644editdlrm
backend_ctypes.cpython-312.pyc634840644editdlrm
cffi_opcode.cpython-312.pyc67620644editdlrm
commontypes.cpython-312.pyc30520644editdlrm
cparser.cpython-312.pyc467360644editdlrm
error.cpython-312.pyc18690644editdlrm
ffiplatform.cpython-312.pyc57810644editdlrm
lock.cpython-312.pyc4990644editdlrm
model.cpython-312.pyc300890644editdlrm
pkgconfig.cpython-312.pyc63480644editdlrm
recompiler.cpython-312.pyc806860644editdlrm
setuptools_ext.cpython-312.pyc107000644editdlrm
vengine_cpy.cpython-312.pyc506930644editdlrm
vengine_gen.cpython-312.pyc340810644editdlrm
verifier.cpython-312.pyc161180644editdlrm
_imp_emulation.cpython-312.pyc38390644editdlrm
_shimmed_dist_utils.cpython-312.pyc20630644editdlrm
__init__.cpython-312.pyc5280644editdlrm
Edit: /var/opt/nydus/ops/cffi/__pycache__/recompiler.cpython-312.pyc (80686B)
O jWddlZddlZddlZddlmZmZddlmZddldZ dZ dZ ejd k7xs ejd kxsejd k\ZGd d ZGddZGddZGddZGddZGddZejdk\r ej*ZnGddej.ZdZdZd%dZd%dZdZd Zd!Zd"Zd#Z d&d$Z!y)'N) ffiplatformmodel)VerificationError)*i&i'i(win32)r)r c eZdZddZdZdZy) GlobalExprcJ||_||_||_||_||_yN)nameaddresstype_opsize check_value)selfrrrrrs @/opt/nydus/tmp/pip-target-a90h98xg/lib/python/cffi/recompiler.py__init__zGlobalExpr.__init__s&    &c d|jd|jd|jjd|jd S)N { "z ", (void *), z , (void *) },)rrr as_c_exprrrs rrzGlobalExpr.as_c_exprs0 IIt||T\\%;%;%=tyyJ Jrcjd|jj|j|jfzS)Nz b'%s%s',%d)ras_python_bytesrrrs ras_python_exprzGlobalExpr.as_python_exprs2t||;;=tyy#//11 1rN)rr__name__ __module__ __qualname__rrr rrr r s'J1rr c$eZdZdZdZdZdZy) FieldExprcJ||_||_||_||_||_yr)r field_offset field_sizefbitsize field_type_op)rrr)r*r+r,s rrzFieldExpr.__init__s' ($  *rcdt|jz}d|jd|jdd|d|jdzd|d|jj dzS)N r", z, z z r)lenrr)r*r,r)rspacess rrzFieldExpr.as_c_expr&sZs499~%%)YY0A0AB%+T__=>%+T-?-?-I-I-KLM Nrctr)NotImplementedErrorrs rr zFieldExpr.as_python_expr,s!!rc |jjtk(rd}n9|jjtk(rt |j }nt d|jj||jdS)Nb'') r,opOP_NOOP OP_BITFIELDformat_four_bytesr+r3rr)r size_exprs ras_field_python_exprzFieldExpr.as_field_python_expr/sj    G +I    " "k 1)$--8I% %"00@@B'"ii) )rN)r"r#r$rrr r=r%rrr'r's+N " )rr'ceZdZdZdZdZy)StructUnionExprc t||_||_||_||_||_||_||_||_yr)r type_indexflagsr alignmentcommentfirst_field_indexc_fields) rrrArBrrCrDrErFs rrzStructUnionExpr.__init__;s; $  " !2  rc d|j|j|jfzd|jd|jdzd|j t |jfzz|jrd|jzzdzSdzdzS)Nz { "%s", %d, %s,z rz%d, %d z /* %s */ r5z},) rrArBrrCrEr0rFrDrs rrzStructUnionExpr.as_c_exprFs#tyy$//4::&NN&*ii@At55s4==7IJJK26;-G  DFG  rct|jt}|jDcgc]}|j }}dt |j t ||jddj|dScc}w)Nz(b'',,)) evalrBG_FLAGSrFr=r;rArjoin)rrBc_field fields_exprs rr zStructUnionExpr.as_python_exprMswTZZ)&*mm5&37335&3 5 doo . e $ II HH[ ! # #5sBNr!r%rrr?r?:s !#rr?ceZdZdZdZdZy)EnumExprcJ||_||_||_||_||_yrrrArsignedallenums)rrrArrUrVs rrzEnumExpr.__init__Xs% $    rczd|j|j|j|j|jfzS)Nz1 { "%s", %d, _cffi_prim_int(%s, %s), "%s" },rTrs rrzEnumExpr.as_c_expr_s9!%DOO!%DKK!HH Irc tttttt t td|j|jf}dt|jt||jd|jdS)N))rr)rr)r)rYr)r)rZr)r)r[rr6z\x00r7) PRIM_UINT8 PRIM_INT8 PRIM_UINT16 PRIM_INT16 PRIM_UINT32 PRIM_INT32 PRIM_UINT64 PRIM_INT64rrUr;rArrV)r prim_indexs rr zEnumExpr.as_python_exprdsa)***  ii$ & &7t%G%6z%B%)YY ? ?rNr!r%rrrRrRWs!I ?rrRceZdZdZdZdZy) TypenameExprc ||_||_yrrrA)rrrAs rrzTypenameExpr.__init__ps $rc8d|j|jfzS)Nz { "%s", %d },rhrs rrzTypenameExpr.as_c_exprts DIIt#???rcLdt|j|jdS)Nr6r7)r;rArrs rr zTypenameExpr.as_python_exprws-doo> JJrNr!r%rrrfrfos%@KrrfceZdZdZdKdZdZdZdZdZdZ gdZ d Z dLd Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dMd!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+Z/d,Z0d-Z1d.Z2d/Z3dMd0Z4d1Z5d2Z6d3Z7d4Z8d5Z9d6Z:d7Z;d8Ze>xZ?Z@d;ZAd<ZBd=ZCd>ZDd?ZEeExZFZGd@ZHdAZIdBZJdCZKdDZLdEZMdFZNeNZOeNZPdGZQdHZRdIZSeSZTdJZUy )O RecompilerrcD||_||_||_t|_yr)ffi module_nametarget_is_python VERSION_BASE_version)rrnrorps rrzRecompiler.__init__s & 0$ rc:t|j||_yr)maxrr)rvers r needs_versionzRecompiler.needs_versionsDMM3/ rc i|_|jdt|jt}g|_|D]/}|j s|j|Jt |j|j|<|jj||jD]}t|tjtjtjtjtjfsJ|j|"t |j|j|<|jj||jjd2|D]}|j r|j| t |j|j|<|jj||j sj|j"w|jjdd|jj%vsJi|_i|_|D]V}t|tj*rd|j&|<-t|tj,sHd|j(|<Xt/t|j&dD]\}}||j&|<t/t|j(dD]\}}||j(|<|D];}t1|d|j2j4z}|||j|=|jD]}t|t6rJt9|j|_y)N collecttypekeyENDLENc|jSrrtps rz/Recompiler.collect_type_table..RWWrc|jSrr~rs rrz/Recompiler.collect_type_table..rr_emit_bytecode_) _typesdict _generatesortedstr cffi_typesis_raw_functionr0appendargs isinstancerVoidTypeBasePrimitiveType PointerTypeStructOrUnionOrEnumFunctionPtrType is_array_typelengthvalues_struct_unions_enums StructOrUnionEnumType enumerategetattr __class__r"CffiOptuple)r all_declsrtp1imethodr8s rcollect_type_tablezRecompiler.collect_type_tables }%4??4 B!!r*222&)$//&:#&&r*77C%cENN,1,C,C,1,=,=,1,E,E,1,A,A ,CDDD s+3/24??/C,OO**3/#&&u-"B%%$//"*=*E&)$//&:#&&r*## (=OO**51  4??113333! B"e112*.##B'B/"& B  vd&9&9*< >?EAr&'D   #?vdkk*< >?EArDKKO? BT#4r||7L7L#LMF 2tr* + //Bb&) ))"0rc>|j }|j|Sr)rp enumfields)rrexpand_anonymous_struct_unions r _enum_fieldszRecompiler._enum_fieldss#-1,A,A(A%}}:;;rct|tjs)t|tr|D]}|j |y||j vrd|j |<t|tj r |j |jyt|tjrn|ja||jjjvr>|j|D])\}}}}|j |j|||+yyy|jD]\}}|j |yyr)rrBaseTypeByIdentityr_do_collect_typerras_raw_functionrfldtypesrn_parser_included_declarationsr _field_type _get_items)rrxname1r_s rrzRecompiler._do_collect_types"e667"e$A))!,  T__ $"&DOOB "e334%%b&8&8&:;B 3 34;;*$(("2"2"I"II,0,=,=b,A(sAq--d.>.>r5#.NO-BJ+ MMODAq))!,, %rc|jjjj}t |D]A\}\}}|j dd\}} t |d|d|} ||_ |||Cy#t$rtd|zwxYw#t$r} tj| |d} ~ wwxYw)Nr.r_generate_cpy_rz"not implemented in recompile(): %r) rnr _declarationsitemsrsplitrAttributeErrorr_current_quals Exceptionrattach_exception_info) r step_namelstrrqualskindrealnameres rrzRecompiler._generateshh,,224!' D+2u!ZZQ/ND( A @I(KL  &+#r8$"- " A'84?AA A  ++At4 s$A?,B?B B?#B::B?)globalfield struct_unionenumtypenamecZi|_|jD]}g|j|<t|_|j d|j |jD]A}|j|}|dk7r|j dt||j|<C|jd}|jjD]3\}}|t|ksJ||j|jk(r3Jt|t|jk(sJ|jd}|jjD]3\}}|t|ksJ||j|jk(r3Jt|t|jk(sJy)Nctxrc|jSrr~)entrys rrz0Recompiler.collect_step_tables..s5::rryrr) _lsts ALL_STEPSset_seen_struct_unionsr_add_missing_struct_unionssortrrrr0rr)rrrrrs rcollect_step_tableszRecompiler.collect_step_tablessr I$&DJJy !(#&5  u '')I**Y'CG#56$)#JDJJy ! (jj(((..0EBs3x< <q6;;"'') ))13x3t223333jj [[&&(EBs3x< <q6;;"'') )))3x3t{{++++rc@|jj|dzy)N )_fwrite)rwhats r_prntzRecompiler._prnts  dTk"rct|jr|J|j|y|J|j||yr)rpwrite_py_source_to_fwrite_c_source_to_f)rfpreambles rwrite_source_to_fzRecompiler.write_source_to_fsA  # ##  % %a (' ''  $ $Q 1rcttjjtjj t |d}|j }|j|S)Nr)openospathrNdirname__file__ readlinesclose)rfilenamegliness r_rel_readlineszRecompiler._rel_readlines!sC bggooh7BC H    rc  ||_|j}|jj|dts|d|j d}|j d}|j d|||dz|dj||jjdd }|jj|d |jd |d |j|jj|d |d|d||d|d||d|d||d|j d}|j d}|j d|||dz|dj||jt|d|||||d||dt|jjDcgc] \}}||f c}}}t!|j"D]=\}} d} ||vrd||j%z} |d|| j'| fz?|j"s|d|d|t)|_|j-di} |j.D]c} |j0| } t3| | | <| | dkDs)|d | d!| d"| D]}||j'|d|e|jj4rf|d#|jj4D].} |j6dd$\}}| t;d(|d)|d*0|d+|d||d,|d-|j.D]!} | | dkDr |d.| z|d/| z#|j.D]} | d0k7s |d1| | | fz|jj4r |d2n|d3|d4t3|j"fzd}|j<dkDs|jj|dz}|d5|z|d||d6|d7|d||d|d8|d9|d:|d;|dzr|d<|d=|d>|d?|j>z|d@|dA|dB|d|dC|dD|dE|dF|dG|dH|dI|dJ|dK|dL|dL|d|d8|dM|dN|d;|dO|j|j>fz|dC|d|d8|dP|dN|d;|dQ|j|j>fz|dC|d||d6|dR|dd|_ycc}}w#t8$rt;d%|jd&|d'wxYw)SNz#define _CFFI_USE_EMBEDDINGz#define _CFFI_NO_LIMITED_APIz_cffi_include.hz#include "parse_c_type.h" zparse_c_type.hrr5.z#define _CFFI_MODULE_NAME ""z1static const char _CFFI_PYTHON_STARTUP_CODE[] = {z0 };z#ifdef PYPY_VERSIONz3# define _CFFI_PYTHON_STARTUP_FUNC _cffi_pypyinit_z#elif PY_MAJOR_VERSION >= 3z+# define _CFFI_PYTHON_STARTUP_FUNC PyInit_#elsez(# define _CFFI_PYTHON_STARTUP_FUNC init#endifz _embedding.hz#include "_cffi_errors.h" z_cffi_errors.hz>/************************************************************/zstatic void *_cffi_types[] = {z // z/* %2d */ %s,%sz 0z};declrzstatic const struct _cffi_z _s _cffi_zs[] = {z.static const char * const _cffi_includes[] = {rY ffi object includes 8, but the latter has not been prepared with set_source()zMnot implemented yet: ffi.include() of a Python-based ffi inside a C-based ffiz "z",z NULLz?static const struct _cffi_type_context_s _cffi_type_context = {z _cffi_types,z _cffi_%ss,z NULL, /* no %ss */rz %d, /* num_%ss */z _cffi_includes,z NULL, /* no includes */z %d, /* num_types */z %d, /* flags */z#ifdef __GNUC__z?# pragma GCC visibility push(default) /* for -fvisibility= */PyMODINIT_FUNC_cffi_pypyinit_z(const void *p[]){z% if (((intptr_t)p[0]) >= 0x0A03) {zQ _cffi_call_python_org = (void(*)(struct _cffi_externpy_s *, char *))p[1];z }z p[0] = (const void *)0x%x;z p[1] = &_cffi_type_context;z#if PY_MAJOR_VERSION >= 3 return NULL;}z# ifdef _MSC_VERz PyMODINIT_FUNCz# if PY_MAJOR_VERSION >= 3z PyInit_z(void) { return NULL; }z# elsez initz (void) { }z# endifPyInit_(void)z5 return _cffi_init("%s", 0x%x, &_cffi_type_context);initz. _cffi_init("%s", 0x%x, &_cffi_type_context);z# pragma GCC visibility pop) rrrn _embeddingUSE_LIMITED_APIrindexrNror_print_string_literal_in_arrayrvVERSION_EMBEDDEDdictrrrr _get_c_namerr_seen_constantsrrrr0_included_ffis_assigned_sourcerr _num_externpyrr)rrrprntrrbase_module_namertypeindex2typer8rDnumsrrrffi_to_includeincluded_module_nameincluded_sourcerBs rrzRecompiler.write_c_source_to_f'skzz 88   * . / / 0##$56 KK5 6**+;<a!  RWWU^ ++11#6r: 88   * d6F6FH I D E  / /0C0C D L & '  # $ . /  # $ M  # $ N''7E 9:A../?@E!AaCL    / 0 MN  X  MN  -.doo6K6K6MN6M7B2w6MNOt/EArGN" >!#4#@#@#BB "a%AA B 0  K T   #u vI**Y'C!#hDOI"y*+ E*+!T ( 88 " " A B"&(("9"98&77;:(/#*+344"689#: N J F NO II"^i/0,y89 ( IG#+tI .JJK( 88 " " $ % - . %T__)=(? ?@    !TXX%8%8%D QJE !E )* T    NO X  "#  5E GH S 19 8 9 E F M - => ./ ()   X S  ! "# *+ 8H JK Y (8 :; Z Z *+  "2 45 S  D   dmmH-- . S  W   / 12 S  =   dmmA-- . S  X   +, X wOH&8+!HHn7888s Y &Y&Y7c(t|trd|dSt|ttfrR|Dcgc]}|j |}}t |dk(r|j dddj|dS|jScc}w)Nr6r7rr5(rJrK) rrlistr_to_pyr0rrNr )rritemreps rrzRecompiler._to_pys{ a > ! a$ '1234;;t$C33x1} 2 XXc], ,!! 4sBc ||_|j}|d|dt|jjxsd}t |D]H}|jj|} |j dd\}}| td|d ||fzJ||d |jd |d |jfzd|_ t|j|_ |jDcgc]}|j} }|d |jdj| dt!|j"j%D cgc] \} }|| f c}} } |j&D]D} |j(| } t| dkDs!| dk7s'|d| d|j| dF|dkDr5|ddjt |Dcgc]}d|z c}d|dy#t$rtd|jd|dwxYwcc}wcc}} wcc}w)Nz# auto-generated filezimport _cffi_backendr%rYrrrzMnot implemented yet: ffi.include() of a C-based ffi inside a Python-based ffizfrom %s import ffi as _ffi%dzffi = _cffi_backend.FFI('rIz _version = 0x%x,z _types = r5rJrrz _zs = z _includes = (rz_ffi%dz,),rK)rrr0rnrrangerrrrorrrrrrrNrrrrr)rrr  num_includesrr rrr8 types_lstrr rrs rrzRecompiler.write_py_source_to_fs2zz $% #$488228b9 |$A!XX44Q7N 4"33BQ76$o*'455 /3G2KK L%  0@0@ BC #t}}&6 67  048OODObR'')O D 4;;rwwy/A#B DEdoo6K6K6MN6M7B2w6MNOI**Y'C3x!| W 4DKK4DEF( !   |1DE1DA8a<1DEFI J S C" 4'.344 4"ENFs/H?H9$H> - I&H6c |j|Sr)r)rtypes r _gettypenumzRecompiler._gettypenumst$$rc Nd}t|tjr|js|j r!|j dk7rd}d|j z}n|t|tj rd|jdd}nL|jd}d|d|j jdd }|d vr|jtd }nt|tjr|j||||yt|tjst|tjr;|jd ||j||fz|jd |zyt|tj r+d|jdz}d|j|z}d}n t#||jd|d|d||d|jd|d|jdd|d|jd |zy)Nr5_Bool_cffi_to_c_intz, %srz)_cffi_to_c_doublez )_cffi_to_c_r.rchar16_tchar32_tz-1z6 if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)z %s;z(%s)_cffi_to_c_pointerz, _cffi_type(%d)NULL z = );z if (z == (rKz && PyErr_Occurred()))rrris_complex_typeis_integer_typerUnknownFloatType get_c_namereplacervVERSION_CHAR16CHAR32r"_convert_funcarg_to_c_ptr_or_arrayrrrrr3) rrfromvartovarerrcodeextraarg convertercnameerrvalues r_convert_funcarg_to_cz Recompiler._convert_funcarg_to_cs b%11 22;M;M;O!!#7(:, !BGG+B 6 678:}}R7HJ  b)383577??33LN 44&&';<H E-- .  3 3B497 D U667U445 JJO 0 0 4g>? @ JJy7* +  E11 202==3DDI)D,<,|jjdd}|d vr|jtd |d |dSd ||j|fzSt|tjtjfrd ||j|fzSt|tjr3d ||jtj|jfzSt|tjrB|j t#d|j%d|dd||j|fzSt|tj&rd ||j|fzSt)|)Nrz_cffi_from_c_int(rrKz_cffi_from_c_double( long doubler.rr  _cffi_from_c_rz/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))r7z ' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d)))rrrr'rr(r&r*rvr+rrr ArrayTyperrfldnames TypeErrorrrr3)rrvarcontextr2s r_convert_expr_from_czRecompiler._convert_expr_from_cXs b%11 2!!#7(:58"''BBB 6 674799M)"2D2D2FS144&&';<05s;;H))"-L/// U..0E0EF GET%%b)I++ + EOO ,ET%%e&7&7&@AICC C E// 0{{"NN$g!/00ET%%b)I++ + ENN +DT%%b)H++ +&b) )rc.|j|d|dS)Nz(*(z *)0)) _global_typerrrs r _typedef_typezRecompiler._typedef_type{s  T%;<|j|j|jj|j|yy)Norigin unknown_type) approxname)rR named_ptr) rGrNr _struct_ctxrrrNamedPointerTypetotyperFs r_generate_cpy_typedef_ctxz$Recompiler._generate_cpy_typedef_ctxs   D ) "d# 2x &. 8   RT  : E22 3   RYY 277')  +4rc|j|j|jr|js|j|yyyr)rrellipsisrprFs r"_generate_cpy_function_collecttypez-Recompiler._generate_cpy_function_collecttypes= b0023 ;;t44  ! !" % 5;rc  |jrJt|tjsJ|jr|j ||y|j }t|j}|dk(rd}n |dk(rd}nd}g}g}d|z}t|jD]=\} } |j| jd| z||jd| z?d j|} | xsd } |jr|jd z} nd } | d |d| d} |d|jj| |dd j|}d}t|jtjrd }|d||d|d|d|d|d|d|d|d|dd|z}t|jD]%\} } | jd| z|}|d|z't!}t!}|jD]} |j#| ||t%|D]}|d|dt|jtjs7d}d|z}d|jjd|z}|||dnd}d }t|jdkDrt't|j}|D] } |d | z||d!|t|t|d j|D cgc]} d"| z c} fz|d#|t|jD]&\} } |j)| d$| zd| zd%|(|d&|d't't|jD cgc]} d| z }} d j|}|d(||d|d)|d*|d+||d,|dk(r|d-|rA|d.|j+|jd/d0z|D] }|d|z|d1n"|D] }|d|z|d2|d3|d|d4d5}d6}g}g}d|z}t|jD]Q\} } d }|| rd7}d8}| jd9|| fz|}|j||jd:|| fzS|j}||r?d|z}|jd;|}|j-d|tj.}d}d<}d8}|rd j|} | xsd } | d|d| d} |d|j| |d|r||d j|}|d(||d|d)|r|d=|dn|d>|d?||d@|ycc} wcc} w)ANrnoargrarg0rargument of %sz x%dzx%drvoidr.r5_cffi_d_rrKstatic rzreturn r$r%rz#ifndef PYPY_VERSIONzstatic PyObject *_cffi_f_z(PyObject *self, PyObject *z %s;;z result = result of %sz resultz PyObject *pyresult;z PyObject *arg%d;z1 if (!PyArg_UnpackTuple(args, "%s", %d, %d, %s))z&arg%drzarg%dz return NULLz Py_BEGIN_ALLOW_THREADSz _cffi_restore_errno(); { z); }z _cffi_save_errno();z Py_END_ALLOW_THREADSz (void)self; /* unused */z (void)noarg; /* unused */z pyresult = %s;resultz result typez return pyresult;z Py_INCREF(Py_None);z return Py_None;rct|tjxs,t|tjxr|j Sr)rrr PrimitiveTyper&)rs rneed_indirectionz@Recompiler._generate_cpy_function_decl..need_indirections=tU%8%89-e&9&9:,))+ .rFrTz %sx%dz%sx%dz *resultz *result = z return result;z# define _cffi_f_z _cffi_d_r)rprrrrY_generate_cpy_constant_declrr0rrrr)rNabirfrrr9rrr4rCinsert void_type)rrrr numargsargname argumentscall_argumentsrBrrrepr_argumentsrkname_and_arguments result_codeargr7r8r result_declrngfreelineri difference indirection tp_results r_generate_cpy_function_declz&Recompiler._generate_cpy_function_decls(((("e33444 ;;  , ,R 6 zzbgg, a<G \GG "T) )GAt   T__VaZA B  ! !%!) ,*9-'16 66&&3,CC36nM BII001CD FG S >2 bii 0K k4 @A S  #$ ! 4 IJ S "T) )GAt//&1*g6C 3 *E E GGD  ' 'i C9%D D" #&"))U^^4%K$t+G!BII$8$8G$LLK   ( )KK rww2 +t^ DE $% %&  )* a< . /  #**299h NO P%TH_%& % &%TH_%& ( ) $ % S  W  .  "T) )GAtK%! ! //(k1-="=wGC   S !  ! !'[!,<"< =*II I &$t+G&&z7;C   Q $IK&KJ !YYy1N+5vN7:D7E"G   4 45G HJ K I[!!YY~6N k4H I'( I dDA B X g6Bs + X Xc |jr|js|j||y|j|j }t |j }|jrt}n|dk(rt}n|dk(rt}nt}|jdjt|d|zt||d|zy)Nrrrz _cffi_f_%sz _cffi_d_%s)r)rYrp_generate_cpy_constant_ctxrrr0rOP_DLOPEN_FUNCOP_CPYTHON_BLTN_NOP_CPYTHON_BLTN_OOP_CPYTHON_BLTN_Vrrr r)rrrrArn meth_kinds r_generate_cpy_function_ctxz%Recompiler._generate_cpy_function_ctx;s ;;t44  + +B 5 __R%7%7%9: bgg,  &I \)I \)I)I 8## t\D0i4(4/ 1 2rct|tjra|j}|dk(r|j d}d|d|d}|j |d|z|j }tj||}|S)N...rz_cffi_array_len((()0)->rK%s[0])rrr>rr)rr)r tp_struct field_nametp_field actual_lengthptr_struct_nametp_items rrzRecompiler._field_typeQsr h 0$OOM%"+"6"6s";#Z!1 &&y'J2F'/}}6Gw >Hrc|j||jr'|jD]}|j|yyr)rrpanonymous_struct_fields_struct_collecttype)rrfldtypes rrzRecompiler._struct_collecttype]s? b!  557((18 !rc |jy|j}d|}|d|d|d|d|d|d|d|j|D]\}}}} |js|d k\r|d k7r|d |d |d |d6t |t j rc|j|jdk(rH|j}|dz}t |t j r|j8|jdk(rH|d|jdd|z| d|d|d|d|d|d|y#t$r} |dt| zYd} ~ d} ~ wwxYw)N_cffi_checkfld__CFFI_UNUSED_FNz static void rz *p)rz8 /* only to generate compile-time warnings or errors */z (void)p;rr5z (void)((p->z) | 0); /* check that 'rz' is an integer */rz[0]rez*tmpzfield %rrz = &p->z; (void)tmp; }z /* %s */rzstruct _cffi_align_z { char x; z y; };) rrrr'rrr>rrr)rr) rrr2rRr  checkfuncnamefnameftyper+fqualrs r _struct_declzRecompiler._struct_decldsm ;;  zz/9;   u => S  GH \-1->->r-B )E5(E ,((*h!m{05ueEF"%9!LL0ELLE4I!JJE!EME"%9!LL0ELLE4I$$VZ-=U$K.C( S  :u MN  % ,\CF*++ ,s+(,EA,EE$E E? E::E?Nc|j|}d}g}t|tjr|j d|j |j dd}||j jjvr|"||j jjvr|j n7|jst|jrn|j d|jrO|jdkDrt|d|jd|j dn|j d d }d j|xsd }g}|t|j!|} | D]\} } } } |j#|| | } |j%| d |j&d| dt(}| dk\r t*}d| z}nQ|&t| tj,r| j.d}n&d||j1dn |j&d| d}|| dk\rd}n.|d|j&d| d}nd|j1dd| d}|j t3| ||| t5||j| t7|j8d}|j8dj;||d}d}d }n,|d!|j&d"}d#}n d$|d}d%|d&}d}nd}d'}d'}|}|j8d(j t=|j&||||||||j>jA|y))N _CFFI_F_UNION_CFFI_F_OPAQUEopaque_CFFI_F_CHECK_FIELDSrz is declared with 'pack=zi'; only 0 or 1 are supported in API mode (try to use "...;", which does not require a 'pack' declaration)_CFFI_F_PACKED_CFFI_F_EXTERNALexternal|0zfield 'rr7rz %d /* bits */z (size_t)-1z sizeof(((rrrKz ((char *)&((z)4096)->z) - (char *)4096z offsetof(r5rrz (size_t)-2unnamedz sizeof(*(z)0)z-1 /* unknown alignment */zsizeof(zoffsetof(struct _cffi_align_z, y)rr)!rrr UnionTyperrrnrrpartialanyrpackedr3rNrrr_check_not_opaquerr9r:r>rr)r'rr0rextendr?rr6)rrr2rRrSrAreason_for_not_expandingrBrFrfldnamerr+rr8roffsetrEalignrDs rrTzRecompiler._struct_ctxs3__R( #'  b%// * LL ) ;;  LL) *'/ $ dhh&&== ="$(("2"2"I"II{{"s2#=#=#?@ 34yy99q=-RYY())  -. LL+ ,'1 $&3 # +d//34J5?1(E**2w@&&w:<''7'KMq=$B*X5D]"7EOO<.'D/8.? c*09?!D=HM)F*!1F+46==3DgNFgvtX$R)ABDE36@8!$DJJw$7 8  JJw  & &x 0}##(/8~~?D8E),12DDNPEDE " .G >")) BGGZeW-x 9 :   $$R(rct|tjr'|j}t|tjr't|tjr|j t d|zyy)Nz0%s is of an opaque type (not declared in cdef()))rrr>rrrr@)rrlocations rrzRecompiler._check_not_opaquesbU__-BU__- b%-- .2;;3FBXMO O4G .rct|jj}|jd|D]\}}||jvs|j rt d|d|jjdr-|jddjr|jdd}nA|jdk(r$|jdk(rd}|j|dnt d||j|d|y) Nc |dS)Nrr%)tp_orders rrz7Recompiler._add_missing_struct_unions..shqkrryzinternal inconsistency: z* is partial but was not seen at this point$r_IO_FILEFILE) rrrrrrr3r startswithisdigit forcenamerNrT)rrrorderrRs rrz%Recompiler._add_missing_struct_unionss 4&&,,./ 12IB111::->@/CDD77%%c*rwwqr{/B/B/D!#JWW *r||v/E!'J%%b&1-/1/455  T:6rc&|j|yr)rrFs r _generate_cpy_struct_collecttypez+Recompiler._generate_cpy_struct_collecttypes   $rcb|jd}d|vr||jddfS|d|zfS)Nr5r.r)r)r*)rrr2s r _struct_nameszRecompiler._struct_namess< b! %<%--S11 1#+% %rcH|j|g|j|yr)rrrFs r_generate_cpy_struct_declz$Recompiler._generate_cpy_struct_decls""6t11"56rcH|j|g|j|yr)rTrrFs r_generate_cpy_struct_ctxz#Recompiler._generate_cpy_struct_ctx s"5d0045rct|tjr|j||y|j |yr)rrr_generate_cpy_enum_collecttyperrFs r#_generate_cpy_anonymous_collecttypez.Recompiler._generate_cpy_anonymous_collecttypes. b%.. )  / /D 9  $ $R (rct|tjr|j|y|j ||d|zyNtypedef_)rrr_generate_cpy_enum_declrrFs r_generate_cpy_anonymous_declz'Recompiler._generate_cpy_anonymous_decls5 b%.. )  ( ( ,   b$ T(9 :rct|tjr|j||y|j ||d|zyr)rrr _enum_ctxrTrFs r_generate_cpy_anonymous_ctxz&Recompiler._generate_cpy_anonymous_ctxs5 b%.. ) NN2t $   RzD'8 9rc||f|jvrtd|d|d|jj||f|j}d|d|}|r`|d|z|d|d|d |d |d |d ||d kDrd|fz}|d|d|d|d|dn=|J|d|z|d|d|j dd|d|d|y)Nzduplicate declaration of z 'r7_cffi_rz$static int %s(unsigned long long *o)rz int n = (z) <= 0;z *o = (unsigned long long)((z) | 0); /* check that z is an integer */rz%dUz if (!_cffi_check_int(*o, n, z))z n |= 2;z return n;rzstatic void %s(char *o)z *(rz)o = rc)rrr6rr))ris_intrrcategoryrr funcnames r_generate_cpy_constzRecompiler._generate_cpy_const&s  d t33 3#6>EG G   (D!12zz$,d3  7(B C I 41 2 :>F G&?"';."8K[JK]#   I& && *X5 6 I R]]3%7> ? I rcd|j}|r |jr|j|yyr)r'rprrrrrs r"_generate_cpy_constant_collecttypez-Recompiler._generate_cpy_constant_collecttypeDs.##%..  ! !" %/rcJ|j}|j|||yr)r'rrs rrjz&Recompiler._generate_cpy_constant_declIs"##%   r2rc|js!|jrttd}n4|jrt}nt }|j |}t||}|jdjt|d|z|y)Nrr_cffi_const_%s) rpr'rOP_CONSTANT_INTOP_DLOPEN_CONST OP_CONSTANTrrrr )rrrr const_kindrAs rr~z%Recompiler._generate_cpy_constant_ctxMsy$$););)=_b1G$$, ( ,JZ4G 8## t-4g > @rc&|j|yr)rrFs rrz)Recompiler._generate_cpy_enum_collecttype]s b!rcJ|jD]}|jd|y)NT) enumeratorsr)rrr enumerators rrz"Recompiler._generate_cpy_enum_decl`s ..J  $ $T: 6)rc |j|}ttd}|jr|j t |j |jD]3\}}|jdjt|d|z||5|d|vr|js d|z}d|z}nh|j|jg} |jj| }tt|jj| ddk}d j!|j } |jd jt#|j$|||| y) Nrrrrrz sizeof(%s)z ((%s)-1) <= 0rrJr)rrOP_ENUMrpcheck_not_partialzipr enumvaluesrrr build_baseinttypernsizeofintcastrNrRr) rrr2rArr enumvaluerrUbasetprVs rrzRecompiler._enum_ctxds2__R( "%   "%(%G !J JJx ' ':'7*'Dg'02 3&H  E!1$:O:O%'D$u,F))$((B7F88??6*DTXX]]6267!;>+,rcyrr%rFs r_generate_cpy_macro_collecttypez*Recompiler._generate_cpy_macro_collecttyperLrc@|dk(rd}n|}|jd||y)NrTr)r)rrrrs r_generate_cpy_macro_declz#Recompiler._generate_cpy_macro_decls( ;KK   t Erc|dk(r|jrtd|dd}n|}ttd}|jdj t |d|z||y)Nrz(cannot use the syntax '...' in '#define z ...' when using the ABI moderrrr)rprrrrrr )rrrrrs r_generate_cpy_macro_ctxz"Recompiler._generate_cpy_macro_ctxsm ;$$',0344KK"- 8## t-4g#. 0 1rct|tjrL|j}|dk(rd|d}|j |j d|z}tj||}|S)Nrz_cffi_array_len(rKr)rrr>rrEr)rr global_namerrs rrEzRecompiler._global_typesY b%// *IIM%9D F '';1FGG-8B rcF|j|j||yr)rrErFs r"_generate_cpy_variable_collecttypez-Recompiler._generate_cpy_variable_collecttypes d//D9:rcR|j}|j||}t|tjr|j |j }d}nd}d|d}|d|j||jz|d|d|d |d |d |y) Nr5&z *_cffi_var_rrarrz return rr%r) rrErrr>rrr)r)rrrr  ampersandrs r_generate_cpy_variable_declz&Recompiler._generate_cpy_variable_declszz   r4 ( b%// *ryy/@BII)-. Yt43F3FG GH S  9d 34 S  rc |j||}|j|}|jrt}nt}|j dj t|d|zt||y)Nrz _cffi_var_%s) rErrp OP_GLOBAL_VAROP_GLOBAL_VAR_Frrr r)rrrrAr8s r_generate_cpy_variable_ctxz%Recompiler._generate_cpy_variable_ctxse   r4 (__R(  B B 8## t^d2F2z4J K Mrc^t|tjsJ|j|yr)rrrrrFs r'_generate_cpy_extern_python_collecttypez2Recompiler._generate_cpy_extern_python_collecttypes&"e33444 b!rc |j}t|jtjrd}n%d|z}d|jj d|d}|d|z|d|j d|d |d |g}d |z}t|jD]+\}} | j d |z|} |j| -d j|} | xsd} |d| d} |jdk(rd| z} d} tt|jdzd}| |jr t|d}t|jtjr;d|jj d||jj d|fz}|||jj | |d|d|z|dt|jD]f\}} d|z} t| tjs| | rd| z} tj| } |d| j d|dz| fzh|d|zt|jtjs%|d|jj dd|d ||xj d!z c_y)"Nrrdz (int)sizeof(r5rKz3static struct _cffi_externpy_s _cffi_externpy__%s =rrr/z , 0, 0 };r^z a%drr_r __stdcallz_cffi_stdcall cXt|tjxr|jdk(S)Nr<)rrrhrrs rmay_need_128_bitsz9Recompiler._extern_python_decl..may_need_128_bitss(r5#6#67-GG}, .rr[z!sizeof(%s) > %d ? sizeof(%s) : %drz char a[%s];z char *p = a;za%drz *(%s)(p + %d) = %s;rz, _cffi_call_python(&_cffi_externpy__%s, p);z return *(z)p;rr)rrrfrrr)rorrrrNrkrtr0rrr)rrr tag_and_spacer size_of_resultrBrprrrurrrsr  size_of_as r_extern_python_declzRecompiler._extern_python_declszz bii 0 N$t+G $$R14N BT IJ   dN4 5  "T) )GAt//&1*g6C   S !*9-'16)-~> 66[ !14F!F  .BGG Q* RYY 'Ir*I bii!4!4 5; $$R() $$R()?55I }bii&:&:;M&N OP S  _y ()  )GAt!)C4!4!45%d+Ci((. (DOOC,@!A#s+KK L * ;d BC"))U^^4 ryy';';C'@B C S   arc*|j||dy)NrarrFs r _generate_cpy_extern_python_declz+Recompiler._generate_cpy_extern_python_decls   T95rc*|j||dy)NzCFFI_DLLEXPORT rrFs r#_generate_cpy_dllexport_python_declz.Recompiler._generate_cpy_dllexport_python_decl s   T+<=rc*|j||dy)Nr5rrFs r'_generate_cpy_extern_python_plus_c_declz2Recompiler._generate_cpy_extern_python_plus_c_decl s   T2.rc|jr td|jr td|j|}t t |}|jdjt|d|z||y)Nz,cannot use 'extern "Python"' in the ABI modez$a vararg function is extern "Python"rz&_cffi_externpy__%s) rprrYr3rrOP_EXTERN_PYTHONrrr )rrrrArs r_generate_cpy_extern_python_ctxz*Recompiler._generate_cpy_extern_python_ctxsw  #@B B ;;%&NO O__R( ):6 8## t2T97D I Krc|j}|dt|ts|jd}n|j d |j d|j dD]}|}tdturtt|}nt|dd}|d |zjd }|D]#}t|d k\r ||d }|d |fzz }%||y#t $rd|z}YwxYw) Nz=// # NB. this is not a string because of a size limit in MSVCzutf-8asciis# -*- encoding: utf8 -*- Tz//rrz// r5Lz%d,) rrbytesencodedecodeUnicodeDecodeError splitlinesrmapordrrstripr0)rsr linerD printed_linecs rrz)Recompiler._print_string_literal_in_arrayszz LM!U#!A HHW  2 HHW LL&DGDzU"3~ .2. %'/))+ ,L|$*&#%L ,   '" 2-1A 2s C..C?>C?cFttt|j|<yr)r OP_PRIMITIVE PRIM_VOIDrrrrs r_emit_bytecode_VoidTypez"Recompiler._emit_bytecode_VoidType=s!' i!@rcdt|j}tt||j|<yr)PRIMITIVE_TO_INDEXrrr*r)rrrrds r_emit_bytecode_PrimitiveTypez'Recompiler._emit_bytecode_PrimitiveType@s%'0 !' j!Arcd|jd|jd|jd}tt||j|<y)Nz_cffi_prim_int(sizeof(z), ( ((z)-1) | 0 /* check that z' is an integer type */ ) <= 0)rrr*rrrrr%s r!_emit_bytecode_UnknownIntegerTypez,Recompiler._emit_bytecode_UnknownIntegerTypeDs5$&77BGGRWW>"( a!8rcxd|jd|jd}tt||j|<y)Nz_cffi_prim_float(sizeof(z) * (((z6)1) / 2) * 2 /* integer => 0, float => 1 */ )r2r3s r_emit_bytecode_UnknownFloatTypez*Recompiler._emit_bytecode_UnknownFloatTypeJs/ WWbgg/"( a!8rc4tt|j|j|j|<|dz }|j D]e}|j|}||k7rJt |tjr|j||ntt||j|<|dz }gt|j}|j-|jdk(r|dz}ntd|jtt||j|<y)NrrrYzabi=)r OP_FUNCTIONrrfrrrrrhr0r9rrYrkr3OP_FUNCTION_END)rrrr realindexrBs r_emit_bytecode_RawFunctionTypez)Recompiler._emit_bytecode_RawFunctionTypePs!' T__RYY5O!P  77C,I !c5#6#6755c5A-3GY-GDOOE* QJEBKK  66 vv$ )bff*>??!'!?rcltt|j|j|j|<yr)r OP_POINTERrrVrr,s r_emit_bytecode_PointerTypez%Recompiler._emit_bytecode_PointerTypecs$!' DOOBII4N!Orcx|j}tt|j||j|<yr)rrr=rr)rrrraws r_emit_bytecode_FunctionPtrTypez)Recompiler._emit_bytecode_FunctionPtrTypeis.  "!' DOOC4H!Irc|j|j}|jtt||j |<y|jdk(r(t dt|jddd|j |dzdk(sJtt||j |<tdt|j|j |dz<y)Nrztype z/*...*/zb badly placed: the '...' array length can only be used on global arrays or on fields of structuresrr|) rrrr OP_OPEN_ARRAYrrrr*OP_ARRAY)rrr item_indexs r_emit_bytecode_ArrayTypez#Recompiler._emit_bytecode_ArrayTypems__RWW- 99 %+M:%FDOOE " YY% #GOOIu589 9 ??519-6 66%+Hj%ADOOE ")/c"))n)EDOOEAI &rc\|j|}tt||j|<yr)rrOP_STRUCT_UNIONr)rrr struct_indexs r_emit_bytecode_StructTypez$Recompiler._emit_bytecode_StructType{s'**2. !'!Frc\|j|}tt||j|<yr)rrrr)rrr enum_indexs r_emit_bytecode_EnumTypez"Recompiler._emit_bytecode_EnumTypes$[[_ !'!<rF)r5r)NconstN)Vr"r#r$rrrvrrrrrrrrrrrrrr4r9r,rCrGrIrKrNrWrZr|rrrrrTrrr_generate_cpy_union_collecttyperr_generate_cpy_union_declr_generate_cpy_union_ctxrrrrrrjr~rrrrrrrrErrrr*_generate_cpy_dllexport_python_collecttype._generate_cpy_extern_python_plus_c_collecttyperrrrr"_generate_cpy_dllexport_python_ctx&_generate_cpy_extern_python_plus_c_ctxrr-r0r4r6r;r>_emit_bytecode_ConstPointerType_emit_bytecode_NamedPointerTyperArFrJ_emit_bytecode_UnionTyperMr%rrrlrl~sM% 081t <-&&HI,>#2 kZ"0h%+(ZK *F=< F+& `D2, 2 DT)lO7.%&F#&7866 ) ; :CJ(,<& 3 @ "7C*-  F 1";.M" ...44 l6>/ K&&&,<AB9 9 @&P'A#&@#J FG 9=rrl)r ceZdZfdZxZS)NativeIOcnt|tr|jd}tt||y)Nr)runicodersuperr[r)rr%rs rrzNativeIO.writes*!W%HHW% (D ' *r)r"r#r$r __classcell__)rs@rr[r[s  + +rr[ct|dS)Nr)hasattr) maybefiles r _is_file_likercs 9g &&rc|rtd|t|||du}|j|jt |r|j ||yt }|j |||j} t|d5}|jt|dz|k7rt ddd|r tdy#1swYxYw#t$rd|tjfz} t| d 5}|j|dddn #1swYnxYw tj| |Yy#t $r/tj"|tj| |YYywxYwwxYw) Nz generating )rpTrrz(already up-to-date)Fz%s.~%dw)printrlrrrcrr[getvaluerreadr0IOErrorrgetpidrrenameOSErrorunlink) rnror target_fileverbose recompilerroutputf1tmp_files r_make_c_or_py_sourcerts^ ./C.6$.>AJ!!#""$[!$$[(; A  H- ZZ\F +s #rwws6{Q'61 2$  ( ) $ #  {BIIK88 (C B HHV !  - IIh , - IIk " IIh , - sZ C"'CC"CC"".F D+" F +D4 0F 8E4FF FF c(|Jt|||||Srrt)rnror target_c_fileros r make_c_sourcerxs&    [(M ' ))rc t||d||Srrv)rnrotarget_py_fileros rmake_py_sourcer{s [$ ' ))rc|jd} tjtjj|g|dd|dxx|z cc<tjj|g||fS#t $rY:wxYw)Nrr)rrmakedirsrrNrl) outputdirmodname extensionpartss r_modname_to_filersz MM# E  BGGLL8U3BZ89 "II 77<< *E *E 11    s6A88 BBc`t||}|j|||ft||||Sr)rrsetattr) patchlistclsrnew_metholds r _patch_methrs4 #t C c4%& Cx JrcFt|D]\}}}t|||yr)reversedr)rrrold_meths r_unpatch_methsrs$' 2T8T8$ 3rctjdk(rddlm}|t ||ddtjdk(rddlm}fd}t ||d |yy) Nrr) MSVCCompiler_remove_visual_c_refc|Srr%)r manifest_files rrz&_patch_for_embedding..sMrdarwin) CCompilercd|jvrDt|j|_|jjd}d|j|<|g|i|S)Nz-bundlez -dynamiclib) linker_sorr)rrkwdsrold_link_shared_objects rmy_link_shared_objectz3_patch_for_embedding..my_link_shared_objectsVDNN*!%dnn!5NN((3$1q!)$>>> >rlink_shared_object)sysplatformcffi._shimmed_dist_utilsrrr)rrrrrs @r_patch_for_embeddingrs` ||w :  #  <1GA C ||x6 ? "-Y -A-B"D rcddlm}jdr<ddtjdk(rdz ntjdk(rdz nd z t ||d fd y) Nr) build_extz.*rrz.dllrz.dylibz.soget_ext_filenamecSrr%)rext_nametargets rrz#_patch_for_target..svr)rrendswithrrr)rrrs ` r_patch_for_targetrsf2t <<7 " f F \\X % h F eOF 9&8-/rc  t|ts|jd}|jr|j | |m|rt |r t d|jdu} | r|j| |5t|||\}}|r|g|z}tjj|}n|}| | rd|z} nd} | rtj||fi| }nd}t|||||}|rg}tj } | r t#|| dk7r t%|| |r7|dk(rd}nd}t'|d tjj)|tj*|tj,d||| }tj*|t/||S||fS|t||d \}}t1||||}|r|Sd|fS#tj*|t/|wxYw) NrzGWriting to file-like objects is not supported with call_c_compiler=Truez%s.*r)rorzthe current directory isz setting the current directory tor.z.py)rrr_windows_unicode_apply_windows_unicodercr@r_apply_embedding_fixrrrrNr get_extensionrxgetcwdrrrfabspathchdircompilerr{)rnrortmpdircall_c_compilerc_filesource_extensionextradircompiler_verboserdebuguses_ffiplatformr embeddingr ext_c_fileextupdatedrcwdmsgoutputfilenamers r recompilers k3 '!((1   ""4( }V489 9^^4/   $ $T * >,V[-=?MFE! U*u-JJ >+- ++J LtLCC[(F(8: I))+C *(3S=%i8#}8@S"''//&*ABC !,!4!4S#5Eu"N y)! !<  >(eDIFA k6)9; M=  y)s BG"G:rN) rTNz.cNrNNT)"rrior5rrerrorr cffi_opcoderqrr+r version_inforr r'r?rRrfrlStringIOr[BytesIOrcrtrxr{rrrrrrr%rrrs  $ <<7*.c.>.>.G.##v-11 ))8##:??0 K KD=D=N(t{{H+2::+ '>) )2 %D./"GK;?59#C!r