HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //usr/lib64/python3.9/site-packages/wrapt/__pycache__/decorators.cpython-39.pyc
a

�܃gUS�@sDdZddlZejddkZer0efZddd�ZnefZddlZe	ed�Z[ddl
mZddlm
Z
dd	lmZmZd
dlmZzddlmZWney�Yn0d
d
lmZmZmZmZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Z e Z!dddefdd�Z"dd�Z#e�e#_$dS)zoThis module implements decorators for implementing other decorators
as well as some commonly used decorators.

�N�cCsB|dur*t�d�}|j}|dur&|j}~n|dur6|}td�dS)zExecute code in a namespace.N�zexec _code_ in _globs_, _locs_)�sys�	_getframe�	f_globals�f_locals�exec)Z_code_Z_globs_Z_locs_�frame�r
�6/usr/lib64/python3.9/site-packages/wrapt/decorators.py�exec_
s
rr)�partial)�isclass)�Lock�RLockr)�
formatargspec)�	signature)�FunctionWrapper�BoundFunctionWrapper�ObjectProxy�CallableObjectProxycsXeZdZ�fdd�Zedd��Zedd��Zedd��Zed	d
��Zedd��Z	�Z
S)
�_AdapterFunctionCodecstt|��|�||_dS�N)�superr�__init__�_self_adapter_code)�selfZwrapped_codeZadapter_code��	__class__r
rr7sz_AdapterFunctionCode.__init__cCs|jjSr)r�co_argcount�rr
r
rr;sz _AdapterFunctionCode.co_argcountcCs|jjSr)r�co_coder r
r
rr!?sz_AdapterFunctionCode.co_codecCs|jjSr)r�co_flagsr r
r
rr"Csz_AdapterFunctionCode.co_flagscCs|jjSr)r�co_kwonlyargcountr r
r
rr#Gsz&_AdapterFunctionCode.co_kwonlyargcountcCs|jjSr)r�co_varnamesr r
r
rr$Ksz _AdapterFunctionCode.co_varnames)�__name__�
__module__�__qualname__r�propertyrr!r"r#r$�
__classcell__r
r
rrr5s



rcsXeZdZ�fdd�Zedd��Zedd��Zedd��Zed	d
��Ze	rPeZ
eZ�ZS)�_AdapterFunctionSurrogatecstt|��|�||_dSr)rr*r�
_self_adapter)r�wrapped�adapterrr
rrQsz"_AdapterFunctionSurrogate.__init__cCst|jj|jj�Sr)r�__wrapped__�__code__r+r r
r
rr/Us�z"_AdapterFunctionSurrogate.__code__cCs|jjSr)r+�__defaults__r r
r
rr0Zsz&_AdapterFunctionSurrogate.__defaults__cCs|jjSr)r+�__kwdefaults__r r
r
rr1^sz(_AdapterFunctionSurrogate.__kwdefaults__cCs dt�vr|jjSt|j�SdS�Nr)�globalsr+�
__signature__rr r
r
rr4bs
z'_AdapterFunctionSurrogate.__signature__)
r%r&r'rr(r/r0r1r4�PY2�	func_code�
func_defaultsr)r
r
rrr*Os



r*c@s,eZdZedd��Zedd��Zer(eZdS)�_BoundAdapterWrappercCst|jj|jj�Sr)r*r.�__func__�_self_parentr+r r
r
rr9os�z_BoundAdapterWrapper.__func__cCs"dt�vr|jjSt|jj�SdSr2)r3r.r4rr:r+r r
r
rr4ts
z"_BoundAdapterWrapper.__signature__N)r%r&r'r(r9r4r5Zim_funcr
r
r
rr8ms

r8cs\eZdZeZ�fdd�Zedd��Zedd��Zedd��Z	e
rHeZeZed	d
��Z
�ZS)�AdapterWrappercs8|�d�}tt|�j|i|��t|j|�|_||_dS)Nr-)�poprr;rr*r.�_self_surrogater+)r�args�kwargsr-rr
rr�s
�zAdapterWrapper.__init__cCs|jjSr)r=r/r r
r
rr/�szAdapterWrapper.__code__cCs|jjSr)r=r0r r
r
rr0�szAdapterWrapper.__defaults__cCs|jjSr)r=r1r r
r
rr1�szAdapterWrapper.__kwdefaults__cCs|jjSr)r=r4r r
r
rr4�szAdapterWrapper.__signature__)r%r&r'r8Z__bound_function_wrapper__rr(r/r0r1r5r6r7r4r)r
r
rrr;~s


