ó
    Ñ]jì.  ã                  óh  • S r SSKJr  SSKrSSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SS	KJ
r
  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  \" S\S9r\" SSS9r S'           S(S jjr S)         S*S jjr  S)           S+S jjr S,       S-S jjr    S.           S/S  jjr      S0S! jr  S'       S1S" jjr!S2S# jr"S3S$ jr# S'             S4S% jjr$  S5             S6S& jjr%g)7zSHelpers related to deprecation of functions, methods, classes, other
functionality.é    )ÚannotationsN)ÚAny)ÚCallable)ÚDict)ÚMatch)ÚOptional)ÚSequence)ÚSet)ÚTuple)ÚType)ÚTypeVar)ÚUnioné   )Úcompat)Ú_hash_limit_string)Ú_warnings_warn)Ú	decorator)Úinject_docstring_text)Úinject_param_texté   )ÚexcÚ_T)ÚboundÚ_FzCallable[..., Any]c                ó4   • U" XS9nXl         [        XSS-   S9  g )N©Úcoder   ©Ú
stacklevel)Údeprecated_sincer   )ÚmsgÚversionÚtype_r   r   Úwarns         ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/util/deprecations.pyÚ_warn_with_versionr&   *   s    € ñ �Ñ €DØ#Ôä�4°¡NÓ3ó    c                ó6   • [        X[        R                  X#S9  g )Nr   )r&   r   ÚSADeprecationWarning)r!   r"   r   r   s       r%   Úwarn_deprecatedr*   7   s   € ô Ø”c×.Ñ.°
ór'   c                ó^   • U(       a  [        U SU5      n [        X[        R                  X4S9  g)z`Issue a deprecation warning with a parameterized string,
limiting the number of registrations.

é
   r   N)r   r&   r   r)   )r!   Úargsr"   r   r   s        r%   Úwarn_deprecated_limitedr.   ?   s*   € ö Ü   b¨$Ó/ˆÜØ”c×.Ñ.°
ór'   c                óJ   ^ ^^^• ST < ST=(       d    S< 3mSUUUU 4S jjnU$ )Nú.. deprecated:: Ú Ú c           
     óT   >• [        U T[        R                  T[        TS9-  TT5      $ )N©Úfunc)Ú_decorate_cls_with_warningr   r)   Údict)ÚclsÚconstructorÚheaderÚmessager"   s    €€€€r%   ÚdecorateÚ deprecated_cls.<locals>.decorateV   s2   ø€ Ü)ØØÜ×$Ñ$Ø”d Ñ,Ñ,ØØó
ð 	
r'   )r8   úType[_T]Úreturnr>   © )r"   r;   r9   r<   r:   s   ``` @r%   Údeprecated_clsrA   Q   s&   û� ó )0°'·-¸R±-ÐA€F÷
ò 
ð €Or'   c                ó¢   ^ ^^^^• U(       a  ST < ST=(       d    S< 3mOSmTc  SmTc  [         R                  mTST -  -  mSUUUU U4S jjnU$ )	a¹  Decorates a function and issues a deprecation warning on use.

:param version:
  Issue version in the warning.

:param message:
  If provided, issue message in the warning.  A sensible default
  is used if not provided.

:param add_deprecation_to_docstring:
  Default True.  If False, the wrapped function's __doc__ is left
  as-is.  If True, the 'message' is prepended to the docs if
  provided, or sensible default if message is omitted.

