ó
    V•£h«B  ã                   óF  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSKJ	r	J
r
Jr  Sr\R                  " S5      r\R                  R                   r\R                  R$                  r " S S\5      rS	 rSS
 jrS rSS jr " S S\5      r\" \5      rS rS rS rg)zv
Decorator module, see
https://github.com/micheles/decorator/blob/master/docs/documentation.md
for the documentation.
é    N)Ú_GeneratorContextManager)ÚgetfullargspecÚiscoroutinefunctionÚisgeneratorfunctionz5.2.1z\s*def\s*([_\w][_\w\d]*)\s*\(c                   óˆ   • \ rS rSrSr\R                  " 5       rS=r=r	=r
=r=rr  S
S jrS rSS jr\  SS j5       rS	rg)ÚFunctionMakeré4   z¤
An object with the ability to create functions with a given signature.
It has attributes name, doc, module, signature, defaults, dict and
methods update and make.
© Nc           	      óÖ  • X0l         U(       Ga_  UR                  U l        U R                  S:X  a  SU l        UR                  U l        UR
                  U l        [        R                  " U5      (       d   [        U[        R                  5      (       GaÚ  [        U5      n[        US0 5      U l        S H  n	[        X	[        X‰5      5        M     [!        U R"                  5       H  u  p«[        U SU
-  U5        M     [%        U R"                  5      n[%        U R"                  5      nU R&                  (       a=  UR)                  SU R&                  -   5        UR)                  SU R&                  -   5        O"U R*                  (       a  UR)                  S5        U R*                   H/  n	UR)                  SU	-  5        UR)                  U	< SU	< 35        M1     U R,                  (       a<  UR)                  S	U R,                  -   5        UR)                  S	U R,                  -   5        S
R/                  U5      U l        S
R/                  U5      U l         UR2                  R5                  5       U l        U(       a  X l        Ub  X0l        U(       a  X@l        U(       a  XPl        U(       a  X`l        U(       a  Xpl        [;        U S5      (       d   e[;        U S5      (       d  [=        SU-  5      eg )Nz<lambda>Ú_lambda_Ú__annotations__)ÚargsÚvarargsÚvarkwÚdefaultsÚ
kwonlyargsÚkwonlydefaultszarg%dÚ*z%s=NoneÚ=z**ú, ÚnameÚ	signaturez%You are decorating a non function: %s)ÚshortsignatureÚ__name__r   Ú__doc__ÚdocÚ
__module__ÚmoduleÚinspectÚ	isroutineÚ
isinstanceÚ	functoolsÚpartialr   ÚgetattrÚannotationsÚsetattrÚ	enumerater   Úlistr   Úappendr   r   Újoinr   Ú__dict__ÚcopyÚdictr   ÚhasattrÚ	TypeError)ÚselfÚfuncr   r   r   r   r   ÚfuncdictÚargspecÚaÚiÚargÚallargsÚallshortargss                 ÚF/home/mande/repo/quber/.venv/lib/python3.13/site-packages/decorator.pyÚ__init__ÚFunctionMaker.__init__A   s$  € à'ÔßàŸ™ˆDŒIØ�y‰y˜JÓ&Ø&�”	Ø—|‘|ˆDŒHØŸ/™/ˆDŒKÜ× Ò  ×&Ñ&¬*°T¼9×;LÑ;L×*MÒ*MÜ(¨Ó.�Ü#*¨4Ð1BÀBÓ#G�Ô ó,�Aä˜D¤W¨WÓ%8Ö9ñ,ô (¨¯	©	Ö2‘F�AÜ˜D '¨A¡+¨sÖ3ñ 3ä˜tŸy™y›/�Ü# D§I¡I›�Ø—<—<Ø—N‘N 3¨¯©Ñ#5Ô6Ø ×'Ñ'¨¨d¯l©lÑ(:Õ;Ø—_—_Ø—N‘N 3Ô'ØŸœ�AØ—N‘N 9¨q¡=Ô1Ø ×'Ñ'³1²aÐ(8Ö9ñ )ð —:—:Ø—N‘N 4¨$¯*©*Ñ#4Ô5Ø ×'Ñ'¨¨t¯z©zÑ(9Ô:Ø!%§¡¨7Ó!3�”Ø&*§i¡i°Ó&=�Ô#Ø ŸM™M×.Ñ.Ó0�”	æØŒIØÑ Ø&ŒNÞØ$ŒMÞØŒHÞØ ŒKÞØ ŒIä�t˜V×$Ñ$Ð$Ð$Ü�t˜[×)Ñ)ÜÐCÀdÑJÓKÐKð *ó    c                 óÌ  • U R                   Ul        [        U SS5      Ul        [        U S0 5      Ul        U R
                  Ul        U R                  =(       d    SUl        [        U SS5      Ul	         [        R                  " S5      nUR                  R                  SS5      n[        U SU5      Ul        UR                  R!                  U5        g! [         a    Sn N<f = f)	z4
Update the signature of func with the data in self
r   Nr-   r%   é   r   Ú?r   )r   r   r$   r   r+   r   Ú__defaults__r   Ú__kwdefaults__r   ÚsysÚ	_getframeÚ	f_globalsÚgetÚAttributeErrorr   Úupdate)r0   r1   ÚkwÚframeÚcallermodules        r9   rG   ÚFunctionMaker.updateu   sÃ   € ð Ÿ	™	ˆŒÜ˜t U¨DÓ1ˆŒÜ  f¨bÓ1ˆŒØ ŸM™MˆÔØ"×1Ñ1×9°TˆÔÜ& t¨]¸DÓAˆÔð	@Ü—M’M !Ó$ˆEð !Ÿ?™?×.Ñ.¨z¸3Ó?ˆLÜ! $¨°,Ó?ˆŒØ�‰×Ñ˜RÕ øô ó 	ØŠLð	ús   Á4C ÃC#Ã"C#c           	      óØ  • U[        U 5      -  nU=(       d    0 n[        R                  U5      nUc  [        SU-  5      eUR	                  S5      n[        U/U R                  R                  S5       Vs/ s H  oˆR                  S5      PM     sn-   5      n	U	 H  n
U
S;   d  M  [        U
< SU< 35      e   UR                  S5      (       d  US-  nS[        U R                  5      -  n [        X[S	5      n[        XÂ5        X'   nU(       a  XTS'   U R&                  " U40 UD6  U$ s  snf ! [         a2    [!        S
["        R$                  S9  [!        U["        R$                  S9  e f = f)zD
Make a new function from a given template and update the signature
z not a valid function template
%sé   Ú,z *)Ú_func_Ú_call_z is overridden in
Ú
z<decorator-gen-%d>ÚsinglezError in generated code:)ÚfileÚ
__source__)ÚvarsÚDEFÚsearchÚSyntaxErrorÚgroupÚsetr   ÚsplitÚstripÚ	NameErrorÚendswithÚnextÚ_compile_countÚcompileÚexecÚ	ExceptionÚprintrB   ÚstderrrG   )r0   Ú	src_templÚevaldictÚ	addsourceÚattrsÚsrcÚmor   r6   ÚnamesÚnÚfilenameÚcoder1   s                 r9   ÚmakeÚFunctionMaker.makeˆ   s]  € ð œ$˜t›*Ñ$ˆØ—>˜rˆÜ�Z‰Z˜‹_ˆØ‰:ÜÐAÀCÑGÓHÐHØ�x‰x˜‹{ˆÜ�T�FØ"×1Ñ1×7Ñ7¸Ô<ó>Ú<ð 36Ÿi™i¨žoÙ<ñ>ñ >ó ?ˆãˆAØÐ(Õ(Ü»QÂÐ DÓEÐEñ ð �|‰|˜D×!Ñ!Ø�4‰KˆCð
 (¬$¨t×/BÑ/BÓ*CÑCˆð	Ü˜3¨(Ó3ˆDÜ�Ô ð
 ‰~ˆÞØ"%�,ÑØ�Š�DÑ"˜EÒ"Øˆùò1>øô  ó 	ÜÐ,´3·:±:Ò>Ü�#œCŸJ™JÒ'Øð	ús   Á5D(
Ã-D- Ä-<E)c                 óš  • [        U[        5      (       a*  UR                  5       R                  SS5      u  pšU
SS nSnOSn	SnUnU " XÉX´XV5      nSR	                  S UR                  5        5       5      nUR                  S5      nU(       a&  [        U5      (       a  SU-   R                  S	S
5      nOSU-   nUR                  " X#U40 UD6$ )zÒ
Create a function from the strings name, signature and body.
evaldict is the evaluation dictionary. If addsource is true an
attribute __source__ is added to the result. The attributes attrs
are added, if any.
Ú(rM   NéÿÿÿÿrQ   c              3   ó,   #   • U  H
  nS U-   v •  M     g7f)z    Nr
   )Ú.0Úlines     r9   Ú	<genexpr>Ú'FunctionMaker.create.<locals>.<genexpr>¾   s   é € ÐFÒ4E¨D˜& 4ž-Ò4Eùs   ‚rP   z#async def %(name)s(%(signature)s):
Úreturnzreturn awaitzdef %(name)s(%(signature)s):
)
r!   Ústrr\   r[   r*   Ú
splitlinesrE   r   Úreplacerp   )ÚclsÚobjÚbodyrg   r   r   r   rh   ri   r   Úrestr   r1   r0   ÚibodyÚcallers                   r9   ÚcreateÚFunctionMaker.create¬   sË   € ô �cœ3×ÑØŸ™›×*Ñ*¨3°Ó2‰JˆDØ˜S˜b˜	ˆIØ‰DàˆDØˆIØˆDÙ�4˜y°CÓ@ˆØ—	‘	ÑF°D·O±OÔ4EÓFÓFˆØ—‘˜hÓ'ˆÞÔ)¨&×1Ñ1Ø:¸UÑB×KÑKØ˜.ó*‰Dð 4°eÑ;ˆDØ�yŠy˜¨Ñ<°eÑ<Ð<r<   )r%   r   r-   r   r   r   r   r   )NNNNNNN©NF)NNNT)r   r   Ú__qualname__Ú__firstlineno__r   Ú	itertoolsÚcountr`   r   r   r   r   r   r   r:   rG   rp   Úclassmethodr„   Ú__static_attributes__r
   r<   r9   r   r   4   si   † ñð —_’_Ó&€Nð GIÐH€DÐHˆ7ÐH�UÐH˜XÐH¨
°^à7;Ø@Dô2Lòh!ô&"ðH Ø26Ø04ó=ó ó=r<   r   c                 óv   • UR                   " U 0 UD6nUR                  5         UR                  UR                  4$ )z9
Fix args and kwargs to be consistent with the signature
)ÚbindÚapply_defaultsr   Úkwargs)r   r�   ÚsigÚbas       r9   Úfixr“   È   s6   € ð 
�Š�4Ð	"˜6Ñ	"€BØ×ÑÔØ�7‰7�B—I‘IÐÐr<   c                 óž  ^ ^^^^• [         R                  " T 5      m[        T [        R                  5      (       a!  [        R
                  " T T R                  5      m [        T5      (       a  UUU UU4S jnO%[        T5      (       a  UUU UU4S jnO
UUU UU4S jnT R                  Ul	        T R                  Ul
        T Ul        TUl        T R                  Ul         T R                  Ul         T R                   Ul         T R"                  Ul         T R$                  Ul         T R                  Ul	         UR&                  R)                  T R&                  5        U$ ! [         a     N|f = f! [         a     Nzf = f! [         a     Nxf = f! [         a     Nvf = f! [         a    T R                  S:H     Nƒf = f! [         a     U$ f = f)aN  
Decorates a function/generator/coroutine using a caller.
If kwsyntax is True calling the decorated functions with keyword
syntax will pass the named arguments inside the ``kw`` dictionary,
even if such argument are positional, similarly to what functools.wraps
does. By default kwsyntax is False and the the arguments are untouched.
c               Ÿ   óh   >#   • T(       d  [        XT5      u  pT" T/TU -   Q70 UD6I S h  v•N $  N7f©N©r“   ©r   rH   rƒ   Úextrasr1   Úkwsyntaxr‘   s     €€€€€r9   ÚfunÚdecorate.<locals>.funÝ   s6   øé € ÞÜ˜t¨Ó-‘�Ù Ð=¨°©Ò=¸"Ñ=×=Ð=Ñ=ùs   ƒ(2«0¬2c               ?   ól   >#   • T(       d  [        XT5      u  pT" T/TU -   Q70 UD6 H  nUv •  M	     g 7fr–   r—   )r   rH   Úresrƒ   r™   r1   rš   r‘   s      €€€€€r9   r›   rœ   â   s9   øé € ÞÜ˜t¨Ó-‘�Ù˜dÐ; f¨t¡mÒ;¸Ô;�Ø”	ò <ùs   ƒ14c                  óL   >• T(       d  [        XT5      u  pT" T/TU -   Q70 UD6$ r–   r—   r˜   s     €€€€€r9   r›   rœ   è   s-   ø€ ÞÜ˜t¨Ó-‘�Ù˜$Ð7 &¨4¡-Ò7°BÑ7Ð7r<   Únoname)r   r   r!   r"   r#   Úupdate_wrapperr1   r   r   r   r   Ú__wrapped__Ú__signature__r‡   r@   rF   rA   r   r   r+   rG   )r1   rƒ   r™   rš   r›   r‘   s   ```` @r9   Údecorater¤   Ñ   s¥  ü€ ô ×
Ò
˜DÓ
!€CÜ�$œ	×)Ñ)×*Ñ*Ü×'Ò'¨¨d¯i©iÓ8ˆÜ˜6×"Ñ"÷	>ò 	>ô 
˜V×	$Ñ	$÷	ò 	÷	8ñ 	8ð
 —=‘=€C„LØ—,‘,€C„KØ€C„OØ€CÔØ×(Ñ(€CÔðØ×,Ñ,ˆÔðØ!×0Ñ0ˆÔðØ"×2Ñ2ˆÔðØŸ™ˆŒð"Ø—}‘}ˆŒðØ�‰×Ñ˜DŸM™MÔ*ð €Jøô- ó Ùðûô ó Ùðûô ó Ùðûô ó Ùðûô ó "Ø�‰˜Ô!ð"ûô ó ØØ€Jðúsl   ÃE Ã0E/ ÄE? ÄF Ä&F Ä8%F> Å
E,Å+E,Å/
E<Å;E<Å?
FÆFÆ
FÆFÆF;Æ:F;Æ>
GÇGc                 ó   ^ • U 4S jnU$ )zÎ
A version of "decorator" implemented via "exec" and not via the
Signature object. Use this if you are want to preserve the `.__code__`
object properties (https://github.com/micheles/decorator/issues/129).
c           	      óT   >• [         R                  U S[        TU S9X R                  S9$ )Nz)return _call_(_func_, %(shortsignature)s))rP   rO   )r¢   r‡   )r   r„   r-   r‡   )r1   rƒ   s    €r9   ÚdecÚdecoratorx.<locals>.dec  s4   ø€ Ü×#Ñ#ØØ7Ü˜ tÑ,Ø×+<Ñ+<ð	 $ð >ð 	>r<   r
   )rƒ   r§   s   ` r9   Ú
decoratorxr©     s   ø€ õ>ð €Jr<   c                 ó   ^ ^^• Ub  [        UT ST5      $ [        R                  " T 5      nUR                  R	                  5        Vs/ s H  oDR
                  [        L d  M  UPM     snmSU UU4S jjnUR                  TS9Ul        T R                  Ul	        T R                  Ul
        T Ul        T R                  Ul        [        T SS5      Ul        UR                  R!                  T R                  5        U$ s  snf )z?
decorator(caller) converts a caller function into a decorator
Nr
   c                 óŒ   >^^• [        U5      S-   nU[        U4S jTUS   5       5      -   mU c  UUU4S j$ [        U TTT5      $ )NrM   c              3   óš   >#   • U  H@  nUR                   [        Ld  M  TR                  UR                  UR                   5      v •  MB     g 7fr–   )ÚdefaultÚEMPTYrE   r   )rv   ÚprH   s     €r9   rx   Ú)decorator.<locals>.dec.<locals>.<genexpr>*  s<   øé € ð 9Ú'6 !Ø!"§¡´%Ð!7ó 8˜bŸf™f Q§V¡V¨Q¯Y©Y×7Ð7Ú'6ùs
   ƒAž-Ac                 ó    >• [        U TTT5      $ r–   ©r¤   )r1   rƒ   r™   rš   s    €€€r9   Ú<lambda>Ú(decorator.<locals>.dec.<locals>.<lambda>.  s   ø€ ¤¨¨v°v¸xÔ Hr<   )ÚlenÚtupler¤   )r1   r   rH   Únar™   rƒ   Ú
dec_paramsrš   s     ` @€€€r9   r§   Údecorator.<locals>.dec(  sR   ú€ Ü�‹Y˜‰]ˆØœô 9Ø'1°"°#¡ó9ó 9ñ 9ˆð ‰<ÞHÐHä˜D &¨&°(Ó;Ð;r<   )Ú
parametersrA   r–   )r¤   r   r   rº   ÚvaluesÚkindÚPOSr}   r£   r   r   r¢   r‡   r$   rA   r+   rG   )rƒ   Ú_funcrš   r‘   r¯   r§   r¸   s   ` `   @r9   Ú	decoratorr¿     sÔ   ú€ ð Ñä˜˜v r¨8Ó4Ð4ä
×
Ò
˜FÓ
#€CØ Ÿ^™^×2Ñ2Ô4ÓFÒ4˜¿¹Ä#¸—!Ñ4ÑF€J÷<ñ <ð Ÿ™¨z˜Ð:€CÔØ—?‘?€C„LØ—.‘.€C„KØ€C„OØ×*Ñ*€CÔÜ  Ð)9¸4Ó@€CÔØ‡L�L×Ñ˜Ÿ™Ô(Ø€Jùò% Gs   ÁC;Á!C;c                   ó    • \ rS rSrS rS rSrg)ÚContextManageri>  c                 ó2   • [         R                  " XX#5        g r–   )r   r:   )r0   Úgr4   Úks       r9   r:   ÚContextManager.__init__?  s   € Ü ×)Ò)¨$°1Õ8r<   c                 ó&   ^ • U 4S jn[        X5      $ )Nc                 ó²   >• TR                   " TR                  /TR                  Q70 TR                  D6   U " U0 UD6sS S S 5        $ ! , (       d  f       g = fr–   )Ú	__class__r1   r   Úkwds)Úfr4   rÄ   r0   s      €r9   rƒ   Ú'ContextManager.__call__.<locals>.callerC  s=   ø€ Ø—’ §	¡	ÐC¨D¯I©IÒC¸¿¹ÓCÙ˜!�z˜q‘z÷ D×C×Cús   ¶AÁ
Ar²   )r0   r1   rƒ   s   `  r9   Ú__call__ÚContextManager.__call__B  s   ø€ õ	"ô ˜Ó%Ð%r<   r
   N)r   r   r‡   rˆ   r:   rÌ   rŒ   r
   r<   r9   rÁ   rÁ   >  s   † ò9õ&r<   rÁ   c                 ó   • [        U 5      $ r–   )Ú_contextmanager)r1   s    r9   ÚcontextmanagerrÐ   L  s   € ä˜4Ó Ð r<   c                 óº   • Sn[        U5       H1  u  p4[        X@5      (       a  Sn  O[        X5      (       d  M+  XU'   SnM3     U(       a  UR                  U 5        gg)zS
Append ``a`` to the list of the virtual ancestors, unless it is already
included.
TFN)r'   Ú
issubclassr)   )r4   Ú
vancestorsÚaddÚjÚvas        r9   r)   r)   S  s\   € ð
 €CÜ˜:Ö&‰ˆÜ�b×ÑØˆCÙÜ�a×ÓØ�q‰MØŠCñ 'ö Ø×Ñ˜!Õð r<   c                  ó¤   ^ ^^• T (       d   S5       eSSR                  T 5      -  m[        R                  S4U 4S jjmUU U4S jnST-   Ul        U$ )zf
Factory of decorators turning a function into a generic function
dispatching on the given arguments.
zNo dispatch args passedz(%s,)r   Ú c                 óŒ   >• U" [        U 5      [        T5      5      (       a#  [        S[        T5      [        U 5      U4-  5      eg)z5Make sure one passes the expected number of argumentszExpected %d arguments, got %d%sN)rµ   r/   )Ú	argumentsÚwrongÚmsgÚdispatch_argss      €r9   ÚcheckÚdispatch_on.<locals>.checkm  sI   ø€ á”�Y“¤ ]Ó!3×4Ñ4ÜÐ=Ü  Ó/´°Y³ÀÐEñFó Gð Gð 5r<   c                 ó  >^ ^^^• [        [        T 5      R                  5      n[        T	5      U::  d  [        ST
-  5      e0 mUU	U4S jmUU4S jmUU4S jnUU4S jnUU U4S jn[        R                  T ST
-  [        US9UT TTTUT S	9
$ )
z4Decorator turning a function into a generic functionzUnknown dispatch arguments %sc                  óJ  >• T" U 5        [        [        T5      5       Vs/ s H  n/ PM     nnT	 HK  n[        XU5       H8  u  pEn[        XE5      (       d  M  XTR	                  5       ;  d  M-  [        XV5        M:     MM     U Vs/ s H  n[        U5      PM     sn$ s  snf s  snf )z=
Get a list of sets of virtual ancestors for the given types
)Úrangerµ   ÚziprÒ   Úmror)   rZ   )
ÚtypesÚ_ÚrasÚtypes_ÚtÚtype_ÚrarÞ   rÝ   Útypemaps
          €€€r9   rÓ   Ú5dispatch_on.<locals>.gen_func_dec.<locals>.vancestors}  sŽ   ø€ ñ �%ŒLÜ$¤S¨Ó%7Ô8Ó9Ò8˜!“2Ñ8ˆCÐ9Û!�Ü$'¨°sÖ$;‘L�A˜bÜ! !×+Ó+°¿U¹U»WÕ0DÜ˜uÖ)ó %<ñ "ñ '*Ó*¢c ”C˜–G¡cÑ*Ð*ùò :ùò
 +s    BÂB c                  ó0  >• T" U 5        / n[        U T" U 6 5       Hw  u  p#[        U5      nUS:”  a  [        SU< SU< 35      eUS:X  a$  Uu  n[        SX%40 5      R	                  5       SS nOUR	                  5       nUR                  USS 5        My     U$ )z/
Get a list of virtual MROs, one for each type
rM   zAmbiguous dispatch for z: ré   Nrt   )rã   rµ   ÚRuntimeErrorÚtyperä   r)   )	rå   Úlistsré   ÚvasÚn_vasrÖ   rä   rÞ   rÓ   s	          €€r9   Ú	ancestorsÚ4dispatch_on.<locals>.gen_func_dec.<locals>.ancestors‰  s¢   ø€ ñ �%ŒLØˆEÜ˜e¡Z°Ð%7Ö8‘�Ü˜C›�Ø˜1“9Ý&Û;<ºcÐBóDð Dà˜a“ZØ‘C�BÜ˜s Q G¨RÓ0×4Ñ4Ó6°q°rÐ:‘CàŸ%™%›'�CØ—‘˜S  "˜XÖ&ñ 9ð ˆLr<   c                  ó*   >^ • T" T 5        UUU 4S jnU$ )z=
Decorator to register an implementation for the given types
c                 ó‚   >• T" [        U 5      R                  [        R                  SU R                  -   5        U TT'   U $ )Nz in )r   r   ÚoperatorÚltr   )rÊ   rÞ   rì   rå   s    €€€r9   r§   Ú@dispatch_on.<locals>.gen_func_dec.<locals>.register.<locals>.dec¢  s5   ø€ Ù”n QÓ'×,Ñ,¬h¯k©k¸6ÀAÇJÁJÑ;NÔOØ!"�˜‘Ø�r<   r
   )rå   r§   rÞ   rì   s   ` €€r9   ÚregisterÚ3dispatch_on.<locals>.gen_func_dec.<locals>.registerœ  s   ù€ ñ �%ŒL÷ð ˆJr<   c                  ó˜   >• T" U 5        / n[         R                  " T" U 6 6  H$  nUR                  [        S U 5       5      5        M&     U$ )z1
