+
     hUS  c                   s   R t ^ RIt]P                  ^ ,          ^8H  t]'       d
   ]3tRR ltM]3t^ RIt]	! ]R4      tA^ RI
Ht ^ RIHt ^ RIHtHt ^RIHt  ^ RIHt ^R	IHtHtHtHt  ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ] t!RRR]3R lt"R t#]! 4       ]#n$        R#   ] d     Lsi ; i)zoThis module implements decorators for implementing other decorators
as well as some commonly used decorators.

Nc                s    Vf5   \         P                  ! ^4      pVP                  pVf   VP                  p?MVf   Tp\	        R4       R# )zExecute code in a namespace.Nzexec _code_ in _globs_, _locs_)sysZ	_getframeZ	f_globalsZf_localsexec)Z_code_Z_globs_Z_locs_Zframes   &&& 7/usr/lib64/python3.14/site-packages/wrapt/decorators.pyexec_r      sB    ?MM!$EooG~^F12    r   )partial)isclass)LockRLock)formatargspec	signature)FunctionWrapperBoundFunctionWrapperObjectProxyCallableObjectProxyc                   s   a a ] tR t^5t oV 3R lt]R 4       t]R 4       t]R 4       t]R 4       t	]R 4       t
RtVtV ;t# )_AdapterFunctionCodec                :   < \         \        V `  V4       W n        R # N)superr   __init___self_adapter_code)selfZwrapped_codeZadapter_code	__class__   &&&r   r   Z_AdapterFunctionCode.__init__7   s    "D2<@".r   c                .    V P                   P                  # r   )r   co_argcountr      &r   r   Z _AdapterFunctionCode.co_argcount;       &&222r   c                r   r   )r   co_coder   r   r   r   Z_AdapterFunctionCode.co_code?   s    &&...r   c                r   r   )r   co_flagsr   r   r   r   Z_AdapterFunctionCode.co_flagsC   s    &&///r   c                r   r   )r   co_kwonlyargcountr   r   r   r    Z&_AdapterFunctionCode.co_kwonlyargcountG   s    &&888r   c                r   r   )r   co_varnamesr   r   r   r!   Z _AdapterFunctionCode.co_varnamesK   r   r   )r   )__name__
__module____qualname____firstlineno__r   propertyr   r   r   r    r!   __static_attributes____classdictcell____classcell__r   __classdict__   @@r   r   r   5   ss     / 3 3 / / 0 0 9 9 3 3 3r   r   c                   s   a a ] tR t^Ot oV 3R lt]R 4       t]R 4       t]R 4       t]R 4       t	]
'       d   ]t]tRtVtV ;t# RtVtV ;t# )_AdapterFunctionSurrogatec                r   r   )r   r-   r   _self_adapter)r   wrappedadapterr   r   r   r   Z"_AdapterFunctionSurrogate.__init__Q   s    '7@$r   c                sj    \        V P                  P                  V P                  P                  4      # r   )r   __wrapped____code__r.   r   r   r   r2   Z"_AdapterFunctionSurrogate.__code__U   s,    #D$4$4$=$=""++- 	-r   c                r   r   )r.   __defaults__r   r   r   r3   Z&_AdapterFunctionSurrogate.__defaults__Z   s    !!...r   c                r   r   )r.   __kwdefaults__r   r   r   r4   Z(_AdapterFunctionSurrogate.__kwdefaults__^   s    !!000r   c                sv    R \        4       9  d   V P                  P                  # \        V P                  4      # r
   )globalsr.   __signature__r   r   r   r   r6   Z'_AdapterFunctionSurrogate.__signature__b   s/    gi'%%333T//00r   )r.   )r"   r#   r$   r%   r   r&   r2   r3   r4   r6   PY2	func_codefunc_defaultsr'   r(   r)   r*   r,   r   r-   r-   O   sp     % - - / / 1 1 1 1 	$ r   r-   c                   s`   a  ] tR t^mt o ]R 4       t]R 4       t]'       d	   ]tRt	V t