r0   r1   r2   Nz$Call to deprecated function %(func)sz (deprecated since: %s)c           	     ó\   >• Tc   eTc   e[        U TT[        U R                  S9-  TTTS9$ )Nr4   )Úenable_warnings)Ú_decorate_with_warningr7   Ú__name__)ÚfnrD   r:   r;   r"   Úwarnings    €€€€€r%   r<   Údeprecated.<locals>.decorateŠ   sH   ø€ ØÑ"Ð"Ð"ØÑ"Ð"Ð"Ü%ØØØ”d §¡Ñ,Ñ,ØØØ+ñ
ð 	
r'   ©rG   r   r?   r   )r   r)   )r"   r;   Úadd_deprecation_to_docstringrH   rD   r<   r:   s   `` `` @r%   Ú
deprecatedrL   c   s]   ü€ ÷. $ãØ�]˜‰]ð
‰ð
 ˆà�Ø8ˆà�Ü×*Ñ*ˆàÐ(¨7Ñ2Ñ2€G÷

ó 

ð €Or'   c                ó<   • [         SU [        R                  S.UD6$ )N©r;   rH   ©ú2.0)rL   r   ÚMovedIn20Warning)r;   Úkws     r%   Úmoved_20rS   ™   s,   € ô ØðØ¬×(<Ñ(<ñØ@Bñð r'   c                ód  • [         R                  " SU 5      nU(       a  SSSS.UR                  S5         nOSnSU < S	U< S
S< S3nSU ;   a7  UR                  SS5      nU(       d  UR	                  S5      SL d
   SU -  5       eU(       a  US	U-   -  n[
        R                  n[        SXWS.UD6$ )Nz^:(attr|func|meth):Ú	attributeÚfunctionÚmethod)Úattrr5   Úmethr   Ú	constructzThe r1   z= is considered legacy as of the 1.x series of SQLAlchemy and zbecomes a legacy constructz in 2.0.z:attr:Úwarn_on_attribute_accessFrD   zœattribute %s will emit a warning on read access.  If you *really* want this, add warn_on_attribute_access=True.  Otherwise please add enable_warnings=False.rN   rO   )ÚreÚmatchÚgroupÚpopÚgetr   ÚLegacyAPIWarningrL   )Úapi_nameÚalternativerR   Útype_regr#   r;   Úattribute_okÚwarning_clss           r%   Úbecame_legacy_20rg   ¡   sÐ   € ô �xŠxÐ-¨xÓ8€HÞØ$¨jÀ(ÑKØ�N‰N˜1Óñ
‰ð ˆøó
 ÛÛ(ð	
ð ð �8ÓØ—v‘vÐ8¸%Ó@ˆÞØ—6‘6Ð+Ó,°Ò5ð ð)ð ,4ñ4óÐ5ö Ø�3˜Ñ$Ñ$ˆä×&Ñ&€KäÐH WÑHÀRÑHÐHr'   c                 ó´   ^ ^^^• 0 m0 m0 mT R                  5        H.  u  nu  p#UTU'   [        U5      TU'   [        R                  TU'   M0     SUU UU4S jjnU$ )a#  Decorates a function to warn on use of certain parameters.

e.g. ::

    @deprecated_params(
        weak_identity_map=(
            "0.7",
            "the :paramref:`.Session.weak_identity_map parameter "
            "is deprecated.",
        )
    )
    def some_function(**kwargs): ...

c                óŽ  >^^	^
^• [         R                  " U 5      nUR                  bŠ  [        [	        UR
                  [        UR
                  5      [        UR                  5      -
  S  UR                  5      5      m[        T5      R                  T5      m	[        T5      R                  T5      m
O[UR                  bA  UR                  m[        T5      R                  T5      m	[        T5      R                  T5      m
OSm	[        T5      m
UR                  m[        SUU	U
UUUU4S jj5       nU R                  S L=(       a    U R                  =(       d    SnU(       aN  [        UTR                  5        VVVs0 s H$  u  nu  pVUSUS:X  a  SOU< SU=(       d    S< 3_M&     snnn5      nU" U 5      nX7l        U$ s  snnnf )	Nr@   c                óX  >• T H8  nTU   c  X#   c  TU   c  M  X#   TU   :w  d  M#  [        TU   T
U   T	U   SS9  M:     TT;   a9  [        U5      R                  T5      (       a  Tc   e[        TT   T
T   T	T   SS9  T H  nX2;   d  M
  [        TU   T
U   T	U   SS9  M!     U " U0 UD6$ ©Né   r   )r&   ÚsetÚ
difference)rG   r-   ÚkwargsÚmÚcheck_any_kwÚcheck_defaultsÚcheck_kwÚdefaultsÚmessagesÚversion_warningsÚversionss       €€€€€€€r%   ÚwarnedÚ3deprecated_params.<locals>.decorate.<locals>.warnedù   sî   ø€ ã#�Ø˜Q‘KÑ'¨F©IÑ,AØ˜Q‘KÓ+°±	¸XÀa¹[Õ0Hä&Ø  ™Ø  ™Ø(¨Ñ+Ø#$ô	ñ	 $ð ˜xÓ'¬C°«K×,BÑ,BØ÷-ñ -ð $Ñ/Ð/Ð/Ü"Ø˜\Ñ*Ø˜\Ñ*Ø$ \Ñ2Ø ò	ó �Ø•;Ü&Ø  ™Ø  ™Ø(¨Ñ+Ø#$ô	ñ ñ �tÐ&˜vÑ&Ð&r'   r2   r0   rP   z1.4r1   ©rG   r   r-   r   ro   r   r?   r   )r   Úinspect_getfullargspecrt   r7   Úzipr-   Úlenrm   Úintersectionrn   ÚkwonlydefaultsÚvarkwr   Ú__doc__r   Úitems)rG   Úspecrx   ÚdocÚparamr"   r;   Ú	decoratedrq   rr   rs   rt   ru   Úspecsrv   rw   s           @@@@€€€€r%   r<   Ú#deprecated_params.<locals>.decorateà   s’  ü€ Ü×,Ò,¨RÓ0ˆð �=‰=Ñ$ÜÜØ—I‘Iœs 4§9¡9›~´°D·M±MÓ0BÑBÐEÐFØ—M‘MóóˆHô ! ›]×7Ñ7¸ÓAˆNÜ˜8“}×/Ñ/°Ó9‰HØ× Ñ Ñ,Ø×*Ñ*ˆHÜ  ›]×7Ñ7¸ÓAˆNÜ˜8“}×/Ñ/°Ó9‰HàˆNÜ˜8“}ˆHà—z‘zˆô 
÷	'ô 	'ó 
ð	'ðB �j‰j Ð$×3¨¯©×9°rˆÞÜ#Øð 6;·[±[´]õò 6CÑ1˜Ñ1 ñ Ø '¨5Ó 0‘u°gÒ=ÀÇÈ2ÁðPò Pá5BóóˆCñ ˜2“Jˆ	ØÔØÐùôs   Å<+G rJ   )r‚   Ú_sanitize_restructured_textr   r)   )r‡   r…   r"   r;   r<   ru   rv   rw   s   `    @@@r%   Údeprecated_paramsrŠ   Ç   si   û€ ð   "€HØ!€HØBDÐà%*§[¡[¦]Ñ!ˆÑ!�Ø!ˆ�‰Ü5°gÓ>ˆ�‰Ü"%×":Ñ":Ð˜Óñ &3÷
Gò GðR €Or'   c                ól   • SS jn[         R                  " SS U 5      n [         R                  " SX5      $ )Nc                óD   • U R                  SS5      u  pUS;   a  US-  nU$ )Nr   r   )r5   rY   z()©r^   )rp   r#   Únames      r%   ÚreplÚ)_sanitize_restructured_text.<locals>.repl-  s*   € Ø—g‘g˜a “m‰ˆØÐ$Ó$Ø�D‰LˆDØˆr'   z:ref:`(.+) <.*>`c                ó*   • SU R                  S5      -  $ )Nz"%s"r   r�   )rp   s    r%   Ú<lambda>Ú-_sanitize_restructured_text.<locals>.<lambda>3  s   € °¸!¿'¹'À!»*Ò1Dr'   z\:(\w+)\:`~?(?:_\w+)?\.?(.+?)`)rp   z
Match[str]r?   Ústr)r\   Úsub)Útextr�   s     r%   r‰   r‰   ,  s/   € ôô �6Š6Ð%Ñ'DÀdÓK€DÜ�6Š6Ð3°TÓ@Ð@r'   c                óD  • U R                   S L=(       a    U R                   =(       d    SnUbò  Ub  U[        US9-  n[        U[        R                  5      (       a  US-  n[        XeS5      nS n[        U 5      [        L af  [        U R                  5      nXhS'   UR                  SS 5        UR                  SS 5        [        U R                  U R                  U5      n Ub  X�   nOX`l         Ub  [        X5      nUb"  Uc   eUc   e[        U U[        XrX4S 5      5        U $ )Nr2   r4   ú@ (Background on SQLAlchemy 2.0 at: :ref:`migration_20_toplevel`)r   r�   Ú__dict__Ú__weakref__)r�   r7   Ú
issubclassr   ÚBase20DeprecationWarningr   Útyper™   r_   rF   Ú	__bases__ÚgetattrÚsetattrrE   )	r8   r9   Úwtyper;   r"   Údocstring_headerr„   Úconstructor_fnÚclsdicts	            r%   r6   r6   7  s.  € ð �+‰+˜TÐ
!×
1 c§k¡k×
7°R€CØÑ#ØÑ"Ø¤¨+Ñ 6Ñ6Ðä�eœS×9Ñ9×:Ñ:Øð0ñÐô $ C¸1Ó=ˆàˆÜ�‹9œÒÜ˜3Ÿ<™<Ó(ˆGØ!$�IÑØ�K‰K˜
 DÔ)Ø�K‰K˜ tÔ,Ü�s—|‘| S§]¡]°GÓ<ˆCØÑ&Ø!(Ñ!5�øð ŒKØÑ&Ü!(¨Ó!:�àÑ"Ø!Ñ-Ð-Ð-ØÑ$Ð$Ð$ÜØØÜ&Ø"¨7¸Tóôð €Jr'   c                óp  ^^^^• [        T5      m[        T[        R                  5      (       a  SnOSn[        SUUUU4S jj5       nU R
                  SL=(       a    U R
                  =(       d    SnUb&  U[        U R                  S9-  nXF-  n[        X„S5      nU" U 5      n	X‰l        UUU4S jU	l	        U	$ )	z=Wrap a function with a warnings.warn and augmented docstring.r˜   r2   c                óz   >• T(       + =(       d    UR                  SS5      nU(       d  [        TTTSS9  U " U0 UD6$ )NÚ_sa_skip_warningFrl   r   )r_   r&   )rG   r-   ro   Úskip_warningrD   r;   r"   r¡   s       €€€€r%   rx   Ú&_decorate_with_warning.<locals>.warned{  sC   ø€ à*Ô*÷ 
¨f¯j©jØ ó/
ˆö Ü˜w¨°À1ÒEÙ�4Ð"˜6Ñ"Ð"r'   Nr4   r   c                 ó   >• [        T TTSS9$ rk   )r&   )r;   r"   r¡   s   €€€r%   r’   Ú(_decorate_with_warning.<locals>.<lambda>Ž  s   ø€ Ô!3Ø�˜%¨Aò"r'   rz   )
r‰   r›   r   rœ   r   r�   r7   rF   r   Ú_sa_warn)
r5   r¡   r;   r"   r¢   rD   Údoc_onlyrx   r„   r†   s
    ``` `    r%   rE   rE   g  s¸   û€ ô *¨'Ó2€Gä�%œ×5Ñ5×6Ñ6ð,ñ 	ð
 ˆä÷#ñ #ó ð#ð �,‰,˜dÐ
"×
3 t§|¡|×
9°r€CØÑ#ØœD d§m¡mÑ4Ñ4ÐàÑ$Ðä# C¸1Ó=ˆá�t“€IØÔö€IÔð Ðr'   )N)r!   r”   r"   r”   r#   úType[exc.SADeprecationWarning]r   Úintr   úOptional[str]r?   ÚNone)rl   N)
r!   r”   r"   r”   r   r¯   r   r°   r?   r±   )r!   r”   r-   zSequence[Any]r"   r”   r   r¯   r   r°   r?   r±   )Ú__init__)r"   r”   r;   r”   r9   r°   r?   zCallable[[Type[_T]], Type[_T]])NTNT)r"   r”   r;   r°   rK   ÚboolrH   z(Optional[Type[exc.SADeprecationWarning]]rD   r³   r?   úCallable[[_F], _F])r;   r”   rR   r   r?   z0Callable[[Callable[..., _T]], Callable[..., _T]])rb   r”   rc   r°   rR   r   r?   r´   )r‡   zTuple[str, str]r?   r´   )r–   r”   r?   r”   )r8   r>   r9   r°   r¡   r®   r;   r”   r"   r”   r¢   r°   r?   r>   )NT)r5   r   r¡   r®   r;   r”   r"   r”   r¢   r°   rD   r³   r?   r   )&r�   Ú
__future__r   r\   Útypingr   r   r   r   r   r	   r
   r   r   r   r   r2   r   Úlanghelpersr   r   r   r   r   r   r   r   r&   r*   r.   rA   rL   rS   rg   rŠ   r‰   r6   rE   r@   r'   r%   Ú<module>r¸      s‹  ðñõ #ã 	Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý å Ý +Ý 'Ý "Ý .Ý *Ý áˆT˜Ñ€ñ ˆTÐ-Ñ.€ð ð
4Ø	ð
4àð
4ð *ð
4ð ð	
4ð
 ð
4ð 
õ
4ð HLðØ	ðØðØ(+ðØ7Dðà	õð ØðØ	ðà
ðð ðð ð	ð
 ðð 
õð& >HðØðØðØ-:ðà#õð( "Ø)-Ø8<Ø ð3Øð3àð3ð #'ð3ð 6ð	3ð
 ð3ð õ3ðlØðØðà5ôð 15ð#IØð#IØ -ð#IØ<?ð#Iàõ#IôLbôJAð" '+ð-Ø	ð-àð-ð *ð-ð ð	-ð
 ð-ð $ð-ð õ-ðj '+Ø ð*Ø
ð*à)ð*ð ð*ð ð	*ð
 $ð*ð ð*ð ö*r'   