An utility to introspect the dispatch algorithm
c              3   ó8   #   • U  H  oR                   v •  M     g 7fr–   )r   )rv   r4   s     r9   rx   ÚKdispatch_on.<locals>.gen_func_dec.<locals>.dispatch_info.<locals>.<genexpr>¯  s   é € Ð :²T°§¦²Tùó   ‚)r‰   Úproductr)   r¶   )rå   ÚlstÚancsrô   rÞ   s      €€r9   Údispatch_infoÚ8dispatch_on.<locals>.gen_func_dec.<locals>.dispatch_info¨  sG   ø€ ñ �%ŒLØˆCÜ!×)Ò)©9°eÐ+<Ó=�Ø—
‘
œ5Ñ :±TÓ :Ó:Ö;ñ >àˆJr<   c                 ó  >• [        S U  5       5      n T	U   nU" U0 UD6$ ! [         a     Of = f[        R                  " T" U6 6 n[	        U5        U H!  nT	R                  U5      nUc  M  U" U0 UD6s  $    T" U0 UD6$ )Nc              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr–   )rð   )rv   r6   s     r9   rx   ÚGdispatch_on.<locals>.gen_func_dec.<locals>._dispatch.<locals>.<genexpr>³  s   é € Ð=ª}¨œ$˜sŸ)˜)ª}ùr   )r¶   ÚKeyErrorr‰   r  r_   rE   )
rÝ   r   rH   rå   rÊ   Úcombinationsrè   rô   r1   rì   s
          €€€r9   Ú	_dispatchÚ4dispatch_on.<locals>.gen_func_dec.<locals>._dispatch²  s¡   ø€ ÜÑ=©}Ó=Ó=ˆEð&Ø˜E‘N�ñ ˜$�~ "‘~Ð%øô ó Ùðúô %×,Ò,©i¸Ð.?Ð@ˆLÜ�ÔÛ&�Ø—K‘K Ó'�Ø“=Ù˜d˜> b™>Ò)ñ 'ñ ˜Ð$ Ñ$Ð$s   •" ¢
