ó
    Ð]jeË  ã                  óP  • % S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJ	r	J
r
  S SKJr  S SKJrJrJr  S SKJr  S S	KJrJr  S S
KJr  S SKJr  \(       a  S SKJrJrJr  S SKJr  S SK J!r!J"r"J#r#   " S S\	5      r$SS\$RJ                  S.         SÓS jjr&SS.       SÔS jjr'      SÕS jr(SÖS jr)SSSSS.r*\ " S S5      5       r+\" SSS 9 " S! S"\+5      5       r,\" SSS 9 " S# S$\+5      5       r-\" SSS 9 " S% S&\+5      5       r.\" SSS 9 " S' S(\+5      5       r/\" SSS 9 " S) S*\+5      5       r0\" SSS 9 " S+ S,\+5      5       r1\" SSS 9 " S- S.\+5      5       r2\" SSS 9 " S/ S0\+5      5       r3\" SSS 9 " S1 S2\+5      5       r4\" SSS 9 " S3 S4\+5      5       r5\" SSS 9 " S5 S6\+5      5       r6\" SSS 9 " S7 S8\+5      5       r7\" SSS 9 " S9 S:\+5      5       r8\" SSS 9 " S; S<\+5      5       r9\" SSS 9 " S= S>\+5      5       r:\" SSS 9 " S? S@\+5      5       r;\" SSS 9 " SA SB\+5      5       r<\" SSS 9 " SC SD\+5      5       r=\" SSS 9 " SE SF\+5      5       r>\" SSS 9 " SG SH\+5      5       r?\" SSS 9 " SI SJ\+5      5       r@\" SSS 9 " SK SL\+5      5       rA\" SSS 9 " SM SN\+5      5       rB\" SSS 9 " SO SP\+5      5       rC\" SSS 9 " SQ SR\+5      5       rD\" SSS 9 " SS ST\+5      5       rE\" SSS 9 " SU SV\+5      5       rF\" SSS 9 " SW SX\+5      5       rG\" SSS 9 " SY SZ\+5      5       rH\" SSS 9 " S[ S\\+5      5       rI\" SSS 9 " S] S^\+5      5       rJ\" SSS 9 " S_ S`\+5      5       rK\" SSS 9 " Sa Sb\+5      5       rL\Rš                  Sc\Rœ                  Sd\Rž                  Se\R                   Sf0rQ\R¤                  Se\R¦                  Sg\R¨                  Sh\Rª                  Si\R¬                  Sj\R®                  Sk\R°                  Sl\R²                  Sm\R´                  Sn\R¶                  So\R¸                  Sp\Rº                  Sq\R¼                  Sf0r_\RÀ                  Sr\RÂ                  Ss0rb\RÆ                  St\RÈ                  Su\RÊ                  Sv\RÌ                  Sw\RÎ                  Sx\RÐ                  Sy\RÒ                  Sz\RÔ                  S{\RÖ                  S|\RØ                  S}0
rm0 \AS~ _\2S _\:S€ _\6S� _\?S‚ _\ISƒ _\DS„ _\3S… _\@S† _\ES‡ _\4Sˆ _\,S‰ _\GSŠ _\/S‹ _\JSŒ _\-S� _\.SŽ _\0S� \8S� \BS‘ \>S’ \7S“ \<S” \=S• \KS– \LS— \1S˜ \5S™ \;Sš \CS› \FSœ 0ErnS×S� jroSØSž jrpSÙSŸ jrqSÚS  jrrSÛS¡ jrsSÜS¢ jrtSÝS£ jruSSSSS¤.               SÞS¥ jjrvSßS¦ jrwSàS§ jrxSS¨.         SáS© jjrySâSª jrzSãS« jr{SS¬.         SäS­ jjr|SåSæS® jjr}SçS¯ jr~SèS° jrSéS± jr€SåSêS² jjr�SëS³ jr‚SìS´ jrƒSíSµ jr„SîS¶ jr…SïS· jr†SSSS¸.             SðS¹ jjr‡SSSº.           SñS» jjrˆSòS¼ jr‰SóS½ jrŠSôS¾ jr‹ " S¿ SÀ\5      rŒ0 \GR                  \p_\GR                  \q_\GR                  \r_\GR                   \s_\GR"                  \t_\GR$                  \u_\GR&                  \v_\GR(                  \w_\GR*                  \x_\GR,                  \y_\GR.                  \z_\GR0                  \{_\GR2                  \|_\GR4                  \}_\GR6                  \~_\GR8                  \_\GR:                  \€_\GR<                  \�\GR>                  \‚\GR@                  \ƒ\GRB                  \„\GRD                  \…\GRF                  \†\GRH                  \‡\GRJ                  \ˆ\GRL                  \‰\GRN                  \Š\GRP                  \‹0Er©SÁ\ªSÂ'   \GRV                  SÃ:¼  a>  SõSÄ jr¬        SöSÅ jr­\©GR]                  \GR^                  \¬\GR`                  \­05        S÷SÆ jr±SSSÇ.         SøSÈ jjr²SS\GRf                  SÉSÊ.             SùSË jjr´SÌrµ\" \²SSÍ9r¶\" \´S\µSÎ-  SÏ9r·\" \²SSÍ9r¸\" \´S\µSÐ-  SÏ9r¹\" \²SSÍ9rº\" \´S\µSÑ-  SÏ9r»\" \²SSÍ9r¼\" \´S\µSÒ-  SÏ9r½g)úé    )ÚannotationsN)Ú	dataclass)Úfields)ÚIntEnumÚauto)Úpartial)ÚTYPE_CHECKINGÚAnyÚProtocol)Úget_parameters)ÚLogLevelÚParameterKind)ÚNameResolutionError)Úlogger)ÚIterableÚIteratorÚSequence)ÚPath)ÚClassÚFunctionÚModulec                  ó:  • \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       rSrg)Ú_OperatorPrecedenceé   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   ÚNONEÚYIELDÚASSIGNÚSTARREDÚLAMBDAÚIF_ELSEÚORÚANDÚNOTÚCOMP_MEMB_IDÚBIT_ORÚBIT_XORÚBIT_ANDÚLEFT_RIGHT_SHIFTÚADD_SUBÚMUL_DIV_REMAINÚPOS_NEG_BIT_NOTÚEXPONENTÚAWAITÚCALL_ATTRIBUTEÚATOMICÚ__static_attributes__r   ó    ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/expressions.pyr   r      s˜   † ñ ‹6€Dá‹F€EÙ‹V€FÙ‹f€GÙ‹V€FÙ‹f€GÙ	‹€BÙ
‹&€CÙ
‹&€CÙ“6€LÙ‹V€FÙ‹f€GÙ‹f€GÙ“vÐÙ‹f€GÙ“V€NÙ“f€OÙ‹v€HÙ‹F€EÙ“V€NÙ‹VƒFr6   r   TF)ÚflatÚis_leftÚouter_precedencec             #  ór  #   • [        U [        5      (       aã  [        U 5      nSnXC:  a  SnOwXC:X  ar  [        U [        5      =(       d&    [        U [        5      =(       a    U R
                  S:H  nU(       a
  U(       a  SnO$[        U [        [        45      (       a	  U(       d  SnU(       a,  Sv •  U(       a  U R                  SS9 S h  v•N   OU v •  Sv •  g U(       a  U R                  SS9 S h  v•N   g U v •  g [        U [        5      (       a  U  H  n[        XqX2S9 S h  v•N   M     g U v •  g  Nh NB N7f)NFTú**Ú(©r8   Ú)©r8   r:   r9   )
Ú
isinstanceÚExprÚ_get_precedenceÚ	ExprIfExpÚ	ExprBinOpÚoperatorÚ
ExprBoolOpÚiterateÚtupleÚ_yield)Úelementr8   r9   r:   Úelement_precedenceÚneeds_parensÚis_right_assocÚelems           r7   rJ   rJ   B   s  é € ô �'œ4× Ñ Ü,¨WÓ5ÐØˆàÓ0Ø‰LØÓ3ä'¨´Ó;÷ Ü˜7¤IÓ.×K°7×3CÑ3CÀtÑ3Kð ö ÞØ#'�Løä˜G¤i´Ð%<×=Ñ=ÆgØ#�æØŠIÞØ"Ÿ?™?°˜?Ð5×5Ñ5à’Ø‹IÞØ—‘¨D�Ð1×1Ñ1à‹MÜ	�GœU×	#Ñ	#ÛˆDÜ˜dÐ@PÑb×bÒbò ð ‹ñ 6ñ
 2ñ
 cùs6   ‚CD7ÃD1Ã	'D7Ã0D3Ã11D7Ä"D5Ä#D7Ä3D7Ä5D7r>   c             #  ó6  #   • [        U 5      n [        [        U5      U[        R                  S9 Sh  v•N   U HC  n[        X[        R                  S9 Sh  v•N   [        XB[        R                  S9 Sh  v•N   ME     g NN! [
         a     gf = f N; N7f)z¤Apply a separator between elements.

The caller is assumed to provide their own grouping
(e.g. lists, tuples, slice) and will prevent parentheses from being added.
©r8   r:   N)ÚiterrJ   Únextr   r    ÚStopIteration)ÚelementsÚjointr8   ÚitrK   s        r7   Ú_joinrX   m   s�   é € ô 
ˆh‹€Bðô œ$˜r›(¨Ô@S×@XÑ@XÑY×YÐYó ˆÜ˜%Ô=P×=UÑ=UÑV×VÐVÜ˜'Ô?R×?WÑ?WÑX×XÒXò ñ 	ZøÜó Ùðúñ 	WÙXùsU   ‚B�%B ´BµB ¹ BÁBÁBÁ9BÁ:	BÂB Â
BÂBÂBÂBÂBc                ó¶   • [        U [        5      (       a  [        U 40 UD6$ [        U [        5      (       a  U  Vs/ s H  n[	        U40 UD6PM     sn$ U $ s  snf ©N)rA   rB   Ú_expr_as_dictÚlistÚ_field_as_dict)rK   ÚkwargsrO   s      r7   r]   r]   „   sX   € ô �'œ4× Ñ Ü˜WÑ/¨Ñ/Ð/Ü�'œ4× Ñ Ù;BÓCº7°4”˜tÑ. vÔ.¹7ÑCÐCØ€Nùò Ds   »ArB   c           
     óê   • [        [        U 5      S S9 Vs0 s H?  nUR                  S:w  d  M  UR                  [        [	        XR                  5      40 UD6_MA     nnU R
                  US'   U$ s  snf )Nc                ó   • U R                   $ rZ   )Úname)Úfs    r7   Ú<lambda>Ú_expr_as_dict.<locals>.<lambda>’   s   € ÀÇÂr6   )ÚkeyÚparentÚcls)ÚsortedÚ	getfieldsra   r]   ÚgetattrÚ	classname)Ú
expressionr^   Úfieldr   s       r7   r[   r[   �   sw   € ô œI jÓ1Ñ7GÒHóâHˆEØ�:‰:˜Ñ!ó 	Nˆ�
‰
”N¤7¨:·z±zÓ#BÑMÀfÑMÒMÙHð ð ð
 ×(Ñ(€Fˆ5�MØ€Mùòs
   —A0¯.A0rI   Údictr\   Úset)ztyping.Tupleztyping.Dictztyping.Listz
typing.Setc                  ó  • \ rS rSrSrSS jrSS jrSS.SS jjrSS jrSS	 jr	\
SS
 j5       r\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       r\SS j5       rSrg)rB   é¡   zBase class for expressions.c                óL   • SR                  S U R                  SS9 5       5      $ )NÚ c              3  óh   #   • U  H(  n[        U[        5      (       a  UOUR                  v •  M*     g 7frZ   )rA   Ústrra   )Ú.0rO   s     r7   Ú	<genexpr>ÚExpr.__str__.<locals>.<genexpr>¦   s'   é € ÐhÒPgÈœz¨$´×4Ñ4‘t¸$¿)¹)ÔCÒPgùs   ‚02Tr>   )ÚjoinrH   ©Úselfs    r7   Ú__str__ÚExpr.__str__¥   s'   € Ø�w‰wÑhÐPT×P\ÑP\ÐbfÐP\ÑPgÓhÓhÐhr6   c              #  ó>   #   • U R                  SS9 Sh  v•N   g N7f)z.Iterate on the expression syntax and elements.Fr>   N)rH   rz   s    r7   Ú__iter__ÚExpr.__iter__¨   s   é € à—<‘< U�<Ð+×+Ó+ùs   ‚•–Tr>   c             #  ó$   #   • S Sh  v•N   g N7f)aw  Iterate on the expression elements.

Parameters:
    flat: Expressions are trees.

        When flat is false, this method iterates only on the first layer of the tree.
        To iterate on all the subparts of the expression, you have to do so recursively.
        It allows to handle each subpart specifically (for example subscripts, attribute, etc.),
        without them getting rendered as strings.

        On the contrary, when flat is true, the whole tree is flattened as a sequence
        of strings and instances of [Names][griffe.ExprName].

Yields:
    Strings and names when flat, strings and expressions otherwise.
r   Nr   ©r{   r8   s     r7   rH   ÚExpr.iterate¬   s   é € ð" �‹ùs   ‚ˆ‰c                ó   • U $ )z†Modernize the expression.

For example, use PEP 604 type unions `|` instead of `typing.Union`.

Returns:
    A modernized expression.
r   rz   s    r7   Ú	modernizeÚExpr.modernize¿   s	   € ð ˆr6   c                ó   • [        U 40 UD6$ )z‹Return the expression as a dictionary.

Parameters:
    **kwargs: Configuration options (none available yet).


Returns:
    A dictionary.
)r[   )r{   r^   s     r7   Úas_dictÚExpr.as_dictÉ   s   € ô ˜TÑ, VÑ,Ð,r6   c                ó.   • U R                   R                  $ )zThe expression class name.)Ú	__class__r   rz   s    r7   rk   ÚExpr.classnameÕ   s   € ð �~‰~×&Ñ&Ð&r6   c                ó   • [        U 5      $ ©z%Path of the expressed name/attribute.©ru   rz   s    r7   ÚpathÚ	Expr.pathÚ   ó   € ô �4‹yÐr6   c                ó   • [        U 5      $ rŽ   r�   rz   s    r7   Úcanonical_pathÚExpr.canonical_pathß   r’   r6   c                ó„   • U R                   R                  SS5      S   R                  SS5      S   R                  S5      $ )z/Name of the expressed name/attribute/parameter.Ú.é   éÿÿÿÿr=   r?   )r”   ÚrsplitÚsplitÚremovesuffixrz   s    r7   Úcanonical_nameÚExpr.canonical_nameä   s@   € ð ×"Ñ"×)Ñ)¨#¨qÓ1°"Ñ5×;Ñ;¸CÀÓCÀBÑG×TÑTÐUXÓYÐYr6   c                óN   • [        U [        5      =(       a    U R                  S:H  $ )z4Whether this attribute is annotated with `ClassVar`.ÚClassVar©rA   ÚExprSubscriptr�   rz   s    r7   Úis_classvarÚExpr.is_classvarê   ó!   € ô ˜$¤Ó.×T°4×3FÑ3FÈ*Ñ3TÐTr6   c                ój   • [        U [        5      =(       a    U R                  R                  5       S:H  $ )z#Whether this expression is a tuple.rI   )rA   r¢   r�   Úlowerrz   s    r7   Úis_tupleÚExpr.is_tupleï   s+   € ô ˜$¤Ó.×Y°4×3FÑ3F×3LÑ3LÓ3NÐRYÑ3YÐYr6   c                óN   • [        U [        5      =(       a    U R                  S:H  $ )z'Whether this expression is an iterator.r   r¡   rz   s    r7   Úis_iteratorÚExpr.is_iteratorô   r¥   r6   c                óN   • [        U [        5      =(       a    U R                  S:H  $ )z'Whether this expression is a generator.Ú	Generatorr¡   rz   s    r7   Úis_generatorÚExpr.is_generatorù   s!   € ô ˜$¤Ó.×U°4×3FÑ3FÈ+Ñ3UÐUr6   c                óf  • [        U 5      S:X  aX  U u  p#[        U[        5      (       a  UR                  5       n[        U[        5      (       a  UR                  5       n[	        X!US9$ [
        R                  U S S US9nU S   n[        U[        5      (       a  UR                  5       n[	        X!US9$ )Né   ©ÚleftrF   Úrightr™   ©Úop)ÚlenrA   rB   r…   rE   r¢   Ú	_to_binop)rU   r·   r´   rµ   s       r7   r¹   ÚExpr._to_binopþ   sž   € äˆx‹=˜AÓØ"‰KˆDÜ˜$¤×%Ñ%Ø—~‘~Ó'�Ü˜%¤×&Ñ&ØŸ™Ó)�Ü $¸5ÑAÐAä×&Ñ& x°° }¸Ð&Ð<ˆØ˜‘ˆÜ�eœT×"Ñ"Ø—O‘OÓ%ˆEÜ˜d°uÑ=Ð=r6   r   N©Úreturnru   )r¼   úIterator[str | Expr]©r8   Úboolr¼   r½   )r¼   rB   )r^   r
   r¼   údict[str, Any]©r¼   r¿   )rU   úSequence[Expr]r·   ru   r¼   rE   )r   r   r   r   Ú__doc__r|   r   rH   r…   rˆ   Úpropertyrk   r�   r”   r�   r£   r¨   r«   r¯   Ústaticmethodr¹   r5   r   r6   r7   rB   rB   ¡   sâ   † á%ôiô,ð '+÷ ô&ô
-ð ó'ó ð'ð óó ðð óó ðð óZó ðZð
 óUó ðUð óZó ðZð óUó ðUð óVó ðVð ó>ó ó>r6   )ÚeqÚslotsc                  óœ   • \ rS rSr% SrS\S'    SS.SS jjrSS jrSS	 jr\	SS
 j5       r
\	SS j5       r\	SS j5       r\	SS j5       rSrg)ÚExprAttributei  zAttributes like `a.b`.zlist[str | Expr]ÚvaluesTr>   c             #  óÂ   #   • [        U 5      n[        U R                  S   XSS9 S h  v•N   U R                  SS   H  nSv •  [        X1US9 S h  v•N   M     g  N1 N7f)Nr   Tr@   r˜   r—   rQ   )rC   rJ   rÊ   )r{   r8   Ú
precedenceÚvalues       r7   rH   ÚExprAttribute.iterate  s_   é € Ü$ TÓ*ˆ
Ü˜$Ÿ+™+ a™.¨tÐZ^Ñ_×_Ð_Ø—[‘[  “_ˆEØŠIÜ˜eÀÑL×LÒLò %ñ 	`ñ Mùs!   ‚'A©Aª'AÁAÁ
AÁAc                óŒ   • [         R                  U R                  5      =n(       a  [        XR                  R
                  S9$ U $ ©N)rf   )Ú_modern_typesÚgetr”   ÚExprNameÚlastrf   ©r{   Úmoderns     r7   r…   ÚExprAttribute.modernize  s8   € Ü"×&Ñ& t×':Ñ':Ó;Ð;ˆ6Õ;Ü˜F¯9©9×+;Ñ+;Ñ<Ð<Øˆr6   c                óv   • UR                   c  U R                  Ul         U R                  R                  U5        g)zXAppend a name to this attribute.

Parameters:
    value: The expression name to append.
N)rf   rÔ   rÊ   Úappend)r{   rÍ   s     r7   rÙ   ÚExprAttribute.append"  s+   € ð �<‰<ÑØŸ9™9ˆEŒLØ�‰×Ñ˜5Õ!r6   c                ó    • U R                   S   $ )z/The last part of this attribute (on the right).r™   ©rÊ   rz   s    r7   rÔ   ÚExprAttribute.last,  s   € ð
 �{‰{˜2‰Ðr6   c                ó    • U R                   S   $ )z/The first part of this attribute (on the left).r   rÜ   rz   s    r7   ÚfirstÚExprAttribute.first3  s   € ð �{‰{˜1‰~Ðr6   c                ó.   • U R                   R                  $ )zThe path of this attribute.)rÔ   r�   rz   s    r7   r�   ÚExprAttribute.path8  s   € ð �y‰y�~‰~Ðr6   c                ó.   • U R                   R                  $ )z%The canonical path of this attribute.)rÔ   r”   rz   s    r7   r”   ÚExprAttribute.canonical_path=  s   € ð �y‰y×'Ñ'Ð'r6   r   Nr¾   )r¼   zExprName | ExprAttribute)rÍ   rÓ   r¼   ÚNone©r¼   rÓ   )r¼   ú
str | Exprr»   )r   r   r   r   rÃ   Ú__annotations__rH   r…   rÙ   rÄ   rÔ   rß   r�   r”   r5   r   r6   r7   rÉ   rÉ     sq   ‡ á àÓØ2à&*÷ Môô
"ð óó ðð óó ðð óó ðð ó(ó ó(r6   rÉ   c                  óP   • \ rS rSr% SrS\S'    S\S'    S\S'    SS	.SS
 jjrSrg)rE   iC  zBinary operations like `a + b`.rç   r´   ru   rF   rµ   Tr>   c             #  ó@  #   • [        U 5      nUnU R                  S:X  a-  [        U R                  [        5      (       a  [        US-
  5      n[        U R                  XSS9 S h  v•N   SU R                   S3v •  [        U R                  XSS9 S h  v•N   g  N4 N7f)Nr<   r˜   Tr@   Ú F)rC   rF   rA   rµ   ÚExprUnaryOpr   rJ   r´   )r{   r8   rÌ   Úright_precedences       r7   rH   ÚExprBinOp.iterateN  sŠ   é € Ü$ TÓ*ˆ
Ø%ÐØ�=‰=˜DÓ ¤Z°·
±
¼K×%HÑ%Hä2°:À±>ÓBÐÜ˜$Ÿ)™)¨$ÐUYÑZ×ZÐZØ�$—-‘-� Ð"Ò"Ü˜$Ÿ*™*¨4Ð\aÑb×bÑbñ 	[ábùs$   ‚A#BÁ%BÁ&.BÂBÂBÂBr   Nr¾   ©r   r   r   r   rÃ   rè   rH   r5   r   r6   r7   rE   rE   C  s.   ‡ á)à
ÓØØƒMØØÓØà&*÷ cò cr6   rE   c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)rG   iY  z!Boolean operations like `a or b`.ru   rF   úSequence[str | Expr]rÊ   Tr>   c             #  óè   #   • [        U 5      n[        U R                  5      n[        [	        U5      XSS9 S h  v•N   U H(  nSU R
                   S3v •  [        XAUSS9 S h  v•N   M*     g  N3 N7f)NTr@   rë   F)rC   rR   rÊ   rJ   rS   rF   )r{   r8   rÌ   rW   rÍ   s        r7   rH   ÚExprBoolOp.iterateb  sp   é € Ü$ TÓ*ˆ
Ü�$—+‘+ÓˆÜœ$˜r›(¨ÐTXÑY×YÐYÛˆEØ�d—m‘m�_ AÐ&Ò&Ü˜eÀÐUZÑ[×[Ò[ò ñ 	Zñ \ùs!   ‚8A2ºA.»)A2Á$A0Á%
A2Á0A2r   Nr¾   rï   r   r6   r7   rG   rG   Y  s%   ‡ á+àƒMØØ Ó Øà&*÷ \ò \r6   rG   c                  óX   • \ rS rSr% SrS\S'    S\S'    \SS j5       rSS	.SS
 jjrSr	g)ÚExprCallik  zCalls like `f()`.rB   Úfunctionrñ   Ú	argumentsc                ó.   • U R                   R                  $ ©z1The canonical path of this subscript's left part.)rö   r”   rz   s    r7   r”   ÚExprCall.canonical_patht  s   € ð �}‰}×+Ñ+Ð+r6   Tr>   c             #  óª   #   • [        U R                  U[        U 5      S9 S h  v•N   Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  N* N7f)NrQ   r=   ú, r>   r?   )rJ   rö   rC   rX   r÷   r‚   s     r7   rH   ÚExprCall.iteratey  sJ   é € Ü˜$Ÿ-™-¨dÄ_ÐUYÓEZÑ[×[Ð[ØŠ	Ü˜Ÿ™¨°DÑ9×9Ð9Ø‹	ñ 	\á9ùs!   ‚"A¤A¥ AÁAÁ
AÁAr   Nr»   r¾   )
r   r   r   r   rÃ   rè   rÄ   r”   rH   r5   r   r6   r7   rõ   rõ   k  s7   ‡ áàƒNØØ#Ó#Øàó,ó ð,ð '+÷ ò r6   rõ   c                  óP   • \ rS rSr% SrS\S'    S\S'    S\S'    S	S
.SS jjrSrg)ÚExprComparei€  zComparisons like `a > b`.rç   r´   zSequence[str]Ú	operatorsrñ   ÚcomparatorsTr>   c             #  óè   #   • [        U 5      n[        U R                  XSS9 S h  v•N   [        U R                  U R
                  SS9 H  u  p4SU S3v •  [        XAUS9 S h  v•N   M!     g  NG N7f)NTr@   F©Ústrictrë   rQ   )rC   rJ   r´   Úzipr   r  )r{   r8   rÌ   r·   Úcomps        r7   rH   ÚExprCompare.iterate‹  so   é € Ü$ TÓ*ˆ
Ü˜$Ÿ)™)¨$ÐUYÑZ×ZÐZÜ˜DŸN™N¨D×,<Ñ,<ÀUÔK‰HˆBØ�b�T˜�)ŠOÜ˜dÀ
ÑK×KÒKò Lñ 	[ñ Lùs!   ‚$A2¦A.§=A2Á$A0Á%
A2Á0A2r   Nr¾   rï   r   r6   r7   rÿ   rÿ   €  s/   ‡ á#à
ÓØØÓØØ%Ó%Øà&*÷ Lò Lr6   rÿ   c                  ó`   • \ rS rSr% SrS\S'    S\S'    S\S'    SrS	\S
'    SS.SS jjrSrg)ÚExprComprehensioni“  z(Comprehensions like `a for b in c if d`.rç   ÚtargetÚiterablerñ   Ú
conditionsFr¿   Úis_asyncTr>   c             #  ó(  #   • U R                   (       a  Sv •  Sv •  [        U R                  US9 S h  v•N   Sv •  [        U R                  US9 S h  v•N   U R                  (       a"  Sv •  [        U R                  SUS9 S h  v•N   g g  NX N: N
7f)Nzasync zfor r>   z in ú if )r  rJ   r
  r  r  rX   r‚   s     r7   rH   ÚExprComprehension.iterate   sx   é € Ø�=�=ØŠNØŠÜ˜$Ÿ+™+¨DÑ1×1Ð1ØŠÜ˜$Ÿ-™-¨dÑ3×3Ð3Ø�?�?ØŠLÜ˜TŸ_™_¨f¸4Ñ@×@Ñ@ð ñ 	2á3ñ Aùs3   ‚1B³B´BÁBÁ1BÂBÂBÂBÂBr   Nr¾   )	r   r   r   r   rÃ   rè   r  rH   r5   r   r6   r7   r	  r	  “  s<   ‡ á2àÓØ;ØÓØØ$Ó$Ø9Ø€HˆdÓØ%à&*÷ 	Aò 	Ar6   r	  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprConstanti°  zConstants like `"a"` or `1`.ru   rÍ   Tr>   c             #  ó(   #   • U R                   v •  g 7frZ   )rÍ   r‚   s     r7   rH   ÚExprConstant.iterate·  s   é € Ø�j‰jÓùs   ‚r   Nr¾   rï   r   r6   r7   r  r  °  s   ‡ á&àƒJØà&*÷ ò r6   r  c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)ÚExprDicti»  zDictionaries like `{"a": 0}`.zSequence[str | Expr | None]Úkeysrñ   rÊ   Tr>   c          	   #  óŽ   #   • Sv •  [        S [        U R                  U R                  SS9 5       SUS9 S h  v•N   Sv •  g  N	7f)NÚ{c              3  ó:   #   • U  H  u  pUc  SOUSU4v •  M     g 7f)Nrå   ú: r   )rv   re   rÍ   s      r7   rw   Ú#ExprDict.iterate.<locals>.<genexpr>Ç  s!   é € ÐwÒMv¹z¸s˜™‰f¨¨d°EÕ:ÒMvùs   ‚Fr  rü   r>   Ú})rX   r  r  rÊ   r‚   s     r7   rH   ÚExprDict.iterateÄ  sN   é € ØŠ	ÜÙwÌSÐQU×QZÑQZÐ\`×\gÑ\gÐpuÒMvÓwØØñ
÷ 	
ð 	
ð
 ‹	ñ	
ùs   ‚7A¹Aº
Ar   Nr¾   rï   r   r6   r7   r  r  »  s$   ‡ á'à
%Ó%ØØ Ó Øà&*÷ ò r6   r  c                  óP   • \ rS rSr% SrS\S'    S\S'    S\S'    SS	.SS
 jjrSrg)ÚExprDictCompiÎ  z0Dict comprehensions like `{k: v for k, v in a}`.rç   re   rÍ   rÂ   Ú
generatorsTr>   c             #  óâ   #   • Sv •  [        U R                  US9 S h  v•N   Sv •  [        U R                  US9 S h  v•N   Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  NJ N, N7f)Nr  r>   r  rë   r  )rJ   re   rÍ   rX   r!  r‚   s     r7   rH   ÚExprDictComp.iterateÙ  sb   é € ØŠ	Ü˜$Ÿ(™(¨Ñ.×.Ð.ØŠ
Ü˜$Ÿ*™*¨4Ñ0×0Ð0ØŠ	Ü˜Ÿ™¨#°DÑ9×9Ð9Ø‹	ñ 	/á0á9ùs1   ‚A/žA)ŸA/¾A+¿ A/ÁA-Á 
A/Á+A/Á-A/r   Nr¾   rï   r   r6   r7   r   r   Î  s,   ‡ á:à	ƒOØØÓØØÓØ!à&*÷ ò r6   r   c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprExtSliceiã  z Extended slice like `a[x:y, z]`.rñ   ÚdimsTr>   c             #  óJ   #   • [        U R                  SUS9 S h  v•N   g  N7f)Nrü   r>   )rX   r&  r‚   s     r7   rH   ÚExprExtSlice.iterateê  s   é € Ü˜Ÿ™ D¨tÑ4×4Ó4ùs   ‚#›!œ#r   Nr¾   rï   r   r6   r7   r%  r%  ã  s   ‡ á*à
ÓØà&*÷ 5ò 5r6   r%  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprFormattediî  z Formatted string like `{1 + 1}`.rç   rÍ   Tr>   c             #  óv   #   • Sv •  [        U R                  U[        R                  S9 S h  v•N   Sv •  g  N	7f©Nr  rQ   r  ©rJ   rÍ   r   r    r‚   s     r7   rH   ÚExprFormatted.iterateõ  ó2   é € ØŠ	ä˜$Ÿ*™*¨4ÔBU×BZÑBZÑ[×[Ð[Ø‹	ñ 	\ùó   ‚+9­7®
9r   Nr¾   rï   r   r6   r7   r*  r*  î  s   ‡ á*àÓØà&*÷ ò r6   r*  c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)ÚExprGeneratorExpiü  z5Generator expressions like `a for b in c for d in e`.rç   rK   rÂ   r!  Tr>   c             #  óŽ   #   • [        U R                  US9 S h  v•N   Sv •  [        U R                  SUS9 S h  v•N   g  N& N7f)Nr>   rë   ©rJ   rK   rX   r!  r‚   s     r7   rH   ÚExprGeneratorExp.iterate  s<   é € Ü˜$Ÿ,™,¨TÑ2×2Ð2ØŠ	Ü˜Ÿ™¨#°DÑ9×9Ñ9ñ 	3á9ùs   ‚AšA› A»A¼AÁAr   Nr¾   rï   r   r6   r7   r2  r2  ü  s$   ‡ á?àÓØØÓØ!à&*÷ :ò :r6   r2  c                  óP   • \ rS rSr% SrS\S'    S\S'    S\S'    SS.SS	 jjrS
rg)rD   i  z Conditions like `a if b else c`.rç   ÚbodyÚtestÚorelseTr>   c             #  óŒ  #   • [        U 5      n[        U R                  XSS9 S h  v•N   Sv •  [        US-   5      n[        U R                  XS9 S h  v•N   Sv •  [        U R                  [        5      (       a"  U R                  R                  US9 S h  v•N   g [        U R                  XSS9 S h  v•N   g  N• Ni N' N7f)	NTr@   r  r˜   rQ   z else r>   F)	rC   rJ   r7  r   r8  rA   r9  rD   rH   )r{   r8   rÌ   Útest_outer_precedences       r7   rH   ÚExprIfExp.iterate  s®   é € Ü$ TÓ*ˆ
Ü˜$Ÿ)™)¨$ÐUYÑZ×ZÐZØŠô !4°JÀ±NÓ CÐÜ˜$Ÿ)™)¨$ÑW×WÐWØŠô �d—k‘k¤9×-Ñ-Ø—{‘{×*Ñ*°Ð*Ð5×5Ñ5ä˜dŸk™k°Ð[`Ña×aÑañ 	[ñ
 	Xñ 6áaùsF   ‚$C¦B<§-CÁB>ÁACÂC ÂCÂ6CÂ7CÂ>CÃ CÃCr   Nr¾   rï   r   r6   r7   rD   rD     s/   ‡ á*à
ÓØØ
ÓØØÓØà&*÷ bò br6   rD   c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprInterpolationi(  z,Template string interpolation like `{name}`.rç   rÍ   Tr>   c             #  óv   #   • Sv •  [        U R                  U[        R                  S9 S h  v•N   Sv •  g  N	7fr,  r-  r‚   s     r7   rH   ÚExprInterpolation.iterate/  r/  r0  r   Nr¾   rï   r   r6   r7   r>  r>  (  s   ‡ á6àÓØà&*÷ ò r6   r>  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprJoinedStri6  z!Joined strings like `f"a {b} c"`.rñ   rÊ   Tr>   c             #  óZ   #   • Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  N	7f)Nzf'rs   r>   Ú'©rX   rÊ   r‚   s     r7   rH   ÚExprJoinedStr.iterate=  ó*   é € ØŠ
Ü˜Ÿ™ b¨tÑ4×4Ð4Ø‹	ñ 	5ùó   ‚+Ÿ) 
+r   Nr¾   rï   r   r6   r7   rB  rB  6  s   ‡ á+à Ó Øà&*÷ ò r6   rB  c                  óv   ^ • \ rS rSr% SrS\S'    S\S'    SrS\S	'    \SU 4S
 jj5       rSS.SS jjr	Sr
U =r$ )ÚExprKeywordiC  zKeyword arguments like `a=b`.ru   ra   rç   rÍ   NúExpr | Nonerö   c                óŽ   >• U R                   (       a&  U R                   R                   SU R                   S3$ [        [        U ]  $ )zPath of the expressed keyword.r=   r?   )rö   r”   ra   ÚsuperrJ  )r{   r‹   s    €r7   r”   ÚExprKeyword.canonical_path^  s;   ø€ ð �=�=Ø—m‘m×2Ñ2Ð3°1°T·Y±Y°K¸qÐAÐAÜ”[ $Ñ6Ð6r6   Tr>   c             #  ól   #   • U R                   v •  Sv •  [        U R                  US9 S h  v•N   g  N7f)NÚ=r>   )ra   rJ   rÍ   r‚   s     r7   rH   ÚExprKeyword.iteratee  s'   é € Ø�i‰iŠØŠ	Ü˜$Ÿ*™*¨4Ñ0×0Ó0ùs   ‚*4¬2­4r   r»   r¾   )r   r   r   r   rÃ   rè   rö   rÄ   r”   rH   r5   Ú__classcell__)r‹   s   @r7   rJ  rJ  C  sG   ø‡ á'à
ƒIØØÓØð" !€HˆkÓ ØIàö7ó ð7ð '+÷ 1õ 1r6   rJ  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprVarPositionalik  z,Variadic positional parameters like `*args`.rB   rÍ   Tr>   c             #  óP   #   • Sv •  [        U R                  US9 S h  v•N   g  N7f)NÚ*r>   ©rJ   rÍ   r‚   s     r7   rH   ÚExprVarPositional.iterater  s   é € ØŠ	Ü˜$Ÿ*™*¨4Ñ0×0Ó0ùó   ‚&ž$Ÿ&r   Nr¾   rï   r   r6   r7   rT  rT  k  s   ‡ á6àƒKØà&*÷ 1ò 1r6   rT  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprVarKeywordiw  z,Variadic keyword parameters like `**kwargs`.rB   rÍ   Tr>   c             #  óP   #   • Sv •  [        U R                  US9 S h  v•N   g  N7f)Nr<   r>   rW  r‚   s     r7   rH   ÚExprVarKeyword.iterate~  s   é € ØŠ
Ü˜$Ÿ*™*¨4Ñ0×0Ó0ùrY  r   Nr¾   rï   r   r6   r7   r[  r[  w  s   ‡ á6àƒKØà&*÷ 1ò 1r6   r[  c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)Ú
ExprLambdaiƒ  z(Lambda expressions like `lambda a: a.b`.zSequence[ExprParameter]Ú
parametersrç   r7  Tr>   c             #  ó¸  #   • SnSnSn[        U R                  5      nSv •  U(       a  Sv •  [        U R                  S5       GH^  u  pgUR                  [        R
                  L a  SnO•UR                  [        R                  L a  Sv •  OsUR                  [        R                  L a  Sv •  OQUR                  [        R                  L a
  U(       d  SnO*UR                  [        R                  L a  U(       d  SnSv •  UR                  [        R
                  La  U(       a  SnS	v •  UR                  v •  UR                  (       aN  UR                  [        R                  [        R                  4;  a   S
v •  [        UR                  US9 S h  v•N   Xe:  d  GMZ  Sv •  GMa     Sv •  [        U R                  U[        R                  S9 S h  v•N   g  NE N7f)NFÚlambdarë   r˜   TrV  r<   z*, z/, rP  r>   rü   r  rQ   )r¸   r`  Ú	enumerateÚkindr   Úpositional_onlyÚvar_positionalÚvar_keywordÚpositional_or_keywordÚkeyword_onlyra   ÚdefaultrJ   r7  r   r    )r{   r8   Úpos_onlyÚ	pos_or_kwÚkw_onlyÚlengthÚindexÚ	parameters           r7   rH   ÚExprLambda.iterateŒ  sf  é € ØˆØˆ	ØˆÜ�T—_‘_Ó%ˆØŠÞØŠIÜ )¨$¯/©/¸1× =ÑˆEØ�~‰~¤×!>Ñ!>Ò>Ø‘Ø—‘¤=×#?Ñ#?Ò?Ø“	Ø—‘¤=×#<Ñ#<Ò<Ø“
Ø—‘¤=×#FÑ#FÒFÎyØ ‘	Ø—‘¤=×#=Ñ#=Ò=ÆgØ�Ø’Ø�~‰~¤]×%BÑ%BÒBÆxØ �Ø’Ø—.‘.Ò Ø× ×  Y§^¡^¼M×<XÑ<XÔZg×ZsÑZsÐ;tÓ%tØ’	Ü! )×"3Ñ"3¸$Ñ?×?Ð?ØŽ~Ø•
ñ) !>ð* Š
ä˜$Ÿ)™)¨$ÔAT×AYÑAYÑZ×ZÑZñ @ñ
 	[ùs*   ‚FGÆGÆGÆ3GÇGÇGÇGr   Nr¾   rï   r   r6   r7   r_  r_  ƒ  s&   ‡ á2à'Ó'ØØ
ÓØà&*÷ [ò [r6   r_  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprListi®  zLists like `[0, 1, 2]`.rÂ   rU   Tr>   c             #  óZ   #   • Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  N	7f)NÚ[rü   r>   Ú]©rX   rU   r‚   s     r7   rH   ÚExprList.iterateµ  ó*   é € ØŠ	Ü˜Ÿ™¨°4Ñ8×8Ð8Ø‹	ñ 	9ùrH  r   Nr¾   rï   r   r6   r7   rs  rs  ®  s   ‡ á!àÓØà&*÷ ò r6   rs  c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)ÚExprListCompi»  z*List comprehensions like `[a for b in c]`.rç   rK   rÂ   r!  Tr>   c             #  óž   #   • Sv •  [        U R                  US9 S h  v•N   Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  N* N7f)Nru  r>   rë   rv  r4  r‚   s     r7   rH   ÚExprListComp.iterateÄ  óF   é € ØŠ	Ü˜$Ÿ,™,¨TÑ2×2Ð2ØŠ	Ü˜Ÿ™¨#°DÑ9×9Ð9Ø‹	ñ 	3á9ùó    ‚AžA	Ÿ A¿AÁ 
AÁAr   Nr¾   rï   r   r6   r7   r{  r{  »  s$   ‡ á4àÓØØÓØ!à&*÷ ò r6   r{  c                  óø   • \ rS rSr% SrS\S'    SrS\S'    SrS\S	'    SS
 jrSS.SS jjr	SS jr
\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       rSrg)rÓ   iÌ  zLThis class represents a Python object identified by a name in a given scope.ru   ra   Nz1str | ExprName | Module | Class | Function | Nonerf   ú
str | NoneÚmemberc                ój   • [        U[        5      (       a  U R                  UR                  :H  $ [        $ )zXTwo name expressions are equal if they have the same `name` value (`parent` is ignored).)rA   rÓ   ra   ÚNotImplemented)r{   Úothers     r7   Ú__eq__ÚExprName.__eq__×  s(   € ä�eœX×&Ñ&Ø—9‘9 §
¡
Ñ*Ð*ÜÐr6   Tr>   c             #  ó   #   • U v •  g 7frZ   r   r‚   s     r7   rH   ÚExprName.iterateÝ  s
   é € Ø‹
ùs   ‚c                óx   • [         R                  U R                  5      =n(       a  [        XR                  S9$ U $ rÐ   )rÑ   rÒ   r”   rÓ   rf   rÕ   s     r7   r…   ÚExprName.modernizeà  s2   € Ü"×&Ñ& t×':Ñ':Ó;Ð;ˆ6Õ;Ü˜F¯;©;Ñ7Ð7Øˆr6   c                ó¢   • [        U R                  [        5      (       a%  U R                  R                   SU R                   3$ U R                  $ )zºThe full, resolved name.

If it was given when creating the name, return that.
If a callable was given, call it and return its result.
It the name cannot be resolved, return the source.
r—   )rA   rf   rÓ   r�   ra   rz   s    r7   r�   ÚExprName.pathå  s?   € ô �d—k‘k¤8×,Ñ,Ø—k‘k×&Ñ&Ð' q¨¯©¨Ð4Ð4Ø�y‰yÐr6   c                ó  • U R                   c  U R                  $ [        U R                   [        5      (       a%  U R                   R                   SU R                   3$ [        U R                   [
        5      (       a  U R                    SU R                   3$ U R                   R                  R                  U R                  U R                   5      n UR                  U R                  5      $ ! [         a    U R                  s $ f = f)z2The canonical name (resolved one, not alias name).r—   )rf   ra   rA   rÓ   r”   ru   ÚmembersrÒ   r‚  Úresolver   )r{   rf   s     r7   r”   ÚExprName.canonical_pathñ  sÈ   € ð �;‰;ÑØ—9‘9ÐÜ�d—k‘k¤8×,Ñ,Ø—k‘k×0Ñ0Ð1°°4·9±9°+Ð>Ð>Ü�d—k‘k¤3×'Ñ'Ø—k‘k�] ! D§I¡I ;Ð/Ð/Ø—‘×$Ñ$×(Ñ(¨¯©°d·k±kÓBˆð	Ø—>‘> $§)¡)Ó,Ð,øÜ"ó 	Ø—9‘9Òð	ús   ÃC. Ã.DÄDc                óâ   •  U R                   R                  U R                   R                  U R                  5         $ ! [         a&    U R                   R
                  U R                     s $ f = f)z(The resolved object this name refers to.)rf   Úmodules_collectionr�  ra   Ú	ExceptionÚresolvedrz   s    r7   r•  ÚExprName.resolved   sW   € ð	3Ø—;‘;×1Ñ1°$·+±+×2EÑ2EÀdÇiÁiÓ2PÑQÐQøÜó 	3Ø—;‘;×'Ñ'¨¯	©	Ñ2Ò2ð	3ús   ‚;> ¾-A.Á-A.c                ót   •  U R                   R                  n[        S U 5       5      $ ! [         a     gf = f)z3Whether this name resolves to an enumeration class.Fc              3  ón   #   • U  H+  n[        U[        5      =(       a    UR                  S :H  v •  M-     g7f)z	enum.EnumN)rA   rB   r”   )rv   Úbases     r7   rw   Ú)ExprName.is_enum_class.<locals>.<genexpr>  s-   é € ÐcÒ]bÐUY”:˜d¤DÓ)×P¨d×.AÑ.AÀ[Ñ.PÔPÒ]bùs   ‚35)r•  Úbasesr”  Úany)r{   r›  s     r7   Úis_enum_classÚExprName.is_enum_class  s>   € ð	Ø—M‘M×'Ñ'ˆEô ÑcÑ]bÓcÓcÐcøô ó 	Ùð	ús   ‚* ª
7¶7c                óP   •  U R                   R                  $ ! [         a     gf = f)z6Whether this name resolves to an enumeration instance.F)rf   r�  r”  rz   s    r7   Úis_enum_instanceÚExprName.is_enum_instance  s)   € ð	Ø—;‘;×,Ñ,Ð,øÜó 	Ùð	ús   ‚ ˜
%¤%c                ó|   •  U R                   S:H  =(       a    U R                  R                  $ ! [         a     gf = f)z3Whether this name resolves to an enumeration value.rÍ   F)ra   rf   r   r”  rz   s    r7   Úis_enum_valueÚExprName.is_enum_value  s7   € ð	Ø—9‘9 Ñ'×H¨D¯K©K×,HÑ,HÐHøÜó 	Ùð	ús   ‚+. ®
;º;c                ó    • SU R                   ;   $ )z/Whether this name resolves to a type parameter.ru  )r”   rz   s    r7   Úis_type_parameterÚExprName.is_type_parameter$  s   € ð �d×)Ñ)Ñ)Ð)r6   r   )r…  Úobjectr¼   r¿   )r8   r¿   r¼   zIterator[ExprName]ræ   r»   )r¼   zModule | Class | NonerÁ   )r   r   r   r   rÃ   rè   rf   r‚  r†  rH   r…   rÄ   r�   r”   r•  r�  r   r£  r¦  r5   r   r6   r7   rÓ   rÓ   Ì  sÊ   ‡ áVà
ƒIØØ@D€FÐ=ÓDØ/Ø€FˆJÓØ4ôð '+÷ ôð
 ó	ó ð	ð óó ðð ó3ó ð3ð ó	dó ð	dð óó ðð óó ðð ó*ó ó*r6   rÓ   c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)ÚExprNamedExpri*  z+Named/assignment expressions like `a := b`.rB   r
  rç   rÍ   Tr>   c             #  óŒ   #   • [        U R                  US9 S h  v•N   Sv •  [        U R                  US9 S h  v•N   g  N% N7f)Nr>   z := )rJ   r
  rÍ   r‚   s     r7   rH   ÚExprNamedExpr.iterate3  s:   é € Ü˜$Ÿ+™+¨DÑ1×1Ð1ØŠÜ˜$Ÿ*™*¨4Ñ0×0Ñ0ñ 	2á0ùs   ‚AšA ›AºA»AÁAr   Nr¾   rï   r   r6   r7   rª  rª  *  s#   ‡ á5àƒLØØÓØà&*÷ 1ò 1r6   rª  c                  óh   • \ rS rSr% SrS\S'    \R                  rS\S'    Sr	S\S	'    Sr
