U C^@sddlZddlZddlZddlZddlZddlZejddkZejddkZerXe fZ ne fZ ddZ Gddde ZGdd d eZGd d d e eZGd d d eZGdddeZGdddeZGdddeZGdddeZz2ejdsddlmZmZmZmZmZmZWnek r2YnXddZddZdifddZGd d!d!e Zdifd"d#Zd$d%Z d&d'Z!d(d)Z"d*d+Z#d,d-Z$Gd.d/d/eZ%dS)0NcGs |d|iS)z%Create a base class with a metaclass.ZNewBase)metabasesrr=/tmp/pip-install-6_kvzl1k/thinc/thinc/extra/wrapt/wrappers.pywith_metaclasssrc@sXeZdZeddZejddZeddZejddZeddZed d Zd S) _ObjectProxyMethodscCs|jjSN __wrapped__ __module__selfrrrr !sz_ObjectProxyMethods.__module__cCs ||j_dSr r rvaluerrrr %scCs|jjSr r __doc__rrrrr)sz_ObjectProxyMethods.__doc__cCs ||j_dSr rrrrrr-scCs|jjSr )r __dict__rrrrr4sz_ObjectProxyMethods.__dict__cCs|jjSr )r __weakref__rrrrr=sz_ObjectProxyMethods.__weakref__N)__name__r __qualname__propertysetterrrrrrrrr s      r c@seZdZddZdS)_ObjectProxyMetaTypecCs|ttt||||Sr )updatevarsr type__new__)clsnamer dictionaryrrrrCsz_ObjectProxyMetaType.__new__N)rr rrrrrrrBsrc@seZdZdZddZeddZejddZeddZejd dZed d Zejd d Zd dZ ddZ e r~ddZ ddZ ddZe rddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Z d;d<Z!d=d>Z"d?d@Z#dAdBZ$dCdDZ%dEdFZ&dGdHZ'dIdJZ(dKdLZ)dMdNZ*dOdPZ+dQdRZ,dSdTZ-dUdVZ.dWdXZ/dYdZZ0d[d\Z1d]d^Z2d_d`Z3dadbZ4dcddZ5dedfZ6dgdhZ7didjZ8dkdlZ9dmdnZ:dodpZ;dqdrZdwdxZ?dydzZ@d{d|ZAd}d~ZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSddZTddZUddZVddZWddZXddZYddZZddZ[ddZ\ddZ]ddZ^dS) ObjectProxyr cCs<t|d|zt|d|jWntk r6YnXdS)Nr r)object __setattr__rAttributeError)rwrappedrrr__init__Rs zObjectProxy.__init__cCs|jjSr r rrrrrr^szObjectProxy.__name__cCs ||j_dSr r(rrrrrbscCs|jjSr r __class__rrrrr*fszObjectProxy.__class__cCs ||j_dSr r)rrrrr*jscCs|jjSr r __annotations__rrrrr,nszObjectProxy.__annotations__cCs ||j_dSr r+rrrrr,rscCs t|jSr )dirr rrrr__dir__vszObjectProxy.__dir__cCs t|jSr )strr rrrr__str__yszObjectProxy.__str__cCs t|jSr )bytesr rrrr __bytes__~szObjectProxy.__bytes__cCs(dt|jt|t|jjt|jS)Nz<{} at 0x{:x} for {} at 0x{:x}>)formatrridr rrrr__repr__s  zObjectProxy.__repr__cCs t|jSr )reversedr rrrr __reversed__szObjectProxy.__reversed__cCs t|jSr )roundr rrrr __round__szObjectProxy.__round__cCs |j|kSr r rotherrrr__lt__szObjectProxy.__lt__cCs |j|kSr r:r;rrr__le__szObjectProxy.__le__cCs |j|kSr r:r;rrr__eq__szObjectProxy.__eq__cCs |j|kSr r:r;rrr__ne__szObjectProxy.__ne__cCs |j|kSr r:r;rrr__gt__szObjectProxy.__gt__cCs |j|kSr r:r;rrr__ge__szObjectProxy.__ge__cCs t|jSr )hashr rrrr__hash__szObjectProxy.__hash__cCs t|jSr boolr rrrr __nonzero__szObjectProxy.__nonzero__cCs t|jSr rErrrr__bool__szObjectProxy.__bool__cCs|drt|||n|dkrt|||zt|dWntk rTYnXzt|d|jWqtk r~YqXnR|dkrt|j||t|||n,tt ||rt|||nt|j||dS)N_self_r r) startswithr#r$ __delattr__r%rsetattrr hasattrr)rr rrrrr$s$ zObjectProxy.__setattr__cCs|dkrtdt|j|S)Nr z wrapper has not been initialised) ValueErrorgetattrr rr rrr __getattr__szObjectProxy.__getattr__cCsx|drt||n\|dkr*tdnJ|dkrLt||t|j|n(tt||rht||n t|j|dS)NrIr z__wrapped__ must be an objectr)rJr#rK TypeErrordelattrr rMrrPrrrrKs   zObjectProxy.__delattr__cCs |j|Sr r:r;rrr__add__szObjectProxy.__add__cCs |j|Sr r:r;rrr__sub__szObjectProxy.__sub__cCs |j|Sr r:r;rrr__mul__szObjectProxy.__mul__cCst|j|Sr operatordivr r;rrr__div__szObjectProxy.__div__cCst|j|Sr rXtruedivr r;rrr __truediv__szObjectProxy.__truediv__cCs |j|Sr r:r;rrr __floordiv__szObjectProxy.__floordiv__cCs |j|Sr r:r;rrr__mod__szObjectProxy.__mod__cCs t|j|Sr divmodr r;rrr __divmod__szObjectProxy.__divmod__cGst|j|f|Sr powr rr<argsrrr__pow__szObjectProxy.__pow__cCs |j|>Sr r:r;rrr __lshift__szObjectProxy.__lshift__cCs |j|?Sr r:r;rrr __rshift__szObjectProxy.__rshift__cCs |j|@Sr r:r;rrr__and__szObjectProxy.__and__cCs |j|ASr r:r;rrr__xor__szObjectProxy.__xor__cCs |j|BSr r:r;rrr__or__szObjectProxy.__or__cCs ||jSr r:r;rrr__radd__ szObjectProxy.__radd__cCs ||jSr r:r;rrr__rsub__ szObjectProxy.__rsub__cCs ||jSr r:r;rrr__rmul__szObjectProxy.__rmul__cCst||jSr rWr;rrr__rdiv__szObjectProxy.__rdiv__cCst||jSr r[r;rrr __rtruediv__szObjectProxy.__rtruediv__cCs ||jSr r:r;rrr __rfloordiv__szObjectProxy.__rfloordiv__cCs ||jSr r:r;rrr__rmod__szObjectProxy.__rmod__cCs t||jSr r`r;rrr __rdivmod__szObjectProxy.__rdivmod__cGst||jf|Sr rcrerrr__rpow__!szObjectProxy.__rpow__cCs ||j>Sr r:r;rrr __rlshift__$szObjectProxy.__rlshift__cCs ||j?Sr r:r;rrr __rrshift__'szObjectProxy.__rrshift__cCs ||j@Sr r:r;rrr__rand__*szObjectProxy.__rand__cCs ||jASr r:r;rrr__rxor__-szObjectProxy.__rxor__cCs ||jBSr r:r;rrr__ror__0szObjectProxy.__ror__cCs|j|7_|Sr r:r;rrr__iadd__3szObjectProxy.__iadd__cCs|j|8_|Sr r:r;rrr__isub__7szObjectProxy.__isub__cCs|j|9_|Sr r:r;rrr__imul__;szObjectProxy.__imul__cCst|j||_|Sr )rXZidivr r;rrr__idiv__?szObjectProxy.__idiv__cCst|j||_|Sr )rXitruedivr r;rrr __itruediv__CszObjectProxy.__itruediv__cCs|j|_|Sr r:r;rrr __ifloordiv__GszObjectProxy.__ifloordiv__cCs|j|;_|Sr r:r;rrr__imod__KszObjectProxy.__imod__cCs|j|C_|Sr r:r;rrr__ipow__OszObjectProxy.__ipow__cCs|j|K_|Sr r:r;rrr __ilshift__SszObjectProxy.__ilshift__cCs|j|L_|Sr r:r;rrr __irshift__WszObjectProxy.__irshift__cCs|j|M_|Sr r:r;rrr__iand__[szObjectProxy.__iand__cCs|j|N_|Sr r:r;rrr__ixor___szObjectProxy.__ixor__cCs|j|O_|Sr r:r;rrr__ior__cszObjectProxy.__ior__cCs|j Sr r:rrrr__neg__gszObjectProxy.__neg__cCs|j Sr r:rrrr__pos__jszObjectProxy.__pos__cCs t|jSr )absr rrrr__abs__mszObjectProxy.__abs__cCs|jSr r:rrrr __invert__pszObjectProxy.__invert__cCs t|jSr )intr rrrr__int__sszObjectProxy.__int__cCs t|jSr )longr rrrr__long__vszObjectProxy.__long__cCs t|jSr )floatr rrrr __float__yszObjectProxy.__float__cCs t|jSr )complexr rrrr __complex__|szObjectProxy.__complex__cCs t|jSr )octr rrrr__oct__szObjectProxy.__oct__cCs t|jSr )hexr rrrr__hex__szObjectProxy.__hex__cCs t|jSr )rXindexr rrrr __index__szObjectProxy.__index__cCs t|jSr )lenr rrrr__len__szObjectProxy.__len__cCs ||jkSr r:rrrr __contains__szObjectProxy.__contains__cCs |j|Sr r:rkeyrrr __getitem__szObjectProxy.__getitem__cCs||j|<dSr r:)rrrrrr __setitem__szObjectProxy.__setitem__cCs |j|=dSr r:rrrr __delitem__szObjectProxy.__delitem__cCs|j||Sr r:rijrrr __getslice__szObjectProxy.__getslice__cCs||j||<dSr r:)rrrrrrr __setslice__szObjectProxy.__setslice__cCs|j||=dSr r:rrrr __delslice__szObjectProxy.__delslice__cCs |jSr )r __enter__rrrrrszObjectProxy.__enter__cOs|jj||Sr )r __exit__rrfkwargsrrrrszObjectProxy.__exit__cCs t|jSr )iterr rrrr__iter__szObjectProxy.__iter__cCs tddS)Nz#object proxy must define __copy__()NotImplementedErrorrrrr__copy__szObjectProxy.__copy__cCs tddS)Nz'object proxy must define __deepcopy__()r)rmemorrr __deepcopy__szObjectProxy.__deepcopy__cCs tddSNz(object proxy must define __reduce_ex__()rrrrr __reduce__szObjectProxy.__reduce__cCs tddSrr)rprotocolrrr __reduce_ex__szObjectProxy.__reduce_ex__N)_rr r __slots__r'rrr*r,r.r0PY3r2r5r7r9r=r>r?r@rArBrDrGrHr$rQrKrTrUrVrZr]r^r_rbrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"Ns        r"c@seZdZddZdS)CallableObjectProxycOs |j||Sr r:rrrr__call__szCallableObjectProxy.__call__Nrr rrrrrrrsrcs$eZdZfddZddZZS)PartialCallableObjectProxycsZt|dkrtd|d|dd}}t|s:tdtt||||_||_dS)Nz(partial type takes at least one argumentrz#the first argument must be callable)rrRcallablesuperrr' _self_args _self_kwargs)rrfrr&r*rrr's z#PartialCallableObjectProxy.__init__cOs*|j|}t|j}|||j||Sr )rdictrrr )rrfr_args_kwargsrrrrs   z#PartialCallableObjectProxy.__call__)rr rr'r __classcell__rrrrrs rcs2eZdZdZd fdd ZddZdd ZZS) _FunctionWrapperBase)_self_instance _self_wrapper _self_enabled _self_binding _self_parentNfunctioncsZtt||t|d|t|d|t|d|t|d|t|d|dS)Nrrrrr)rrr'r#r$)rr&instancewrapperenabledbindingparentrrrr's z_FunctionWrapperBase.__init__cCs|jdkrBt|js>|j||}||||j|j|j|S|S|j dkr|jdkr|jj||}|j|||j|j|j|jS|S)Nr) rinspectisclassr __get____bound_function_wrapper__rrrr)rrownerZ descriptorrrrrs.     z_FunctionWrapperBase.__get__cOs|jdk r._wrapperrrrrrrfunction_wrapperNs rcCst||t|fSr rrrr rrrrwrap_function_wrapper\srcsfdd}|S)Ncstt|fSr rrrr rrrasz(patch_function_wrapper.._wrapperr)rr rrrrpatch_function_wrapper`srcsfdd}|S)Ncsfdd}t|S)NcsX|d}|dkrn(t|r.d|n|t|fdd}t||S)Nrc sHt\}}}t|}t|||z|||WSt|||XdSr )rrrL)r&rrfrrrrr)rr rrr_executers   zRtransient_function_wrapper.._decorator.._wrapper.._executer)r&rrfrrrr)rrris  z@transient_function_wrapper.._decorator.._wrapperrrrrr _decoratorhsz.transient_function_wrapper.._decoratorr)rr rrrrtransient_function_wrappergsrcCs$|jr dSd|_|dk r ||dS)NT) _self_expired)refproxycallbackrrr_weak_function_proxy_callbacks r cs*eZdZdZdfdd ZddZZS)WeakFunctionProxy)rrNc s|otjt||d}d|_t|trvt|j||_|j dk rZt t | t |j |nt t | t ||dSz.t|j||_t t | t |j|Wn2tk rd|_t t | t ||YnXdS)N)rr F) functoolspartialr rrrweakrefrrrrr r'rr__func__r%)rr&r Z _callbackrrrr's0         zWeakFunctionProxy.__init__cOsD|jo |}|jo|j}|dkr.|j||S||t|||Sr )rr rr)rrfrrrrrrrs   zWeakFunctionProxy.__call__)N)rr rrr'rrrrrrr s.r )&osrr rXrr version_infoPY2rr/r basestringrr#r rrr"rrrrrenvirongetZ _wrappers ImportErrorrrrrrrrrrr r rrrrsJ, jw:_$)%