/®/z#return _f_(%s, %%(shortsignature)s))Ú_f_)rû   r­   rì   rÓ   rô   r  r¢   )rZ   r   r   r]   r   r„   r-   )r1   Úargsetrû   r  r  rô   rì   rÓ   rÞ   rÝ   Údispatch_strs   `    @@@€€€r9   Úgen_func_decÚ!dispatch_on.<locals>.gen_func_decs  s“   ü€ ô ”^ DÓ)×.Ñ.Ó/ˆÜ�=Ó! VÓ+ÜÐ;¸lÑJÓKÐKàˆ÷
	+ö	ö&
	ö	÷	%ô$ ×#Ñ#ØÐ7¸,ÑFÜ�YÑ¨(¸DØ¨
¸iØ'°Tð	 $ð ;ð 	;r<   Údispatch_on)r*   rø   Úner   )rÝ   r  rÞ   r  s   ` @@r9   r  r  e  sQ   ú€ ö
 Ð3Ð3Ó3ˆ=Ø˜TŸY™Y }Ó5Ñ5€Lä'Ÿ{™{°÷ G÷U;ðn *¨LÑ8€LÔØÐr<   )r
   Fr†   )r   ÚrerB   r   rø   r‰   r"   Ú
contextlibr   r   r   r   Ú__version__ra   rV   Ú	ParameterÚPOSITIONAL_OR_KEYWORDr½   Úemptyr®   Úobjectr   r“   r¤   r©   r¿   rÁ   rÏ   rÐ   r)   r  r
   r<   r9   Ú<module>r     s«   ðñ<ó
 
Û 
Û Û Û Û Ý /ß LÑ Là€à‡j‚jÐ1Ó2€Ø×Ñ×-Ñ-€Ø×Ñ×Ñ€ôQ=�Fô Q=òhô:òzôôB&Ð-ô &ñ ˜NÓ+€ò!òó$fr<   