S
\S'   Srg)ÚExprParameteri9  z4Parameters in function signatures like `a: int = 0`.ru   ra   r   rd  NrK  Ú
annotationústr | Expr | Nonerj  r   )r   r   r   r   rÃ   rè   r   rh  rd  r¯  rj  r5   r   r6   r7   r®  r®  9  s;   ‡ á>à
ƒIØØ'×=Ñ=€Dˆ-Ó=ØØ"€J�Ó"ØØ!%€GÐÓ%Úr6   r®  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprSetiG  zSets like `{0, 1, 2}`.rñ   rU   Tr>   c             #  óZ   #   • Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  N	7f)Nr  rü   r>   r  rw  r‚   s     r7   rH   ÚExprSet.iterateN  ry  rH  r   Nr¾   rï   r   r6   r7   r²  r²  G  s   ‡ á à"Ó"Øà&*÷ ò r6   r²  c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)ÚExprSetCompiT  z)Set comprehensions like `{a for b in c}`.rç   rK   rÂ   r!  Tr>   c             #  óž   #   • Sv •  [        U R                  US9 S h  v•N   Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  N* N7f)Nr  r>   rë   r  r4  r‚   s     r7   rH   ÚExprSetComp.iterate]  r~  r  r   Nr¾   rï   r   r6   r7   r¶  r¶  T  s$   ‡ á3àÓØØÓØ!à&*÷ ò r6   r¶  c                  ó\   • \ rS rSr% SrSrS\S'    SrS\S'    SrS\S'    SS	.SS
 jjr	Sr