R# Rt	V t
R# )_BoundAdapterWrapperc                sj    \        V P                  P                  V P                  P                  4      # r   )r-   r1   __func___self_parentr.   r   r   r   r;   Z_BoundAdapterWrapper.__func__o   s,    ()9)9)B)B!!//1 	1r   c                s    R \        4       9  d   V P                  P                  # \        V P                  P
                  4      # r
   )r5   r1   r6   r   r<   r.   r   r   r   r6   Z"_BoundAdapterWrapper.__signature__t   s5    gi'##111T..<<==r    N)r"   r#   r$   r%   r&   r;   r6   r7   Zim_funcr'   r(   r+      @r   r:   r:   m   s:     1 1 > >  r   r:   c                   s   a a ] tR t^~t o]tV 3R lt]R 4       t]R 4       t	]R 4       t
]'       d   ]t]	t]R 4       tRtVtV ;t# )AdapterWrapperc                s   < VP                  R 4      p\        \        V `  ! V/ VB  \	        V P
                  V4      V n        W0n        R# )r0   N)Zpopr   r@   r   r-   r1   _self_surrogater.   )r   argskwargsr0   r   s   &*, r   r   ZAdapterWrapper.__init__   sC    **Y'nd,d=f=8  ' +$r   c                r   r   )rA   r2   r   r   r   r2   ZAdapterWrapper.__code__   s    ##,,,r   c                r   r   )rA   r3   r   r   r   r3   ZAdapterWrapper.__defaults__   s    ##000r   c                r   r   )rA   r4   r   r   r   r4   ZAdapterWrapper.__kwdefaults__   s    ##222r   c                r   r   )rA   r6   r   r   r   r6   ZAdapterWrapper.__signature__   s    ##111r   )r.   rA   )r"   r#   r$   r%   r:   Z__bound_function_wrapper__r   r&   r2   r3   r4   r7   r8   r9   r6   r'   r(   r)   r*   r,   r   r@   r@   ~   sr     !5% - - 1 1 3 3 	$2 2 2r   r@   c                   s&   a  ] tR t^t o R tRtV tR# )AdapterFactoryc                s    \        4       hr   )ZNotImplementedErrorr   r/      &&r   __call__ZAdapterFactory.__call__   s    !##r   r=   N)r"   r#   r$   r%   rG   r'   r(   r>   r?   r   rD   rD      s     $ $r   rD   c                   s8   a a ] tR t^t oV 3R ltR tRtVtV ;t# )DelegatedAdapterFactoryc                s8   < \         \        V `  4        Wn        R # r   )r   rH   r   factory)r   rI   r   s   &&r   r   Z DelegatedAdapterFactory.__init__   s    %t57r   c                s$    V P                  V4      # r   rI   rE   rF   r   rG   Z DelegatedAdapterFactory.__call__   s    ||G$$r   rJ   )	r"   r#   r$   r%   r   rG   r'   r(   r)   r*   r,   r   rH   rH      s     % %r   rH   c                 sz   a aaaa S e!   RV3R lloVVVV 3R lpS! S V\         R7      # \        \         SSSR7      # )Nc                 s  < V'       d   \        V\        4      '       d	   V! V 4      p\        V4      '       gt   / p/ p\        V\        4      '       g(   \	        V4      ^8X  d   VR,          pVRR p\        V!  p\        RP                  V4      WD4       VR,          pV'       d   WSn        \        WW#R7      # S! WVR7      # )i   Nzdef adapter{}: passr0   )r/   wrapperenabledr0   )r/   rK   rL   i)
