9Wc@s*ddlZddlZddlZddlZddlmZejdfkr[eZne Z e Z e ZdZdefdYZdefd YZd efd YZd efd YZdefdYZdefdYZdefdYZdefdYZdS(iNi(tmodelicCs t|gS(N(tbytes(tnum((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt st CTypesTypecBseZRS((t__name__t __module__(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR st CTypesDatacBsdeZeZdgZdZdZedZedZ edZ edZ edZ edd Z ed Zd Zd Zdd ZdZedZdZedZdZedZdZdZedZedZedZedZedZedZ dZ!dZ"RS(t __weakref__scGstd|jfdS(Nscannot instantiate %r(t TypeErrort __class__(tselftargs((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__init__scCstd|jfdS(Ns+expected a pointer or array ctype, got '%s'(R t _get_c_name(tclstinit((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt_newpscCs tdS(N(R (tvalue((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _to_ctypesscGs}y |j}Wn$tk r3td|fnX|rm|j|}t||sy|j|}qyn |j}|S(Nscannot create an instance of %r(t_ctypetAttributeErrorR Rt isinstance(RRtctypetres((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt_arg_to_ctypes s   cCs'|dkr|jS|j|SdS(N(tNoneR(RR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt_create_ctype_obj.s  cCs tdS(N(R (t ctypes_value((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _from_ctypes5stcCs|jjd|S(Ns &(t _reftypenametreplace(Rt replace_with((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR9scCs9d|jf|_d|jf|_d|_dS(Ns CData<%s>tffi(RRt __qualname__R(R((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _fix_class=scCs tdS(N(tNotImplementedError(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _get_own_reprCscCsI|dkrdS|dkr=|ddtjtj>7}nd|SdS(NitNULLiis0x%x(tctypestsizeoftc_void_p(R taddress((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _addr_reprFs   !cCs&|j}d|p|j|fS(Ns (R&R(R tc_nametown((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__repr__Ns cCsN|dkr(td|jfn"td|j|jfdS(Nscannot convert %r to an addressscannot convert %r to %r(RR R(R tBClass((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt_convert_to_addressRs  cCstj|jS(N(R(R)R(R((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _get_sizeZscCstj|jS(N(R(R)R(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt_get_size_of_instance^scCstd|jfdS(Nscannot cast to %r(R R(Rtsource((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _cast_fromascCs |jdS(N(R1R(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt_cast_to_integerescCstj|jS(N(R(t alignmentR(R((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _alignmenthscCstd|jdS(Ns#cdata %r does not support iteration(R R(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__iter__lscs+tt|fd}||_|S(Ncs6t|tr.|jd|jdStSdS(N(RRR1RtNotImplemented(R tother(tcmpfunc(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytcmprs(tgetattrtoperatort func_name(tnameR=((R<s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _make_cmpps t__eq__t__ne__t__lt__t__le__t__gt__t__ge__cCs#tt|t|jdAS(N(thashttypeR1R(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__hash__scCstd|fdS(Ns string(): %r(R (R tmaxlen((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _to_stringsN(#RRRt __metaclass__t __slots__R t classmethodRt staticmethodRRRRRR$R&R,RR/R1R2R3R5R6R8R9RBRCRDRERFRGRHRKRM(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs>                tCTypesGenericPrimitivecBs2eZgZdZdZdZdZRS(cCs ||kS(N((R R;((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRCscCs ||k S(N((R R;((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRDscCs tj|S(N(tobjectRK(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRKscCst|j|jS(N(treprRt_value(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&s(RRRORCRDRKR&(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRRs    tCTypesGenericArraycBs/eZgZedZdZdZRS(cCs ||S(N((RR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRsccs*x#tt|D]}||VqWdS(N(txrangetlen(R ti((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR9scCs|jtj|jS(N(R,R(t addressoft_blob(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&s(RRRORPRR9R&(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRVs tCTypesGenericPtrcBseZddgZeZdZedZedZedZ dZ dZ dZ d Z ed Zed Zed Zd ZRS(t_addresst _as_ctype_ptrtpointercCs ||S(N((RR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRscCs}|dkrd}n[t|tr3|j}n=t|ttfrQ|}ntd|t|jf|j |S(Nisbad type for cast to %r: %r( RRRR6tinttlongR RJRt_new_pointer_at(RR4R+((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR5s   cCs4|j|}||_tj||j|_|S(N(t__new__R]R(tcastRR^(RR+R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRbs cCs-y|j|jSWntk r(dSXdS(Ns???(R,R]R(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&s cCs|jS(N(R](R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR6scCs t|jS(N(tboolR](R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt __nonzero__scCs t|jS(N(ReR](R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__bool__scCsMt|ts+tdt|jn|j|}tj||jS(Nsunexpected %s object( RRR RJRR1R(RdR(RRR+((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRscCs+tj|tjjpd}|j|S(Ni(R(RdR*RRb(Rt ctypes_ptrR+((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRscCs"|r|j|j|_ndS(N(Rtcontents(RRhR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _initializescCsB||jdfks'|js'|jr.|jStj||SdS(N(R Rt_automatic_castsR]RR1(R R0((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR1s (RRROtFalseRktkindRPRR5RbR&R6RfRgRRRjR1(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR\s      tCTypesBaseStructOrUnioncBskeZdgZedZdZedZdZedZedZ ddZ RS( R[cCstd|fdS(Ns!cannot instantiate opaque type %s(R (RR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRscCs|jtj|jS(N(R,R(RZR[(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&scCst|j|jS(N(R>Rtoffset(Rt fieldname((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt _offsetofscCs?t|dd|jkr+tj|jStj||SdS(Nt_BItem(R>RR R(RZR[RR1(R R0((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR1scCs|j|}||_|S(N(RcR[(Rtctypes_struct_or_unionR ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs cCs|jS(N(R[(RR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRscCstj||p|jdS(Ns &(RR/R(R R-((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR/ sN( RRRORPRR&RqR1RRRR/(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRns   t CTypesBackendcBseZiejd6ejd6ejd6ejd6ejd6ejd6ej d6ej d6ej d6ej d 6ej d 6ejd 6ejd 6ejd 6Zxd d dddgD]ZejeeZeeedde(R((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRscsj||_dS(N(RR(tblobR(R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRjscSs|jS(N(RU(R RL((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRMscSst|jd@S(Ni(tchrRU(R RL((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRMs(RRRORRRmR RQRRPR5RRR6RRRjRM((RRRRtkind1RA(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRvs@           $     (sfloatRx(s signed chars unsigned char(R%tPRIMITIVE_TYPESRRRR$(R RARm((RRRRRRAs9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytnew_primitive_typeVs$          +q cs|jj}|tjdkr0dn]|tjd|tjdfkridn$|tjkrdnddtffd Y|jjtjks|jjtjdkrt_njS( NRutcharps signed chars unsigned chartbyteptvoidptgenerict CTypesPtrcsGeZdgZdkr+edg7ZnZedrgejjZejjZ n ej Ze e rj dZnj dZfdZdZdZfd Zfd Zdksd krefd Zndks*d kr6dZnfdZRS(t_ownRt __as_strbufRs(* &)s * &csj|}dkrRtj|jd|_tj|j|j|_ntj||_tj|jtj j|_ t |_ dS(NRt( RR(tcreate_string_bufferRt_CTypesPtr__as_strbufRdRR^R_R*R]tTrueR(R Rtctypeobj(tBItemRm(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR s  cSs8t|ttfr0|j|j||jStSdS(N(RR`RaRbR]t _bitem_sizeR:(R R;((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__add__s cSset|ttfr0|j|j||jSt|t|kr]|j|j|jStSdS(N(RR`RaRbR]RRJR:(R R;((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__sub__s  cs;t|dtr'|dkr'tnj|j|S(NRi(R>Rlt IndexErrorRR^(R tindex(R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt __getitem__"s csj||j|RlR(R)R^RiRR&(R (R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&=s(RRRORrRR(RRR)RR*t issubclassRVRRR RRRRRPRRMR&((RRRm(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs*      ( R"t_get_cached_btypeRt PrimitiveTypet void_typeR\RRkR$(R Rtgetbtype((RRRms9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytnew_pointer_types    "M!  csdkrdn dj|jj}|tjdkrXdn?|tjd|tjdfkrdnddtffd YjS( Ns &[]s &[%d]Rus signed chars unsigned charRRt CTypesArraycs6eZddgZdk r.jZn ejdjZZZ fdZ e fdZ dZ fdZfdZdksd krd Znfd Zfd Ze fd Ze fdZfdZedZRS(R[RRcsdkrt|ttfr0|}d}nFdkr^t|tr^t|d}nt|}t|}j||_n|j|_t |_ |dk r|j |j|ndS(NRui( RRR`RaRRXttupleRR[RRRj(R Rtlen1(RRmtlength(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR cs      cst|trBgtt|D]}|||d!^q"}n t|}t|t|krutdntj|tjj }tj j }tj j }xGt |D]9\}}tj||||}j|j|qWdS(Nistoo many initializers(RRRRXRRR(RdR*RRRR)t enumerateRjRi(RRRYtaddrtPTRtitemsizeRR(R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRjss3 cSs t|jS(N(RXR[(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__len__scsBd|ko t|jkns.tnj|j|S(Ni(RXR[RR(R R(R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs% csHd|ko t|jkns.tnj||j|RlR(R)R[RR&(R (R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&scs?|dfks|jr+tj|jStj||SdS(N(RRkR(RZR[RR1(R R0(R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR1scsj}||_|S(N(RcR[(t ctypes_arrayR (R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs cs j|S(N(R(R(R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRscsJt|ttfrBjtj|j|tjjSt SdS(N( RR`RaRbR(RZR[R)RR:(R R;(RR(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs cSstd|jfdS(Ns casting to %r(R%R(RR4((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR5sN(RRRORRtappendRRt_declared_lengtht_CTPtrR RQRjRRRRMR&R1RRRRPR5((RRRtbracketsRmR(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRYs(     (RRrR"RRRRVR$(R RRR((RRRRRmRs9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytnew_array_typeJs       +c cs_d|fdYd|f_|dtffdY}|j|S(Ntstruct_or_unioncBseZRS((RR(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRss%s_%stCTypesStructOrUnioncs.eZdgZZdfZZZRS(R[s%s &(RRRORRt_kindRm((RRAR(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs  (RRnR$(R RmRAtbase_ctypes_classR((RRARs9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt_new_struct_or_unions " cCs|jd|tjS(Ntstruct(RR(t Structure(R RA((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytnew_struct_typescCs|jd|tjS(Ntunion(RR(tUnion(R RA((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytnew_union_typesicsL|dks|dkr'tdnjg|D]\}}} |^q7g|D]\}}} |^qY} g|D]\}}} | ^q{} i} g} xi|D]a\}}} | dkr| j||jf|| |R[(R RR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR+scSsr|j|}t|j|}t|j|||t|j|krnt|j||tdndS(Nsvalue too large for bitfield(RR>R[RR(R RRRtoldvalue((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR-s cSst|d|S(Ni(R>(R R((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR<scSst|d||dS(Ni(R(R RR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR>s(R%RRtEllipsist_pack_t_fields_t _bfield_typesRQRRRRRRRqR(RRRVRRRRtpropertyR"RRt PointerType(R Rtfieldsttpt totalsizettotalalignmenttsflagsRRRtbtypest bitfieldst bfield_typestcfieldsRRRR((RRRRRRs9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytcomplete_struct_or_unionsf """             !    cszgD]}|j^qr5jdndjdtffdYjS(Ns...s, tCTypesFunctionPtrcseZddgZejedd degD]Zej ^q4Z j dfZ d fdZ e dZdZfdZfd ZRS( t _own_callbackt_nameRt use_errnos (* &)(%s)csddl stdtdddk rRjjndfd}ttrtj tj dt gD]}|j ^q}n j }|||_ tj|j tj j|_|_dS(Nis#varargs not supported for callbacksRcsg}x3t|D]"\}}|j|j|qWy|}j|}Wnj}nXttr|rtj|tj j }qd}n|S(N( RRRRt print_excRR\R(RdR*RR(R targs2targtBArgtres2(tBArgstBResultterrorRt traceback(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytcallbackXs    R(R RR>RRRRR\R(t CFUNCTYPER*RRR^RdRR]R(R RR R Rtcallback_ctype(R R Rt has_varargs(R RR s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR Os   %  cSs|rtdndS(NsActypes backend: not supported: initializers for function pointers(R%(RhR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRjxscSsvt|dd}|rf|jjd}|j|ddkrNd|}n|jjd|}ntj||S(NRs(* &)is )*t (R>RRRR RR/(R R-RY((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR/~s cs9t|dddk r&d|jfSt|jS(NRs calling %r(R>RRRR&(R (R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&scs`rGt|tks$t|t}|t }nt|tksetg}x3t|D]"\}}|j|j|q{WrDxt|D]\}}|dkr|jtjdqnt |t s't ddt|t |j fn|j|j|qWn|j|}j|S(NisKargument %d passed in the variadic part needs to be a cdata object (got %s)i(RXRRRRRRR(R*RRR RJRR^R(R R t extraargst ctypes_argsRRRYR(R R R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt__call__s( *N(RRROR(RR>RRRRRRR RQRjR/R&R((R R RRtnameargs(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRHs ") (RRRR\R$(R R R RR((R R RRRs9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytnew_function_typeBs(\ cscttstttt|t|d|ffdY}|j|S(Nt CTypesEnumcs6eZgZdZfdZfdZRS(s%s &cs>|j}yd||fSWntk r9t|SXdS(Ns%d: %s(RUtKeyErrortstr(R R(treverse_mapping(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR&s   cs4|j}y |SWntk r/t|SXdS(N(RURR(R RLR(R(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRMs    (RRRORR&RM((RAR(s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs (RRRRRtreversedR$(R RAt enumeratorst enumvaluest CTypesIntR((RARs9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt new_enum_types  cCs tjS(N(R(t get_errno(R ((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR scCstj|dS(N(R(t set_errno(R R((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR!scCs |j|S(N(RM(R tbRL((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytstringscCstddS(Nsbuffer() with ctypes backend(R%(R tbptrtsize((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytbufferscCs<t|tr|jSt|ts.t|jSdS(N(RRR3RRR2(R tcdata_or_BType((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR)s cCst|tst|jS(N(RRRR8(R tBType((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytalignofscCs%t|tstn|j|S(N(RRR R(R R(R4((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytnewps cCs |j|S(N(R5(R R(R4((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRdscCs|dkst|||S(N(RR(R R(R4R tonerror((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR scCs |j|S(N(R(R R(R!((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytgetcnamescCs.t|tr|dkr6t|tr6|j}nt|tsTtdn|j|}|tkr|tdn||j |fSt|t t frt|t r|j }nt|tstdn|j}|j|}|tjkrtn||fStt|dS(Nis expected a struct or union ctypesnot supported for bitfieldssexpected an array or ptr ctype(RRRR\RrRnR RRRqR`RaRVRR2RRRRJ(R R(RpRRRRo((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt typeoffsetofs(       cCs t|tr0tjt|j|}nt|tr|dksdtt|j t rst dnt|j|}n3t|t rt|j|}n t d|rtj tj tj |tj j|t|}n|j|S(Nsunexpected cdata types$expected a (RRnR(R_RJRR\RRRrR RVRdR*RR(R tBTypePtrtcdataRotptr((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt rawaddressofs !  N(3RRR(Rtc_shorttc_inttc_longt c_longlongtc_bytetc_ubytetc_ushorttc_uinttc_ulongt c_ulonglongtc_floattc_doubletc_boolRRR)t_sizeR*tc_size_tR RRRRRRRRRRRRRR R!R#R&R)R*RdR RJttypeofR,R-RR1(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRtst                     ` u   l e            RcBs,eZdZdZdZdZRS(cCs||_||_dS(N(tbackendR(R RBR((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyR s cCs.t|j|}|j|}||_|S(N(R>RRR(R R(RAtc_functfuncobj((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt load_functions cCsKy|jj|j|}Wntk r=}t|nX|j|S(N(Rtin_dllRRR%R(R R(RAt ctypes_objte((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyt read_variable s cCs\|j|}|jj|j|}tjtj|tj|tj|jdS(N(RRRFRR(tmemmoveRZR)(R R(RARtnew_ctypes_objRG((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pytwrite_variable's  (RRR RERIRL(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyRs   (R(t ctypes.utilR?RRRt version_infoRRRRR`RaRRWRJRRSRRRRVR\RnRtR(((s9/usr/lib64/python2.7/site-packages/cffi/backend_ctypes.pyts$0  zE#