g)Ú	ExprSliceie  zSlices like `[a:b:c]`.Nr°  r§   ÚupperÚstepTr>   c             #  ó   #   • U R                   b  [        U R                   US9 S h  v•N   Sv •  U R                  b  [        U R                  US9 S h  v•N   U R                  b!  Sv •  [        U R                  US9 S h  v•N   g g  N` N5 N
7f)Nr>   Ú:)r§   rJ   r»  r¼  r‚   s     r7   rH   ÚExprSlice.iteratep  s}   é € Ø�:‰:Ñ!Ü˜dŸj™j¨tÑ4×4Ð4ØŠ	Ø�:‰:Ñ!Ü˜dŸj™j¨tÑ4×4Ð4Ø�9‰9Ñ ØŠIÜ˜dŸi™i¨dÑ3×3Ñ3ð !ñ	 5ñ 5ñ 4ùs3   ‚%B§B¨,BÁB
Á,BÂBÂBÂ
BÂBr   r¾   )r   r   r   r   rÃ   r§   rè   r»  r¼  rH   r5   r   r6   r7   rº  rº  e  s<   ‡ á à#€EÐÓ#ØØ#€EÐÓ#ØØ"€DÐ
Ó"Øà&*÷ 4ò 4r6   rº  c                  óv   • \ rS rSr% SrS\S'    S\S'    SS.SS jjrSS	 jr\SS
 j5       r	\SS j5       r