r;c@seZdZdd�ZdS)�AdapterFactorycCs
t��dSr)�NotImplementedError�rr,r
r
r�__call__�szAdapterFactory.__call__N)r%r&r'rCr
r
r
rr@�sr@cs$eZdZ�fdd�Zdd�Z�ZS)�DelegatedAdapterFactorycstt|���||_dSr)rrDr�factory)rrErr
rr�sz DelegatedAdapterFactory.__init__cCs
|�|�Sr)rErBr
r
rrC�sz DelegatedAdapterFactory.__call__)r%r&r'rrCr)r
r
rrrD�srDcsJ�dur6d�fdd�	�����fdd�}��|td�Stt���d�SdS)Ncs�|r�t|t�r||�}t|�s|i}i}t|t�sXt|�dkrP|d}|dd�}t|�}td�|�||�|d}|r|||_t	||||d�S�|||d�S)N����zdef adapter{}: passr-)r,�wrapper�enabledr-)r,rHrI)
�
isinstancer@�callable�string_types�lenrr�format�__annotations__r;)r,rHrIr-�ns�annotations)�proxyr
r�_build�s&


�zdecorator.<locals>._buildcs�|dur,t��r,|s,�����fdd�}|S|d}�}t|�turP|sL|Sd}|durnt��rh��}q��}n&t|�r���d|�}n��|t|��}�|||��S)Ncs8�}t|�tur|s|Sd}�fi���}�|||��Sr)�type�bool)�target_wrapped�_enabled�target_wrapper)rSr-rIr?r,r
r�_captures�z-decorator.<locals>._wrapper.<locals>._capturer)rrTrU�__get__)r,�instancer>r?rYrVrWrX)rSr-rIrH)r?r,r�_wrapper�s"zdecorator.<locals>._wrapper)r-)rIr-rR)NN)�	decoratorr
)rHrIr-rRr\r
)rSr-rIrRrHrr]�s.1�r]cszt|d�rFt|d�rF|�t�fdd��}G�fdd�dt�}||d�Sdd	���fd
d�}G�fdd
�d
t�}|||d�S)N�acquire�releasecs6��||i|��Wd�S1s(0YdSrr
�r,r[r>r?��lockr
r�
_synchronized�sz#synchronized.<locals>._synchronizedcs$eZdZ�fdd�Z�fdd�ZdS)z'synchronized.<locals>._PartialDecoratorcs����Sr)r^r rar
r�	__enter__�sz1synchronized.<locals>._PartialDecorator.__enter__cs���dSr)r_�rr>rar
r�__exit__�sz0synchronized.<locals>._PartialDecorator.__exit__N�r%r&r'rdrfr
rar
r�_PartialDecorator�srh)r,cSslt|��dd�}|durhtj�:t|��dd�}|durJt�}t|d|�Wd�n1s^0Y|S)N�_synchronized_lock)�vars�get�synchronized�_synchronized_meta_lockr�setattr)�contextrbr
r
rri�s
*z(synchronized.<locals>._synchronized_lockcsF�|dur|n|��||i|��Wd�S1s80YdSrr
r`�rir
r�_synchronized_wrapper	sz+synchronized.<locals>._synchronized_wrappercs eZdZ�fdd�Zdd�ZdS)z%synchronized.<locals>._FinalDecoratorcs�|j�|_|j��|jSr)r.�
_self_lockr^r rpr
rrds
z/synchronized.<locals>._FinalDecorator.__enter__cWs|j��dSr)rrr_rer
r
rrfsz.synchronized.<locals>._FinalDecorator.__exit__Nrgr
rpr
r�_FinalDecoratorsrs)r,rH)�hasattrr]rr)r,rcrhrqrsr
)rirbrrl�s	
 
rl)NN)%�__doc__r�version_infor5Z
basestringrLr�str�builtins�getattr�	functoolsr
�inspectr�	threadingrrZ	argumentsrr�ImportErrorZ	__wrapt__rrrrrr*r8r;�objectr@rDZadapter_factoryr]rlrmr
r
r
r�<module>s<

		]