Z
isinstancerD   Zcallablestring_typesZlenr	   r   ZformatZ__annotations__r@   )r/   rK   rL   r0   ZnsZannotationsproxys   &&&&  r   _buildZdecorator.<locals>._build   s    g~66%g.G((B #%K%g|<<w<1,*1"+K&-crlG"/"9/66w?H mG #2=/%g ': : 7KKr   c                 s  <a a Vf&   \        S 4      '       d   V'       g   VV	V
VV 3R lpV# V^ ,          pS
p\        V4      \        J d   V'       g   V# R pVf   \        S 4      '       d	   S ! 4       pMBSpM?\        V4      '       d   SP                  R V4      pMSP                  V\        V4      4      pS! WWVS	4      # )Nc                 sj   < Sp\        V4      \        J d   V'       g   V # R pS! R/ SB pS! WVS4      # )Nr=   )typebool)target_wrapped_enabledtarget_wrapperrO   r0   rL   rC   r/   s   &  r   _captureZ-decorator.<locals>._wrapper.<locals>._capture  sI      'HH~-'#11#' &-%6v%6N ".$g/ /r   )r   rP   rQ   Z__get__)r/   instancerB   rC   rU   rR   rS   rT   rO   r0   rL   rK   s   f&&f    r   _wrapperZdecorator.<locals>._wrapper   s    * GG$4$4T
/ /4  
 "!WN HH~%))
 7##, &-YN$ &-N 8$$. &-__T8%DN0 &-__XtH~%NN .(GLLr   )r0   )rL   r0   rN   NN)	decoratorr   )rK   rL   r0   rN   rW   rO   s   ffff @r   rY   rY      sJ    0 %	L\g	M g	M` gx;; y'7 	r   c                 s   aa \        V R 4      '       d?   \        V R4      '       d-   V o\        V3R l4       p ! V3R lR\        4      pV! VR7      # R oV3R lp ! V3R lR	\        4      pV! WR
7      # )acquirereleasec                 sf   < S;_uu_ 4        V ! V/ VB uuR R R 4       #   + '       g   i     R # ; ir   r=   )r/   rV   rB   rC   lock   &&&&r   _synchronizedZ#synchronized.<locals>._synchronized  s#    
 // s   0	c                   s:   <a  ] tR tRt o V3R ltV3R ltRtV tR# )'synchronized.<locals>._PartialDecoratori  c                s(   < SP                  4        S# r   )rZ   )r   r\      &r   	__enter__Z1synchronized.<locals>._PartialDecorator.__enter__  s    r   c                s(   < SP                  4        R # r   )r[   )r   rB   r\   s   &*r   __exit__Z0synchronized.<locals>._PartialDecorator.__exit__  s    r   r=   Nr"   r#   r$   r%   ra   rb   r'   r(   )r+   r\      @r   _PartialDecoratorr_     s      r   re   )r/   c                 s   \        V 4      P                  R R4      pVfZ   \        P                  ;_uu_ 4        \        V 4      P                  R R4      pVf   \	        4       p\        V R V4       RRR4       V# V#   + '       g   i     T# ; i)_synchronized_lockN)ZvarsZgetsynchronized_synchronized_meta_lockr   Zsetattr)Zcontextr\   s   & r   rf   Z(synchronized.<locals>._synchronized_lock  s     G}  !5t<< 555 G}(()=tD< 7DG%94@ 6 t 65 s   7A;;B	c                 s~   < S! Ve   TMT 4      ;_uu_ 4        V ! V/ VB uuR R R 4       #   + '       g   i     R # ; ir   r=   )r/   rV   rB   rC   rf   r]   r   _synchronized_wrapperZ+synchronized.<locals>._synchronized_wrapper	  s4    
  H,@gNND+F+ ONNNs   +<	c                   s4   <a  ] tR tRt o V3R ltR tRtV tR# )%synchronized.<locals>._FinalDecoratori  c                s~   < S! V P                   4      V n        V P                  P                  4        V P                  # r   )r1   
_self_lockrZ   )r   rf   r`   r   ra   Z/synchronized.<locals>._FinalDecorator.__enter__  s/    01A1ABDOOO##%??"r   c                s:    V P                   P                  4        R # r   )rk   r[   )r   rB   s   &*r   rb   Z.synchronized.<locals>._FinalDecorator.__exit__  s    OO##%r   )rk   Nrc   )r+   rf   rd   r   _FinalDecoratorrj     s     	#
	& 	&r   rl   )r/   rK   )ZhasattrrY   r   r   )r/   r^   re   ri   rl   rf   r\   s   &    @@r   rg   rg     su     w	""ww	'B'B 		0 
	0	 3 	 !77@,&/ & 7JJr   rX   )%Z__doc__r    Zversion_infor7   Z
basestringrM   r   ZstrZbuiltinsZgetattrZ	functoolsr   Zinspectr   Z	threadingr   r   Z	argumentsr	   r   ZImportErrorZ	__wrapt__r   r   r   r   r   r-   r:   r@   ZobjectrD   rH   Zadapter_factoryrY   rg   rh   r=   r   r   <module>rm      s   
 	qQ;L
3 4LHf%E   ! $	! 3. 34% 3 %</ "2_ 2>$V $%n % * D$o C^[Kz (,v $i  		s   C
 
CC