Srg)r¢   i{  zSubscripts like `a[b]`.rç   r´   ÚsliceTr>   c             #  óÆ   #   • [        U R                  U[        U 5      S9 S h  v•N   Sv •  [        U R                  U[        R
                  S9 S h  v•N   Sv •  g  N8 N7f)NrQ   ru  rv  )rJ   r´   rC   rÁ  r   r    r‚   s     r7   rH   ÚExprSubscript.iterate„  sT   é € Ü˜$Ÿ)™)¨$ÄÐQUÓAVÑW×WÐWØŠ	ä˜$Ÿ*™*¨4ÔBU×BZÑBZÑ[×[Ð[Ø‹	ñ	 	Xñ 	\ùs!   ‚"A!¤A¥.A!ÁAÁ
A!ÁA!c                óN  • U R                   S:X  a$  U R                  U R                  R                  SS9$ U R                   S:X  aP  [	        U R                  [
        5      (       a  U R                  OU R                  R                  5       n[        USSS9$ [        [	        U R                  [
        5      (       a  U R                  OU R                  R                  5       [	        U R                  [
        5      (       a  U R                  S9$ U R                  R                  5       S9$ )Nztyping.UnionÚ|r¶   ztyping.Optionalrå   r³   )r´   rÁ  )
r”   r¹   rÁ  rU   rA   ru   r…   rE   r¢   r´   )r{   r´   s     r7   r…   ÚExprSubscript.modernize‹  s×   € Ø×Ñ .Ó0Ø—>‘> $§*¡*×"5Ñ"5¸#�>Ð>Ð>Ø×ÑÐ"3Ó3Ü!+¨D¯J©J¼×!<Ñ!<�4—:’:À$Ç*Á*×BVÑBVÓBXˆDÜ $°¸FÑCÐCÜÜ(¨¯©´C×8Ñ8�—’¸d¿i¹i×>QÑ>QÓ>SÜ *¨4¯:©:´s× ;Ñ ;�$—*‘*ñ
ð 	
àAEÇÁ×AUÑAUÓAWñ
ð 	
r6   c                ó„   • [        U R                  [        5      (       a  U R                  $ U R                  R                  $ )z'The path of this subscript's left part.)rA   r´   ru   r�   rz   s    r7   r�   ÚExprSubscript.path–  s-   € ô �d—i‘i¤×%Ñ%Ø—9‘9ÐØ�y‰y�~‰~Ðr6   c                ó„   • [        U R                  [        5      (       a  U R                  $ U R                  R                  $ rù   )rA   r´   ru   r”   rz   s    r7   r”   ÚExprSubscript.canonical_path�  s/   € ô �d—i‘i¤×%Ñ%Ø—9‘9ÐØ�y‰y×'Ñ'Ð'r6   r   Nr¾   )r¼   zExprBinOp | ExprSubscriptr»   )r   r   r   r   rÃ   rè   rH   r…   rÄ   r�   r”   r5   r   r6   r7   r¢   r¢   {  sL   ‡ á!à
ÓØØÓØà&*÷ ô	
ð óó ðð ó(ó ó(r6   r¢   c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprTemplateStri¥  z$Template strings like `t"a {name}"`.rñ   rÊ   Tr>   c             #  óZ   #   • Sv •  [        U R                  SUS9 S h  v•N   Sv •  g  N	7f)Nzt'rs   r>   rD  rE  r‚   s     r7   rH   ÚExprTemplateStr.iterate¬  rG  rH  r   Nr¾   rï   r   r6   r7   rÌ  rÌ  ¥  s   ‡ á.à Ó Øà&*÷ ò r6   rÌ  c                  óR   • \ rS rSr% SrS\S'    SrS\S'    SS	.SS
 jjrSS jrSr	g)Ú	ExprTuplei²  zTuples like `(0, 1, 2)`.rñ   rU   Fr¿   ÚimplicitTr>   c             #  óÚ   #   • U R                   (       d  Sv •  [        U R                  SUS9 S h  v•N   [        U R                  5      S:X  a  Sv •  U R                   (       d  Sv •  g g  N87f)Nr=   rü   r>   r˜   Ú,r?   )rÑ  rX   rU   r¸   r‚   s     r7   rH   ÚExprTuple.iterate»  sS   é € Ø�}�}ØŠIÜ˜Ÿ™¨°4Ñ8×8Ð8Üˆt�}‰}Ó Ó"ØŠIØ�}�}Ø‹Ið ñ 	9ùs   ‚.A+°A)±9A+c           	     ó´   • [        U R                   Vs/ s H*  n[        U[        5      (       a  UOUR	                  5       PM,     snU R
                  S9$ s  snf )N)rU   rÑ  )rÐ  rU   rA   ru   r…   rÑ  )r{   Úels     r7   r…   ÚExprTuple.modernizeÄ  sF   € ÜØNRÏmÊmÓ\ÊmÈœJ r¬3×/Ñ/‘b°R·\±\³^ÒCÉmÑ\Ø—]‘]ñ
ð 	
ùÚ\s   ”1Ar   Nr¾   )r¼   rÐ  )
r   r   r   r   rÃ   rè   rÑ  rH   r…   r5   r   r6   r7   rÐ  rÐ  ²  s(   ‡ á"à"Ó"ØØ€HˆdÓØZà&*÷ ÷
r6   rÐ  c                  óD   • \ rS rSr% SrS\S'    S\S'    SS.SS	 jjrS
rg)rì   iË  zUnary operations like `-1`.ru   rF   rç   rÍ   Tr>   c             #  ó    #   • U R                   v •  U R                   S:X  a  Sv •  [        U R                  U[        U 5      S9 S h  v•N   g  N7f)NÚnotrë   rQ   )rF   rJ   rÍ   rC   r‚   s     r7   rH   ÚExprUnaryOp.iterateÔ  s<   é € Ø�m‰mÒØ�=‰=˜EÓ!ØŠIÜ˜$Ÿ*™*¨4Ä/ÐRVÓBWÑX×XÓXùs   ‚AAÁAÁAr   Nr¾   rï   r   r6   r7   rì   rì   Ë  s%   ‡ á%àƒMØØÓØà&*÷ Yò Yr6   rì   c                  ó<   • \ rS rSr% SrSrS\S'    SS.S
S jjrS	rg)Ú	ExprYieldiÛ  z Yield statements like `yield a`.Nr°  rÍ   Tr>   c             #  ót   #   • Sv •  U R                   b!  Sv •  [        U R                   US9 S h  v•N   g g  N7f)NÚyieldrë   r>   )rÍ   rJ   r‚   s     r7   rH   ÚExprYield.iterateâ  s5   é € ØŠØ�:‰:Ñ!ØŠIÜ˜dŸj™j¨tÑ4×4Ñ4ð "á4ùs   ‚-8¯6°8r   r¾   )	r   r   r   r   rÃ   rÍ   rè   rH   r5   r   r6   r7   rÝ  rÝ  Û  s    ‡ á*à#€EÐÓ#Øà&*÷ 5ò 5r6   rÝ  c                  ó8   • \ rS rSr% SrS\S'    SS.S
S jjrSrg	)ÚExprYieldFromié  z%Yield statements like `yield from a`.rç   rÍ   Tr>   c             #  óP   #   • Sv •  [        U R                  US9 S h  v•N   g  N7f)Nzyield from r>   rW  r‚   s     r7   rH   ÚExprYieldFrom.iterateð  s   é € ØÒÜ˜$Ÿ*™*¨4Ñ0×0Ó0ùrY  r   Nr¾   rï   r   r6   r7   râ  râ  é  s   ‡ á/àÓØà&*÷ 1ò 1r6   râ  Ú~rÚ  Ú+Ú-Ú&rÅ  Ú^Ú/ú//ú<<Ú@Ú%rV  r<   ú>>ÚandÚorz==z!=Ú<z<=Ú>z>=Úiszis notÚinznot inc                ó"   • [         R                  $ rZ   ©r   r4   ©Ú_s    r7   rc   rc   !  ó   € Ô+×2Ò2r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   "  ó   € Ô/×6Ò6r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   #  ó   € Ô0×7Ò7r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   $  rþ  r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   &  rú  r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   '  s   € Ô,×3Ò3r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   (  s   € Ô*×1Ò1r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   )  rú  r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   +  rü  r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   ,  s   € Ô.×5Ò5r6   c                ó"   • [         R                  $ rZ   r÷  rø  s    r7   rc   rc   -  rü  r6   c                ó"   • [         R                  $ rZ   ©r   r3   rø  s    r7   rc   rc   .  ó   € Ô0×?Ò?r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   /  r	  r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   0  s   € Ô+×:Ò:r6   c                óv   • S[         R                  0R                  U R                  [         R                  5      $ )NrÚ  )r   r(   rÒ   rF   r0   ©Úes    r7   rc   rc   1  s(   € ˜EÔ#6×#:Ñ#:Ð;×?Ñ?ÀÇ
Á
ÔL_×LoÑLoÔpr6   c                ó¨  • [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  S.U R                     $ )N)r<   rV  rí  rê  rë  rî  ræ  rç  rì  rï  rè  ré  rÅ  )	r   r1   r/   r.   r-   r,   r+   r*   rF   r  s    r7   rc   rc   2  sŠ   € Ü!×*Ñ*Ü ×/Ñ/Ü ×/Ñ/Ü ×/Ñ/Ü!×0Ñ0Ü ×/Ñ/Ü ×(Ñ(Ü ×(Ñ(Ü!×2Ñ2Ü!×2Ñ2Ü ×(Ñ(Ü ×(Ñ(Ü ×'Ñ'ñð ‡j�jòr6   c                ó^   • [         R                  [         R                  S.U R                     $ )N)rð  rñ  )r   r'   r&   rF   r  s    r7   rc   rc   A  s#   € Ô"5×"9Ñ"9ÔAT×AWÑAWÑXÐYZ×YcÑYcÒdr6   c                ó"   • [         R                  $ rZ   )r   r)   rø  s    r7   rc   rc   B  s   € Ô.×;Ò;r6   c                ó"   • [         R                  $ rZ   )r   r%   rø  s    r7   rc   rc   C  s   € Ô,×4Ò4r6   c                ó"   • [         R                  $ rZ   )r   r"   rø  s    r7   rc   rc   D  rþ  r6   c                ó"   • [         R                  $ rZ   ©r   r$   rø  s    r7   rc   rc   E  s   € Ô-×4Ò4r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   G  s   € Ô 3× :Ò :r6   c                ó"   • [         R                  $ rZ   ©r   r#   rø  s    r7   rc   rc   H  s   € Ô!4×!<Ò!<r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   I  s   € Ô1×9Ò9r6   c                ó"   • [         R                  $ rZ   ©r   r!   rø  s    r7   rc   rc   J  s   € Ô,×2Ò2r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   K  s   € Ô0×6Ò6r6   c                ó"   • [         R                  $ rZ   ©r   r    rø  s    r7   rc   rc   N  s   € Ô!4×!9Ò!9r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   O  s   € Ô/×4Ò4r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   P  s   € Ô.×3Ò3r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   Q  s   € Ô0×5Ò5r6   c                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   rc   R  s   € Ô,×1Ò1r6   c                óN   • [         R                  [        U 5      S 5      " U 5      $ )Nc                ó"   • [         R                  $ rZ   r  rø  s    r7   rc   Ú!_get_precedence.<locals>.<lambda>W  s   € Ô5H×5MÒ5Mr6   )Ú_precedence_maprÒ   Útype)Úexprs    r7   rC   rC   V  s   € Ü×Ñœt D›zÑ+MÔNÈtÓTÐTr6   c                ó¾  • [        U R                  U40 UD6n[        U[        5      (       a&  UR	                  [        U R                  5      5        U$ [        U[
        5      (       a!  [        U[        U R                  U5      /5      $ [        U[        5      (       a!  [        U[        U R                  S5      /5      $ [        U[        U R                  5      /5      $ )Nru   )Ú_buildrÍ   rA   rÉ   rÙ   rÓ   Úattrru   )Únoderf   r^   r´   s       r7   Ú_build_attributer-  Z  s§   € Ü�$—*‘*˜fÑ/¨Ñ/€DÜ�$œ×&Ñ&Ø�‰”H˜TŸY™YÓ'Ô(ØˆÜ�$œ×!Ñ!Ü˜d¤H¨T¯Y©Y¸Ó$=Ð>Ó?Ð?Ü�$œ×ÑÜ˜d¤H¨T¯Y©Y¸Ó$>Ð?Ó@Ð@Ü˜$¤¨¯©Ó 3Ð4Ó5Ð5r6   c           	     ó¤   • [        [        U R                  U40 UD6[        [	        U R
                  5         [        U R                  U40 UD65      $ rZ   )rE   r*  r´   Ú_binary_op_mapr'  r·   rµ   ©r,  rf   r^   s      r7   Ú_build_binopr1  f  sE   € ÜÜˆt�y‰y˜&Ñ+ FÑ+Ü”t˜DŸG™G“}Ñ%Üˆt�z‰z˜6Ñ, VÑ,óð r6   c                ó¢   • [        [        [        U R                  5         U R                   Vs/ s H  n[        X140 UD6PM     sn5      $ s  snf rZ   )rG   Ú_bool_op_mapr'  r·   rÊ   r*  ©r,  rf   r^   rÍ   s       r7   Ú_build_boolopr5  n  sB   € ÜÜ”T˜$Ÿ'™'“]Ñ#Ø6:·k²kÓB²k¨UŒ�Ñ	( Ô	(±kÑBóð ùâBs   ¯A
c                ó   • [        U R                  U40 UD6nU R                   Vs/ s H  n[        XA40 UD6PM     nnU R                   Vs/ s H  n[        Xa4SU0UD6PM     nn[	        U/ UQUQ5      $ s  snf s  snf )Nrö   )r*  ÚfuncÚargsÚkeywordsrõ   )r,  rf   r^   rö   ÚargÚpositional_argsÚkwargÚkeyword_argss           r7   Ú_build_callr>  u  s…   € Ü�d—i‘i Ñ2¨6Ñ2€HØ@DÇ	Â	ÓJÂ	¸”v˜cÑ4¨VÔ4Á	€OÐJØTX×TaÒTaÓbÒTaÈ5”F˜5ÑF°8ÐF¸vÔFÑTa€LÐbÜ�HÐ? Ð?°,Ð?Ó@Ð@ùò KùÚbs   ¦A6ÁA;c                óú   • [        [        U R                  U40 UD6U R                   Vs/ s H  n[        [        U5         PM     snU R                   Vs/ s H  n[        XA40 UD6PM     sn5      $ s  snf s  snf rZ   )rÿ   r*  r´   ÚopsÚ_compare_op_mapr'  r  )r,  rf   r^   r·   r  s        r7   Ú_build_comparerB  |  sk   € ÜÜˆt�y‰y˜&Ñ+ FÑ+Ø-1¯XªXÓ6ªX rŒœ˜b›Ô	"©XÑ6Ø48×4DÒ4DÓEÒ4D¨DŒ�Ñ	' Ô	'Ñ4DÑEóð ùâ6ùÚEs   ªA3
ÁA8c                óì   • [        [        U R                  U4SS0UD6[        U R                  U40 UD6U R                   Vs/ s H  n[        X140 UD6PM     sn[        U R                  5      S9$ s  snf )NÚcompr_targetT)r  )r	  r*  r
  rR   Úifsr¿   r  )r,  rf   r^   Ú	conditions       r7   Ú_build_comprehensionrG  „  sl   € ÜÜˆt�{‰{˜FÑ@°Ð@¸Ñ@Üˆt�y‰y˜&Ñ+ FÑ+Ø>B¿hºhÓGºh°Œ�	Ñ	, VÔ	,¹hÑGÜ�d—m‘mÓ$ñ	ð ùò 	Hs   ÁA1)Úin_formatted_strÚin_joined_strÚparse_stringsÚliteral_stringsc               óö  • [        U R                  [        5      (       ae  U(       a  U(       d  U R                  $ U(       aD  U(       d=   [        U R                  SS[        R
                  SS9n[        UR                  U40 UD6$ [        S5      S 0R                  [        U R                  5      [        5      " U R                  5      $ ! [         a$    [        R                  " SU R                  5         Nrf = f)NÚevalz<string-annotation>r˜   )ÚmodeÚfilenameÚflagsÚoptimizezŸTried and failed to parse %r as Python code, falling back to using it as a string literal (postponed annotations might help: https://peps.python.org/pep-0563/).c                ó   • g)Nz...r   rø  s    r7   rc   Ú!_build_constant.<locals>.<lambda>±  s   €  r6   )rA   rÍ   ru   ÚcompileÚastÚPyCF_ONLY_ASTr*  r7  ÚSyntaxErrorr   Údebugr'  rÒ   Úrepr)r,  rf   rH  rI  rJ  rK  r^   Úparseds           r7   Ú_build_constantr[  �  sÄ   € ô �$—*‘*œc×"Ñ"ÞÖ!1à—:‘:ÐÞ¦ð
=Ü Ø—J‘JØØ2Ü×+Ñ+Øñ�ô ˜fŸk™k¨6Ñ<°VÑ<Ð<Ü�‹I‘Ð'×+Ñ+¬D°·±Ó,<¼dÔCÀDÇJÁJÓOÐOøô ó Ü—’ð\ð —J‘Jö	ðús   Á	%C
 Ã
+C8Ã7C8c                óÊ   • [        U R                   Vs/ s H  o3c  S O[        X140 UD6PM     snU R                   Vs/ s H  n[        XA40 UD6PM     sn5      $ s  snf s  snf rZ   )r  r  r*  rÊ   )r,  rf   r^   re   rÍ   s        r7   Ú_build_dictr]  ´  s\   € ÜØKOÏ9Ê9ÓUÊ9ÀC‘‰¤&¨Ñ"?¸Ñ"?Ò	?É9ÑUØ6:·k²kÓB²k¨UŒ�Ñ	( Ô	(±kÑBóð ùÚUùÚBs
   ”A¾A 
c                óÄ   • [        [        U R                  U40 UD6[        U R                  U40 UD6U R                   Vs/ s H  n[        X140 UD6PM     sn5      $ s  snf rZ   )r   r*  re   rÍ   r!  ©r,  rf   r^   Úgens       r7   Ú_build_dictcompra  »  s[   € ÜÜˆt�x‰x˜Ñ* 6Ñ*Üˆt�z‰z˜6Ñ, VÑ,Ø26·/²/ÓB²/¨3Œ�Ñ	&˜vÔ	&±/ÑBóð ùò 	Cs   Á A)rH  c               óF   • [        [        U R                  U4SS0UD65      $ )NrH  T)r*  r*  rÍ   )r,  rf   rH  r^   s       r7   Ú_build_formattedrc  Ã  s$   € ô œ §
¡
¨FÑTÀTÐTÈVÑTÓUÐUr6   c                ó˜   • [        [        U R                  U40 UD6U R                   Vs/ s H  n[        X140 UD6PM     sn5      $ s  snf rZ   )r2  r*  Úeltr!  r_  s       r7   Ú_build_generatorexprf  Í  sE   € ÜÜˆt�x‰x˜Ñ* 6Ñ*Ø26·/²/ÓB²/¨3Œ�Ñ	&˜vÔ	&±/ÑBóð ùâBó   ªA
c           	     óš   • [        [        U R                  U40 UD6[        U R                  U40 UD6[        U R                  U40 UD65      $ rZ   )rD   r*  r7  r8  r9  r0  s      r7   Ú_build_ifexpri  Ô  sH   € ÜÜˆt�y‰y˜&Ñ+ FÑ+Üˆt�y‰y˜&Ñ+ FÑ+Üˆt�{‰{˜FÑ- fÑ-óð r6   )rI  c          
     óp   • [        U R                   Vs/ s H  n[        XA4SS0UD6PM     sn5      $ s  snf ©NrI  T)rB  rÊ   r*  )r,  rf   rI  r^   rÍ   s        r7   Ú_build_joinedstrrl  Ü  s:   € ô Ð[_×[fÒ[fÓgÒ[fÐRWœ& ÑM¸dÐMÀfÔMÑ[fÑgÓhÐhùÒgó   ”3c                ó°   • U R                   c   [        [        U R                  U40 UD65      $ [	        U R                   [        U R                  U40 UD6US9$ )N)rö   )r:  r[  r*  rÍ   rJ  )r,  rf   rö   r^   s       r7   Ú_build_keywordro  æ  sK   € Ø‡x�xÑÜœf T§Z¡Z°ÑB¸6ÑBÓCÐCÜ�t—x‘x¤¨¯
©
°FÑ!E¸fÑ!EÐPXÑYÐYr6   c                óü   • [        [        U R                  5       VVVVs/ s H1  u  p4pV[        UUS [	        U[
        5      (       a  UO	[        XaSS9S9PM3     snnnn[        U R                  U40 UD6S9$ s  snnnnf )NF)rf   rJ  )ra   rd  r¯  rj  )r`  r7  )	r_  r   r8  r®  rA   ru   Úsafe_get_expressionr*  r7  )r,  rf   r^   ra   rù  rd  rj  s          r7   Ú_build_lambdarr  ì  s„   € Üô +9¸¿¹Ô*Cö

ò +DÑ&�˜ô ØØØä˜g¤s×+Ñ+ñ  ä(¨ÈuÑUôñ +Dô

ô �D—I‘I˜vÑ0¨Ñ0ñð ùõ

s    8A6c           
     ól   • [        U R                   Vs/ s H  n[        X140 UD6PM     sn5      $ s  snf rZ   )rs  Úeltsr*  ©r,  rf   r^   rÖ  s       r7   Ú_build_listrv  ý  s-   € Ü¸D¿IºIÓFºI°b”V˜BÑ1¨&Ô1¹IÑFÓGÐGùÒFó   ”1c                ó˜   • [        [        U R                  U40 UD6U R                   Vs/ s H  n[        X140 UD6PM     sn5      $ s  snf rZ   )r{  r*  re  r!  r_  s       r7   Ú_build_listcompry    sF   € Üœ˜tŸx™x¨Ñ:°6Ñ:Ðfj×fuÒfuÓ<vÒfuÐ_b¼VÀCÑ=ZÐSYÔ=ZÑfuÑ<vÓwÐwùÒ<vrg  c                ó.   • [        U R                  X5      $ rZ   )rÓ   Úid)r,  rf   r‚  r^   s       r7   Ú_build_namer|    s   € Ü�D—G‘G˜VÓ,Ð,r6   c                ón   • [        [        U R                  U40 UD6[        U R                  U40 UD65      $ rZ   )rª  r*  r
  rÍ   r0  s      r7   Ú_build_named_exprr~  	  s1   € Üœ §¡¨VÑ>°vÑ>ÄÀtÇzÁzÐSYÑ@dÐ]cÑ@dÓeÐer6   c           
     ól   • [        U R                   Vs/ s H  n[        X140 UD6PM     sn5      $ s  snf rZ   )r²  rt  r*  ru  s       r7   Ú
_build_setr€    s-   € Ü¸4¿9º9ÓEº9°R”F˜2Ñ0¨Ô0¹9ÑEÓFÐFùÒErw  c                ó˜   • [        [        U R                  U40 UD6U R                   Vs/ s H  n[        X140 UD6PM     sn5      $ s  snf rZ   )r¶  r*  re  r!  r_  s       r7   Ú_build_setcompr‚    sF   € Ü”v˜dŸh™h¨Ñ9°&Ñ9Ðei×etÒetÓ;uÒetÐ^a¼FÀ3Ñ<YÐRXÔ<YÑetÑ;uÓvÐvùÒ;urg  c           	     óü   • [        U R                  c  S O[        U R                  U40 UD6U R                  c  S O[        U R                  U40 UD6U R                  c  S 5      $ [        U R                  U40 UD65      $ rZ   )rº  r§   r*  r»  r¼  r0  s      r7   Ú_build_slicer„    sv   € ÜØ—
‘
Ñ"‰¬¨t¯z©z¸6Ñ(LÀVÑ(LØ—
‘
Ñ"‰¬¨t¯z©z¸6Ñ(LÀVÑ(LØ—	‘	Ñ!ˆóð ô (.¨d¯i©i¸Ñ'JÀ6Ñ'Jóð r6   c                óB   • [        [        U R                  U40 UD65      $ rZ   )rT  r*  rÍ   r0  s      r7   Ú_build_starredr†    s   € ÜœV D§J¡J°ÑA¸&ÑAÓBÐBr6   ©rJ  rK  Úsubscript_slicec               ó  • [        U R                  U40 UD6nU(       aI  [        U[        [        45      (       a  UR
                  S;   a  Sn[        U R                  U4SUSS.UD6nO[        U R                  U4SS0UD6n[        Xg5      $ )N>   útyping.Literalútyping_extensions.LiteralTr‡  rˆ  )r*  rÍ   rA   rÉ   rÓ   r”   rÁ  r¢   )r,  rf   rJ  rK  rˆ  r^   r´   Ú
slice_exprs           r7   Ú_build_subscriptr�  !  s�   € ô �$—*‘*˜fÑ/¨Ñ/€DÞÜ�dœ]¬HÐ5×6Ñ6¸4×;NÑ;Nð S
ó <
ð #ˆOÜØ�J‰JØð
ð Ø+Ø ñ
ð ñ
‰
ô ˜DŸJ™J¨ÑOÀÐOÈÑOˆ
Ü˜Ó*Ð*r6   )rˆ  rD  c          
     ó|   • [        U R                   Vs/ s H  n[        XQ40 UD6PM     snU=(       d    US9$ s  snf )N)rÑ  )rÐ  rt  r*  )r,  rf   rˆ  rD  r^   rÖ  s         r7   Ú_build_tupler�  >  s8   € ô ¸T¿YºYÓGºY°r”f˜RÑ2¨6Ô2¹YÑGÐRa×RqÐeqÑrÐrùÒGs   ”9c                óx   • [        [        [        U R                  5         [	        U R
                  U40 UD65      $ rZ   )rì   Ú_unary_op_mapr'  r·   r*  Úoperandr0  s      r7   Ú_build_unaryopr“  I  s-   € Ü”}¤T¨$¯'©'£]Ñ3´V¸D¿L¹LÈ&Ñ5[ÐTZÑ5[Ó\Ð\r6   c                óh   • [        U R                  c  S 5      $ [        U R                  U40 UD65      $ rZ   )rÝ  rÍ   r*  r0  s      r7   Ú_build_yieldr•  M  s/   € Ü˜TŸZ™ZÑ/�TÓZÐZ´V¸D¿J¹JÈÑ5YÐRXÑ5YÓZÐZr6   c                óB   • [        [        U R                  U40 UD65      $ rZ   )râ  r*  rÍ   r0  s      r7   Ú_build_yield_fromr—  Q  s   € Üœ §
¡
¨FÑ=°fÑ=Ó>Ð>r6   c                  ó   • \ rS rSrSS jrSrg)Ú_BuildCallableiU  c                ó   • g rZ   r   )r{   r,  rf   r^   s       r7   Ú__call__Ú_BuildCallable.__call__V  s   € ÐRUr6   r   N)r,  r
   rf   úModule | Classr^   r
   r¼   rB   )r   r   r   r   r›  r5   r   r6   r7   r™  r™  U  s   † ßUr6   r™  zdict[type, _BuildCallable]Ú	_node_map)é   é   c                óB   • [        [        U R                  U40 UD65      $ rZ   )r>  r*  rÍ   r0  s      r7   Ú_build_interpolationr¢  z  s   € Ü ¤¨¯
©
°FÑ!E¸fÑ!EÓFÐFr6   c           
     óp   • [        U R                   Vs/ s H  n[        X14SS0UD6PM     sn5      $ s  snf rk  )rÌ  rÊ   r*  r4  s       r7   Ú_build_templatestrr¤  }  s:   € ô
 Ðae×alÒalÓmÒalÐX]¤ uÑ SÀDÐ SÈFÔ SÑalÑmÓnÐnùÒmrm  c               ó4   • [         [        U 5         " X40 UD6$ rZ   )rž  r'  r0  s      r7   r*  r*  Œ  s   € Ü”T˜$“ZÒ  Ñ8°Ñ8Ð8r6   ©r‚  rJ  c               ó„   • U c  gUc   UR                   nUR                  (       + n[        XX#S9$ ! [         a    Sn Nf = f)a:  Build an expression from an AST.

Parameters:
    node: The annotation node.
    parent: The parent used to resolve the name.
    member: The member name (for resolution in its scope).
    parse_strings: Whether to try and parse strings as type annotations.

Returns:
    A string or resovable name or expression.
NFr¦  )ÚmoduleÚimports_future_annotationsÚ
ValueErrorr*  )r,  rf   r‚  rJ  r¨  s        r7   Úget_expressionr«  �  sT   € ð$ �|ØØÑð	BØ—]‘]ˆFð !'× AÑ AÔAˆMÜ�$ vÑKÐKøô	 ó 	"Ø!ŠMð	"ús   ‰0 °?¾?zD{path}:{lineno}: Failed to get expression from {node_class}: {error})r‚  rJ  Ú	log_levelÚ
msg_formatc               óp  •  [        XX#S9$ ! [         aŸ  nUc   SnAgU R                  R                  n UR                  nO! [
         a    Sn Of = fU R                  n	UR                  R                   SU 3n
UR                  X‰XzS9n[        [        UR                  5      " U5         SnAgSnAff = f)a	  Safely (no exception) build a resolvable annotation.

Parameters:
    node: The annotation node.
    parent: The parent used to resolve the name.
    member: The member name (for resolution in its scope).
    parse_strings: Whether to try and parse strings as type annotations.
    log_level: Log level to use to log a message. None to disable logging.
    msg_format: A format string for the log message. Available placeholders:
        path, lineno, node, error.

Returns:
    A string or resovable name or expression.
r¦  Nz<in-memory>r  )r�   ÚlinenoÚ
node_classÚerror)r«  r”  r‹   r   Úrelative_filepathrª  r¯  Úformatrj   r   rÍ   )r,  rf   r‚  rJ  r¬  r­  r±  r°  r�   r¯  Ú	error_strÚmessages               r7   rq  rq  ®  s²   € ð.2Ü˜d°6ÑWÐWøÜó 2ØÑÜØ—^‘^×,Ñ,ˆ
ð	!Ø%×7Ñ7‰DøÜó 	!Ø ŠDð	!úà—‘ˆØ—‘×/Ñ/Ð0°°5°'Ð:ˆ	Ø×#Ñ#¨ÈÐ#ÐeˆÜ”˜	Ÿ™Ô(¨×1Ð1Øûð2ús=   ‚	 Œ
B5–B0žB0µAÁB0ÁAÁB0ÁAÁAB0Â0B5zG{path}:{lineno}: Failed to get %s expression from {node_class}: {error})rJ  r¯  )rJ  r­  z
base classzclass keywordrF  )
rK   z#str | Expr | tuple[str | Expr, ...]r8   r¿   r9   r¿   r:   r   r¼   r½   )rU   z-Iterable[str | Expr | tuple[str | Expr, ...]]rV   rç   r8   r¿   r¼   r½   )rK   z+str | bool | Expr | list[str | Expr] | Noner^   r
   r¼   zstr | bool | None | list | dict)rl   rB   r^   r
   r¼   rÀ   )r(  rB   r¼   r   )r,  zast.Attributerf   r�  r^   r
   r¼   rB   )r,  z	ast.BinOprf   r�  r^   r
   r¼   rB   )r,  z
ast.BoolOprf   r�  r^   r
   r¼   rB   )r,  zast.Callrf   r�  r^   r
   r¼   rB   )r,  zast.Comparerf   r�  r^   r
   r¼   rB   )r,  zast.comprehensionrf   r�  r^   r
   r¼   rB   )r,  zast.Constantrf   r�  rH  r¿   rI  r¿   rJ  r¿   rK  r¿   r^   r
   r¼   rç   )r,  zast.Dictrf   r�  r^   r
   r¼   rB   )r,  zast.DictComprf   r�  r^   r
   r¼   rB   )
r,  zast.FormattedValuerf   r�  rH  r¿   r^   r
   r¼   rB   )r,  zast.GeneratorExprf   r�  r^   r
   r¼   rB   )r,  z	ast.IfExprf   r�  r^   r
   r¼   rB   )
r,  zast.JoinedStrrf   r�  rI  r¿   r^   r
   r¼   rB   rZ   )
r,  zast.keywordrf   r�  rö   rK  r^   r
   r¼   rB   )r,  z
ast.Lambdarf   r�  r^   r
   r¼   rB   )r,  zast.Listrf   r�  r^   r
   r¼   rB   )r,  zast.ListComprf   r�  r^   r
   r¼   rB   )
r,  zast.Namerf   r�  r‚  r�  r^   r
   r¼   rB   )r,  zast.NamedExprrf   r�  r^   r
   r¼   rB   )r,  zast.Setrf   r�  r^   r
   r¼   rB   )r,  zast.SetComprf   r�  r^   r
   r¼   rB   )r,  z	ast.Slicerf   r�  r^   r
   r¼   rB   )r,  zast.Starredrf   r�  r^   r
   r¼   rB   )r,  zast.Subscriptrf   r�  rJ  r¿   rK  r¿   rˆ  r¿   r^   r
   r¼   rB   )r,  z	ast.Tuplerf   r�  rˆ  r¿   rD  r¿   r^   r
   r¼   rB   )r,  zast.UnaryOprf   r�  r^   r
   r¼   rB   )r,  z	ast.Yieldrf   r�  r^   r
   r¼   rB   )r,  zast.YieldFromrf   r�  r^   r
   r¼   rB   )r,  zast.Interpolationrf   r�  r^   r
   r¼   rB   )r,  zast.TemplateStrrf   r�  r^   r
   r¼   rB   )r,  zast.ASTrf   r�  r^   r
   r¼   rB   )
r,  úast.AST | Nonerf   r�  r‚  r�  rJ  úbool | Noner¼   rK  )r,  r¶  rf   r�  r‚  r�  rJ  r·  r¬  zLogLevel | Noner­  ru   r¼   rK  )¾Ú
__future__r   rU  ÚsysÚdataclassesr   r   ri   Úenumr   r   Ú	functoolsr   Útypingr	   r
   r   Ú(griffe._internal.agents.nodes.parametersr   Úgriffe._internal.enumerationsr   r   Úgriffe._internal.exceptionsr   Úgriffe._internal.loggerr   Úcollections.abcr   r   r   Úpathlibr   Úgriffe._internal.modelsr   r   r   r   r4   rJ   rX   r]   r[   rÑ   rB   rÉ   rE   rG   rõ   rÿ   r	  r  r  r   r%  r*  r2  rD   r>  rB  rJ  rT  r[  r_  rs  r{  rÓ   rª  r®  r²  r¶  rº  r¢   rÌ  rÐ  rì   rÝ  râ  ÚInvertÚNotÚUAddÚUSubr‘  ÚAddÚBitAndÚBitOrÚBitXorÚDivÚFloorDivÚLShiftÚMatMultÚModÚMultÚPowÚRShiftÚSubr/  ÚAndÚOrr3  ÚEqÚNotEqÚLtÚLtEÚGtÚGtEÚIsÚIsNotÚInÚNotInrA  r&  rC   r-  r1  r5  r>  rB  rG  r[  r]  ra  rc  rf  ri  rl  ro  rr  rv  ry  r|  r~  r€  r‚  r„  r†  r�  r�  r“  r•  r—  r™  Ú	AttributeÚBinOpÚBoolOpÚCallÚCompareÚcomprehensionÚConstantÚDictÚDictCompÚFormattedValueÚGeneratorExpÚIfExpÚ	JoinedStrÚkeywordÚLambdaÚListÚListCompÚNameÚ	NamedExprÚSetÚSetCompÚSliceÚStarredÚ	SubscriptÚTupleÚUnaryOpÚYieldÚ	YieldFromrž  rè   Úversion_infor¢  r¤  ÚupdateÚInterpolationÚTemplateStrr*  r«  r±  rq  Ú_msg_formatÚget_annotationÚsafe_get_annotationÚget_base_classÚsafe_get_base_classÚget_class_keywordÚsafe_get_class_keywordÚget_conditionÚsafe_get_conditionr   r6   r7   Ú<module>r     sf  ðö #ã 
Û 
Ý !Ý +ß Ý ß /Ñ /å Cß AÝ ;Ý *æß<Ñ<Ýç?Ñ?ô"˜'ô "ðP ØØ,?×,FÑ,Fñ(Ø0ð(ð ð(ð ð	(ð
 *ð(ð õ(ð^ ñ	YØ;ðYàðYð ð	Yð
 õYð.Ø8ðàðð %ôôð ØØØñ	€ð ÷j>ð j>ó ðj>ñZ ˆd˜$Ñô0(�Dó 0(ó  ð0(ñf ˆd˜$Ñôc�ó có  ðcñ* ˆd˜$Ñô\�ó \ó  ð\ñ" ˆd˜$Ñôˆtó ó  ðñ( ˆd˜$ÑôL�$ó Ló  ðLñ$ ˆd˜$ÑôA˜ó Aó  ðAñ8 ˆd˜$Ñô�4ó ó  ðñ ˆd˜$Ñôˆtó ó  ðñ$ ˆd˜$Ñô�4ó ó  ðñ( ˆd˜$Ñô5�4ó 5ó  ð5ñ ˆd˜$Ñô
�Dó 
ó  ð
ñ ˆd˜$Ñô:�tó :ó  ð:ñ ˆd˜$Ñôb�ó bó  ðbñ8 ˆd˜$Ñô
˜ó 
ó  ð
ñ ˆd˜$Ñô	�Dó 	ó  ð	ñ ˆd˜$Ñô$1�$ó $1ó  ð$1ñN ˆd˜$Ñô1˜ó 1ó  ð1ñ ˆd˜$Ñô1�Tó 1ó  ð1ñ ˆd˜$Ñô'[�ó '[ó  ð'[ñT ˆd˜$Ñô	ˆtó 	ó  ð	ñ ˆd˜$Ñô�4ó ó  ðñ  ˆe˜4Ñ ôZ*ˆtó Z*ó !ðZ*ñz ˆd˜$Ñô1�Dó 1ó  ð1ñ ˆd˜$Ñô
�Dó 
ó  ð
ñ ˆd˜$Ñô	ˆdó 	ó  ð	ñ ˆd˜$Ñô�$ó ó  ðñ  ˆd˜$Ñô4�ó 4ó  ð4ñ* ˆd˜$Ñô&(�Dó &(ó  ð&(ñR ˆd˜$Ñô	�dó 	ó  ð	ñ ˆd˜$Ñô
�ó 
ó  ð
ñ0 ˆd˜$ÑôY�$ó Yó  ðYñ ˆd˜$Ñô
5�ó 
5ó  ð
5ñ ˆd˜$Ñô1�Dó 1ó  ð1ð ‡J�J�Ø‡G�GˆUØ‡H�HˆcØ‡H�Hˆcð	€ð ‡G�GˆSØ‡J�J�Ø‡I�IˆsØ‡J�J�Ø‡G�GˆSØ‡L�L�$Ø‡J�J�Ø‡K�K�Ø‡G�GˆSØ‡H�HˆcØ‡G�GˆTØ‡J�J�Ø‡G�GˆSð€ð" ‡G�GˆUØ‡F�FˆDð€ð ‡F�FˆDØ‡I�IˆtØ‡F�FˆCØ‡G�GˆTØ‡F�FˆCØ‡G�GˆTØ‡F�FˆDØ‡I�IˆxØ‡F�FˆDØ‡I�Iˆxð€ð4àÑ2ð4ð Ñ6ð4ð Ñ7ð	4ð
 Ñ7ð4ð Ñ2ð4ð Ñ3ð4ð Ñ1ð4ð Ñ2ð4ð Ñ6ð4ð Ñ5ð4ð Ñ6ð4ð Ñ?ð4ð  Ñ?ð!4ð" Ñ:ð#4ð$ Ñpð%4ð& ñ ð'4ðD ÑdðE4ðF Ñ;ØÑ4ØÑ7ØÑ4àÑ:ØÑ<ØÑ9ØÑ2ØÑ6ð Ñ9ØÑ4ØÑ3ØÑ5ØÑ1ñg4€ônUô	6ôôôAôôð #ØØØ!ñ$PØ
ð$Pàð$Pð ð	$Pð
 ð$Pð ð$Pð ð$Pð ð$Pð õ$PôNôð #ñ	VØ
ðVàðVð ð	Vð
 ðVð 
õVôôð  ñ	iØ
ðiàðið ð	ið
 ðið 
õiöZôô"Hôxö-ôfôGôwôôCð  Ø!Ø!ñ+Ø
ð+àð+ð ð	+ð
 ð+ð ð+ð ð+ð 
õ+ðB "ØñsØ
ðsàðsð ð	sð
 ðsð ðsð 
õsô]ô[ô?ôV�Xô Vð)Ø‡M‚MÐ#ð)à‡I‚Iˆ|ð)ð ‡J‚J�ð)ð ‡H‚Hˆkð	)ð
 ‡K‚K�ð)ð ×ÒÐ+ð)ð ‡L‚L�/ð)ð ‡H‚Hˆkð)ð ‡L‚L�/ð)ð ×ÒÐ(ð)ð ×ÒÐ)ð)ð ‡I‚Iˆ|ð)ð ‡M‚MÐ#ð)ð ‡K‚K�ð)ð ‡J‚J�ð)ð  ‡H‚Hˆkð!)ð" ‡L‚L�/ð#)ð$ ‡H‚HˆkØ‡M‚MÐ$Ø‡G‚GˆZØ‡K‚K�Ø‡I‚Iˆ|Ø‡K‚K�Ø‡M‚MÐ#Ø‡I‚Iˆ|Ø‡K‚K�Ø‡I‚Iˆ|Ø‡M‚MÐ$ñ9)€	Ð%ó ð> ×Ò�wÓôGðoØðoàðoð ðoð 
ô	oð ×Òà×ÒÐ3Ø�OŠOÐ/ð	
ôô9ð Ø!%ñLØ
ðLàðLð ð	Lð
 ðLð õLðD Ø!%Ø!)§¢Ø\ñ%Ø
ð%àð%ð ð	%ð
 ð%ð ð%ð ð%ð õ%ðP X€Ù˜°tÑ<€ÙØØØ˜\Ñ)ñÐ ñ
 ˜°uÑ=€ÙØØØ˜\Ñ)ñÐ ñ
 ˜N¸%Ñ@Ð Ù ØØØ˜_Ñ,ñÐ ñ
 ˜°eÑ<€ÙØØØ˜[Ñ(ñÑ r6   