Ë
    pPêj¸â ã                  ó  — U d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZmZ dd	lmZmZmZmZmZmZmZmZmZmZ dd
lmZ ddlm Z m!Z"m#Z$m%Z&m'Z(m)Z* ddl+m,Z, ddl-Z.ddl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m#Z#m@Z@mAZAmBZBmCZCm%Z%mDZDmEZEmFZFmGZGmHZHmIZImJZJm'Z'mKZKmLZLmMZMmNZNm)Z)mOZOmPZPmQZQmRZR ddlSmTZT ddlUmVZV ddlWmXZXmYZYmZZZ ddl[m\Z\m]Z]m^Z^ erddl_m`Z` e G d„ de«      «       Za G d„ d«      ZberddlcZ. ed«      Zdeeefef   Zgdehd<   dZidehd<   dZjdehd<   dZkdehd<   d Zldehd!<   dZmdehd"<   dZndehd#<   dZodehd$<   dZpdehd%<   dZqdehd&<   eid'ejd(ekd)eld*iZrdehd+<   erjç                  «       D � �ci c]  \  } }|| “Œ
 c}} Ztdehd,<   d-ddd-d-ddd.œZudehd/<   d0d1d2d3d4d5d6d7d8d9d:œ
Zvdehd;<   d<d=iZwdehd><   d8d9d?œZxdehd@<   dAdBdCdDdEœZydehdF<   dGZzdehdH<   dIZ{dehdJ<    G dK„ dLeb«      Z|e, G dM„ dNe|«      «       Z}e, G dO„ dPe|«      «       Z~ G dQ„ dRe~«      Ze~Z€dehdS<   e, G dT„ dUe|«      «       Z�e‚efdVedW   f   ZƒdehdX<    G dY„ dZe«      Z„�död[„Z…�d÷d\„Z† G d]„ d^«      Z‡ G d_„ d`e�«      Zˆ G da„ dbe}«      Z‰ G dc„ dde‰«      ZŠ G de„ dfe‰«      Z‹ G dg„ dhe‰«      ZŒg di¢Z�dehdj<    G dk„ dle|«      ZŽedm   Z�dehdn<    G do„ dpeŽe�e}«      Z� G dq„ dre|«      Z‘dZ’dehds<   dZ“dehdt<   dZ”dehdu<    G dv„ dw«      Z•e�g dx¢z   Z–dehdy<    G dz„ d{eŽ«      Z—e–g d|¢z   Z˜dehd}<   dZ™dehd~<   dZšdehd<   dZ›dehd€<    G d�„ d‚e—e�e}«      Zœe�eœfZ�dehdƒ<    G d„„ d…e�e}«      Zžg d†¢ZŸdehd‡<    G dˆ„ d‰e�«      Z  G dŠ„ d‹e}«      Z¡ G dŒ„ d�e}«      Z¢ G dŽ„ d�e}«      Z£ G d�„ d‘e}«      Z¤ G d’„ d“e}«      Z¥ G d”„ d•e}«      Z¦ G d–„ d—e}«      Z§ G d˜„ d™e}«      Z¨ G dš„ d›e}«      Z© G dœ„ d�e}«      Zª G dž„ dŸe}«      Z« G d „ d¡e}«      Z¬ G d¢„ d£e}«      Z­ G d¤„ d¥e}«      Z® G d¦„ d§e}«      Z¯ G d¨„ d©e}«      Z° G dª„ d«e}«      Z± G d¬„ d­e}«      Z² G d®„ d¯e}«      Z³ G d°„ d±e}«      Z´ G d²„ d³e}«      Zµ G d´„ dµe~«      Z¶ G d¶„ d·e~«      Z·�død¸„Z¸ G d¹„ dºe~«      Z¹ G d»„ d¼e~«      Zº G d½„ d¾e~«      Z» G d¿„ dÀe~«      Z¼ G dÁ„ dÂe~«      Z½ G dÃ„ dÄe~«      Z¾ G dÅ„ dÆe¾«      Z¿ G dÇ„ dÈe¾«      ZÀe G dÉ„ dÊe«      «       ZÁeÁ�j„                  ZÂdehdË<   eÁ�j†                  ZÃdehdÌ<   eÁ�jˆ                  ZÄdehdÍ<   eÁ�jŠ                  ZÅdehdÎ<   eÁ�jŒ                  ZÆdehdÏ<   eÁ�jŽ                  ZÇdehdÐ<   eÂeÃeÄeÅeÆeÇfZÈdehdÑ<    G dÒ„ dÓe~«      ZÉ G dÔ„ dÕe~«      ZÊ G dÖ„ d×e~«      ZË G dØ„ dÙe~«      ZÌ G dÚ„ dÛe~«      ZÍ G dÜ„ dÝe~«      ZÎ G dÞ„ dße~«      ZÏeÌeÀe¿eÏe·fZÐ G dà„ dáe~«      ZÑ G dâ„ dãe~«      ZÒ G dä„ dåe~«      ZÓ G dæ„ dçe~«      ZÔ G dè„ dée~«      ZÕ G dê„ dëe~«      ZÖ G dì„ díe~«      Z× G dî„ dïe—e~«      ZØ G dð„ dñe~«      ZÙ G dò„ dóe~«      ZÚ G dô„ dõe~«      ZÛ G dö„ d÷e~«      ZÜ G dø„ dùe~«      ZÝ G dú„ dûe~«      ZÞ G dü„ dýe~«      Zß G dþ„ dÿe~«      Zà G �d „ �de~«      Zá G �d„ �de~«      Zâ G �d„ �de~«      ZãdZädeh�d<   dZådeh�d<   dZædeh�d<   d Zçdeh�d	<    G �d
„ �de�e~«      ZèeèfZédeh�d<    G �d„ �deè«      Zê G �d„ �deè«      Zë G �d„ �deè«      Zì G �d„ �de~«      Zí G �d„ �de~«      Zî G �d„ �de~«      Zï G �d„ �de~«      Zð G �d„ �de~«      Zñ G �d„ �de~«      Zò G �d„ �d e~«      Zó G �d!„ �d"e~«      Zô eõh �d#£«      Zödeh�d$<    eõh �d%£«      Z÷deh�d&<    G �d'„ dWe�«      Zø G �d(„ �d)eø«      Zù eù�d*«      Zú�d+eh�d,<    eù�d-«      Zû�d+eh�d.<    eù�d/«      Zü�d+eh�d0<    eù�d1«      Zýdeh�d2<    G �d3„ �d4e�«      Z G �d5„ �d6e�«      Zþ G �d7„ dV«      Zÿ G �d8„ �d9eeefeÿf   «      �Z  G �d:„ �d;«      �Z G �d<„ �d=«      �Z G �d>„ �d?«      �Ze, G �d@„ �dA«      «       �Z�dù�dB„�Z�dú�dC„�Z�dû�dD„�Z �e«       jç                  «       D ��ci c]7  \  }} �e	|«      eùur' �e
|�e	«      r �e|e�«      r|e�ur||�j                  “Œ9 c}}�Zdeh�dE<   	 	 	 	 	 	 	 	 �dü�dF„�Z	 �dý	 	 	 	 	 	 	 	 	 �dþ�dG„�Z�dÿ�dH„�Z�d �dI„�Z�d�dJ„�Z	 �d	 	 	 	 	 	 	 	 	 �d�dK„�Z�d�dL„�Z�d�dM„�Z�d�dN„�Z�dO�Z�dPeh�dQ<   �dR�Z�dPeh�dS<   �dT�Z�dPeh�dU<   �dV�Z�dPeh�dW<   �dX�Z�dPeh�dY<   �dZ�Z�dPeh�d[<   �d\�Z�dPeh�d]<   �d^�Z�dPeh�d_<   �d`�Z�dPeh�da<   �db�Z �dPeh�dc<   �dd�Z!�dPeh�de<   �df�Z"�dPeh�dg<   �dh�Z#�dPeh�di<   �dj�Z$�dPeh�dk<   �dl�Z%�dPeh�dm<   �dn�Z&�dPeh�do<   �dp�Z'�dPeh�dq<   �dr�Z(�dPeh�ds<   �dt�Z)�dPeh�du<   �dv�Z*�dPeh�dw<   �dx�Z+�dPeh�dy<   �dz�Z,�dPeh�d{<   �d|�Z-�dPeh�d}<   �d~�Z.�dPeh�d<   �d€�Z/�dPeh�d�<   �d‚�Z0�dPeh�dƒ<   �d„�Z1�dPeh�d…<   �d†�Z2�dPeh�d‡<   �dˆ�Z3�dPeh�d‰<   �dŠ�Z4�dPeh�d‹<   �dŒ�Z5�dPeh�d�<   �dŽ�Z6�dPeh�d�<   �d��Z7�dPeh�d‘<   �d’�Z8�dPeh�d“<   �d”�Z9�dPeh�d•<   �d–�Z:�dPeh�d—<   �d˜�Z;�dPeh�d™<   �dš�Z<�dPeh�d›<   �dœ�Z=�dPeh�d�<   �dž�Z>�dPeh�dŸ<   �d �Z?�dPeh�d¡<   �d¢�Z@�dPeh�d£<   �d¤�ZA�dPeh�d¥<   �d¦�ZB�dPeh�d§<   �d¨�ZC�dPeh�d©<   �dª�ZD�dPeh�d«<   �d¬�ZE�dPeh�d­<   �d®�ZF�dPeh�d¯<   �d°�ZG�dPeh�d±<   �d²�ZH�dPeh�d³<   �d´�ZI�dPeh�dµ<   �d¶�ZJ�dPeh�d·<   �d¸�ZK�dPeh�d¹<   �dº�ZL�dPeh�d»<   �d¼�ZM�dPeh�d½<   �d¾�ZN�dPeh�d¿<   �dÀ�ZO�dPeh�dÁ<   �dÂ�ZP�dPeh�dÃ<   �dÄ�ZQ�dPeh�dÅ<   �dÆ�ZR�dPeh�dÇ<   �dÈ�ZS�dPeh�dÉ<   �dÊ�ZT�dPeh�dË<   �dÌ�ZU�dPeh�dÍ<   �dÎ�ZV�dPeh�dÏ<   �dÐ�ZW�dPeh�dÑ<   �dÒ�ZX�dPeh�dÓ<   �dÔ�ZY�dPeh�dÕ<   �dÖ�ZZ�dPeh�d×<   �dØ�Z[�dPeh�dÙ<   �dÚ�Z\�dPeh�dÛ<   �dÜ�Z]�dPeh�dÝ<   �dÞ�Z^�dPeh�dß<   �dà�Z_�dPeh�dá<   �dâ�Z`�dPeh�dã<   �dä�Za�dPeh�då<   �dæ�Zb�dPeh�dç<   �dè�Zc�dPeh�dé<   �dê�Zd�dPeh�dë<   �dì�Ze�dPeh�dí<   �dî�Zf�dPeh�dï<   �dð�Zg�dPeh�dñ<   �dò�Zh�dPeh�dó<   �d�dô„�Zi�d�d	�dõ„�Zjyc c}} w c c}}w (
  z4Abstract syntax tree node classes (i.e. parse tree).é    )ÚannotationsN)Úabstractmethod)Údefaultdict)ÚCallableÚIteratorÚSequence)Úcontextmanager)ÚEnumÚunique)
ÚTYPE_CHECKINGÚAnyÚFinalÚOptionalÚ	TypeAliasÚ	TypedDictÚ	TypeGuardÚTypeVarÚUnionÚcast)ÚNotRequired)Úextract_symbolÚ
read_floatÚread_intÚread_strÚ	write_intÚ	write_str)Útrait)'ÚDICT_INT_GENÚDICT_STR_GENÚDT_SPECÚEND_TAGÚLIST_GENÚLIST_STRÚLITERAL_COMPLEXÚLITERAL_FALSEÚLITERAL_NONEÚLITERAL_TRUEÚ
ReadBufferÚTagÚWriteBufferÚ	read_boolÚ
read_bytesÚ
read_flagsr   Úread_int_listÚread_int_optÚ	read_jsonÚread_literalr   Úread_str_listÚread_str_optÚread_str_opt_listÚread_tagÚ
write_boolÚwrite_bytesÚwrite_flagsr   Úwrite_int_listÚwrite_int_optÚ
write_jsonÚwrite_literalr   Úwrite_str_listÚwrite_str_optÚwrite_str_opt_listÚ	write_tag)Úmodules_state)ÚOptions)Ú	is_sunderÚis_typeshed_fileÚ
short_type)ÚExpressionVisitorÚNodeVisitorÚStatementVisitor)ÚConcretePatternc                  ó   — e Zd Zd Zy)Ú	NotParsedN)Ú__name__Ú
__module__Ú__qualname__ÚVALUE© ó    úO/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/nodes.pyrK   rK   V   s   „ à�ErQ   rK   c                  ó@   — e Zd ZdZdZddd„Z	 	 	 d	 	 	 	 	 	 	 	 	 d	d„Zy)
ÚContextz@Base type for objects that are valid as error message locations.©ÚlineÚcolumnÚend_lineÚ
end_columnc                ó<   — || _         || _        d | _        d | _        y ©NrU   )ÚselfrV   rW   s      rR   Ú__init__zContext.__init__`   s   € ØˆŒ	ØˆŒØ$(ˆŒØ&*ˆ�rQ   Nc                óô   — t        |t        «      r|| _        nD|j                  | _        |j                  | _        |j                  | _        |j
                  | _        |�|| _        |�|| _        |�|| _        yy)z¶If target is a node, pull line (and column) information
        into this node. If column is specified, this will override any column
        information coming from a node.
        N)Ú
isinstanceÚintrV   rW   rX   rY   )r\   ÚtargetrW   rX   rY   s        rR   Úset_linezContext.set_linef   so   € ô �fœcÔ"ØˆD�IàŸ™ˆDŒIØ Ÿ-™-ˆDŒKØ"ŸO™OˆDŒMØ$×/Ñ/ˆDŒOàÐØ ˆDŒKàÐØ$ˆDŒMàÐ!Ø(ˆD�Oð "rQ   )éÿÿÿÿrc   )rV   r`   rW   r`   ÚreturnÚNone©NNN©
ra   zContext | intrW   ú
int | NonerX   rh   rY   rh   rd   re   )rL   rM   rN   Ú__doc__Ú	__slots__r]   rb   rP   rQ   rR   rT   rT   [   sO   „ ÙJà<€Iô+ð "Ø#Ø!%ð)àð)ð ð)ð ð	)ð
 ð)ð 
ô)rQ   rT   ÚTÚ
_TypeAliasÚJsonDictr   ÚLDEFé   ÚGDEFé   ÚMDEFé   ÚUNBOUND_IMPORTEDÚREVEAL_TYPEÚREVEAL_LOCALSÚLITERAL_YESÚLITERAL_TYPEÚ
LITERAL_NOÚLdefÚGdefÚMdefÚUnboundImportedÚ
node_kindsÚinverse_node_kindsz__builtins__.str)rL   ri   Ú__path__Ú__file__Ú__package__Ú__annotations__Ú__spec__Úimplicit_module_attrsúbuiltins.listúbuiltins.dictúbuiltins.setúbuiltins.frozensetzcollections.ChainMapzcollections.Counterzcollections.defaultdictzcollections.dequezcollections.OrderedDictzbuiltins.str)
útyping.Listútyping.Dictú
typing.Setútyping.FrozenSetztyping.ChainMapztyping.Counterztyping.DefaultDictztyping.Dequeztyping.OrderedDictútyping.LiteralStringÚtype_aliasesrŽ   )rs   é   Útype_aliases_source_versions)ztyping_extensions.OrderedDictztyping_extensions.LiteralStringÚtyping_extensions_aliasesrŠ   r‹   rŒ   r�   )r†   r‡   rˆ   r‰   Úreverse_builtin_aliases)ztyping.runtime_checkableztyping_extensions.runtimez#typing_extensions.runtime_checkableÚRUNTIME_PROTOCOL_DECOSz<lambda>ÚLAMBDA_NAMEc                  ó,   — e Zd ZdZdZdd„Zdd„Zd	d„Zy)
ÚNodez4Common base class for all non-type parse tree nodes.rP   c                óp   — | j                  t        j                  j                  t	        «       ¬«      «      S ©N©Úoptions)ÚacceptÚmypyÚstrconvÚStrConvrB   ©r\   s    rR   Ú__str__zNode.__str__é   s%   € Ø�{‰{œ4Ÿ<™<×/Ñ/¼»	Ð/ÓBÓCÐCrQ   c                ól   — | j                  t        j                  j                  |¬«      «      }|sJ ‚|S r™   )rœ   r�   rž   rŸ   )r\   r›   Úas      rR   Ústr_with_optionszNode.str_with_optionsì   s.   € Ø�K‰KœŸ™×,Ñ,°WÐ,Ó=Ó>ˆÙˆˆqØˆrQ   c                ó,   — t        dt        | «      «      ‚©NzNot implemented©ÚRuntimeErrorÚtype©r\   Úvisitors     rR   rœ   zNode.acceptñ   ó   € ÜÐ,¬d°4«jÓ9Ð9rQ   N©rd   Ústr)r›   rB   rd   r®   ©r«   zNodeVisitor[T]rd   rk   )rL   rM   rN   ri   rj   r¡   r¤   rœ   rP   rQ   rR   r—   r—   ä   s   „ Ù>à€IóDóô
:rQ   r—   c                  ó   — e Zd ZdZdZdd„Zy)Ú	StatementzA statement node.rP   c                ó,   — t        dt        | «      «      ‚r¦   r§   rª   s     rR   rœ   zStatement.acceptû   r¬   rQ   N©r«   zStatementVisitor[T]rd   rk   ©rL   rM   rN   ri   rj   rœ   rP   rQ   rR   r±   r±   õ   s   „ áà€Iô:rQ   r±   c                  ó   — e Zd ZdZdZdd„Zy)Ú
ExpressionzAn expression node.rP   c                ó,   — t        dt        | «      «      ‚r¦   r§   rª   s     rR   rœ   zExpression.accept  r¬   rQ   N©r«   zExpressionVisitor[T]rd   rk   r´   rP   rQ   rR   r¶   r¶   ÿ   s   „ áà€Iô:rQ   r¶   c                  ó   — e Zd ZdZdZy)ÚFakeExpressionz’A dummy expression.

    We need a dummy expression in one place, and can't instantiate Expression
    because it is a trait and mypyc barfs.
    rP   N)rL   rM   rN   ri   rj   rP   rQ   rR   rº   rº   	  s   „ ñð �IrQ   rº   ÚLvaluec                  óŠ   — e Zd ZdZdZeed
d„«       «       Zeed
d„«       «       Zedd„«       Z	e
dd„«       Zdd„Ze
dd„«       Zy	)Ú
SymbolNodez+Nodes that can be stored in a symbol table.rP   c                 ó   — y r[   rP   r    s    rR   ÚnamezSymbolNode.name  ó   € ð 	rQ   c                 ó   — y r[   rP   r    s    rR   ÚfullnamezSymbolNode.fullname%  rÀ   rQ   c                 ó   — y r[   rP   r    s    rR   Ú	serializezSymbolNode.serialize*  s   € àrQ   c                óf   — |d   }t         j                  |«      }|� ||«      S t        d|› �«      ‚)Nú.classzunexpected .class )Údeserialize_mapÚgetÚNotImplementedError)ÚclsÚdataÚ	classnameÚmethods       rR   ÚdeserializezSymbolNode.deserialize.  s>   € à˜‘Nˆ	Ü ×$Ñ$ YÓ/ˆØÐÙ˜$“<ÐÜ!Ð$6°y°kÐ"BÓCÐCrQ   c                óH   — t        d| j                  j                  › d�«      ‚)NzCannot serialize ú	 instance)rÉ   Ú	__class__rL   ©r\   rË   s     rR   ÚwritezSymbolNode.write6  s"   € Ü!Ð$5°d·n±n×6MÑ6MÐ5NÈiÐ"XÓYÐYrQ   c                ó4   — t        d| j                  › d�«      ‚)NzCannot deserialize rÐ   )rÉ   rL   ©rÊ   rË   s     rR   ÚreadzSymbolNode.read9  s   € ä!Ð$7¸¿¹°~ÀYÐ"OÓPÐPrQ   Nr­   ©rd   rm   )rË   rm   rd   r½   ©rË   r*   rd   re   )rË   r(   rd   r½   )rL   rM   rN   ri   rj   Úpropertyr   r¿   rÂ   rÄ   ÚclassmethodrÎ   rÓ   rÖ   rP   rQ   rR   r½   r½     s†   „ á5à€IàØòó ó ðð Øòó ó ðð òó ðð òDó ðDóZð òQó ñQrQ   r½   ÚSymbolTableNodeÚTypeInfoÚ
Definitionc                  ó@   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   y
)Ú
ParseErrorr`   rV   rW   r®   ÚmessagezNotRequired[bool]ÚblockerzNotRequired[str]ÚcodeN)rL   rM   rN   rƒ   rP   rQ   rR   rß   rß   B  s   … Ø
ƒIØƒKØƒLØÓØ
ÔrQ   rß   c                óô   — t        | |d   «       t        | |d   «       t        | |d   «       |j                  d«      x}�t        | |«       nt	        | t
        «       t        | |j                  d«      «       y )NrV   rW   rà   rá   râ   )r   r   rÈ   r6   r@   r&   r>   )rË   Úerrrá   s      rR   Úwrite_parse_errorrå   J  sf   € Üˆd�C˜‘KÔ Üˆd�C˜‘MÔ"Üˆd�C˜	‘NÔ#Ø—7‘7˜9Ó%Ð%ˆÐ2Ü�4˜Õ!ä�$œÔ%Ü�$˜Ÿ™ ›Õ(rQ   c                óÔ   — t        | «      t        | «      t        | «      dœ}t        | «      }|t        k(  rd|d<   n|t        k(  rd|d<   n|t
        k(  sJ ‚t        | «      x}�||d<   |S )N)rV   rW   rà   Trá   Frâ   )r   r   r5   r'   r%   r&   r3   )rË   rä   Útagrâ   s       rR   Úread_parse_errorrè   U  st   € Ü'¨›~¼À$»ÔT\Ð]aÓTbÑc€CÜ
�4‹.€CØ
ŒlÒØˆˆIŠØ	”Ò	ØˆˆIŠà”lÒ"Ð"Ð"Ü˜TÓ"Ð"ˆÐ/ØˆˆF‰Ø€JrQ   c                  ó°   — e Zd ZU dZdZded<   ded<   ded<   ded	<   d
ed<   d
ed<   ded<   ded<   	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zedd„«       Z	y)ÚFileRawDatazARaw (binary) data representing parsed, but not deserialized file.©ÚdefsÚimportsÚ
raw_errorsÚignored_linesÚis_partial_stub_packageÚuses_template_stringsÚsource_hashÚmypy_commentsÚbytesrì   rí   úlist[ParseError]rî   údict[int, list[str]]rï   Úboolrð   rñ   r®   rò   zlist[tuple[int, str]]ró   Nc	                óˆ   — || _         || _        || _        || _        || _        || _        || _        |�|| _        y g | _        y r[   rë   )	r\   rì   rí   rî   rï   rð   rñ   rò   ró   s	            rR   r]   zFileRawData.__init__z  sM   € ð ˆŒ	ØˆŒØ$ˆŒØ*ˆÔØ'>ˆÔ$Ø%:ˆÔ"Ø&ˆÔØ.;Ð.G˜]ˆÕÈRˆÕrQ   c                ó   — t        || j                  «       t        || j                  «       t        |t        «       t        |t        | j                  «      «       | j                  D ]  }t        ||«       Œ t        |t        «       t        |t        | j                  «      «       | j                  j                  «       D ]  \  }}t        ||«       t        ||«       Œ t        || j                  «       t        || j                   «       t#        || j$                  «       t        |t        «       t        |t        | j&                  «      «       | j&                  D ]  \  }}t        ||«       t#        ||«       Œ y r[   )r7   rì   rí   r@   r"   Úwrite_int_bareÚlenrî   rå   r   rï   Úitemsr   r=   r6   rð   rñ   r   rò   ró   )r\   rË   rä   rV   ÚcodesÚtexts         rR   rÓ   zFileRawData.writeŽ  s+  € Ü�D˜$Ÿ)™)Ô$Ü�D˜$Ÿ,™,Ô'Ü�$œÔ!Ü�tœS §¡Ó1Ô2Ø—?‘?ò 	)ˆCÜ˜d CÕ(ð	)ä�$œÔ%Ü�tœS ×!3Ñ!3Ó4Ô5Ø×-Ñ-×3Ñ3Ó5ò 	(‰KˆD�%Ü�d˜DÔ!Ü˜4 Õ'ð	(ô 	�4˜×5Ñ5Ô6Ü�4˜×3Ñ3Ô4Ü�$˜×(Ñ(Ô)Ü�$œÔ!Ü�tœS ×!3Ñ!3Ó4Ô5Ø×,Ñ,ò 	"‰JˆD�$Ü�d˜DÔ!Ü�d˜DÕ!ñ	"rQ   c           
     óP  — t        |«      }t        |«      }t        |«      t        k(  sJ ‚t        t	        |«      «      D �cg c]  }t        |«      ‘Œ }}t        |«      t        k(  sJ ‚t        t	        |«      «      D �ci c]  }t        |«      t        |«      “Œ }}t        |«      }t        |«      }t        |«      }	t        |«      t        k(  sJ ‚t        t	        |«      «      D �cg c]  }t        |«      t        |«      f‘Œ }
}t        |||||||	|
«      S c c}w c c}w c c}w r[   )r,   r5   r"   ÚrangeÚread_int_barerè   r   r   r2   r+   r   rê   )rÊ   rË   rì   rí   Ú_rî   rï   rð   rñ   rò   ró   s              rR   rÖ   zFileRawData.read£  s  € ä˜$ÓˆÜ˜TÓ"ˆÜ˜‹~¤Ò)Ð)Ð)Ü6;¼MÈ$Ó<OÓ6PÖQ°Ô& tÕ,ÐQˆ
ÐQÜ˜‹~¤Ò-Ð-Ð-ÜFKÌMÐZ^ÓL_ÓF`ÖaÀœ $›¬°tÓ)<Ñ<ÐaˆÐaÜ"+¨D£/ÐÜ )¨$£ÐÜ˜t“nˆÜ˜‹~¤Ò)Ð)Ð)ÜCHÌÐW[ÓI\ÓC]Ö^¸aœ( 4›.¬(°4«.Ò9Ð^ˆÐ^ÜØØØØØ#Ø!ØØó	
ð 		
ùò Rùâaùò
 _s   ÁDÁ?DÃ(D#)Ú N)rì   rô   rí   rô   rî   rõ   rï   rö   rð   r÷   rñ   r÷   rò   r®   ró   zlist[tuple[int, str]] | Nonerd   re   rØ   )rË   r(   rd   rê   )
rL   rM   rN   ri   rj   rƒ   r]   rÓ   rÚ   rÖ   rP   rQ   rR   rê   rê   c  sÄ   … ÙKð	€Ið ƒKØƒNØ Ó Ø'Ó'Ø!Ó!ØÓØÓØ(Ó(ð Ø6:ðPàðPð ðPð %ð	Pð
 ,ðPð "&ðPð  $ðPð ðPð 4ðPð 
óPó("ð* ò
ó ñ
rQ   rê   c                  ó€  ‡ — e Zd ZU dZdZdZded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   d ed!<   	 	 d0	 	 	 	 	 	 	 	 	 d1ˆ fd#„Zd"d$œd2d%„Ze	d3d&„«       Z
e	d3d'„«       Zd4d(„Zd5d)„Zd6d*„Zd7d+„Zd8d,„Zed9d-„«       Zd:d.„Zed;d/„«       Zˆ xZS )<ÚMypyFilez1The abstract syntax tree of a single source file.)Ú	_fullnameÚpathrì   Ú
alias_depsÚmodule_refsÚis_bomÚnamesrí   rï   Úskipped_linesÚis_stubÚis_cache_skeletonrð   rñ   Úplugin_depsÚfuture_import_flagsÚ_is_typeshed_fileÚraw_data)r¿   r  rì   r®   r  r  úlist[Statement]rì   zdefaultdict[str, set[str]]r  zset[str]r	  r÷   r
  ÚSymbolTabler  úlist[ImportBase]rí   rö   rï   zset[int]r  r  r  rð   rñ   zdict[str, set[str]]r  r  úbool | Noner  zFileRawData | Noner  Fc                ó|  •— t         ‰| �  «        || _        d| _        d| _        || _        || _        t        t        «      | _	        t        «       | _
        i | _        |r|| _        ni | _        t        «       | _        d| _        d| _        d| _        d| _        d| _        t        «       | _        d | _        d | _        y )Nro   r   r  F)Úsuperr]   rì   rV   rW   rí   r
  r   Úsetr  r	  r  rï   r  r  r  r  rð   rñ   r  r  r  )r\   rì   rí   r
  rï   rÑ   s        €rR   r]   zMypyFile.__init__ÿ  s­   ø€ ô 	‰ÑÔØˆŒ	ØˆŒ	ØˆŒØˆŒØˆŒÜ%¤cÓ*ˆŒÜ›5ˆÔØˆÔÙØ!.ˆDÕà!#ˆDÔÜ ›UˆÔàˆŒ	ØˆŒØ!&ˆÔØ',ˆÔ$Ø%*ˆÔ"Ü#&£5ˆÔ Ø!%ˆÔØˆ�rQ   ©Ú	impl_onlyc               óF   — t        | j                  | j                  |¬«      S )zyReturn all definitions within the module (including nested).

        This doesn't include imported definitions.
        r  )Úlocal_definitionsr  rÂ   )r\   r  s     rR   r  zMypyFile.local_definitions  s   € ô
 ! §¡¨T¯]©]ÀiÔPÐPrQ   c                óZ   — | j                   sdS | j                   j                  d«      d   S )Nr  ú.rc   ©r  Úsplitr    s    rR   r¿   zMypyFile.name%  s'   € àŸšˆrÐJ¨T¯^©^×-AÑ-AÀ#Ó-FÀrÑ-JÐJrQ   c                ó   — | j                   S r[   ©r  r    s    rR   rÂ   zMypyFile.fullname)  ó   € à�~‰~ÐrQ   c                ó$   — |j                  | «      S r[   )Úvisit_mypy_filerª   s     rR   rœ   zMypyFile.accept-  ó   € Ø×&Ñ& tÓ,Ð,rQ   c                ó¦   — t        | j                  «      dk7  xr8 t        j                  j                  | j                  «      j	                  d«      S )Nr   z	__init__.)rû   r  ÚosÚbasenameÚ
startswithr    s    rR   Úis_package_init_filezMypyFile.is_package_init_file0  s8   € Ü�4—9‘9‹~ Ñ"ÒZ¤r§w¡w×'7Ñ'7¸¿	¹	Ó'B×'MÑ'MÈkÓ'ZÐZrQ   c                ó   — || j                   v S r[   )r  )r\   Úflags     rR   Úis_future_flag_setzMypyFile.is_future_flag_set3  s   € Ø�t×/Ñ/Ð/Ð/rQ   c                ó|   — | j                   €%t        |j                  | j                  «      | _         | j                   S r[   )r  rD   Úabs_custom_typeshed_dirr  ©r\   r›   s     rR   rD   zMypyFile.is_typeshed_file6  s6   € à×!Ñ!Ð)Ü%5°g×6UÑ6UÐW[×W`ÑW`Ó%aˆDÔ"Ø×%Ñ%Ð%rQ   c           	     óÒ   — d| j                   | j                  j                  | j                   «      | j                  | j                  | j
                  t        | j                  «      dœS )Nr  )rÆ   r  r  r  r  rð   r  )r  r  rÄ   r  r  rð   Úsortedr  r    s    rR   rÄ   zMypyFile.serialize<  sQ   € à ØŸ™Ø—Z‘Z×)Ñ)¨$¯.©.Ó9Ø—|‘|Ø—I‘IØ'+×'CÑ'CÜ#)¨$×*BÑ*BÓ#Cñ
ð 	
rQ   c                óú   — |d   dk(  sJ |«       ‚t        g g «      }|d   |_        t        j                  |d   «      |_        |d   |_        |d   |_        |d   |_        d|_        t        |d	   «      |_
        |S )
NrÆ   r  r  r  r  r  rð   Tr  )r  r  r  rÎ   r  r  r  rð   r  r  r  ©rÊ   rË   Útrees      rR   rÎ   zMypyFile.deserializeG  s‹   € à�H‰~ Ò+Ð1¨TÓ1Ð+Ü˜˜BÓˆØ˜kÑ*ˆŒÜ ×,Ñ,¨T°'©]Ó;ˆŒ
Ø˜I‘ˆŒØ˜‘LˆŒ	Ø'+Ð,EÑ'FˆÔ$Ø!%ˆÔÜ#& tÐ,AÑ'BÓ#CˆÔ ØˆrQ   c                ó~  — t        |t        «       t        || j                  «       | j                  j                  || j                  «       t        || j                  «       t        || j                  «       t        || j                  «       t        |t        | j                  «      «       t        |t        «       y r[   )r@   Ú	MYPY_FILEr   r  r  rÓ   r6   r  r  rð   r=   r4  r  r!   rÒ   s     rR   rÓ   zMypyFile.writeT  s}   € Ü�$œ	Ô"Ü�$˜Ÿ™Ô'Ø�
‰
×Ñ˜˜tŸ~™~Ô.Ü�4˜Ÿ™Ô&Ü�$˜Ÿ	™	Ô"Ü�4˜×5Ñ5Ô6Ü�tœV D×$<Ñ$<Ó=Ô>Ü�$œÕ rQ   c                ób  — t        |«      t        k(  sJ ‚t        g g «      }t        |«      |_        t
        j                  |«      |_        t        |«      |_	        t        |«      |_
        t        |«      |_        t        t        |«      «      |_        d|_        t        |«      t         k(  sJ ‚|S ©NT)r5   r9  r  r   r  r  rÖ   r  r+   r  r  rð   r  r2   r  r  r!   r6  s      rR   rÖ   zMypyFile.read^  s�   € ä˜‹~¤Ò*Ð*Ð*Ü˜˜BÓˆÜ! $›ˆŒÜ ×%Ñ% dÓ+ˆŒ
Ü  “ˆŒÜ˜T“NˆŒ	Ü'0°£ˆÔ$Ü#&¤}°TÓ':Ó#;ˆÔ Ø!%ˆÔÜ˜‹~¤Ò(Ð(Ð(ØˆrQ   )FN)
rì   r  rí   r  r
  r÷   rï   zdict[int, list[str]] | Nonerd   re   )r  r÷   rd   úIterator[Definition]r­   r¯   ©rd   r÷   )r.  r®   rd   r÷   )r›   rB   rd   r÷   r×   )rË   rm   rd   r  rØ   )rË   r(   rd   r  )rL   rM   rN   ri   rj   Ú__match_args__rƒ   r]   r  rÙ   r¿   rÂ   rœ   r,  r/  rD   rÄ   rÚ   rÎ   rÓ   rÖ   Ú__classcell__©rÑ   s   @rR   r  r  ¼  s?  ø… Ù;ð€Ið* .€Nð ƒNà
ƒIà
Óà*Ó*ð ÓàƒLØÓàÓð (Ó'ð ÓàƒMàÓð "Ó!àÓà$Ó$à!Ó!Ø"Ó"à Ó ð Ø59ðàðð "ðð ð	ð
 3ðð 
õð> 6;õ Qð òKó ðKð òó ðó-ó[ó0ó&ó	
ð ò
ó ð
ó!ð òó ôrQ   r  c                  óR   ‡ — e Zd ZU dZdZded<   ded<   ded<   ded<   d
ˆ fd	„Zˆ xZS )Ú
ImportBasez%Base class for all import statements.)Úis_unreachableÚis_top_levelÚis_mypy_onlyÚassignmentsr÷   rC  rD  rE  zlist[AssignmentStmt]rF  c                óZ   •— t         ‰| �  «        g | _        d| _        d| _        d| _        y ©NF)r  r]   rF  rC  rD  rE  ©r\   rÑ   s    €rR   r]   zImportBase.__init__~  s.   ø€ Ü‰ÑÔØˆÔØ#ˆÔØ!ˆÔØ!ˆÕrQ   ©rd   re   )rL   rM   rN   ri   rj   rƒ   r]   r?  r@  s   @rR   rB  rB  m  s/   ø… Ù/àQ€IàÓØÓØÓð &Ó%÷"ñ "rQ   rB  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚImportzimport m [as n])Úidsúlist[tuple[str, str | None]]rM  c                ó0   •— t         ‰| �  «        || _        y r[   )r  r]   rM  )r\   rM  rÑ   s     €rR   r]   zImport.__init__�  s   ø€ Ü‰ÑÔØˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_importrª   s     rR   rœ   zImport.accept“  s   € Ø×#Ñ# DÓ)Ð)rQ   )rM  rN  rd   re   r³   ©
rL   rM   rN   ri   rj   r>  rƒ   r]   rœ   r?  r@  s   @rR   rL  rL  †  s    ø… Ùà€Ià€Nà	%Ó%õ÷*rQ   rL  c                  óT   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   dˆ fd	„Zdd
„Zˆ xZ	S )Ú
ImportFromzfrom m import x [as y], ...)Úidr  Úrelativer®   rU  r`   rV  rN  r  c                óL   •— t         ‰| �  «        || _        || _        || _        y r[   )r  r]   rU  r  rV  )r\   rU  rV  r  rÑ   s       €rR   r]   zImportFrom.__init__¢  s#   ø€ Ü‰ÑÔØˆŒØˆŒ
Ø ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_import_fromrª   s     rR   rœ   zImportFrom.accept¨  ó   € Ø×(Ñ(¨Ó.Ð.rQ   )rU  r®   rV  r`   r  rN  rd   re   r³   rR  r@  s   @rR   rT  rT  —  s*   ø… Ù%à+€Ià0€NàƒGØƒMØ'Ó'õ!÷/rQ   rT  c                  óJ   ‡ — e Zd ZU dZdZdZded<   ded<   d	ˆ fd„Zd
d„Zˆ xZ	S )Ú	ImportAllzfrom m import *)rU  rV  r®   rU  r`   rV  c                ó>   •— t         ‰| �  «        || _        || _        y r[   )r  r]   rU  rV  )r\   rU  rV  rÑ   s      €rR   r]   zImportAll.__init__¶  s   ø€ Ü‰ÑÔØˆŒØ ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_import_allrª   s     rR   rœ   zImportAll.accept»  ó   € Ø×'Ñ'¨Ó-Ð-rQ   )rU  r®   rV  r`   rd   re   r³   rR  r@  s   @rR   r\  r\  ¬  s$   ø… Ùà"€Ià'€NàƒGØƒMõ!÷
.rQ   r\  )Úis_propertyÚis_classÚ	is_staticÚis_finalÚFUNCBASE_FLAGSc                  óh   ‡ — e Zd ZdZdZdˆ fd„Zeedd„«       «       Zedd„«       Z	ed	d„«       Z
ˆ xZS )
ÚFuncBasea  Abstract base class for function-like nodes.

    N.B: Although this has SymbolNode subclasses (FuncDef,
    OverloadedFuncDef), avoid calling isinstance(..., FuncBase) on
    something that is typed as SymbolNode.  This is to work around
    mypy bug #3603, in which mypy doesn't understand multiple
    inheritance very well, and will assume that a SymbolNode
    cannot be a FuncBase.

    Instead, test against SYMBOL_FUNCBASE_TYPES, which enumerates
    SymbolNode subclasses that are also FuncBase subclasses.
    )r©   Úunanalyzed_typeÚinfora  rb  rc  rd  Úis_explicit_overrideÚis_type_check_onlyÚdef_or_infer_varsr  c                óÄ   •— t         ‰| �  «        d | _        d | _        t        | _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        y )NFr  )r  r]   r©   rh  ÚFUNC_NO_INFOri  ra  rb  rc  rd  rj  rk  rl  r  rI  s    €rR   r]   zFuncBase.__init__Þ  sf   ø€ Ü‰ÑÔð 37ˆŒ	à=AˆÔä ˆŒ	Ø ˆÔØˆŒð ˆŒØˆŒØ$)ˆÔ!Ø"'ˆÔð "'ˆÔàˆ�rQ   c                 ó   — y r[   rP   r    s    rR   r¿   zFuncBase.nameþ  rÀ   rQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zFuncBase.fullname  r$  rQ   c                ó>   — | j                    xs | j                  dk(  S )a  If used as a method, does it have an argument for method binding (`self`, `cls`)?

        This is true for `__new__` even though `__new__` does not undergo method binding,
        because we still usually assume that `cls` corresponds to the enclosing class.
        Ú__new__)rc  r¿   r    s    rR   Úhas_self_or_cls_argumentz!FuncBase.has_self_or_cls_argument  s   € ð —>‘>Ð!Ò; T§Y¡Y°)Ñ%;Ð;rQ   rJ  r­   r=  )rL   rM   rN   ri   rj   r]   rÙ   r   r¿   rÂ   rs  r?  r@  s   @rR   rg  rg  Â  sY   ø„ ñð€Iõð@ Øòó ó ðð òó ðð ò<ó ô<rQ   rg  )ÚFuncDefÚ	DecoratorÚOverloadPartc                  óÖ   ‡ — e Zd ZU dZdZded<   ded<   ded<   ded	<   d
ed<   dˆ fd„Zedd„«       Zedd„«       Z	edd„«       Z
dd„Zdd„Zedd„«       Zdd„Zedd„«       Zdd„Zˆ xZS )ÚOverloadedFuncDefaR  A logical node representing all the variants of a multi-declaration function.

    A multi-declaration function is often an @overload, but can also be a
    @property with a setter and a/or a deleter.

    This node has no explicit representation in the source program.
    Overloaded variants must be consecutive in the source file.
    )rü   Úunanalyzed_itemsÚimplÚ
deprecatedÚsetter_indexÚ_is_trivial_selfúlist[OverloadPart]rü   ry  zOverloadPart | Nonerz  ú
str | Noner{  rh   r|  c                óð   •— t         ‰| �  «        || _        |j                  «       | _        d | _        d | _        d | _        d | _        |r-| j                  |d   j                  |d   j                  «       y y ©Nr   )r  r]   rü   Úcopyry  rz  r{  r|  r}  rb   rV   rW   ©r\   rü   rÑ   s     €rR   r]   zOverloadedFuncDef.__init__-  sg   ø€ Ü‰ÑÔØˆŒ
Ø %§
¡
£ˆÔØˆŒ	ØˆŒØ ˆÔØ-1ˆÔÙà�M‰M˜% ™(Ÿ-™-¨¨q©¯©Õ9ð rQ   c                ó”   — | j                   r| j                   d   j                  S | j                  €J ‚| j                  j                  S r�  )rü   r¿   rz  r    s    rR   r¿   zOverloadedFuncDef.name9  s=   € à�:Š:Ø—:‘:˜a‘=×%Ñ%Ð%ð —9‘9Ð(Ð(Ð(Ø—9‘9—>‘>Ð!rQ   c                ó`  — | j                   �| j                   S t        | j                  «      D ]w  \  }}|dkD  s| j                  sdnd}t	        |t
        «      r|j                  rŒ8d| _          yt        |j                  «      |kD  s|j                  j                  rŒpd| _          y d| _         y)zèCheck we can use bind_self() fast path for this overload.

        This will return False if at least one overload:
          * Has an explicit self annotation, or Self in signature.
          * Has a non-trivial decorator.
        r   ro   FT)
r}  Ú	enumeraterü   ra  r_   rt  Úis_trivial_selfrû   Ú
decoratorsÚfunc)r\   ÚiÚitemÚtrivials       rR   r‡  z!OverloadedFuncDef.is_trivial_selfB  s    € ð × Ñ Ð,Ø×(Ñ(Ð(Ü  §¡Ó,ò 		‰GˆAˆtà˜qš5¨×(8Ò(8‘a¸aˆGÜ˜$¤Ô(Ø×+Ó+Ø,1�DÔ)Ù Ü�T—_‘_Ó%¨Ò/°t·y±y×7PÓ7PØ(-�Ô%Ùð		ð !%ˆÔØrQ   c                óê   — | j                   d   }t        |t        «      sJ ‚|j                  j                  sJ ‚| j
                  €J ‚| j                   | j
                     }t        |t        «      sJ ‚|S r�  )rü   r_   ru  ÚvarÚis_settable_propertyr|  )r\   Ú
first_itemr‹  s      rR   ÚsetterzOverloadedFuncDef.setterY  so   € ð —Z‘Z ‘]ˆ
Ü˜*¤iÔ0Ð0Ð0Ø�~‰~×2Ò2Ð2Ð2Ø× Ñ Ð,Ð,Ð,Ø�z‰z˜$×+Ñ+Ñ,ˆÜ˜$¤	Ô*Ð*Ð*ØˆrQ   c                ó$   — |j                  | «      S r[   )Úvisit_overloaded_func_defrª   s     rR   rœ   zOverloadedFuncDef.acceptd  ó   € Ø×0Ñ0°Ó6Ð6rQ   c           	     ó^  — d| j                   D �cg c]  }|j                  «       ‘Œ c}| j                  €d n| j                  j                  «       | j                  | j                  €d n| j                  j                  «       t        | t        «      | j                  | j                  dœS c c}w )Nrx  )rÆ   rü   r©   rÂ   rz  Úflagsr{  r|  )	rü   rÄ   r©   r  rz  Ú	get_flagsre  r{  r|  )r\   rŠ  s     rR   rÄ   zOverloadedFuncDef.serializeg  s�   € à)Ø-1¯Z©ZÖ8¨�a—k‘k•mÒ8Ø ŸI™IÐ-‘D°4·9±9×3FÑ3FÓ3HØŸ™Ø ŸI™IÐ-‘D°4·9±9×3FÑ3FÓ3HÜ˜t¤^Ó4ØŸ/™/Ø ×-Ñ-ñ	
ð 		
ùâ8s   �B*c                óª  — |d   dk(  sJ ‚t        |d   D �cg c]%  }t        t        t        j	                  |«      «      ‘Œ' c}«      }|j                  d«      �ht        t        t        j	                  |d   «      «      |_        t        |j                  «      dkD  r%|j                  |j                  j                  «       |j                  d«      �Ot        j                  j                  |d   «      }t        |t        j                  j                  «      sJ ‚||_        |d   |_        t%        ||d   «       |d	   |_        |d
   |_        |S c c}w )NrÆ   rx  rü   rz  r   r©   rÂ   r–  r{  r|  )rx  r   rv  r½   rÎ   rÈ   rz  rû   rü   rb   rV   r�   ÚtypesÚdeserialize_typer_   Ú
ProperTyper©   r  Ú	set_flagsr{  r|  )rÊ   rË   ÚdÚresÚtyps        rR   rÎ   zOverloadedFuncDef.deserializes  s  € à�H‰~Ð!4Ò4Ð4Ð4ÜØDHÈÁMÖR¸qŒT”,¤
× 6Ñ 6°qÓ 9Õ:ÒRó
ˆð �8‰8�FÓÐ'ÜœL¬*×*@Ñ*@ÀÀfÁÓ*NÓOˆCŒHä�3—9‘9‹~ Ò!Ø—‘˜SŸX™XŸ]™]Ô+Ø�8‰8�FÓÐ'Ü—*‘*×-Ñ-¨d°6©lÓ;ˆCÜ˜c¤4§:¡:×#8Ñ#8Ô9Ð9Ð9ØˆCŒHØ˜ZÑ(ˆŒÜ�#�t˜G‘}Ô%Ø˜lÑ+ˆŒØ Ñ/ˆÔàˆ
ùò! Ss   —*Ec                óž  — t        |t        «       t        |t        «       t        |t	        | j
                  «      «       | j
                  D ]  }|j                  |«       Œ t        j                  j                  || j                  «       t        || j                  «       | j                  €t        |t        «       n| j                  j                  |«       t        || j                   | j"                  | j$                  | j&                  g«       t)        || j*                  «       t-        || j.                  «       t        |t0        «       y r[   )r@   ÚOVERLOADED_FUNC_DEFr"   rú   rû   rü   rÓ   r�   r™  Úwrite_type_optr©   r   r  rz  r&   r8   ra  rb  rc  rd  r>   r{  r:   r|  r!   )r\   rË   r‹  s      rR   rÓ   zOverloadedFuncDef.write‰  sß   € Ü�$Ô+Ô,Ü�$œÔ!Ü�tœS §¡›_Ô-Ø—J‘Jò 	ˆDØ�J‰J�tÕð	ä�
‰
×!Ñ! $¨¯	©	Ô2Ü�$˜Ÿ™Ô'Ø�9‰9ÐÜ�dœLÕ)à�I‰I�O‰O˜DÔ!Ü�D˜4×+Ñ+¨T¯]©]¸D¿N¹NÈDÏMÉMÐZÔ[Ü�d˜DŸO™OÔ,Ü�d˜D×-Ñ-Ô.Ü�$œÕ rQ   c                óÔ  — t        |«      t        k(  sJ ‚t        t        t	        |«      «      D �cg c]  }t        |«      ‘Œ c}«      }t        j                  j                  |«      }|�-t        |t        j                  j                  «      sJ ‚||_        t        |«      |_        t        |«      }|t        k7  rNt        ||«      |_        t!        |j"                  «      dkD  r%|j%                  |j                  j&                  «       t)        |d¬«      \  |_        |_        |_        |_        t3        |«      |_        t7        |«      |_        t        |«      t:        k(  sJ ‚|S c c}w )Nr   é   ©Ú	num_flags)r5   r"   rx  r   r  Úread_overload_partr�   r™  Úread_type_optr_   r›  r©   r   r  r&   rz  rû   rü   rb   rV   r-   ra  rb  rc  rd  r3   r{  r/   r|  r!   )rÊ   rË   r  rž  rŸ  rç   s         rR   rÖ   zOverloadedFuncDef.readš  s  € ä˜‹~¤Ò)Ð)Ð)ÜÄ5ÌÐW[ÓI\ÓC]Ö ^¸aÔ!3°DÕ!9Ò ^Ó_ˆÜ�j‰j×&Ñ& tÓ,ˆØˆ?Ü˜c¤4§:¡:×#8Ñ#8Ô9Ð9Ð9ØˆCŒHÜ  ›ˆŒÜ�t‹nˆØ”,ÒÜ)¨$°Ó4ˆCŒHä�3—9‘9‹~ Ò!Ø—‘˜SŸX™XŸ]™]Ô+ÜEOÐPTÐ`aÔEbÑBˆŒ˜œ s¤}°c´lÜ% dÓ+ˆŒÜ'¨Ó-ˆÔä˜‹~¤Ò(Ð(Ð(Øˆ
ùò# !_s   °E%c                ó:   — t        d„ | j                  D «       «      S )Nc              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wr[   )Ú
is_dynamic©Ú.0r‹  s     rR   ú	<genexpr>z/OverloadedFuncDef.is_dynamic.<locals>.<genexpr>±  s   è ø€ Ò<¨�4—?‘?×$Ñ<ùó   ‚)Úallrü   r    s    rR   r«  zOverloadedFuncDef.is_dynamic°  s   € ÜÑ<°·±Ô<Ó<Ð<rQ   )rü   r~  rd   re   r­   r=  )rd   ru  r³   r×   )rË   rm   rd   rx  rØ   )rË   r(   rd   rx  )rL   rM   rN   ri   rj   rƒ   r]   rÙ   r¿   r‡  r‘  rœ   rÄ   rÚ   rÎ   rÓ   rÖ   r«  r?  r@  s   @rR   rx  rx    s¬   ø… ñð€Ið ÓØ(Ó(Ø
ÓØÓØÓõ
:ð ò"ó ð"ð òó ðð, òó ðó7ó

ð òó ðó*!ð" òó ð÷*=rQ   rx  c                  ól   ‡ — e Zd ZdZdZdZ	 d	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Z	 	 	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )	ÚArgumentz A single argument in a FuncItem.)ÚvariableÚtype_annotationÚinitializerÚkindÚpos_onlyc                óh   •— t         ‰| �  «        || _        || _        || _        || _        || _        y r[   )r  r]   r³  r´  rµ  r¶  r·  )r\   r³  r´  rµ  r¶  r·  rÑ   s         €rR   r]   zArgument.__init__»  s5   ø€ ô 	‰ÑÔØ ˆŒØ.ˆÔØ&ˆÔØˆŒ	Ø ˆ�rQ   c                óŒ  •— t         ‰| �  ||||«       | j                  r_| j                  j                  dk  rF| j                  j                  | j                  | j                  | j
                  | j                  «       | j                  j                  | j                  | j                  | j
                  | j                  «       y r�  )r  rb   rµ  rV   rW   rX   rY   r³  )r\   ra   rW   rX   rY   rÑ   s        €rR   rb   zArgument.set_lineÊ  s†   ø€ ô 	‰Ñ˜ ¨°:Ô>à×Ò × 0Ñ 0× 5Ñ 5¸Ò 9Ø×Ñ×%Ñ% d§i¡i°·±¸d¿m¹mÈTÏ_É_Ô]à�‰×Ñ˜tŸy™y¨$¯+©+°t·}±}ÀdÇoÁoÕVrQ   ©F)r³  ÚVarr´  úmypy.types.Type | Nonerµ  úExpression | Noner¶  ÚArgKindr·  r÷   rd   re   rf   rg   )	rL   rM   rN   ri   rj   r>  r]   rb   r?  r@  s   @rR   r²  r²  ´  s    ø„ Ù*àR€IàW€Nð ð!àð!ð 0ð!ð 'ð	!ð
 ð!ð ð!ð 
õ!ð$ "Ø#Ø!%ðWàðWð ðWð ð	Wð
 ðWð 
÷Wñ WrQ   r²  ÚTYPE_VAR_KINDÚPARAM_SPEC_KINDÚTYPE_VAR_TUPLE_KINDc                  ó0   — e Zd ZdZ	 	 	 	 	 	 	 	 	 	 	 	 dd„Zy)Ú	TypeParam©r¿   r¶  Úupper_boundÚvaluesÚdefaultc                óJ   — || _         || _        || _        || _        || _        y r[   rÄ  )r\   r¿   r¶  rÅ  rÆ  rÇ  s         rR   r]   zTypeParam.__init__â  s(   € ð ˆŒ	ØˆŒ	Ø&ˆÔØˆŒØˆ�rQ   N)r¿   r®   r¶  r`   rÅ  r¼  rÆ  úlist[mypy.types.Type]rÇ  r¼  rd   re   )rL   rM   rN   rj   r]   rP   rQ   rR   rÃ  rÃ  ß  sF   „ ØD€Iðàðð ðð ,ð	ð
 &ðð (ðð 
ôrQ   rÃ  )Úis_overloadÚis_generatorÚis_coroutineÚis_async_generatorÚis_awaitable_coroutineÚFUNCITEM_FLAGSc                  óX   ‡ — e Zd ZdZdZdZ	 	 	 	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zd	d„Zd
d„Zˆ xZ	S )ÚFuncItemz9Base class for nodes usable as overloaded function items.)Ú	argumentsÚ	arg_namesÚ	arg_kindsÚmin_argsÚmax_posÚ	type_argsÚbodyrÊ  rË  rÌ  rÍ  rÎ  Úexpanded)rÒ  rÖ  rÕ  c                óþ  •— t         ‰| �  «        |xs g | _        | j                  D �cg c]&  }|j                  rd n|j                  j
                  ‘Œ( c}| _        | j                  D �cg c]  }|j                  ‘Œ c}| _        | j                  j                  t        «      | j                  j                  t        «      z   | _        || _        |xs t        g «      | _        || _        || _        d| _        d| _        d| _        d| _        d| _        g | _        d| _        t3        t5        | j                  «      «      D ]0  }| j                  |   �Œ|| j7                  «       k  sŒ'|dz   | _        Œ2 y c c}w c c}w )NFr   ro   )r  r]   rÒ  r·  r³  r¿   rÓ  r¶  rÔ  ÚcountÚARG_POSÚARG_OPTrÖ  r×  ÚBlockrØ  r©   rh  rÊ  rË  rÌ  rÍ  rÎ  rÙ  rÕ  r   rû   Úmax_fixed_argc)r\   rÒ  rØ  rŸ  r×  ÚargrŠ  rÑ   s          €rR   r]   zFuncItem.__init__  s9  ø€ ô 	‰ÑÔØ"š bˆŒØQU×Q_ÑQ_Ö`È# #§,¢,™$°C·L±L×4EÑ4EÑEÒ`ˆŒØ=A¿^¹^Ö(L°c¨¯«Ò(LˆŒØ ŸN™N×0Ñ0´Ó9¸D¿N¹N×<PÑ<PÔQXÓ<YÑYˆŒØ1:ˆŒØÒ,¤5¨£9ˆŒ	ØˆŒ	Ø"ˆÔØ!&ˆÔØ"'ˆÔØ"'ˆÔØ(-ˆÔØ,1ˆÔ#Ø(*ˆŒàˆŒÜ”s˜4Ÿ>™>Ó*Ó+ò 	&ˆAØ�~‰~˜aÑ Ñ(¨Q°×1DÑ1DÓ1FÓ-FØ ! A¡�•ñ	&ùò aùÚ(Ls   ©+E5Á*E:c                ó   — | j                   S r[   )rÖ  r    s    rR   rß  zFuncItem.max_fixed_argc-  s   € Ø�|‰|ÐrQ   c                ó®   — | j                   d u xsF t        | j                   t        j                  j                  «      xr | j                   j
                  S r[   )r©   r_   r�   r™  ÚCallableTypeÚimplicitr    s    rR   r«  zFuncItem.is_dynamic0  sB   € à�I‰I˜Ðò #Ü˜$Ÿ)™)¤T§Z¡Z×%<Ñ%<Ó=ò #Ø—	‘	×"Ñ"ð	
rQ   )NNNN)
rÒ  úlist[Argument] | NonerØ  úBlock | NonerŸ  úmypy.types.FunctionLike | Noner×  úlist[TypeParam] | Nonerd   re   )rd   r`   r=  )
rL   rM   rN   ri   rj   Ú__deletable__r]   rß  r«  r?  r@  s   @rR   rÑ  rÑ  ú  sa   ø„ ÙCð€Ið$ 9€Mð ,0Ø!Ø.2Ø,0ð&à(ð&ð ð&ð ,ð	&ð
 *ð&ð 
õ&ó8÷
rQ   rÑ  )Úis_decoratedÚis_conditionalÚis_trivial_bodyr‡  rE  ÚFUNCDEF_FLAGSÚNOT_ABSTRACTÚIS_ABSTRACTÚIMPLICITLY_ABSTRACTc                  óœ   ‡ — e Zd ZdZdZdZ	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zedd„«       Zdd„Z	dd„Z
edd„«       Zdd	„Zedd
„«       Zˆ xZS )rt  zQFunction definition.

    This is a non-lambda function defined using 'def'.
    )Ú_namerê  rë  Úabstract_statusÚoriginal_defrì  r‡  Úis_invalid_redefinitionrE  Údataclass_transform_specÚ	docstringr{  Úoriginal_first_arg)r¿   rÒ  r©   rØ  c                ó8  •— t         ‰| �  ||||«       || _        d| _        d| _        t
        | _        d| _        d | _        d| _	        d | _
        d | _        d | _        d| _        |r&|d   j                  j                  | _        d| _        y d | _        d| _        y )NFr   )r  r]   rò  rê  rë  rî  ró  rì  rô  rE  rö  r÷  r{  r‡  r³  r¿   rø  rõ  )r\   r¿   rÒ  rØ  rŸ  r×  rÑ   s         €rR   r]   zFuncDef.__init__b  s¬   ø€ ô 	‰Ñ˜ D¨#¨yÔ9ØˆŒ
Ø!ˆÔØ#ˆÔÜ+ˆÔð  %ˆÔà>BˆÔà!ˆÔØGKˆÔ%Ø%)ˆŒØ&*ˆŒð  %ˆÔñ Ø2;¸A±,×2GÑ2G×2LÑ2LˆDÔ#ð (-ˆÕ$ð	 '+ˆDÔ#ð (-ˆÕ$rQ   c                ó   — | j                   S r[   ©rò  r    s    rR   r¿   zFuncDef.nameˆ  ó   € à�z‰zÐrQ   c                ó$   — |j                  | «      S r[   )Úvisit_func_defrª   s     rR   rœ   zFuncDef.acceptŒ  ó   € Ø×%Ñ% dÓ+Ð+rQ   c                óª  — d| j                   | j                  | j                  | j                  D �cg c]  }t	        |j
                  «      ‘Œ c}| j                  €d n| j                  j                  «       t        | t        «      | j                  | j                  €d n| j                  j                  «       | j                  | j                  dœS c c}w )Nrt  )rÆ   r¿   rÂ   rÓ  rÔ  r©   r–  ró  rö  r{  rø  )rò  r  rÓ  rÔ  r`   Úvaluer©   rÄ   r—  rí  ró  rö  r{  rø  )r\   Úxs     rR   rÄ   zFuncDef.serialize�  s©   € ð  Ø—J‘JØŸ™ØŸ™Ø04·±Ö?¨1œ#˜aŸg™g�,Ò?Ø ŸI™IÐ-‘D°4·9±9×3FÑ3FÓ3HÜ˜t¤]Ó3Ø#×3Ñ3ð ×0Ñ0Ð8ñ à×2Ñ2×<Ñ<Ó>àŸ/™/Ø"&×"9Ñ"9ñ!
ð 	
ùò
 @s   ±Cc                ó  — |d   dk(  sJ ‚t        g «      }t        |d   g ||d   €d nCt        t        j                  j
                  t        j                  j                  |d   «      «      «      }|d   |_        t        ||d   «       |d   |_	        |j                  d«      |_        |d	   D �cg c]  }t        |   ‘Œ c}|_        |d
   |_        |d   �t        j!                  |d   «      nd |_        |d   |_        |`|`|`|S c c}w )NrÆ   rt  r¿   r©   rÂ   r–  rÓ  rø  rÔ  ró  rö  r{  )rÞ  rt  r   r�   r™  ÚFunctionLikerš  r  rœ  rÓ  rÈ   rø  Ú	ARG_KINDSrÔ  ró  ÚDataclassTransformSpecrÎ   rö  r{  rÒ  rÖ  rÕ  )rÊ   rË   rØ  Úretr  s        rR   rÎ   zFuncDef.deserialize©  s'  € à�H‰~ Ò*Ð*Ð*Ü�R‹yˆÜØ�‰LØØð ˜‘<Ð'ñ äœ$Ÿ*™*×1Ñ1´4·:±:×3NÑ3NÈtÐTZÉ|Ó3\Ó]ó	
ˆð ˜ZÑ(ˆŒÜ�#�t˜G‘}Ô%à˜[Ñ)ˆŒØ!%§¡Ð*>Ó!?ˆÔØ/3°KÑ/@ÖA¨!œ 1›ÒAˆŒØ"Ð#4Ñ5ˆÔð Ð.Ñ/Ð;ô #×.Ñ.¨tÐ4NÑ/OÔPàð 	Ô$ð
 ˜lÑ+ˆŒàˆMØˆKØˆLØˆ
ùò Bs   Â0Dc                óÔ  — t        |t        «       t        || j                  «       t        j
                  j                  || j                  «       t        || j                  «       t        || j                  | j                  | j                  | j                  | j                  | j                  | j                   | j"                  | j$                  | j&                  | j(                  | j*                  | j,                  | j.                  g«       t1        || j2                  «       t5        || j6                  D �cg c]  }t9        |j:                  «      ‘Œ c}«       t=        || j>                  «       | j@                  €t        |tB        «       n| j@                  jE                  |«       tG        || jH                  «       tG        || jJ                  «       t        |tL        «       y c c}w r[   )'r@   ÚFUNC_DEFr   rò  r�   r™  r¢  r©   r  r8   ra  rb  rc  rd  rÊ  rË  rÌ  rÍ  rÎ  rê  rë  rì  r‡  rE  r?   rÓ  r9   rÔ  r`   r  r   ró  rö  r&   rÓ   r>   r{  rø  r!   )r\   rË   Úaks      rR   rÓ   zFuncDef.writeÊ  sa  € Ü�$œÔ!Ü�$˜Ÿ
™
Ô#Ü�
‰
×!Ñ! $¨¯	©	Ô2Ü�$˜Ÿ™Ô'ÜØà× Ñ Ø—‘Ø—‘Ø—‘Ø× Ñ Ø×!Ñ!Ø×!Ñ!Ø×'Ñ'Ø×+Ñ+Ø×!Ñ!Ø×#Ñ#Ø×$Ñ$Ø×$Ñ$Ø×!Ñ!ðô	
ô& 	˜4 §¡Ô0Ü�t°d·n±nÖE°œc "§(¡(�mÒEÔFÜ�$˜×,Ñ,Ô-Ø×(Ñ(Ð0Ü�dœLÕ)à×)Ñ)×/Ñ/°Ô5Ü�d˜DŸO™OÔ,Ü�d˜D×3Ñ3Ô4Ü�$œÕ ùò Fs   Ä7G%
c                ó  — t        |«      }d }t        |«      }|t        k7  r t        j                  j                  ||«      }t        |g t        g «      |«      }t        |«      |_        t        |d¬«      \  |_
        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        t1        |«      |_        t5        |«      D �cg c]  }t6        |   ‘Œ c}|_        t;        |«      |_        t        |«      }|t        k7  r%|t>        k(  sJ ‚t@        jC                  |«      |_"        tG        |«      |_$        tG        |«      |_%        |`&|`'|`(t        |«      tR        k(  sJ ‚|S c c}w )Né   r¥  )*r   r5   r&   r�   r™  Úread_function_likert  rÞ  r  r-   ra  rb  rc  rd  rÊ  rË  rÌ  rÍ  rÎ  rê  rë  rì  r‡  rE  r4   rÓ  r.   r  rÔ  r   ró  r    r  rÖ   rö  r3   r{  rø  rÒ  rÖ  rÕ  r!   )rÊ   rË   r¿   rŸ  rç   r  r
  s          rR   rÖ   zFuncDef.readí  s`  € ä˜‹~ˆØ.2ˆÜ�t‹nˆØ”,ÒÜ—*‘*×/Ñ/°°cÓ:ˆCÜ�d˜B¤ b£	¨3Ó/ˆÜ  ›ˆŒô  �t rÔ*ñ	
ØŒOØŒLØŒMØŒLØŒOØÔØÔØÔ"ØÔ&ØÔØÔØÔØÔØÔô *¨$Ó/ˆŒÜ1>¸tÓ1DÖE¨2œ 2›ÒEˆŒÜ& t›nˆÔÜ�t‹nˆØ”,ÒØœ'’>Ð!�>Ü+A×+FÑ+FÀtÓ+LˆCÔ(Ü% dÓ+ˆŒÜ!-¨dÓ!3ˆÔàˆMØˆKØˆLÜ˜‹~¤Ò(Ð(Ð(Øˆ
ùò Fs   Ã(F)r  NNNN)r¿   r®   rÒ  rå  rØ  ræ  rŸ  rç  r×  rè  rd   re   r­   r³   r×   )rË   rm   rd   rt  rØ   )rË   r(   rd   rt  )rL   rM   rN   ri   rj   r>  r]   rÙ   r¿   rœ   rÄ   rÚ   rÎ   rÓ   rÖ   r?  r@  s   @rR   rt  rt  H  s´   ø„ ñð
€Ið" ;€Nð
 Ø+/Ø!Ø.2Ø,0ð$-àð$-ð )ð$-ð ð	$-ð
 ,ð$-ð *ð$-ð 
õ$-ðL òó ðó,ó
ð4 òó ðó@!!ðF ò'ó ô'rQ   rt  ÚSYMBOL_FUNCBASE_TYPESc                  óþ   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   d	ed
<   ded<   dˆ fd„Zedd„«       Z	edd„«       Z
edd„«       Zedd„«       Zedd„«       Zdd„Zdd„Zed d„«       Zd!d„Zed"d„«       Zdd„Zˆ xZS )#ru  zhA decorated function.

    A single Decorator object can include any number of function decorators.
    )r‰  rˆ  Úoriginal_decoratorsrŽ  rÊ  )rˆ  rŽ  r‰  rt  r‰  úlist[Expression]rˆ  r  r»  rŽ  r÷   rÊ  c                ó„   •— t         ‰| �  «        || _        || _        |j	                  «       | _        || _        d| _        y rH  )r  r]   r‰  rˆ  r‚  r  rŽ  rÊ  )r\   r‰  rˆ  rŽ  rÑ   s       €rR   r]   zDecorator.__init__1  s:   ø€ Ü‰ÑÔØˆŒ	Ø$ˆŒØ#-§?¡?Ó#4ˆÔ ØˆŒØ ˆÕrQ   c                ó.   — | j                   j                  S r[   )r‰  r¿   r    s    rR   r¿   zDecorator.name9  ó   € à�y‰y�~‰~ÐrQ   c                ó.   — | j                   j                  S r[   )r‰  rÂ   r    s    rR   rÂ   zDecorator.fullname=  ó   € à�y‰y×!Ñ!Ð!rQ   c                ó.   — | j                   j                  S r[   )r‰  rd  r    s    rR   rd  zDecorator.is_finalA  r  rQ   c                ó.   — | j                   j                  S r[   )r‰  ri  r    s    rR   ri  zDecorator.infoE  r  rQ   c                ó.   — | j                   j                  S r[   )rŽ  r©   r    s    rR   r©   zDecorator.typeI  s   € à�x‰x�}‰}ÐrQ   c                ó$   — |j                  | «      S r[   )Úvisit_decoratorrª   s     rR   rœ   zDecorator.acceptM  r'  rQ   c                ó„   — d| j                   j                  «       | j                  j                  «       | j                  dœS )Nru  )rÆ   r‰  rŽ  rÊ  )r‰  rÄ   rŽ  rÊ  r    s    rR   rÄ   zDecorator.serializeP  s8   € à!Ø—I‘I×'Ñ'Ó)Ø—8‘8×%Ñ%Ó'Ø×+Ñ+ñ	
ð 	
rQ   c                ó    — |d   dk(  sJ ‚t        t        j                  |d   «      g t        j                  |d   «      «      }|d   |_        |S )NrÆ   ru  r‰  rŽ  rÊ  )ru  rt  rÎ   r»  rÊ  )rÊ   rË   Údecs      rR   rÎ   zDecorator.deserializeX  sP   € à�H‰~ Ò,Ð,Ð,Üœ×+Ñ+¨D°©LÓ9¸2¼s¿¹ÈtÐTYÉ{Ó?[Ó\ˆØ˜}Ñ-ˆŒØˆ
rQ   c                óÜ   — t        |t        «       | j                  j                  |«       | j                  j                  |«       t        || j                  «       t        |t        «       y r[   )r@   Ú	DECORATORr‰  rÓ   rŽ  r6   rÊ  r!   rÒ   s     rR   rÓ   zDecorator.write_  sF   € Ü�$œ	Ô"Ø�	‰	�‰˜ÔØ�‰�‰�tÔÜ�4˜×)Ñ)Ô*Ü�$œÕ rQ   c                ó  — t        |«      t        k(  sJ ‚t        j                  |«      }t        |«      t        k(  sJ ‚t
        j                  |«      }t        |g |«      }t        |«      |_        t        |«      t        k(  sJ ‚|S r[   )
r5   r	  rt  rÖ   ÚVARr»  ru  r+   rÊ  r!   )rÊ   rË   r‰  rŽ  r  s        rR   rÖ   zDecorator.readf  sq   € ä˜‹~¤Ò)Ð)Ð)Ü�|‰|˜DÓ!ˆÜ˜‹~¤Ò$Ð$Ð$Ü�h‰h�t‹nˆÜ˜˜b #Ó&ˆÜ# D›/ˆŒÜ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   c                ó6   — | j                   j                  «       S r[   )r‰  r«  r    s    rR   r«  zDecorator.is_dynamicq  ó   € Ø�y‰y×#Ñ#Ó%Ð%rQ   )r‰  rt  rˆ  r  rŽ  r»  rd   re   r­   r=  )rd   rÜ   ©rd   r¼  r³   r×   )rË   rm   rd   ru  rØ   )rË   r(   rd   ru  )rL   rM   rN   ri   rj   r>  rƒ   r]   rÙ   r¿   rÂ   rd  ri  r©   rœ   rÄ   rÚ   rÎ   rÓ   rÖ   r«  r?  r@  s   @rR   ru  ru    sÖ   ø… ñð
 T€Ià2€Nà
ƒMØ Ó à)Ó)à	ƒHØÓõ!ð òó ðð ò"ó ð"ð ò"ó ð"ð òó ðð òó ðó-ó
ð òó ðó!ð òó ð÷&rQ   ru  )Úis_selfÚis_clsÚis_initialized_in_classÚis_staticmethodÚis_classmethodra  r�  Úis_suppressed_importÚis_classvarÚis_abstract_varrd  Úis_index_varÚfinal_unset_in_classÚfinal_set_in_initÚexplicit_self_typeÚis_readyÚis_inferredÚinvalid_partial_typeÚfrom_module_getattrÚhas_explicit_valueÚallow_incompatible_overrideÚis_sentinelÚ	VAR_FLAGSc                  ó–   ‡ — e Zd ZdZdZdZddˆ fd„Zedd„«       Zedd„«       Z	dd„Z
dd„Zdd	„Zedd
„«       Zdd„Zedd„«       Zˆ xZS )r»  zPA variable.

    It can refer to global/local variable or a data attribute.
    )rò  r  ri  r©   Úsetter_typeÚfinal_valuer&  r'  r2  r3  r(  r)  r*  ra  r�  r,  r-  rd  r.  r/  r0  r+  r1  r5  r6  r7  r4  Úis_argumentr8  )r¿   r©   r<  c                óØ  •— t         ‰| �  «        || _        d| _        t        | _        || _        d | _        d| _        d| _	        d| _
        | j                  d u | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        y )Nr  FT) r  r]   rò  r  ÚVAR_NO_INFOri  r©   r;  r&  r'  r2  r3  r(  r)  r*  ra  r�  r,  r-  r.  r+  rd  r<  r/  r0  r1  r5  r6  r7  r4  r=  r8  )r\   r¿   r©   rÑ   s      €rR   r]   zVar.__init__·  s  ø€ Ü‰ÑÔØˆŒ
àˆŒäˆŒ	Ø,0ˆŒ	à;?ˆÔàˆŒàˆŒØˆŒØŸ9™9¨Ð,ˆÔð (-ˆÔ$Ø$ˆÔØ#ˆÔØ ˆÔØ$)ˆÔ!Ø ˆÔØ$ˆÔØ!ˆÔð %*ˆÔ!àˆŒð GKˆÔà$)ˆÔ!Ø!&ˆÔð #(ˆÔà#(ˆÔ ð #(ˆÔà+0ˆÔ(ð %*ˆÔ!à ˆÔà ˆÕrQ   c                ó   — | j                   S r[   rû  r    s    rR   r¿   zVar.nameô  rü  rQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zVar.fullnameø  r$  rQ   c                ól   — | j                   xs | j                  }d|›dt        t        | «      «      › d�S )Nz<Var z at ú>)rÂ   r¿   ÚhexrU  ©r\   r¿   s     rR   Ú__repr__zVar.__repr__ü  s1   € Ø�}‰}Ò) §	¡	ˆØ�t�h˜d¤3¤r¨$£x£= /°Ð3Ð3rQ   c                ó$   — |j                  | «      S r[   )Ú	visit_varrª   s     rR   rœ   z
Var.accept   s   € Ø× Ñ  Ó&Ð&rQ   c           	     ó*  — d| j                   | j                  | j                  €d n| j                  j                  «       | j                  €d n| j                  j                  «       t        | t        «      dœ}| j                  �| j                  |d<   |S )Nr»  )rÆ   r¿   rÂ   r©   r;  r–  r<  )rò  r  r©   rÄ   r;  r—  r9  r<  rÒ   s     rR   rÄ   zVar.serialize  sƒ   € ð Ø—J‘JØŸ™Ø ŸI™IÐ-‘D°4·9±9×3FÑ3FÓ3HØ#'×#3Ñ#3Ð#;™4À×AQÑAQ×A[ÑA[ÓA]Ü˜t¤YÓ/ñ
ˆð ×ÑÐ'Ø"&×"2Ñ"2ˆD�ÑØˆrQ   c                óò  — |d   dk(  sJ ‚|d   }|d   €d n!t         j                  j                  |d   «      }|d   €d n!t         j                  j                  |d   «      }t        ||«      }|�Jt	        |t         j                  j
                  «      r$t	        |t         j                  j                  «      sJ ‚||_        d|_        |d   |_	        t        ||d   «       |j                  d	«      |_        |S )
NrÆ   r»  r¿   r©   r;  FrÂ   r–  r<  )r�   r™  rš  r»  r_   r›  rã  r;  r2  r  rœ  rÈ   r<  )rÊ   rË   r¿   r©   r;  Úvs         rR   rÎ   zVar.deserialize  sô   € à�H‰~ Ò&Ð&Ð&Ø�F‰|ˆØ˜F‘|Ð+‰t´·±×1LÑ1LÈTÐRXÉ\Ó1Zˆð �MÑ"Ð*ñ ä—‘×,Ñ,¨T°-Ñ-@ÓAð 	ô
 ��d‹OˆàÐÜ˜+¤t§z¡z×'<Ñ'<Ô=Ü˜;¬¯
©
×(?Ñ(?Ô@ð	
ðAð $ˆŒØˆŒ
Ø˜:Ñ&ˆŒÜ�!�T˜'‘]Ô#ØŸ™ Ó/ˆŒØˆrQ   c                ó@  — t        |t        «       t        || j                  «       t        j
                  j                  || j                  «       t        j
                  j                  || j                  «       t        || j                  «       t        || j                  | j                  | j                  | j                  | j                  | j                   | j"                  | j$                  | j&                  | j(                  | j*                  | j,                  | j.                  | j0                  | j2                  | j4                  | j6                  | j8                  | j:                  | j<                  g«       t?        || j@                  «       t        |tB        «       y r[   )"r@   r"  r   rò  r�   r™  r¢  r©   r;  r  r8   r(  r)  r*  ra  r�  r+  r,  r-  rd  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r<   r<  r!   rÒ   s     rR   rÓ   z	Var.write)  s6  € Ü�$œÔÜ�$˜Ÿ
™
Ô#Ü�
‰
×!Ñ! $¨¯	©	Ô2Ü�
‰
×!Ñ! $¨×(8Ñ(8Ô9Ü�$˜Ÿ™Ô'ÜØà×,Ñ,Ø×$Ñ$Ø×#Ñ#Ø× Ñ Ø×)Ñ)Ø×)Ñ)Ø× Ñ Ø×$Ñ$Ø—‘Ø×!Ñ!Ø×)Ñ)Ø×&Ñ&Ø×'Ñ'Ø—‘Ø× Ñ Ø×)Ñ)Ø×(Ñ(Ø×'Ñ'Ø×0Ñ0Ø× Ñ ð)ô	
ô2 	�d˜D×,Ñ,Ô-Ü�$œÕ rQ   c                ó„  — t        |«      }t        j                  j                  |«      }t	        ||«      }d }t        |«      }|t        k7  rH|t        j                  j                  k(  sJ ‚t        j                  j                  j                  |«      }||_
        t        |«      |_        t        |d¬«      \  |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_        |_         t        |«      }|tB        k(  r$tE        tG        |«      tG        |«      «      |_$        nB|t        k7  r9tK        ||«      }tM        |t        j                  jN                  «      rJ ‚||_$        t        |«      tP        k(  sJ ‚|S )Né   r¥  ))r   r�   r™  r¨  r»  r5   r&   ÚCALLABLE_TYPErã  rÖ   r;  r  r-   r(  r)  r*  ra  r�  r+  r,  r-  rd  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r$   ÚcomplexÚread_float_barer<  r1   r_   ÚSentinelValuer!   )rÊ   rË   r¿   rŸ  rK  r;  rç   Úvals           rR   rÖ   zVar.readK  s{  € ä˜‹~ˆÜ�j‰j×&Ñ& tÓ,ˆÜ��c‹NˆØ6:ˆÜ�t‹nˆØ”,ÒØœ$Ÿ*™*×2Ñ2Ò2Ð2Ð2ÜŸ*™*×1Ñ1×6Ñ6°tÓ<ˆKØ#ˆŒÜ˜t“nˆŒô, �t rÔ*ñ+	
ØÔ%ØÔØÔØŒMØÔ"ØÔ"ØŒMØÔØŒJØŒNØÔ"ØÔØÔ ØŒJØŒMØÔ"ØÔ!ØÔ ØÔ)ØŒMä�t‹nˆØ”/Ò!Ü#¤O°DÓ$9¼?È4Ó;PÓQˆA�MØ”LÒ Ü˜t SÓ)ˆCÜ! #¤t§z¡z×'?Ñ'?Ô@Ð@Ð@ØˆAŒMÜ˜‹~¤Ò(Ð(Ð(ØˆrQ   r[   )r¿   r®   r©   r¼  rd   re   r­   r¯   r×   )rË   rm   rd   r»  rØ   )rË   r(   rd   r»  )rL   rM   rN   ri   rj   r>  r]   rÙ   r¿   rÂ   rF  rœ   rÄ   rÚ   rÎ   rÓ   rÖ   r?  r@  s   @rR   r»  r»  �  s‚   ø„ ñð
€Ið@ 5€Nö;!ðz òó ðð òó ðó4ó'óð òó ðó, !ðD ò)ó ô)rQ   r»  c                  ó`  ‡ — e Zd ZU dZdZdZded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   	 	 	 	 	 d%	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&ˆ fd„Zed'd„«       Z	e	j                  d(d„«       Z	d)d„Zd*d „Zd+d!„Zed,d"„«       Zd-d#„Zed.d$„«       Zˆ xZS )/ÚClassDefzClass definition)r¿   r  rì   r×  Ú	type_varsÚbase_type_exprsÚremoved_base_type_exprsri  Ú	metaclassrˆ  ÚkeywordsÚanalyzedÚhas_incompatible_baseclassr÷  Úremoved_statements)r¿   rì   r®   r¿   r  rÞ  rì   rè  r×  z list[mypy.types.TypeVarLikeType]rV  r  rW  rX  rÜ   ri  r½  rY  rˆ  zdict[str, Expression]rZ  r[  r÷   r\  r  r]  c                ó&  •— t         ‰| �  «        || _        d| _        || _        |xs g | _        || _        |xs g | _        g | _        t        | _
        || _        g | _        |rt        |«      ni | _        d | _        d| _        d | _        g | _        y ©Nr  F)r  r]   r¿   r  rì   rV  r×  rW  rX  ÚCLASSDEF_NO_INFOri  rY  rˆ  ÚdictrZ  r[  r\  r÷  r]  )	r\   r¿   rì   rV  rW  rY  rZ  r×  rÑ   s	           €rR   r]   zClassDef.__init__£  sŽ   ø€ ô 	‰ÑÔØˆŒ	ØˆŒØˆŒ	Ø"š bˆŒØ"ˆŒØ.Ò4°"ˆÔØ')ˆÔ$Ü$ˆŒ	Ø"ˆŒØˆŒÙ*2œ˜Xœ¸ˆŒØˆŒØ*/ˆÔ'Ø%)ˆŒØ"$ˆÕrQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zClassDef.fullname¾  r$  rQ   c                ó   — || _         y r[   r#  ©r\   rK  s     rR   rÂ   zClassDef.fullnameÂ  ó	   € àˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_class_defrª   s     rR   rœ   zClassDef.acceptÆ  r'  rQ   c                ó6   — | j                   j                  «       S r[   )ri  Ú
is_genericr    s    rR   ri  zClassDef.is_genericÉ  r$  rQ   c                óŽ   — d| j                   | j                  | j                  D �cg c]  }|j                  «       ‘Œ c}dœS c c}w )NrU  )rÆ   r¿   rÂ   rV  )r¿   rÂ   rV  rÄ   rd  s     rR   rÄ   zClassDef.serializeÌ  s=   € ð !Ø—I‘IØŸ™Ø15·±Ö@¨A˜!Ÿ+™+�-Ò@ñ	
ð 	
ùò As   ¦A
c                ó
  — |d   dk(  sJ ‚t        |d   t        g «      |d   D �cg c]C  }t        t        j                  j
                  t        j                  j                  |«      «      ‘ŒE c}«      }|d   |_        |S c c}w )NrÆ   rU  r¿   rV  rÂ   )rU  rÞ  r   r�   r™  ÚTypeVarLikeTyperš  rÂ   )rÊ   rË   rK  rž  s       rR   rÎ   zClassDef.deserializeÖ  s�   € à�H‰~ Ò+Ð+Ð+ÜØ�‰LÜ�"‹Ið ˜kÑ*öàô ”T—Z‘Z×/Ñ/´·±×1LÑ1LÈQÓ1OÕPòó	
ˆð ˜JÑ'ˆŒØˆ
ùòs   ¥AB c                óð   — t        |t        «       t        || j                  «       t        j
                  j                  || j                  «       t        || j                  «       t        |t        «       y r[   )
r@   Ú	CLASS_DEFr   r¿   r�   r™  Úwrite_type_listrV  rÂ   r!   rÒ   s     rR   rÓ   zClassDef.writeå  sJ   € Ü�$œ	Ô"Ü�$˜Ÿ	™	Ô"Ü�
‰
×"Ñ" 4¨¯©Ô8Ü�$˜Ÿ™Ô&Ü�$œÕ rQ   c                óÆ   — t        t        |«      t        g «      t        j                  j                  |«      «      }t        |«      |_        t        |«      t        k(  sJ ‚|S r[   )	rU  r   rÞ  r�   r™  Úread_type_var_likesrÂ   r5   r!   )rÊ   rË   rž  s      rR   rÖ   zClassDef.readì  sJ   € ä”x “~¤u¨R£y´$·*±*×2PÑ2PÐQUÓ2VÓWˆÜ “~ˆŒÜ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   )NNNNN)r¿   r®   rì   rÞ  rV  ú'list[mypy.types.TypeVarLikeType] | NonerW  zlist[Expression] | NonerY  r½  rZ  z#list[tuple[str, Expression]] | Noner×  rè  rd   re   r­   ©rK  r®   rd   re   r³   r=  r×   )rË   rm   rd   rU  rØ   )rË   r(   rd   rU  )rL   rM   rN   ri   rj   r>  rƒ   r]   rÙ   rÂ   r‘  rœ   ri  rÄ   rÚ   rÎ   rÓ   rÖ   r?  r@  s   @rR   rU  rU  x  s1  ø… Ùð€Ið$ &€Nà
ƒIØƒNØ
ƒKà%Ó%à/Ó/à%Ó%à-Ó-Ø
ƒNØ Ó Ø Ó Ø#Ó#ØÓØ $Ó$à'Ó'ð >BØ37Ø'+Ø8<Ø,0ð%àð%ð ð%ð ;ð	%ð
 1ð%ð %ð%ð 6ð%ð *ð%ð 
õ%ð6 òó ðð ‡_�_òó ðó-ó&ó
ð òó ðó!ð òó ôrQ   rU  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	Ú
GlobalDeclzDeclaration global x, y, ...©r  ú	list[str]r  c                ó0   •— t         ‰| �  «        || _        y r[   ©r  r]   r  ©r\   r  rÑ   s     €rR   r]   zGlobalDecl.__init__ý  ó   ø€ Ü‰ÑÔØˆ�
rQ   c                ó$   — |j                  | «      S r[   )Úvisit_global_declrª   s     rR   rœ   zGlobalDecl.accept  rZ  rQ   ©r  rw  rd   re   r³   rR  r@  s   @rR   ru  ru  ô  s    ø… Ù&à€Ià€NàÓõ÷/rQ   ru  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚNonlocalDeclzDeclaration nonlocal x, y, ...rv  rw  r  c                ó0   •— t         ‰| �  «        || _        y r[   ry  rz  s     €rR   r]   zNonlocalDecl.__init__  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_nonlocal_declrª   s     rR   rœ   zNonlocalDecl.accept  ó   € Ø×*Ñ*¨4Ó0Ð0rQ   r~  r³   rR  r@  s   @rR   r€  r€    s    ø… Ù(à€Ià€NàÓõ÷1rQ   r€  c                  ó6   ‡ — e Zd ZdZdZddœdˆ fd„Zdd„Zˆ xZS )rÞ  )rØ  rC  F)rC  c               ó>   •— t         ‰| �  «        || _        || _        y r[   )r  r]   rØ  rC  )r\   rØ  rC  rÑ   s      €rR   r]   zBlock.__init__  s   ø€ Ü‰ÑÔØˆŒ	ð -ˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_blockrª   s     rR   rœ   zBlock.accept%  s   € Ø×"Ñ" 4Ó(Ð(rQ   )rØ  r  rC  r÷   rd   re   r³   )rL   rM   rN   rj   r>  r]   rœ   r?  r@  s   @rR   rÞ  rÞ    s   ø„ Ø*€Ià/€NàHM÷ -÷)rQ   rÞ  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚExpressionStmtz/An expression as a statement, such as print(s).©Úexprr¶   rŒ  c                ó0   •— t         ‰| �  «        || _        y r[   ©r  r]   rŒ  ©r\   rŒ  rÑ   s     €rR   r]   zExpressionStmt.__init__5  ó   ø€ Ü‰ÑÔØˆ�	rQ   c                ó$   — |j                  | «      S r[   )Úvisit_expression_stmtrª   s     rR   rœ   zExpressionStmt.accept9  ó   € Ø×,Ñ,¨TÓ2Ð2rQ   ©rŒ  r¶   rd   re   r³   rR  r@  s   @rR   rŠ  rŠ  ,  s    ø… Ù9à€Ià€Nà
Óõ÷3rQ   rŠ  c                  óž   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   	 	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZ	S )ÚAssignmentStmtab  Assignment statement.

    The same node class is used for single assignment, multiple assignment
    (e.g. x, y = z) and chained assignment (e.g. x = y = z), assignments
    that define new names, and assignments with explicit types ("# type: t"
    or "x: t [= ...]").

    An lvalue can be NameExpr, TupleExpr, ListExpr, MemberExpr, or IndexExpr.
    )ÚlvaluesÚrvaluer©   rh  Ú
new_syntaxÚis_alias_defÚis_final_defÚinvalid_recursive_alias)r—  Úrvaluesr©   úlist[Lvalue]r—  r¶   r˜  r¼  r©   rh  r÷   r™  rš  r›  rœ  c                ó’   •— t         ‰| �  «        || _        || _        || _        || _        || _        d| _        d| _        d| _	        y rH  )
r  r]   r—  r˜  r©   rh  r™  rš  r›  rœ  )r\   r—  r˜  r©   r™  rÑ   s        €rR   r]   zAssignmentStmt.__init__k  sL   ø€ ô 	‰ÑÔØˆŒØˆŒØˆŒ	Ø#ˆÔØ$ˆŒØ!ˆÔØ!ˆÔØ',ˆÕ$rQ   c                ó$   — |j                  | «      S r[   )Úvisit_assignment_stmtrª   s     rR   rœ   zAssignmentStmt.accept|  r“  rQ   rH  )
r—  rž  r˜  r¶   r©   r¼  r™  r÷   rd   re   r³   rR  r@  s   @rR   r–  r–  =  sŒ   ø… ñð	€Ið 4€NàÓàÓà
 Ó à+Ó+àÓàÓð Óð "Ó!ð (,Ø ð-àð-ð ð-ð %ð	-ð
 ð-ð 
õ-÷"3rQ   r–  c                  óT   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   dˆ fd
„Zdd„Zˆ xZ	S )ÚOperatorAssignmentStmtz,Operator assignment statement such as x += 1)ÚopÚlvaluer˜  )r¥  r¤  r˜  r®   r¤  r»   r¥  r¶   r˜  c                óL   •— t         ‰| �  «        || _        || _        || _        y r[   )r  r]   r¤  r¥  r˜  )r\   r¤  r¥  r˜  rÑ   s       €rR   r]   zOperatorAssignmentStmt.__init__‹  s#   ø€ Ü‰ÑÔØˆŒØˆŒØˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_operator_assignment_stmtrª   s     rR   rœ   zOperatorAssignmentStmt.accept‘  ó   € Ø×5Ñ5°dÓ;Ð;rQ   )r¤  r®   r¥  r»   r˜  r¶   rd   re   r³   rR  r@  s   @rR   r£  r£  €  s*   ø… Ù6à*€Ià/€NàƒGØƒNØÓõ÷<rQ   r£  c                  óP   ‡ — e Zd ZU dZdZded<   ded<   ded<   d
ˆ fd„Zdd	„Zˆ xZS )Ú	WhileStmt)rŒ  rØ  Ú	else_bodyr¶   rŒ  rÞ  rØ  ræ  r¬  c                óL   •— t         ‰| �  «        || _        || _        || _        y r[   )r  r]   rŒ  rØ  r¬  ©r\   rŒ  rØ  r¬  rÑ   s       €rR   r]   zWhileStmt.__init__ž  s#   ø€ Ü‰ÑÔØˆŒ	ØˆŒ	Ø"ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_while_stmtrª   s     rR   rœ   zWhileStmt.accept¤  r`  rQ   )rŒ  r¶   rØ  rÞ  r¬  ræ  rd   re   r³   ©	rL   rM   rN   rj   r>  rƒ   r]   rœ   r?  r@  s   @rR   r«  r«  •  s(   ø… Ø-€Ià2€Nà
ÓØ
ƒKØÓõ#÷.rQ   r«  c                  ó¦   ‡ — e Zd ZU dZdZded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   	 d	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZS )ÚForStmt)	ÚindexÚ
index_typeÚunanalyzed_index_typeÚinferred_item_typeÚinferred_iterator_typerŒ  rØ  r¬  Úis_async)r´  rµ  rŒ  rØ  r¬  r»   r´  r¼  rµ  r¶  r·  r¸  r¶   rŒ  rÞ  rØ  ræ  r¬  r÷   r¹  c                ó    •— t         ‰| �  «        || _        || _        || _        d | _        d | _        || _        || _        || _	        d| _
        y rH  )r  r]   r´  rµ  r¶  r·  r¸  rŒ  rØ  r¬  r¹  )r\   r´  rŒ  rØ  r¬  rµ  rÑ   s         €rR   r]   zForStmt.__init__Ç  sR   ø€ ô 	‰ÑÔØˆŒ
Ø$ˆŒØ%/ˆÔ"Ø"&ˆÔØ&*ˆÔ#ØˆŒ	ØˆŒ	Ø"ˆŒØˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_for_stmtrª   s     rR   rœ   zForStmt.acceptÚ  rÿ  rQ   r[   )r´  r»   rŒ  r¶   rØ  rÞ  r¬  ræ  rµ  r¼  rd   re   r³   r±  r@  s   @rR   r³  r³  ¨  s�   ø… ð
€Ið J€Nð ƒMà&Ó&à1Ó1à.Ó.à2Ó2à
ÓØ
ƒKØÓØƒNð .2ðàðð ðð ð	ð
  ðð +ðð 
õ÷&,rQ   r³  c                  ó<   ‡ — e Zd ZU dZdZded<   dˆ fd„Zdd„Zˆ xZS )Ú
ReturnStmtr‹  r½  rŒ  c                ó0   •— t         ‰| �  «        || _        y r[   rŽ  r�  s     €rR   r]   zReturnStmt.__init__å  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_return_stmtrª   s     rR   rœ   zReturnStmt.accepté  rZ  rQ   ©rŒ  r½  rd   re   r³   r±  r@  s   @rR   r¾  r¾  Þ  s   ø… Ø€Ià€Nà
Óõ÷/rQ   r¾  c                  óH   ‡ — e Zd ZU dZdZded<   ded<   dd	ˆ fd„Zd
d„Zˆ xZS )Ú
AssertStmt)rŒ  Úmsgr¶   rŒ  r½  rÅ  c                ó>   •— t         ‰| �  «        || _        || _        y r[   )r  r]   rŒ  rÅ  )r\   rŒ  rÅ  rÑ   s      €rR   r]   zAssertStmt.__init__õ  s   ø€ Ü‰ÑÔØˆŒ	Øˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_assert_stmtrª   s     rR   rœ   zAssertStmt.acceptú  rZ  rQ   r[   )rŒ  r¶   rÅ  r½  rd   re   r³   r±  r@  s   @rR   rÄ  rÄ  í  s#   ø… Ø€Ià$€Nà
ÓØ	Óö÷
/rQ   rÄ  c                  ó<   ‡ — e Zd ZU dZdZded<   dˆ fd„Zdd„Zˆ xZS )ÚDelStmtr‹  r»   rŒ  c                ó0   •— t         ‰| �  «        || _        y r[   rŽ  r�  s     €rR   r]   zDelStmt.__init__  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_del_stmtrª   s     rR   rœ   zDelStmt.accept	  rÿ  rQ   )rŒ  r»   rd   re   r³   r±  r@  s   @rR   rÊ  rÊ  þ  s   ø… Ø€Ià€Nà
ƒLõ÷,rQ   rÊ  c                  ó   — e Zd ZdZdd„Zy)Ú	BreakStmtrP   c                ó$   — |j                  | «      S r[   )Úvisit_break_stmtrª   s     rR   rœ   zBreakStmt.accept  r`  rQ   Nr³   ©rL   rM   rN   rj   rœ   rP   rQ   rR   rÏ  rÏ    s   „ Ø€Iô.rQ   rÏ  c                  ó   — e Zd ZdZdd„Zy)ÚContinueStmtrP   c                ó$   — |j                  | «      S r[   )Úvisit_continue_stmtrª   s     rR   rœ   zContinueStmt.accept  r„  rQ   Nr³   rÒ  rP   rQ   rR   rÔ  rÔ    s   „ Ø€Iô1rQ   rÔ  c                  ó   — e Zd ZdZdd„Zy)ÚPassStmtrP   c                ó$   — |j                  | «      S r[   )Úvisit_pass_stmtrª   s     rR   rœ   zPassStmt.accept  r'  rQ   Nr³   rÒ  rP   rQ   rR   rØ  rØ    s   „ Ø€Iô-rQ   rØ  c                  óZ   ‡ — e Zd ZU dZdZded<   ded<   ded<   ded	<   dˆ fd
„Zdd„Zˆ xZS )ÚIfStmt)rŒ  rØ  r¬  Úunreachable_elser  rŒ  úlist[Block]rØ  ræ  r¬  r÷   rÝ  c                óZ   •— t         ‰| �  «        || _        || _        || _        d| _        y rH  )r  r]   rŒ  rØ  r¬  rÝ  r®  s       €rR   r]   zIfStmt.__init__1  s+   ø€ Ü‰ÑÔØˆŒ	ØˆŒ	Ø"ˆŒØ %ˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_if_stmtrª   s     rR   rœ   zIfStmt.accept8  ó   € Ø×$Ñ$ TÓ*Ð*rQ   )rŒ  r  rØ  rÞ  r¬  ræ  rd   re   r³   r±  r@  s   @rR   rÜ  rÜ  "  s1   ø… ØA€IàF€Nà
ÓØ
ÓØÓð Óõ&÷+rQ   rÜ  c                  óF   ‡ — e Zd ZU dZdZded<   ded<   dˆ fd„Zdd„Zˆ xZS )	Ú	RaiseStmt)rŒ  Ú	from_exprr½  rŒ  rå  c                ó>   •— t         ‰| �  «        || _        || _        y r[   )r  r]   rŒ  rå  )r\   rŒ  rå  rÑ   s      €rR   r]   zRaiseStmt.__init__E  s   ø€ Ü‰ÑÔØˆŒ	Ø"ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_raise_stmtrª   s     rR   rœ   zRaiseStmt.acceptJ  r`  rQ   )rŒ  r½  rå  r½  rd   re   r³   r±  r@  s   @rR   rä  rä  <  s%   ø… Ø%€Ià*€Nð ÓØ Ó õ#÷
.rQ   rä  c                  ó”   ‡ — e Zd ZU dZdZded<   ded<   ded<   ded	<   d
ed<   d
ed<   ded<   	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZS )ÚTryStmt)rØ  r™  ÚvarsÚhandlersr¬  Úfinally_bodyÚis_starrÞ  rØ  úlist[Expression | None]r™  úlist[NameExpr | None]rë  rÞ  rì  ræ  r¬  rí  r÷   rî  c                ó„   •— t         ‰| �  «        || _        || _        || _        || _        || _        || _        d| _        y rH  )	r  r]   rØ  rë  r™  rì  r¬  rí  rî  )r\   rØ  rë  r™  rì  r¬  rí  rÑ   s          €rR   r]   zTryStmt.__init__]  sB   ø€ ô 	‰ÑÔØˆŒ	ØˆŒ	ØˆŒ
Ø ˆŒØ"ˆŒØ(ˆÔØˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_try_stmtrª   s     rR   rœ   zTryStmt.accepto  rÿ  rQ   )rØ  rÞ  rë  rð  r™  rï  rì  rÞ  r¬  ræ  rí  ræ  rd   re   r³   r±  r@  s   @rR   rê  rê  N  sƒ   ø… Ø]€Iàb€Nà
ƒKà"Ó"Ø
ÓØÓØÓØÓàƒMðàðð $ðð 'ð	ð
 ðð  ðð #ðð 
õ÷$,rQ   rê  c                  ó„   ‡ — e Zd ZU dZdZded<   ded<   ded<   d	ed
<   ded<   ded<   	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZS )ÚWithStmt)rŒ  ra   rh  Úanalyzed_typesrØ  r¹  )rŒ  ra   rØ  r  rŒ  úlist[Lvalue | None]ra   r¼  rh  rÉ  rö  rÞ  rØ  r÷   r¹  c                óv   •— t         ‰| �  «        || _        || _        || _        g | _        || _        d| _        y rH  )r  r]   rŒ  ra   rh  rö  rØ  r¹  )r\   rŒ  ra   rØ  Útarget_typerÑ   s        €rR   r]   zWithStmt.__init__�  s<   ø€ ô 	‰ÑÔØˆŒ	ØˆŒØ*ˆÔØ ˆÔØˆŒ	Øˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_with_stmtrª   s     rR   rœ   zWithStmt.accept�  r'  rQ   r[   )
rŒ  r  ra   r÷  rØ  rÞ  rù  r¼  rd   re   r³   r±  r@  s   @rR   rõ  rõ  s  sn   ø… Ø[€Ià/€Nà
ÓØÓà+Ó+à)Ó)Ø
ƒKØƒNð /3ðàðð $ðð ð	ð
 ,ðð 
õ÷-rQ   rõ  c                  óx   ‡ — e Zd ZU dZdZded<   ded<   ded<   d	ed
<   ded<   	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZS )Ú	MatchStmt)ÚsubjectÚsubject_dummyÚpatternsÚguardsÚbodies)rþ  r   r  r  r¶   rþ  zNameExpr | Nonerÿ  úlist[ConcretePattern]r   rï  r  rÞ  r  c                ó¾   •— t         ‰| �  «        t        |«      t        |«      cxk(  rt        |«      k(  sJ ‚ J ‚|| _        d | _        || _        || _        || _        y r[   )r  r]   rû   rþ  rÿ  r   r  r  )r\   rþ  r   r  r  rÑ   s        €rR   r]   zMatchStmt.__init__Ÿ  sY   ø€ ô 	‰ÑÔÜ�8‹}¤ F£Ô:¬s°6«{Ò:Ð:Ñ:Ð:Ð:ØˆŒØ!ˆÔØ ˆŒØˆŒØˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_match_stmtrª   s     rR   rœ   zMatchStmt.accept®  r`  rQ   )
rþ  r¶   r   r  r  rï  r  rÞ  rd   re   r³   r±  r@  s   @rR   rý  rý  ”  se   ø… ØL€Ià@€NàÓØ"Ó"Ø#Ó#Ø#Ó#ØÓðàðð (ðð (ð	ð
 ðð 
õ÷.rQ   rý  c                  ód   ‡ — e Zd ZU dZdZded<   ded<   ded<   d	ed
<   ded<   dˆ fd„Zdd„Zˆ xZS )ÚTypeAliasStmt)r¿   r×  r  rœ  Ú
alias_node)r¿   r×  r  ÚNameExprr¿   úlist[TypeParam]r×  Ú
LambdaExprr  r÷   rœ  úTypeAlias | Noner	  c                óh   •— t         ‰| �  «        || _        || _        || _        d| _        d | _        y rH  )r  r]   r¿   r×  r  rœ  r	  )r\   r¿   r×  r  rÑ   s       €rR   r]   zTypeAliasStmt.__init__½  s2   ø€ Ü‰ÑÔØˆŒ	Ø"ˆŒØˆŒ
Ø',ˆÔ$Øˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_type_alias_stmtrª   s     rR   rœ   zTypeAliasStmt.acceptÅ  r“  rQ   )r¿   r
  r×  r  r  r  rd   re   r³   r±  r@  s   @rR   r  r  ²  s4   ø… ØW€Ià3€Nà
ƒNØÓØÓØ!Ó!Ø Ó õ÷3rQ   r  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚIntExprzInteger literal©r  r`   r  c                ó0   •— t         ‰| �  «        || _        y r[   ©r  r]   r  ©r\   r  rÑ   s     €rR   r]   zIntExpr.__init__Õ  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_int_exprrª   s     rR   rœ   zIntExpr.acceptÙ  rÿ  rQ   )r  r`   rd   re   r¸   rR  r@  s   @rR   r  r  Ì  s   ø… Ùà€Ià€NàƒJõ÷,rQ   r  c                  óT   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   dˆ fd
„Zdd„Zˆ xZ	S )ÚStrExprzString literal)r  Úas_typeÚhas_surrogatesr  r®   r  ú"NotParsed | mypy.types.Type | Noner  r÷   r  c                óh   •— t         ‰| �  «        || _        t        j                  | _        d| _        y rH  )r  r]   r  rK   rO   r  r  r  s     €rR   r]   zStrExpr.__init__ô  s(   ø€ Ü‰ÑÔØˆŒ
Ü —‘ˆŒØ#ˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_str_exprrª   s     rR   rœ   zStrExpr.acceptú  rÿ  rQ   ©r  r®   rd   re   r¸   rR  r@  s   @rR   r  r  ã  s/   ø… Ùà6€Ià€NàƒJð 0Ó/ð Óõ$÷,rQ   r  c                ó&   — t        d„ | D «       «      S )Nc              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr[   )r_   r  r¬  s     rR   r®  z"is_StrExpr_list.<locals>.<genexpr>ÿ  s   è ø€ Ò9¨TŒz˜$¤×(Ñ9ùr¯  )r°  )Úseqs    rR   Úis_StrExpr_listr%  þ  s   € ÜÑ9°SÔ9Ó9Ð9rQ   c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	Ú	BytesExprzBytes literalr  r®   r  c                ó0   •— t         ‰| �  «        || _        y r[   r  r  s     €rR   r]   zBytesExpr.__init__	  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_bytes_exprrª   s     rR   rœ   zBytesExpr.accept	  r`  rQ   r!  r¸   rR  r@  s   @rR   r'  r'  	  s!   ø… Ùà€Ià€Nð ƒJõ÷.rQ   r'  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	Ú	FloatExprzFloat literalr  Úfloatr  c                ó0   •— t         ‰| �  «        || _        y r[   r  r  s     €rR   r]   zFloatExpr.__init__%	  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_float_exprrª   s     rR   rœ   zFloatExpr.accept)	  r`  rQ   )r  r-  rd   re   r¸   rR  r@  s   @rR   r,  r,  	  s   ø… Ùà€Ià€NàƒLõ÷.rQ   r,  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚComplexExprzComplex literalr  rP  r  c                ó0   •— t         ‰| �  «        || _        y r[   r  r  s     €rR   r]   zComplexExpr.__init__6	  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_complex_exprrª   s     rR   rœ   zComplexExpr.accept:	  ó   € Ø×)Ñ)¨$Ó/Ð/rQ   )r  rP  rd   re   r¸   rR  r@  s   @rR   r2  r2  -	  s   ø… Ùà€Ià€NàƒNõ÷0rQ   r2  c                  ó   — e Zd ZdZdZdd„Zy)ÚEllipsisExprzEllipsis (...)rP   c                ó$   — |j                  | «      S r[   )Úvisit_ellipsisrª   s     rR   rœ   zEllipsisExpr.acceptC	  rÿ  rQ   Nr¸   r´   rP   rQ   rR   r8  r8  >	  s   „ Ùà€Iô,rQ   r8  c                  óJ   ‡ — e Zd ZU dZdZdZded<   ded<   d	ˆ fd„Zd
d„Zˆ xZ	S )ÚStarExprzStar expression)rŒ  Úvalidr¶   rŒ  r÷   r=  c                ó>   •— t         ‰| �  «        || _        d| _        y rH  )r  r]   rŒ  r=  r�  s     €rR   r]   zStarExpr.__init__Q	  s   ø€ Ü‰ÑÔØˆŒ	ð ˆ�
rQ   c                ó$   — |j                  | «      S r[   )Úvisit_star_exprrª   s     rR   rœ   zStarExpr.acceptX	  r'  rQ   r”  r¸   rR  r@  s   @rR   r<  r<  G	  s%   ø… Ùà!€Ià&€Nà
ÓØƒKõ÷-rQ   r<  c                  ó`   ‡ — e Zd ZdZdZdˆ fd„Zedd„«       Zej                  dd„«       Zˆ xZ	S )	ÚRefExprz,Abstract base class for name-like constructs)r¶  Únoder  Ú
is_new_defÚis_inferred_defÚis_alias_rvalueÚ
type_guardÚtype_isc                ó’   •— t         ‰| �  «        d | _        d | _        d| _        d| _        d| _        d| _        d | _        d | _	        y r_  )
r  r]   r¶  rC  r  rD  rE  rF  rG  rH  rI  s    €rR   r]   zRefExpr.__init__j	  sJ   ø€ Ü‰ÑÔà $ˆŒ	à'+ˆŒ	àˆŒàˆŒð
  %ˆÔà$ˆÔà26ˆŒà/3ˆ�rQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zRefExpr.fullname€	  r$  rQ   c                ó   — || _         y r[   r#  rd  s     rR   rÂ   zRefExpr.fullname„	  re  rQ   rJ  r­   rs  )
rL   rM   rN   ri   rj   r]   rÙ   rÂ   r‘  r?  r@  s   @rR   rB  rB  \	  s>   ø„ Ù6ð	€Iõ4ð, òó ðð ‡_�_òó ôrQ   rB  c                  ó<   ‡ — e Zd ZdZdZdZdˆ fd„Zdd„Zd	d„Zˆ xZ	S )
r
  zOName expression

    This refers to a local name, global name or a module.
    )r¿   Úis_special_form)r¿   rC  c                ó>   •— t         ‰| �  «        || _        d| _        y rH  )r  r]   r¿   rM  )r\   r¿   rÑ   s     €rR   r]   zNameExpr.__init__“	  s   ø€ Ü‰ÑÔØˆŒ	à$ˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_name_exprrª   s     rR   rœ   zNameExpr.accept™	  r'  rQ   c                ó   — J d| › �«       ‚)NzSerializing NameExpr: rP   r    s    rR   rÄ   zNameExpr.serializeœ	  s   € Ø5Ð.¨t¨fÐ5Ó5ˆurQ   )r¿   r®   rd   re   r¸   r×   )
rL   rM   rN   ri   rj   r>  r]   rœ   rÄ   r?  r@  s   @rR   r
  r
  ‰	  s#   ø„ ñð
 ,€Ià%€Nõ%ó-÷6rQ   r
  c                  ó4   ‡ — e Zd ZdZdZdZdˆ fd„Zdd„Zˆ xZS )Ú
MemberExprzMember access expression x.y)rŒ  r¿   Údef_var)rŒ  r¿   rC  c                óL   •— t         ‰| �  «        || _        || _        d | _        y r[   )r  r]   rŒ  r¿   rT  )r\   rŒ  r¿   rÑ   s      €rR   r]   zMemberExpr.__init__§	  s%   ø€ Ü‰ÑÔØˆŒ	ØˆŒ	ð $(ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_member_exprrª   s     rR   rœ   zMemberExpr.accept¯	  rZ  rQ   )rŒ  r¶   r¿   r®   rd   re   r¸   ©	rL   rM   rN   ri   rj   r>  r]   rœ   r?  r@  s   @rR   rS  rS   	  s   ø„ Ù&à+€Ià-€Nõ(÷/rQ   rS  c                  óP   — e Zd ZdZdZdZdZdZdZddd„Z	ddd„Z
dd	„Zdd
„Zdd„Zy)r¾  r   ro   rq   rs   r¤  é   c                óH   — | t         k(  xs | t        k(  xs |xr	 | t        k(  S r[   )rÜ  rÝ  ÚARG_STAR©r\   Ústars     rR   Úis_positionalzArgKind.is_positionalÃ	  s$   € Ø”w‰ÒP $¬'¡/ÒP°dÒ6O¸tÄxÑ?OÐPrQ   c                óH   — | t         k(  xs | t        k(  xs |xr	 | t        k(  S r[   )Ú	ARG_NAMEDÚARG_NAMED_OPTÚ	ARG_STAR2r]  s     rR   Úis_namedzArgKind.is_namedÆ	  s&   € Ø”yÑ ÒY D¬MÑ$9ÒY¸dÒ>XÀtÌyÑGXÐYrQ   c                ó*   — | t         k(  xs	 | t        k(  S r[   )rÜ  ra  r    s    rR   Úis_requiredzArgKind.is_requiredÉ	  s   € Ø”w‰Ò3 $¬)Ñ"3Ð3rQ   c                ó*   — | t         k(  xs	 | t        k(  S r[   )rÝ  rb  r    s    rR   Úis_optionalzArgKind.is_optionalÌ	  s   € Ø”w‰Ò7 $¬-Ñ"7Ð7rQ   c                ó*   — | t         k(  xs	 | t        k(  S r[   )r\  rc  r    s    rR   rî  zArgKind.is_starÏ	  s   € Ø”xÑÒ4 4¬9Ñ#4Ð4rQ   Nrº  )r^  r÷   rd   r÷   r=  )rL   rM   rN   rÜ  rÝ  r\  ra  rc  rb  r_  rd  rf  rh  rî  rP   rQ   rR   r¾  r¾  ´	  s=   „ ð €Gà€Gà€Hà€Ià€Ià€MôQôZó4ó8ô5rQ   r¾  rÜ  rÝ  r\  ra  rc  rb  r  c                  óN   ‡ — e Zd ZdZdZdZ	 d	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZS )	ÚCallExprz’Call expression.

    This can also represent several special forms that are syntactically calls
    such as cast(...) and None  # type: ....
    )ÚcalleeÚargsrÔ  rÓ  r[  )rl  rm  rÔ  rÓ  c                óŠ   •— t         ‰| �  «        |sd gt        |«      z  }|| _        || _        || _        || _        || _        y r[   )r  r]   rû   rl  rm  rÔ  rÓ  r[  )r\   rl  rm  rÔ  rÓ  r[  rÑ   s         €rR   r]   zCallExpr.__init__è	  sH   ø€ ô 	‰ÑÔÙØ˜¤ T£Ñ*ˆIàˆŒØˆŒ	Ø"ˆŒà+4ˆŒð !ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_call_exprrª   s     rR   rœ   zCallExpr.acceptý	  r'  rQ   r[   )rl  r¶   rm  r  rÔ  úlist[ArgKind]rÓ  zlist[str | None]r[  r½  rd   re   r¸   rX  r@  s   @rR   rk  rk  Ý	  s^   ø„ ñð I€IàA€Nð '+ð!àð!ð ð!ð !ð	!ð
 $ð!ð $ð!ð 
õ!÷*-rQ   rk  c                  ó<   ‡ — e Zd ZU dZdZded<   dˆ fd„Zdd„Zˆ xZS )ÚYieldFromExprr‹  r¶   rŒ  c                ó0   •— t         ‰| �  «        || _        y r[   rŽ  r�  s     €rR   r]   zYieldFromExpr.__init__
  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_yield_from_exprrª   s     rR   rœ   zYieldFromExpr.accept
  r“  rQ   r”  r¸   r±  r@  s   @rR   rs  rs  
  s   ø… Ø€Ià€Nà
Óõ÷3rQ   rs  c                  ó<   ‡ — e Zd ZU dZdZded<   dˆ fd„Zdd„Zˆ xZS )Ú	YieldExprr‹  r½  rŒ  c                ó0   •— t         ‰| �  «        || _        y r[   rŽ  r�  s     €rR   r]   zYieldExpr.__init__
  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_yield_exprrª   s     rR   rœ   zYieldExpr.accept
  r`  rQ   rÂ  r¸   r±  r@  s   @rR   rx  rx  
  s   ø… Ø€Ià€Nà
Óõ÷.rQ   rx  c                  óh   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   d	ed
<   ded<   dˆ fd„Zdd„Zˆ xZ	S )Ú	IndexExprzaIndex expression x[y].

    Also wraps type application such as List[int] as a special form.
    )Úbaser´  Úmethod_typer[  r  )r~  r´  r¶   r~  r´  r¼  r  z&TypeApplication | TypeAliasExpr | Noner[  r  r  c                ó„   •— t         ‰| �  «        || _        || _        d | _        d | _        t        j                  | _        y r[   )	r  r]   r~  r´  r  r[  rK   rO   r  )r\   r~  r´  rÑ   s      €rR   r]   zIndexExpr.__init__5
  s6   ø€ Ü‰ÑÔØˆŒ	ØˆŒ
ØˆÔØˆŒÜ —‘ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_index_exprrª   s     rR   rœ   zIndexExpr.accept=
  r`  rQ   )r~  r¶   r´  r¶   rd   re   r¸   rR  r@  s   @rR   r}  r}  
  sA   ø… ñð
 H€Ià&€Nà
ÓØÓà'Ó'ð 5Ó4ð 0Ó/õ'÷.rQ   r}  c                  óT   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   dˆ fd
„Zdd„Zˆ xZ	S )Ú	UnaryExprzUnary operation)r¤  rŒ  r  )r¤  rŒ  r®   r¤  r¶   rŒ  r¼  r  c                óL   •— t         ‰| �  «        || _        || _        d | _        y r[   )r  r]   r¤  rŒ  r  )r\   r¤  rŒ  rÑ   s      €rR   r]   zUnaryExpr.__init__M
  s$   ø€ Ü‰ÑÔØˆŒØˆŒ	ØˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_unary_exprrª   s     rR   rœ   zUnaryExpr.acceptS
  r`  rQ   )r¤  r®   rŒ  r¶   rd   re   r¸   rR  r@  s   @rR   r„  r„  A
  s+   ø… Ùà-€Ià#€NàƒGØ
Óà'Ó'õ ÷.rQ   r„  c                  ó4   ‡ — e Zd ZdZdZdZdˆ fd„Zdd„Zˆ xZS )ÚAssignmentExprz5Assignment expressions in Python 3.8+, like "a := 2".)ra   r  c                ó>   •— t         ‰| �  «        || _        || _        y r[   )r  r]   ra   r  )r\   ra   r  rÑ   s      €rR   r]   zAssignmentExpr.__init__^
  s   ø€ Ü‰ÑÔØˆŒØˆ�
rQ   c                ó$   — |j                  | «      S r[   )Úvisit_assignment_exprrª   s     rR   rœ   zAssignmentExpr.acceptc
  r“  rQ   )ra   r
  r  r¶   rd   re   r¸   rX  r@  s   @rR   r‰  r‰  W
  s   ø„ Ù?à#€Ià(€Nõ÷
3rQ   r‰  c                  óœ   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZ	S )ÚOpExprz^Binary operation.

    The dot (.), [] and comparison operators have more specific nodes.
    )r¤  ÚleftÚrightr  Úright_alwaysÚright_unreachabler[  r  )r�  r¤  r�  r®   r¤  r¶   r�  r�  r¼  r  r÷   r‘  r’  úTypeAliasExpr | Noner[  r  r  c                ó®   •— t         ‰| �  «        || _        || _        || _        d | _        d| _        d| _        || _        t        j                  | _        y rH  )r  r]   r¤  r�  r�  r  r‘  r’  r[  rK   rO   r  )r\   r¤  r�  r�  r[  rÑ   s        €rR   r]   zOpExpr.__init__Š
  sO   ø€ ô 	‰ÑÔØˆŒØˆŒ	ØˆŒ
ØˆÔØ!ˆÔØ!&ˆÔØ ˆŒÜ —‘ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_op_exprrª   s     rR   rœ   zOpExpr.accept—
  râ  rQ   r[   )
r¤  r®   r�  r¶   r�  r¶   r[  r“  rd   re   r¸   rR  r@  s   @rR   rŽ  rŽ  g
  s€   ø… ñð
	€Ið -€NàƒGØ
ÓØÓà'Ó'àÓàÓà"Ó"ð 0Ó/ð ^bð'Øð'Ø'ð'Ø0:ð'ØFZð'à	õ'÷+rQ   rŽ  c                  ó\   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   dˆ fd
„Zdd„Zdd„Z	ˆ xZ
S )ÚComparisonExprz+Comparison expression (e.g. a < b > c < d).)Ú	operatorsÚoperandsÚmethod_types)rš  r™  rw  r™  r  rš  zlist[mypy.types.Type | None]r›  c                óL   •— t         ‰| �  «        || _        || _        g | _        y r[   )r  r]   r™  rš  r›  )r\   r™  rš  rÑ   s      €rR   r]   zComparisonExpr.__init__®
  s$   ø€ Ü‰ÑÔØ"ˆŒØ ˆŒØˆÕrQ   c              #  óŽ   K  — t        | j                  «      D ])  \  }}|| j                  |   | j                  |dz      f–— Œ+ y­w)zzIf this comparison expr is "a < b is c == d", yields the sequence
        ("<", a, b), ("is", b, c), ("==", c, d)
        ro   N)r†  r™  rš  )r\   rŠ  Úoperators      rR   ÚpairwisezComparisonExpr.pairwise´
  sI   è ø€ ô % T§^¡^Ó4ò 	C‰KˆAˆxØ˜DŸM™M¨!Ñ,¨d¯m©m¸AÀ¹EÑ.BÐBÓBñ	Cùs   ‚AAc                ó$   — |j                  | «      S r[   )Úvisit_comparison_exprrª   s     rR   rœ   zComparisonExpr.accept»
  r“  rQ   )r™  rw  rš  r  rd   re   )rd   z,Iterator[tuple[str, Expression, Expression]]r¸   )rL   rM   rN   ri   rj   r>  rƒ   r]   rŸ  rœ   r?  r@  s   @rR   r˜  r˜  ¢
  s2   ø… Ù5à9€Ià.€NàÓØÓà.Ó.õóC÷3rQ   r˜  c                  ód   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   	 	 	 	 	 	 	 	 d	ˆ fd„Zd
d„Zˆ xZ	S )Ú	SliceExprznSlice expression (e.g. 'x:y', 'x:', '::2' or ':').

    This is only valid as index in index expressions.
    )Úbegin_indexÚ	end_indexÚstrider½  r¤  r¥  r¦  c                óL   •— t         ‰| �  «        || _        || _        || _        y r[   )r  r]   r¤  r¥  r¦  )r\   r¤  r¥  r¦  rÑ   s       €rR   r]   zSliceExpr.__init__Í
  s&   ø€ ô 	‰ÑÔØ&ˆÔØ"ˆŒØˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_slice_exprrª   s     rR   rœ   zSliceExpr.acceptØ
  r`  rQ   )r¤  r½  r¥  r½  r¦  r½  rd   re   r¸   rR  r@  s   @rR   r£  r£  ¿
  sV   ø… ñð
 7€Ià;€Nà"Ó"Ø Ó ØÓð	à&ð	ð %ð	ð "ð		ð
 
õ	÷.rQ   r£  c                  óJ   ‡ — e Zd ZU dZdZdZded<   ded<   d	ˆ fd„Zd
d„Zˆ xZ	S )ÚCastExprz!Cast expression cast(type, expr).©rŒ  r©   r¶   rŒ  úmypy.types.Typer©   c                ó>   •— t         ‰| �  «        || _        || _        y r[   ©r  r]   rŒ  r©   ©r\   rŒ  rŸ  rÑ   s      €rR   r]   zCastExpr.__init__æ
  ó   ø€ Ü‰ÑÔØˆŒ	Øˆ�	rQ   c                ó$   — |j                  | «      S r[   )Úvisit_cast_exprrª   s     rR   rœ   zCastExpr.acceptë
  r'  rQ   ©rŒ  r¶   rŸ  r­  rd   re   r¸   rR  r@  s   @rR   r«  r«  Ü
  s&   ø… Ù+à €Ià%€Nà
ÓØ
Óõ÷
-rQ   r«  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚTypeFormExprzTypeForm(type) expression.©r©   r­  r©   c                ó0   •— t         ‰| �  «        || _        y r[   ©r  r]   r©   )r\   rŸ  rÑ   s     €rR   r]   zTypeFormExpr.__init__ø
  s   ø€ Ü‰ÑÔØˆ�	rQ   c                ó$   — |j                  | «      S r[   )Úvisit_type_form_exprrª   s     rR   rœ   zTypeFormExpr.acceptü
  ó   € Ø×+Ñ+¨DÓ1Ð1rQ   )rŸ  r­  rd   re   r¸   rR  r@  s   @rR   r¶  r¶  ï
  s    ø… Ù$à€Ià€Nà
Óõ÷2rQ   r¶  c                  óJ   ‡ — e Zd ZU dZdZdZded<   ded<   d	ˆ fd„Zd
d„Zˆ xZ	S )ÚAssertTypeExprz1Represents a typing.assert_type(expr, type) call.r¬  r¶   rŒ  r­  r©   c                ó>   •— t         ‰| �  «        || _        || _        y r[   r¯  r°  s      €rR   r]   zAssertTypeExpr.__init__
  r±  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_assert_type_exprrª   s     rR   rœ   zAssertTypeExpr.accept  ó   € Ø×-Ñ-¨dÓ3Ð3rQ   r´  r¸   rR  r@  s   @rR   r¾  r¾     s&   ø… Ù;à €Ià%€Nà
ÓØ
Óõ÷
4rQ   r¾  c                  ón   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   	 	 	 d	 	 	 	 	 	 	 	 	 dˆ fd	„Zdd
„Zˆ xZ	S )Ú
RevealExprzGReveal type expression reveal_type(expr) or reveal_locals() expression.)rŒ  r¶  Úlocal_nodesÚis_importedr½  rŒ  r`   r¶  úlist[Var] | NonerÅ  c                óZ   •— t         ‰| �  «        || _        || _        || _        || _        y r[   )r  r]   rŒ  r¶  rÅ  rÆ  )r\   r¶  rŒ  rÅ  rÆ  rÑ   s        €rR   r]   zRevealExpr.__init__  s.   ø€ ô 	‰ÑÔØˆŒ	ØˆŒ	Ø&ˆÔØ&ˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_reveal_exprrª   s     rR   rœ   zRevealExpr.accept+  rZ  rQ   )NNF)
r¶  r`   rŒ  r½  rÅ  rÇ  rÆ  r÷   rd   re   r¸   rR  r@  s   @rR   rÄ  rÄ    sf   ø… ÙQà>€IàC€Nà
ÓØ
ƒIØ!Ó!ð
 #'Ø(,Ø!ð'àð'ð  ð'ð &ð	'ð
 ð'ð 
õ'÷/rQ   rÄ  c                  óT   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   dˆ fd
„Zdd„Zˆ xZ	S )Ú	SuperExprzExpression super().name)r¿   ri  Úcall)r¿   rÍ  ri  r®   r¿   úTypeInfo | Noneri  rk  rÍ  c                óL   •— t         ‰| �  «        || _        || _        d | _        y r[   )r  r]   r¿   rÍ  ri  )r\   r¿   rÍ  rÑ   s      €rR   r]   zSuperExpr.__init__:  s#   ø€ Ü‰ÑÔØˆŒ	ØˆŒ	Øˆ�	rQ   c                ó$   — |j                  | «      S r[   )Úvisit_super_exprrª   s     rR   rœ   zSuperExpr.accept@  r`  rQ   )r¿   r®   rÍ  rk  rd   re   r¸   rR  r@  s   @rR   rÌ  rÌ  /  s*   ø… Ù!à(€Ià-€Nà
ƒIØ
ÓØ
ƒNõ÷.rQ   rÌ  c                  ó>   — e Zd ZdZdZedd„«       Zd	d„Zd
d„Zdd„Z	y)r  zLambda expression)rÒ  rÓ  rÔ  rØ  c                ó   — t         S r[   )r•   r    s    rR   r¿   zLambdaExpr.nameI  s   € äÐrQ   c                ó|   — | j                   j                   d   }t        |t        «      sJ ‚|j                  }|€J ‚|S )z/Return the expression (the body) of the lambda.rc   )rØ  r_   r¾  rŒ  )r\   r  rŒ  s      rR   rŒ  zLambdaExpr.exprM  s>   € à�i‰i�n‰n˜RÑ ˆÜ˜#œzÔ*Ð*Ð*Ø�x‰xˆØÐÐÐØˆrQ   c                ó$   — |j                  | «      S r[   )Úvisit_lambda_exprrª   s     rR   rœ   zLambdaExpr.acceptU  rZ  rQ   c                 ó   — yrH  rP   r    s    rR   r«  zLambdaExpr.is_dynamicX  s   € ØrQ   Nr­   )rd   r¶   r¸   r=  )
rL   rM   rN   ri   r>  rÙ   r¿   rŒ  rœ   r«  rP   rQ   rR   r  r  D  s+   „ ÙàD€Nàòó ðóó/ôrQ   r  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚListExprzList literal expression [...].©rü   r  rü   c                ó0   •— t         ‰| �  «        || _        y r[   ©r  r]   rü   rƒ  s     €rR   r]   zListExpr.__init__e  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_list_exprrª   s     rR   rœ   zListExpr.accepti  r'  rQ   ©rü   r  rd   re   r¸   rR  r@  s   @rR   rÙ  rÙ  \  s    ø… Ù(à€Ià€NàÓõ÷-rQ   rÙ  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚDictExprz0Dictionary literal expression {key: value, ...}.rÚ  ú*list[tuple[Expression | None, Expression]]rü   c                ó0   •— t         ‰| �  «        || _        y r[   rÜ  rƒ  s     €rR   r]   zDictExpr.__init__v  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_dict_exprrª   s     rR   rœ   zDictExpr.acceptz  r'  rQ   )rü   râ  rd   re   r¸   rR  r@  s   @rR   rá  rá  m  s    ø… Ù:à€Ià€Nà5Ó5õ÷-rQ   rá  c                  óR   ‡ — e Zd ZU dZdZdZded<   ded<   	 	 	 	 d
ˆ fd„Zdd	„Zˆ xZ	S )ÚTemplateStrExprz"Template string expression t'...'.)rü   r  rÚ  úHlist[Expression | tuple[Expression, str, str | None, Expression | None]]rü   r÷   r  c                ó>   •— t         ‰| �  «        || _        d| _        y rH  )r  r]   rü   r  rƒ  s     €rR   r]   zTemplateStrExpr.__init__Œ  s   ø€ ô 	‰ÑÔØˆŒ
Ø#ˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_template_str_exprrª   s     rR   rœ   zTemplateStrExpr.accept“  ó   € Ø×.Ñ.¨tÓ4Ð4rQ   )rü   rè  rd   re   r¸   rR  r@  s   @rR   rç  rç  ~  s9   ø… Ù,à+€IØ€Nð TÓSØÓð$Ø]ð$à	õ$÷5rQ   rç  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	Ú	TupleExprzXTuple literal expression (..., ...)

    Also lvalue sequences (..., ...) and [..., ...]rÚ  r  rü   c                ó0   •— t         ‰| �  «        || _        y r[   rÜ  rƒ  s     €rR   r]   zTupleExpr.__init__¢  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_tuple_exprrª   s     rR   rœ   zTupleExpr.accept¦  r`  rQ   rß  r¸   rR  r@  s   @rR   rî  rî  —  s$   ø… ñ7ð €Ià€NàÓõ÷.rQ   rî  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚSetExprz$Set literal expression {value, ...}.rÚ  r  rü   c                ó0   •— t         ‰| �  «        || _        y r[   rÜ  rƒ  s     €rR   r]   zSetExpr.__init__³  r{  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_set_exprrª   s     rR   rœ   zSetExpr.accept·  rÿ  rQ   rß  r¸   rR  r@  s   @rR   ró  ró  ª  s    ø… Ù.à€Ià€NàÓõ÷,rQ   ró  c                  ó€   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   d
ed<   ded<   	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZ	S )ÚGeneratorExprzGGenerator expression ... for ... in ... [ for ...  in ... ] [ if ... ].)Ú	left_exprÚ	sequencesÚ	condlistsr¹  Úindices)rù  rü  rú  rû  r¶   rù  r  rú  úlist[list[Expression]]rû  ú
list[bool]r¹  rž  rü  c                óh   •— t         ‰| �  «        || _        || _        || _        || _        || _        y r[   )r  r]   rù  rú  rû  rü  r¹  )r\   rù  rü  rú  rû  r¹  rÑ   s         €rR   r]   zGeneratorExpr.__init__È  s3   ø€ ô 	‰ÑÔØ"ˆŒØ"ˆŒØ"ˆŒØˆŒØ ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_generator_exprrª   s     rR   rœ   zGeneratorExpr.accept×  r¼  rQ   )rù  r¶   rü  rž  rú  r  rû  rý  r¹  rþ  rd   re   r¸   rR  r@  s   @rR   rø  rø  »  sr   ø… ÙQàN€IàG€NàÓØÓØ%Ó%ØÓØÓð!àð!ð ð!ð $ð	!ð
 *ð!ð ð!ð 
õ!÷2rQ   rø  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚListComprehensionz,List comprehension (e.g. [x + 1 for x in a])©Ú	generatorrø  r  c                ó0   •— t         ‰| �  «        || _        y r[   ©r  r]   r  ©r\   r  rÑ   s     €rR   r]   zListComprehension.__init__ä  ó   ø€ Ü‰ÑÔØ"ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_list_comprehensionrª   s     rR   rœ   zListComprehension.acceptè  s   € Ø×/Ñ/°Ó5Ð5rQ   ©r  rø  rd   re   r¸   rR  r@  s   @rR   r  r  Û  s    ø… Ù6à€Ià#€NàÓõ#÷6rQ   r  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚSetComprehensionz+Set comprehension (e.g. {x + 1 for x in a})r  rø  r  c                ó0   •— t         ‰| �  «        || _        y r[   r  r  s     €rR   r]   zSetComprehension.__init__õ  r	  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_set_comprehensionrª   s     rR   rœ   zSetComprehension.acceptù  rì  rQ   r  r¸   rR  r@  s   @rR   r  r  ì  s    ø… Ù5à€Ià#€NàÓõ#÷5rQ   r  c                  óŽ   ‡ — e Zd ZU dZdZdZded<   ded<   ded	<   d
ed<   ded<   ded<   	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZ	S )ÚDictionaryComprehensionz3Dictionary comprehension (e.g. {k: v for k, v in a})Úkeyr  rú  rû  r¹  rü  )r  r  rü  rú  rû  r½  r  r¶   r  r  rú  rý  rû  rþ  r¹  rž  rü  c                óv   •— t         ‰| �  «        || _        || _        || _        || _        || _        || _        y r[   )r  r]   r  r  rú  rû  rü  r¹  )r\   r  r  rü  rú  rû  r¹  rÑ   s          €rR   r]   z DictionaryComprehension.__init__  s:   ø€ ô 	‰ÑÔØˆŒØˆŒ
Ø"ˆŒØ"ˆŒØˆŒØ ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_dictionary_comprehensionrª   s     rR   rœ   zDictionaryComprehension.accept  r©  rQ   )r  r½  r  r¶   rü  rž  rú  r  rû  rý  r¹  rþ  rd   re   r¸   rR  r@  s   @rR   r  r  ý  s‚   ø… Ù=àQ€IàJ€Nà	ÓØÓØÓØ%Ó%ØÓØÓð!àð!ð ð!ð ð	!ð
 $ð!ð *ð!ð ð!ð 
õ!÷"<rQ   r  c                  óT   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   d
ˆ fd„Zdd	„Zˆ xZ	S )ÚConditionalExprz+Conditional expression (e.g. x if y else z))ÚcondÚif_exprÚ	else_expr)r  r  r  r¶   r  r  r  c                óL   •— t         ‰| �  «        || _        || _        || _        y r[   )r  r]   r  r  r  )r\   r  r  r  rÑ   s       €rR   r]   zConditionalExpr.__init__+  s#   ø€ Ü‰ÑÔØˆŒ	ØˆŒØ"ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_conditional_exprrª   s     rR   rœ   zConditionalExpr.accept1  rÂ  rQ   )r  r¶   r  r¶   r  r¶   rd   re   r¸   rR  r@  s   @rR   r  r     s,   ø… Ù5à0€Ià5€Nà
ÓØÓØÓõ#÷4rQ   r  c                  óJ   ‡ — e Zd ZU dZdZdZded<   ded<   d	ˆ fd„Zd
d„Zˆ xZ	S )ÚTypeApplicationz Type application expr[type, ...])rŒ  r™  r¶   rŒ  rÉ  r™  c                ó>   •— t         ‰| �  «        || _        || _        y r[   )r  r]   rŒ  r™  )r\   rŒ  r™  rÑ   s      €rR   r]   zTypeApplication.__init__?  s   ø€ Ü‰ÑÔØˆŒ	Øˆ�
rQ   c                ó$   — |j                  | «      S r[   )Úvisit_type_applicationrª   s     rR   rœ   zTypeApplication.acceptD  rÂ  rQ   )rŒ  r¶   r™  rÉ  rd   re   r¸   rR  r@  s   @rR   r!  r!  5  s&   ø… Ù*à!€Ià&€Nà
ÓØ Ó õ÷
4rQ   r!  Ú	INVARIANTÚ	COVARIANTÚCONTRAVARIANTÚVARIANCE_NOT_READYc                  ó°   ‡ — e Zd ZU dZdZded<   ded<   ded<   ded<   d	ed
<   ded<   eddf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zedd„«       Z	edd„«       Z
ˆ xZS )ÚTypeVarLikeExprz‚Base class for TypeVarExpr, ParamSpecExpr and TypeVarTupleExpr.

    Note that they are constructed by the semantic analyzer.
    )rò  r  rÅ  rÇ  ÚvarianceÚis_new_styleÚdefault_dependsr®   rò  r  r­  rÅ  rÇ  r`   r+  z set[TypeInfo | TypeAlias] | Noner-  Frc   c                óˆ   •— t         ‰| �  |¬«       || _        || _        || _        || _        || _        || _        d | _        y ©N)rV   )	r  r]   rò  r  rÅ  rÇ  r+  r,  r-  )	r\   r¿   rÂ   rÅ  rÇ  r+  r,  rV   rÑ   s	           €rR   r]   zTypeVarLikeExpr.__init__x  sI   ø€ ô 	‰Ñ˜dÐÔ#ØˆŒ
Ø!ˆŒØ&ˆÔØˆŒØ ˆŒØ(ˆÔØ#ˆÕrQ   c                ó   — | j                   S r[   rû  r    s    rR   r¿   zTypeVarLikeExpr.name‹  rü  rQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zTypeVarLikeExpr.fullname�  r$  rQ   )r¿   r®   rÂ   r®   rÅ  r­  rÇ  r­  r+  r`   r,  r÷   rV   r`   rd   re   r­   )rL   rM   rN   ri   rj   rƒ   r%  r]   rÙ   r¿   rÂ   r?  r@  s   @rR   r*  r*  W  sÀ   ø… ñð
€Ið ƒJØƒNð !Ó ð Óð
 ƒMð 6Ó5ð "Ø"Øð$àð$ð ð$ð %ð	$ð
 !ð$ð ð$ð ð$ð ð$ð 
õ$ð& òó ðð òó ôrQ   r*  ÚSYMBOL_NODE_EXPRESSION_TYPESc                  óž   ‡ — e Zd ZU dZdZdZded<   eddf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd	„Z	dd
„Z
edd„«       Zdd„Zedd„«       Zˆ xZS )ÚTypeVarExprar  Type variable expression TypeVar(...).

    This is also used to represent type variables in symbol tables.

    A type variable is not valid as a type unless bound in a TypeVarLikeScope.
    That happens within:

     1. a generic class that uses the type variable as a type argument or
     2. a generic function that refers to the type variable in its signature.
    )rÆ  )r¿   rÆ  rÅ  rÇ  rÉ  rÆ  Frc   c	           	     ó@   •— t         ‰	| �  |||||||¬«       || _        y r/  )r  r]   rÆ  )
r\   r¿   rÂ   rÆ  rÅ  rÇ  r+  r,  rV   rÑ   s
            €rR   r]   zTypeVarExpr.__init__­  s)   ø€ ô 	‰Ñ˜˜x¨°g¸xÈÐ\`ÐÔaØˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_type_var_exprrª   s     rR   rœ   zTypeVarExpr.accept»  r„  rQ   c                ó  — d| j                   | j                  | j                  D �cg c]  }|j                  «       ‘Œ c}| j                  j                  «       | j
                  j                  «       | j                  dœS c c}w )Nr4  )rÆ   r¿   rÂ   rÆ  rÅ  rÇ  r+  )rò  r  rÆ  rÄ   rÅ  rÇ  r+  )r\   Úts     rR   rÄ   zTypeVarExpr.serialize¾  sc   € à#Ø—J‘JØŸ™Ø.2¯k©kÖ:¨�q—{‘{•}Ò:Ø×+Ñ+×5Ñ5Ó7Ø—|‘|×-Ñ-Ó/ØŸ™ñ
ð 	
ùò ;s   ¦A?
c           
     ó.  — |d   dk(  sJ ‚t        |d   |d   |d   D �cg c]!  }t        j                  j                  |«      ‘Œ# c}t        j                  j                  |d   «      t        j                  j                  |d   «      |d   «      S c c}w )	NrÆ   r4  r¿   rÂ   rÆ  rÅ  rÇ  r+  )r4  r�   r™  rš  )rÊ   rË   rK  s      rR   rÎ   zTypeVarExpr.deserializeÉ  sŒ   € à�H‰~ Ò.Ð.Ð.ÜØ�‰LØ�ÑØ59¸(±^ÖD°ŒT�Z‰Z×(Ñ(¨Õ+ÒDÜ�J‰J×'Ñ'¨¨]Ñ(;Ó<Ü�J‰J×'Ñ'¨¨Y©Ó8Ø�Ñó
ð 	
ùò Es   Ÿ&Bc                óˆ  — t        |t        «       t        || j                  «       t        || j                  «       t
        j                  j                  || j                  «       | j                  j                  |«       | j                  j                  |«       t        || j                  «       t        |t        «       y r[   )r@   ÚTYPE_VAR_EXPRr   rò  r  r�   r™  ro  rÆ  rÅ  rÓ   rÇ  r   r+  r!   rÒ   s     rR   rÓ   zTypeVarExpr.writeÕ  s~   € Ü�$œÔ&Ü�$˜Ÿ
™
Ô#Ü�$˜Ÿ™Ô'Ü�
‰
×"Ñ" 4¨¯©Ô5Ø×Ñ×Ñ˜tÔ$Ø�‰×Ñ˜4Ô Ü�$˜Ÿ™Ô&Ü�$œÕ rQ   c           
     ó2  — t        t        |«      t        |«      t        j                  j	                  |«      t        j                  j                  |«      t        j                  j                  |«      t        |«      «      }t        |«      t        k(  sJ ‚|S r[   )	r4  r   r�   r™  Úread_type_listÚ	read_typer   r5   r!   ©rÊ   rË   r  s      rR   rÖ   zTypeVarExpr.readß  sp   € äÜ�T‹NÜ�T‹NÜ�J‰J×%Ñ% dÓ+Ü�J‰J× Ñ  Ó&Ü�J‰J× Ñ  Ó&Ü�T‹Nó
ˆô ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   )r¿   r®   rÂ   r®   rÆ  rÉ  rÅ  r­  rÇ  r­  r+  r`   r,  r÷   rV   r`   rd   re   r¸   r×   )rË   rm   rd   r4  rØ   )rË   r(   rd   r4  )rL   rM   rN   ri   rj   r>  rƒ   r%  r]   rœ   rÄ   rÚ   rÎ   rÓ   rÖ   r?  r@  s   @rR   r4  r4  ™  s»   ø… ñ	ð €IàA€Nð "Ó!ð "Ø"Øðàðð ðð &ð	ð
 %ðð !ðð ðð ðð ðð 
õó1ó	
ð ò	
ó ð	
ó!ð ò
ó ô
rQ   r4  c                  óP   — e Zd ZdZdZd	d„Zd
d„Zedd„«       Zdd„Z	edd„«       Z
y)ÚParamSpecExprrP   ©r¿   rÅ  rÇ  c                ó$   — |j                  | «      S r[   )Úvisit_paramspec_exprrª   s     rR   rœ   zParamSpecExpr.acceptò  r¼  rQ   c                ó°   — d| j                   | j                  | j                  j                  «       | j                  j                  «       | j
                  dœS )NrB  )rÆ   r¿   rÂ   rÅ  rÇ  r+  )rò  r  rÅ  rÄ   rÇ  r+  r    s    rR   rÄ   zParamSpecExpr.serializeõ  sF   € à%Ø—J‘JØŸ™Ø×+Ñ+×5Ñ5Ó7Ø—|‘|×-Ñ-Ó/ØŸ™ñ
ð 	
rQ   c           	     óÆ   — |d   dk(  sJ ‚t        |d   |d   t        j                  j                  |d   «      t        j                  j                  |d   «      |d   «      S )NrÆ   rB  r¿   rÂ   rÅ  rÇ  r+  )rB  r�   r™  rš  rÕ   s     rR   rÎ   zParamSpecExpr.deserializeÿ  se   € à�H‰~ Ò0Ð0Ð0ÜØ�‰LØ�ÑÜ�J‰J×'Ñ'¨¨]Ñ(;Ó<Ü�J‰J×'Ñ'¨¨Y©Ó8Ø�Ñó
ð 	
rQ   c                ó4  — t        |t        «       t        || j                  «       t        || j                  «       | j
                  j                  |«       | j                  j                  |«       t        || j                  «       t        |t        «       y r[   )r@   ÚPARAM_SPEC_EXPRr   rò  r  rÅ  rÓ   rÇ  r   r+  r!   rÒ   s     rR   rÓ   zParamSpecExpr.write
  sf   € Ü�$œÔ(Ü�$˜Ÿ
™
Ô#Ü�$˜Ÿ™Ô'Ø×Ñ×Ñ˜tÔ$Ø�‰×Ñ˜4Ô Ü�$˜Ÿ™Ô&Ü�$œÕ rQ   c           	     óö   — t        t        |«      t        |«      t        j                  j	                  |«      t        j                  j	                  |«      t        |«      «      }t        |«      t        k(  sJ ‚|S r[   )rB  r   r�   r™  r?  r   r5   r!   r@  s      rR   rÖ   zParamSpecExpr.read  s^   € äÜ�T‹NÜ�T‹NÜ�J‰J× Ñ  Ó&Ü�J‰J× Ñ  Ó&Ü�T‹Nó
ˆô ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   Nr¸   r×   )rË   rm   rd   rB  rØ   )rË   r(   rd   rB  )rL   rM   rN   rj   r>  rœ   rÄ   rÚ   rÎ   rÓ   rÖ   rP   rQ   rR   rB  rB  í  sC   „ Ø€Ià7€Nó2ó
ð ò
ó ð
ó!ð ò	ó ñ	rQ   rB  c                  óž   ‡ — e Zd ZU dZdZded<   dZeddf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zdd„Z	dd	„Z
edd
„«       Zdd„Zedd„«       Zˆ xZS )ÚTypeVarTupleExprz1Type variable tuple expression TypeVarTuple(...).Útuple_fallbackúmypy.types.InstancerC  Frc   c	           	     ó@   •— t         ‰	| �  |||||||¬«       || _        y r/  )r  r]   rM  )
r\   r¿   rÂ   rÅ  rM  rÇ  r+  r,  rV   rÑ   s
            €rR   r]   zTypeVarTupleExpr.__init__)  s*   ø€ ô 	‰Ñ˜˜x¨°g¸xÈÐ\`ÐÔaØ,ˆÕrQ   c                ó$   — |j                  | «      S r[   )Úvisit_type_var_tuple_exprrª   s     rR   rœ   zTypeVarTupleExpr.accept7  r”  rQ   c                óâ   — d| j                   | j                  | j                  j                  «       | j                  j                  «       | j
                  j                  «       | j                  dœS )NrL  )rÆ   r¿   rÂ   rÅ  rM  rÇ  r+  )rò  r  rÅ  rÄ   rM  rÇ  r+  r    s    rR   rÄ   zTypeVarTupleExpr.serialize:  sX   € à(Ø—J‘JØŸ™Ø×+Ñ+×5Ñ5Ó7Ø"×1Ñ1×;Ñ;Ó=Ø—|‘|×-Ñ-Ó/ØŸ™ñ
ð 	
rQ   c           
     ó  — |d   dk(  sJ ‚t        |d   |d   t        j                  j                  |d   «      t        j                  j                  j                  |d   «      t        j                  j                  |d   «      |d   «      S )	NrÆ   rL  r¿   rÂ   rÅ  rM  rÇ  r+  )rL  r�   r™  rš  ÚInstancerÎ   rÕ   s     rR   rÎ   zTypeVarTupleExpr.deserializeE  s„   € à�H‰~Ð!3Ò3Ð3Ð3ÜØ�‰LØ�ÑÜ�J‰J×'Ñ'¨¨]Ñ(;Ó<Ü�J‰J×Ñ×+Ñ+¨DÐ1AÑ,BÓCÜ�J‰J×'Ñ'¨¨Y©Ó8Ø�Ñó
ð 	
rQ   c                ój  — t        |t        «       | j                  j                  |«       t	        || j
                  «       t	        || j                  «       | j                  j                  |«       | j                  j                  |«       t        || j                  «       t        |t        «       y r[   )r@   ÚTYPE_VAR_TUPLE_EXPRrM  rÓ   r   rò  r  rÅ  rÇ  r   r+  r!   rÒ   s     rR   rÓ   zTypeVarTupleExpr.writeQ  s{   € Ü�$Ô+Ô,Ø×Ñ×!Ñ! $Ô'Ü�$˜Ÿ
™
Ô#Ü�$˜Ÿ™Ô'Ø×Ñ×Ñ˜tÔ$Ø�‰×Ñ˜4Ô Ü�$˜Ÿ™Ô&Ü�$œÕ rQ   c           
     óš  — t        |«      t        j                  j                  k(  sJ ‚t        j                  j                  j                  |«      }t        t        |«      t        |«      t        j                  j                  |«      |t        j                  j                  |«      t        |«      «      }t        |«      t        k(  sJ ‚|S r[   )r5   r�   r™  ÚINSTANCErT  rÖ   rL  r   r?  r   r!   )rÊ   rË   Úfallbackr  s       rR   rÖ   zTypeVarTupleExpr.read[  s—   € ä˜‹~¤§¡×!4Ñ!4Ò4Ð4Ð4Ü—:‘:×&Ñ&×+Ñ+¨DÓ1ˆÜÜ�T‹NÜ�T‹NÜ�J‰J× Ñ  Ó&ØÜ�J‰J× Ñ  Ó&Ü�T‹Nó
ˆô ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   )r¿   r®   rÂ   r®   rÅ  r­  rM  rN  rÇ  r­  r+  r`   r,  r÷   rV   r`   rd   re   r¸   r×   )rË   rm   rd   rL  rØ   )rË   r(   rd   rL  )rL   rM   rN   ri   rj   rƒ   r>  r%  r]   rœ   rÄ   rÚ   rÎ   rÓ   rÖ   r?  r@  s   @rR   rL  rL     sµ   ø… Ù;à €Ià'Ó'à7€Nð "Ø"Øð-àð-ð ð-ð %ð	-ð
 ,ð-ð !ð-ð ð-ð ð-ð ð-ð 
õ-ó7ó	
ð ò	
ó ð	
ó!ð òó ôrQ   rL  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚTypeAliasExprzType alias expression (rvalue).©rC  r   rC  c                ó0   •— t         ‰| �  «        || _        y r[   )r  r]   rC  )r\   rC  rÑ   s     €rR   r]   zTypeAliasExpr.__init__t  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_type_alias_exprrª   s     rR   rœ   zTypeAliasExpr.acceptx  r“  rQ   )rC  r   rd   re   r¸   rR  r@  s   @rR   r[  r[  k  s   ø… Ù)à€Ià€Nà
ƒOõ÷3rQ   r[  c                  óL   ‡ — e Zd ZU dZdZdZded<   ded<   d
dˆ fd„Zdd	„Zˆ xZ	S )ÚNamedTupleExprz:Named tuple expression namedtuple(...) or NamedTuple(...).)ri  Úis_typed©ri  rÜ   ri  r÷   rb  c                ó>   •— t         ‰| �  «        || _        || _        y r[   )r  r]   ri  rb  )r\   ri  rb  rÑ   s      €rR   r]   zNamedTupleExpr.__init__ˆ  s   ø€ Ü‰ÑÔØˆŒ	Ø ˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_namedtuple_exprrª   s     rR   rœ   zNamedTupleExpr.accept�  r“  rQ   rº  )ri  rÜ   rb  r÷   rd   re   r¸   rR  r@  s   @rR   ra  ra  |  s&   ø… ÙDà$€Ià€Nð ƒNØƒNö!÷
3rQ   ra  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	ÚTypedDictExprz%Typed dict expression TypedDict(...).rc  rÜ   ri  c                ó0   •— t         ‰| �  «        || _        y r[   )r  r]   ri  )r\   ri  rÑ   s     €rR   r]   zTypedDictExpr.__init__›  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_typeddict_exprrª   s     rR   rœ   zTypedDictExpr.acceptŸ  r¼  rQ   )ri  rÜ   rd   re   r¸   rR  r@  s   @rR   rh  rh  ‘  s!   ø… Ù/à€Ià€Nð ƒNõ÷2rQ   rh  c                  óT   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   dˆ fd	„Zdd
„Zˆ xZ	S )ÚEnumCallExprz5Named tuple expression Enum('name', 'val1 val2 ...').)ri  rü   rÆ  rÜ   ri  rw  rü   rï  rÆ  c                óL   •— t         ‰| �  «        || _        || _        || _        y r[   )r  r]   ri  rü   rÆ  )r\   ri  rü   rÆ  rÑ   s       €rR   r]   zEnumCallExpr.__init__°  s#   ø€ Ü‰ÑÔØˆŒ	ØˆŒ
Øˆ�rQ   c                ó$   — |j                  | «      S r[   )Úvisit_enum_call_exprrª   s     rR   rœ   zEnumCallExpr.accept¶  r¼  rQ   )ri  rÜ   rü   rw  rÆ  rï  rd   re   r¸   rR  r@  s   @rR   rm  rm  £  s-   ø… Ù?à+€Ià0€Nð ƒNàÓØ#Ó#õ÷2rQ   rm  c                  ó<   ‡ — e Zd ZU dZdZded<   dˆ fd„Zdd„Zˆ xZS )	ÚPromoteExprz2Ducktype class decorator expression _promote(...).r·  úmypy.types.ProperTyper©   c                ó0   •— t         ‰| �  «        || _        y r[   r¹  )r\   r©   rÑ   s     €rR   r]   zPromoteExpr.__init__Á  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit__promote_exprrª   s     rR   rœ   zPromoteExpr.acceptÅ  r„  rQ   )r©   rs  rd   re   r¸   )	rL   rM   rN   ri   rj   rƒ   r]   rœ   r?  r@  s   @rR   rr  rr  º  s   ø… Ù<à€Ià
Óõ÷1rQ   rr  c                  óh   ‡ — e Zd ZU dZdZdZded<   ded<   ded<   	 	 	 	 	 	 	 	 	 	 dˆ fd	„Zdd
„Zˆ xZ	S )ÚNewTypeExprz NewType expression NewType(...).)r¿   Úold_typeri  r®   r¿   r¼  ry  rÎ  ri  c                óR   •— t         ‰| �  ||¬«       || _        || _        d | _        y )N)rV   rW   )r  r]   r¿   ry  ri  )r\   r¿   ry  rV   rW   rÑ   s        €rR   r]   zNewTypeExpr.__init__Ö  s,   ø€ ô 	‰Ñ˜d¨6ÐÔ2ØˆŒ	Ø ˆŒØˆ�	rQ   c                ó$   — |j                  | «      S r[   )Úvisit_newtype_exprrª   s     rR   rœ   zNewTypeExpr.acceptÞ  r6  rQ   )
r¿   r®   ry  r¼  rV   r`   rW   r`   rd   re   r¸   rR  r@  s   @rR   rx  rx  É  sS   ø… Ù*à,€Ià1€Nà
ƒIà$Ó$à
ÓðØðØ#9ðØADðØNQðà	õ÷0rQ   rx  c                  ó@   ‡ — e Zd ZU dZdZdZded<   dˆ fd„Zdd„Zˆ xZ	S )	Ú	AwaitExprzAwait expression (await ...).r‹  r¶   rŒ  c                ó0   •— t         ‰| �  «        || _        y r[   rŽ  r�  s     €rR   r]   zAwaitExpr.__init__ë  r�  rQ   c                ó$   — |j                  | «      S r[   )Úvisit_await_exprrª   s     rR   rœ   zAwaitExpr.acceptï  r`  rQ   r”  r¸   rR  r@  s   @rR   r~  r~  â  s    ø… Ù'à€Ià€Nà
Óõ÷.rQ   r~  c                  óf   ‡ — e Zd ZU dZdZded<   ded<   	 dddœ	 	 	 	 	 	 	 dˆ fd	„Zdd
„Zdd„Zˆ xZ	S )ÚTempNodezæTemporary dummy node used during type checking.

    This node is not present in the original program; it is just an artifact
    of the type checker implementation. It only represents an opaque node with
    some fixed type.
    )r©   Úno_rhsr­  r©   r÷   r„  N)Úcontextc               óˆ   •— t         ‰| �  «        || _        || _        |�#|j                  | _        |j
                  | _        yy)zJConstruct a dummy node; optionally borrow line/column from context object.N)r  r]   r©   r„  rV   rW   )r\   rŸ  r„  r…  rÑ   s       €rR   r]   zTempNode.__init__  s?   ø€ ô 	‰ÑÔØˆŒ	ØˆŒØÐØŸ™ˆDŒIØ!Ÿ.™.ˆD�Kð rQ   c                óJ   — d| j                   t        | j                  «      fz  S )NzTempNode:%d(%s))rV   r®   r©   r    s    rR   rF  zTempNode.__repr__  s   € Ø  D§I¡I¬s°4·9±9«~Ð#>Ñ>Ð>rQ   c                ó$   — |j                  | «      S r[   )Úvisit_temp_noderª   s     rR   rœ   zTempNode.accept  r'  rQ   rº  )rŸ  r­  r„  r÷   r…  zContext | Nonerd   re   r­   r¸   )
rL   rM   rN   ri   rj   rƒ   r]   rF  rœ   r?  r@  s   @rR   rƒ  rƒ  ö  sX   ø… ñð #€Ià
Óð ƒLð 49ð	)ØW[ñ	)Ø"ð	)Ø,0ð	)ØFTð	)à	õ	)ó?÷-rQ   rƒ  >   ri   rr  Ú__dict__r]   rj   rM   Ú__weakref__rƒ   Ú__subclasshook__Ú__class_getitem__Ú__abstractmethods__ÚEXCLUDED_PROTOCOL_ATTRIBUTES>   Ú_order_Ú_ignore_Ú	__order__ÚEXCLUDED_ENUM_ATTRIBUTESc                  ó  ‡ — e Zd ZU dZdZded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded <   d!ed"<   ded#<   ded$<   ded%<   ded&<   ded'<   d!ed(<   d)ed*<   ded+<   d,ed-<   ded.<   d/ed0<   ded1<   ded2<   d3ed4<   d5ed6<   d7ed8<   d9ed:<   ded;<   d<ed=<   d>ed?<   d@edA<   dBedC<   g dD¢ZdEedF<   deˆ fdG„ZdfdH„Ze	dgdI„«       Z
e	dgdJ„«       ZdhdK„ZdidL„ZdjdM„Ze	dkdN„«       Ze	dkdO„«       ZdldP„ZdgdQ„ZdhdR„ZdmdS„ZdndT„ZdodU„ZdpdV„ZdWdXœdqdY„ZdrdZ„Zdsd[„Zdtd\„Zdud]„Zdvd^„Zdgd_„Z	 	 	 	 	 	 dwd`„Zdxda„Z e!dydb„«       Z"dzdc„Z#e!d{dd„«       Z$ˆ xZ%S )|rÜ   aË  The type structure of a single class.

    Each TypeInfo corresponds one-to-one to a ClassDef, which
    represents the AST of the class.

    In type-theory terms, this is a "type constructor", and if the
    class is generic then it will be a type constructor of higher kind.
    Where the class is used in an actual type, it's in the form of an
    Instance, which amounts to a type application of the tycon to
    the appropriate number of arguments.
    )-r  Úmodule_nameÚdefnÚmroÚ	_mro_refsÚbad_mrord  Úis_disjoint_baseÚdeclared_metaclassÚmetaclass_typer  Úis_abstractÚis_protocolÚruntime_protocolÚabstract_attributesÚdeletable_attributesÚslotsÚassumingÚassuming_properÚ	inferringÚis_enumÚfallback_to_anyÚmeta_fallback_to_anyrV  Úhas_param_spec_typeÚbasesÚ_promoteÚ
tuple_typeÚspecial_aliasÚis_named_tupleÚtypeddict_typeÚ
is_newtypeÚis_intersectionÚmetadataÚalt_promoteÚhas_type_var_tuple_typeÚtype_var_tuple_prefixÚtype_var_tuple_suffixÚ	self_typerö  rk  r{  Útype_object_typer-  Útypeddict_datar®   r  r•  rU  r–  úlist[TypeInfo]r—  zlist[str] | Noner˜  r÷   r™  rd  rš  úmypy.types.Instance | Noner›  rœ  r  r  r�  rž  rŸ  zlist[tuple[str, int]]r   rw  r¡  zset[str] | Noner¢  z5list[tuple[mypy.types.Instance, mypy.types.Instance]]r£  r¤  zlist[mypy.types.Instance]r¥  r¦  r§  r¨  rV  r©  rª  zlist[mypy.types.ProperType]r«  r³  zmypy.types.TupleType | Noner¬  r®  zmypy.types.TypedDictType | Noner¯  r°  r±  zdict[str, JsonDict]r²  r  r­  zmypy.types.TypeVarType | Noner·  zDataclassTransformSpec | Nonerö  rk  r  r{  rç  r¸  z$dict[str, set[TypeAlias | TypeInfo]]r-  zTypedDictData | Noner¹  )r�  r¦  r§  r¨  r®  r°  rž  rŸ  rd  rš  r±  r   ÚFLAGSc                óÌ  •— t         ‰| �  «        |j                  | _        || _        || _        || _        g | _        d| _        d| _	        g | _
        g | _        d| _        d| _        d| _        d| _        d| _        g | _        g | _        d| _        g | _        g | _        g | _        d| _        d| _        d| _        d| _        | j7                  «        d| _        d| _        d| _        d| _        d| _         g | _!        d| _"        d| _#        d| _$        d| _%        d| _&        d| _'        d| _(        i | _)        d| _*        d| _+        d| _,        d| _-        d| _.        i | _/        d| _0        y)zInitialize a TypeInfo.FN)1r  r]   rÂ   r  r  r–  r•  rV  r©  r´  rª  r—  r˜  r™  r›  rœ  r�  r   r¡  r¢  r£  r¤  r¥  rž  rŸ  rµ  r¶  Úadd_type_varsrd  rš  r¦  r§  r¨  r«  r³  r¬  r­  r®  r¯  r°  r±  r²  r·  rö  rk  r{  r¸  r-  r¹  )r\   r  r–  r•  rÑ   s       €rR   r]   zTypeInfo.__init__%  ss  ø€ ä‰ÑÔØŸ™ˆŒØˆŒ
ØˆŒ	Ø&ˆÔØˆŒØ#(ˆÔ Ø',ˆÔ$ØˆŒ
ØˆŒØˆŒØˆŒØ"&ˆÔØ"ˆÔØ ˆÔØ#%ˆÔ Ø$&ˆÔ!ØˆŒ
ØˆŒØ!ˆÔØˆŒØ ˆÔØ %ˆÔØ15ˆÔ"Ø15ˆÔ"Ø×ÑÔØˆŒØ %ˆÔØˆŒØ$ˆÔØ$)ˆÔ!ØˆŒØˆÔØˆŒØ!ˆÔØ#ˆÔØ"ˆÔØˆŒØ$ˆÔØˆŒØˆŒØ(,ˆÔ%Ø"'ˆÔØˆŒØ $ˆÔØ!ˆÔØ"ˆÕrQ   c                ó  — d| _         | j                  j                  rât        | j                  j                  «      D ]¿  \  }}t	        |t
        j                  j                  «      rd| _        t	        |t
        j                  j                  «      rF| j                   rJ ‚d| _         || _
        t        | j                  j                  «      |z
  dz
  | _        | j                  j                  |j                  «       ŒÁ y y )NFTro   )r´  r–  rV  r†  r_   r�   r™  ÚParamSpecTyper©  ÚTypeVarTupleTyperµ  rû   r¶  Úappendr¿   )r\   rŠ  Úvds      rR   r¾  zTypeInfo.add_type_varsW  sÅ   € Ø',ˆÔ$Ø�9‰9×ÒÜ" 4§9¡9×#6Ñ#6Ó7ò /‘��2Ü˜b¤$§*¡*×":Ñ":Ô;Ø/3�DÔ,Ü˜b¤$§*¡*×"=Ñ"=Ô>Ø#×;Ò;Ð;Ð;Ø37�DÔ0Ø12�DÔ.Ü14°T·Y±Y×5HÑ5HÓ1IÈAÑ1MÐPQÑ1Q�DÔ.Ø—‘×%Ñ% b§g¡gÕ.ñ/ð rQ   c                ó.   — | j                   j                  S )zShort name.)r–  r¿   r    s    rR   r¿   zTypeInfo.named  s   € ð �y‰y�~‰~ÐrQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zTypeInfo.fullnamei  r$  rQ   c                ó2   — t        | j                  «      dkD  S )z7Is the type generic (i.e. does it have type variables)?r   )rû   rV  r    s    rR   ri  zTypeInfo.is_genericm  s   € ä�4—>‘>Ó" QÑ&Ð&rQ   c                óh   — | j                   D ]#  }|j                  j                  |«      }|sŒ!|c S  y r[   )r—  r  rÈ   )r\   r¿   rÊ   Úns       rR   rÈ   zTypeInfo.getq  s4   € Ø—8‘8ò 	ˆCØ—	‘	—‘˜dÓ#ˆAÚØ’ð	ð rQ   c                óJ   — | j                   D ]  }||j                  v sŒ|c S  y r[   )r—  r  )r\   r¿   rÊ   s      rR   Úget_containing_type_infoz!TypeInfo.get_containing_type_infox  s+   € Ø—8‘8ò 	ˆCØ�s—y‘yÒ Ø’
ð	ð rQ   c                óX  — t        «       }| j                  sJ d«       ‚| j                  d d D ]q  }|j                  sŒ|j                  j	                  «       D ]E  \  }}t        |j                  t        t        t        f«      rŒ,|t        v rŒ5|j                  |«       ŒG Œs t        |«      S )Nz?This property can be only accessed after MRO is (re-)calculatedrc   )r  r—  rž  r  rü   r_   rC  r   r4  r  r�  Úaddr4  )r\   Úmembersr~  r¿   rC  s        rR   Úprotocol_memberszTypeInfo.protocol_members~  s›   € ô  ›EˆØ�xŠxÐZÐZÓZˆxØ—H‘H˜S˜b�Mò 	&ˆDØ×ÓØ"&§*¡*×"2Ñ"2Ó"4ò &‘J�D˜$Ü! $§)¡)¬i¼ÄhÐ-OÔPà ØÔ;Ñ;Ø Ø—K‘K Õ%ñ&ð	&ô �g‹ÐrQ   c                óT  — g }| j                   j                  «       D �]‡  \  }}t        |j                  t        «      r9t        d„ |j                  j                  D «       «      sŒH|j                  |«       ŒZt        |j                  t        t        f«      sŒ{|t        v st        |«      s|j                  d«      rŒ t        |j                  t        «      r½|j                  j                  sŒÑt        j                  j!                  |j                  j"                  «      }t        |t        j                  j$                  «      r|j'                  «       r=t        |t        j                  j(                  «      r|j"                  j*                  dk(  r�Œw|j                  |«       �ŒŠ |S )Nc              3  óZ   K  — | ]#  }t        |t        «      r|j                  d k(  –— Œ% y­w)zenum.memberN)r_   rB  rÂ   )r­  r  s     rR   r®  z(TypeInfo.enum_members.<locals>.<genexpr>š  s+   è ø€ ò àÜ! #¤wÔ/ð —L‘L MÕ1ñùs   ‚)+Ú__zenum.nonmember)r  rü   r_   rC  ru  Úanyrˆ  rÂ  r»  rÜ   r“  rC   r+  r6  r�   r™  Úget_proper_typer©   r  Úis_type_objrT  rÂ   )r\   rÍ  r¿   ÚsymrŸ  s        rR   Úenum_memberszTypeInfo.enum_members�  s4  € ð ˆØŸ™×)Ñ)Ó+ó -	%‰IˆD�#ô ˜#Ÿ(™(¤IÔ.Üñ à"Ÿx™x×2Ñ2ôõ ð
 —N‘N 4Ô(Øô ˜CŸH™H¤s¬H oÕ6ð Ô4Ñ4Ü  ”Ø—‘ tÔ,àä˜cŸh™h¬Ô,ØŸ8™8×6Ò6Ø äŸ*™*×4Ñ4°S·X±X·]±]ÓC�Cä" 3¬¯
©
×(?Ñ(?Ô@ÈÏÉÔIZä" 3¬¯
©
×(;Ñ(;Ô<ØŸH™H×-Ñ-Ð1AÒAá à—‘˜tÖ$ð[-	%ð\ ˆrQ   c                óB   — | j                  |«      }|r|S t        |«      ‚r[   )rÈ   ÚKeyError)r\   r¿   rÈ  s      rR   Ú__getitem__zTypeInfo.__getitem__Ã  s!   € Ø�H‰H�T‹NˆÙØˆHä˜4“.Ð rQ   c                ó"   — d| j                   › d�S )Nz
<TypeInfo rC  )rÂ   r    s    rR   rF  zTypeInfo.__repr__Ê  s   € Ø˜DŸM™M˜?¨!Ð,Ð,rQ   c                ó$   — t        | t        «       S r[   )r_   ÚFakeInfor    s    rR   Ú__bool__zTypeInfo.__bool__Í  s   € ô ˜d¤HÓ-Ð-Ð-rQ   c                ó(   — | j                  |«      d uS r[   )rÈ   rE  s     rR   Úhas_readable_memberzTypeInfo.has_readable_memberÓ  s   € Ø�x‰x˜‹~ TÐ)Ð)rQ   c           
     óž  — | j                   D ]¹  }||j                  v r|j                  |   j                  }nft        |j                  j	                  «       D �cg c]  }|j                  |› d�«      sŒ|‘Œ c}«      x}r|j                  |d      j                  }nŒ‘t        |t        «      r|c S t        |t        «      r|c S  y  y c c}w )Nz-redefinitionrc   )	r—  r  rC  r4  Úkeysr+  r_   r  ru  )r\   r¿   rÊ   rC  rÈ  Úpossible_redefinitionss         rR   Ú
get_methodzTypeInfo.get_methodÖ  sÀ   € Ø—8‘8ò 	ˆCØ�s—y‘yÑ Ø—y‘y ‘×+Ñ+‘Ü+1ØŸI™IŸN™NÓ,ÖU�q°·±À¸vÀ]Ð=SÕ0T’ÒUó,ð Ð'ð ð —y‘yÐ!7¸Ñ!;Ñ<×AÑA‘àÜ˜$Ô 5Ô6Ø’Ü˜D¤)Ô,Ø’áð	ð ùò Vs   ÁC

Á3C

c                óò  — | j                   }|�|j                  j                  d«      s|S | j                  dk(  r t        j
                  j                  | g «      S |}| j                  dd  D ]ˆ  }|j                   }|�|j                  €Œ|€|}Œ#|j                  j                  |j                  j                  «      rŒS|j                  j                  |j                  j                  «      r|}Œ…d } |S  |S )Núbuiltins.typero   )	r›  r©   Úhas_baser  r�   r™  rT  r—  rÂ   )r\   ÚdeclaredÚwinnerÚsuper_classÚ
super_metas        rR   Úcalculate_metaclass_typez!TypeInfo.calculate_metaclass_typeè  së   € Ø×*Ñ*ˆØÐ¨¯©×(>Ñ(>¸Ô(OØˆOØ�>‰>˜_Ò,Ü—:‘:×&Ñ& t¨RÓ0Ð0àˆØŸ8™8 A B˜<ò 	ˆKØ$×7Ñ7ˆJØÐ! Z§_¡_Ð%<ØØˆ~Ø#�ØØ�{‰{×#Ñ# J§O¡O×$<Ñ$<Ô=ØØ�‰×'Ñ'¨¯©×(<Ñ(<Ô=Ø#�ØàˆFØàˆð!	ð  ˆrQ   c                óX  — | j                   }|�|j                  j                  d«      sy | j                  dk(  ry |}|€g }n(d|j                  j                  › d| j                  › d�g}| j
                  dd  D �].  }|j                   }|�|j                  €Œ|€9|}|j                  d|j                  j                  › d|j                  › d�«       ŒZ|j                  j                  |j                  j                  «      rŒŠ|j                  j                  |j                  j                  «      r9|}|j                  d|j                  j                  › d|j                  › d�«       Œòd|j                  j                  › d|j                  › d�}dj                  |«      › d|› �c S  y )Nrå  ú"z" (metaclass of "z")ro   z > z conflicts with )r›  r©   ræ  r  rÂ   r—  rÂ  Újoin)r\   rç  rè  Úresolution_stepsré  rê  Úconflicts          rR   Úexplain_metaclass_conflictz#TypeInfo.explain_metaclass_conflict  s®  € à×*Ñ*ˆØÐ¨¯©×(>Ñ(>¸Ô(OØØ�>‰>˜_Ò,ØàˆØÐØ!Ñà"# H§M¡M×$:Ñ$:Ð#;Ð;LÈTÏ]É]ÈOÐ[]Ð ^Ð_ÐØŸ8™8 A B˜<ó 	OˆKØ$×7Ñ7ˆJØÐ! Z§_¡_Ð%<ØØˆ~Ø#�Ø ×'Ñ'Ø˜Ÿ™×,Ñ,Ð-Ð->¸{×?SÑ?SÐ>TÐTVÐWôð Ø�{‰{×#Ñ# J§O¡O×$<Ñ$<Ô=ØØ�‰×'Ñ'¨¯©×(<Ñ(<Ô=Ø#�Ø ×'Ñ'Ø˜Ÿ™×,Ñ,Ð-Ð->¸{×?SÑ?SÐ>TÐTVÐWôð à˜:Ÿ?™?×3Ñ3Ð4Ð4EÀk×FZÑFZÐE[Ð[]Ð^ˆHØ—j‘jÐ!1Ó2Ð3Ð3CÀHÀ:ÐNÒNð)	Oð, rQ   F)Úprecisec               ól   — | j                  d«      xs" | j                  dk(  xs | j                  xr | S )Nrå  zabc.ABCMeta)ræ  rÂ   r§  )r\   rò  s     rR   Úis_metaclasszTypeInfo.is_metaclass'  s9   € à�M‰M˜/Ó*ò 6Ø�}‰} Ñ-ò6à×$Ñ$Ò4¨W¨ð	
rQ   c                óH   — | j                   D ]  }|j                  |k(  sŒ y y)z†Return True if type has a base type with the specified name.

        This can be either via extension or via implementation.
        TF©r—  rÂ   ©r\   rÂ   rÊ   s      rR   ræ  zTypeInfo.has_base.  s+   € ð
 —8‘8ò 	ˆCØ�|‰|˜xÓ'Ùð	ð rQ   c                óx   — | j                   D ]  }|j                  |k(  sŒ|c S  J d|› d| j                  › �«       ‚)NzMissing base z for rö  r÷  s      rR   Úget_basezTypeInfo.get_base8  sD   € Ø—8‘8ò 	ˆCØ�|‰|˜xÓ'Ø’
ð	ð 	E˜ h Z¨u°T·]±]°OÐDÓDˆurQ   c                óT   — | j                   D �cg c]  }|j                  ‘Œ c}S c c}w )zXReturn a direct base classes.

        Omit base classes of other base classes.
        )rª  r©   )r\   r~  s     rR   Údirect_base_classeszTypeInfo.direct_base_classes>  s    € ð
 '+§j¡jÖ1˜d�—	“	Ò1Ð1ùÒ1s   �%c                ó¼   — || _         t        j                  | «      }| j                  s|| _        y|j                  | j                  _        d| j                  _        y)z.Update tuple_type and special_alias as needed.N)r¬  r   Úfrom_tuple_typer­  ra   Ú_is_recursive©r\   rŸ  Úaliass      rR   Úupdate_tuple_typezTypeInfo.update_tuple_typeE  sJ   € àˆŒÜ×)Ñ)¨$Ó/ˆØ×!Ò!Ø!&ˆDÕà(-¯©ˆD×ÑÔ%à/3ˆD×ÑÕ,rQ   c                ó¼   — || _         t        j                  | «      }| j                  s|| _        y|j                  | j                  _        d| j                  _        y)z2Update typeddict_type and special_alias as needed.N)r¯  r   Úfrom_typeddict_typer­  ra   rþ  rÿ  s      rR   Úupdate_typeddict_typezTypeInfo.update_typeddict_typeP  sK   € à!ˆÔÜ×-Ñ-¨dÓ3ˆØ×!Ò!Ø!&ˆDÕà(-¯©ˆD×ÑÔ%à/3ˆD×ÑÕ,rQ   c                ó´   — t        «       }| j                  t        j                  j	                  |¬«      t        j
                  j                  |¬«      ¬«      S )zzReturn a string representation of the type.

        This includes the most important information about the type.
        rš   )Ústr_convÚtype_str_conv)rB   Údumpr�   rž   rŸ   r™  ÚTypeStrVisitorr2  s     rR   r¡   zTypeInfo.__str__[  sK   € ô
 “)ˆØ�y‰yÜ—\‘\×)Ñ)°'Ð)Ó:ÜŸ*™*×3Ñ3¸GÐ3ÓDð ó 
ð 	
rQ   c                óŽ  ‡‡‡— d}dˆfd„Šd‰j                  | «      z   }| j                  r(ddj                  ˆfd„| j                  D «       «      › d�}dj                  dj                  ˆfd	„| j                  D «       «      «      }g }t        | j                  «      D ]Œ  }|‰j                  | j                  |   j                  «      z   }| j                  |   j                  }	t        |	t        «      r%|	j                  r|d
 ‰|	j                  «      › d�z  }|j                  |«       ŒŽ d| j                  › d�||d|fg}
| j                  r%|
j                  d ‰| j                  «      › d�«       | j                  r%|
j                  d ‰| j                  «      › d�«       t        j                   j#                  |
|‰¬«      S )z5Return a string dump of the contents of the TypeInfo.r  c                ó&   •— | j                  ‰«      S r[   )rœ   )rŸ  r  s    €rR   Útype_strzTypeInfo.dump.<locals>.type_strm  s   ø€ Ø—:‘:˜mÓ,Ð,rQ   rÜ   zBases(z, c              3  ó.   •K  — | ]  } ‰|«      –— Œ y ­wr[   rP   )r­  r~  r  s     €rR   r®  z TypeInfo.dump.<locals>.<genexpr>r  s   øè ø€ Ò%L¸¡h¨t§nÑ%Lùs   ƒú)zMro({})c              3  óZ   •K  — | ]"  }|j                   ‰j                  |«      z   –— Œ$ y ­wr[   )rÂ   Ú	format_id)r­  r‹  r  s     €rR   r®  z TypeInfo.dump.<locals>.<genexpr>t  s%   øè ø€ ÒTÀ4�d—m‘m h×&8Ñ&8¸Ó&>Õ>ÑTùs   ƒ(+ú (zName(ÚNameszDeclaredMetaclass(zMetaclassType()r  )rŸ  r­  rd   r®   )r  rª  rî  Úformatr—  r4  r  rC  r_   r»  r©   rÂ  rÂ   r›  rœ  r�   rž   Údump_tagged)r\   r  r  r~  Úheadr—  r  r¿   ÚdescriptionrC  rü   r  s    ``        @rR   r  zTypeInfo.dumpf  s™  ú€ ð
 ˆõ	-ð ˜H×.Ñ.¨tÓ4Ñ4ˆØ�:Š:Ø˜DŸI™IÓ%LÀÇÁÔ%LÓLÐMÈQÐOˆDØ×ÑØ�I‰IÓTÈ4Ï8É8ÔTÓTó
ˆð ˆÜ˜4Ÿ:™:Ó&ò 	&ˆDØ ×!3Ñ!3°D·J±J¸tÑ4D×4IÑ4IÓ!JÑJˆKØ—:‘:˜dÑ#×(Ñ(ˆDÜ˜$¤Ô$¨¯ªØ ¡H¨T¯Y©YÓ$7Ð#8¸Ð:Ñ:�Ø�L‰L˜Õ%ð	&ð ˜Ÿ™˜ qÐ)¨4°°wÀÐ6FÐGˆØ×"Ò"Ø�L‰LÐ-©h°t×7NÑ7NÓ.OÐ-PÐPQÐRÔSØ×ÒØ�L‰L˜>©(°4×3FÑ3FÓ*GÐ)HÈÐJÔKÜ�|‰|×'Ñ'¨¨t¸hÐ'ÓGÐGrQ   c                ó  — i dd“d| j                   “d| j                  “d| j                  j                  | j                  «      “d| j                  j                  «       “d| j
                  “d| j                  “d	| j                  “d
| j                  D �cg c]  }|j                  «       ‘Œ c}“d| j                  D �cg c]  }|j                  ‘Œ c}“d| j                  D �cg c]  }|j                  «       ‘Œ c}“d| j                  €d n| j                  j                  «       “d| j                  €d n| j                  j                  «       “d| j                  €d n| j                  j                  «       “d| j                  €d n| j                  j                  «       “d| j                  €d n| j                  j                  «       “dt!        | t"        j$                  «      “| j&                  | j(                  �t+        | j(                  «      nd | j,                  | j.                  �| j.                  j                  «       nd | j0                  �| j0                  j                  «       nd | j2                  dœ¥}|S c c}w c c}w c c}w )NrÆ   rÜ   r•  rÂ   r  r–  r   rV  r©  rª  r—  r«  r³  r›  rœ  r¬  r¯  r–  )r²  r¢  r¡  r·  rö  r{  )r•  rÂ   r  rÄ   r–  r   rV  r©  rª  r—  r«  r³  r›  rœ  r¬  r¯  r—  rÜ   r¼  r²  r¢  r4  r¡  r·  rö  r{  )r\   ÚbÚcÚprË   s        rR   rÄ   zTypeInfo.serialize„  sh  € ð"
Ø�jð"
à˜4×+Ñ+ð"
ð ˜Ÿ™ð"
ð �T—Z‘Z×)Ñ)¨$¯-©-Ó8ð	"
ð
 �D—I‘I×'Ñ'Ó)ð"
ð " 4×#;Ñ#;ð"
ð ˜Ÿ™ð"
ð " 4×#;Ñ#;ð"
ð ¨T¯Z©ZÖ8¨�a—k‘k•mÒ8ð"
ð ¨¯©Ö1 1�A—J“JÒ1ð"
ð °·±Ö>¨1˜Ÿ™�Ò>ð"
ð  4×#3Ñ#3Ð#;™4À×AQÑAQ×A[ÑA[ÓA]ð"
ð !Ø×/Ñ/Ð7‘¸T×=TÑ=T×=^Ñ=^Ó=`ð"
ð  Ø×+Ñ+Ð3‘¸×9LÑ9L×9VÑ9VÓ9Xð#"
ð&  $§/¡/Ð"9™$¸t¿¹×?XÑ?XÓ?Zð'"
ð( Ø×+Ñ+Ð3‘¸×9LÑ9L×9VÑ9VÓ9Xð+"
ð. ”Y˜t¤X§^¡^Ó4ð/"
ð0 Ÿ™Ø+/¯:©:Ð+A”V˜DŸJ™JÔ'ÀtØ$(×$=Ñ$=Ø7;·~±~Ð7Q˜Ÿ™×1Ñ1Ô3ÐW[ð ×0Ñ0Ð<ð ×-Ñ-×7Ñ7Ô9ààŸ/™/òC"
ˆðF ˆùò5 9ùÚ1ùÚ>s   ÂI=Â?JÃ$Jc                ó  — t         j                  |d   «      }t        j                  |d   «      }|d   }t        |||«      }|d   |_        |d   D �cg c]  }|d   |d   f‘Œ c}|_        |d   |_        |d	   |_        |d
   D �cg c]+  }t        j                  j                  j                  |«      ‘Œ- c}|_        g }|d   D ]X  }	t        j                  j                  |	«      }
t        |
t        j                  j                  «      sJ ‚|j                  |
«       ŒZ ||_        |d   €d n+t        j                  j                  j                  |d   «      |_        |d   €d n+t        j                  j                  j                  |d   «      |_        |d   €d n+t        j                  j                  j                  |d   «      |_        |d   |_        |d   €d n+t        j                  j*                  j                  |d   «      |_        |d   €d n+t        j                  j.                  j                  |d   «      |_        |d   |_        |d   �t5        |d   «      nd |_        |d   |_        t;        ||d   «       |d   }|�)t        j                  j<                  j                  |«      nd |_        |jA                  d«      �tB        j                  |d   «      |_"        |jA                  d«      |_#        |S c c}w c c}w )Nr  r–  r•  rÂ   r   r   ro   rV  r©  rª  r«  r³  r›  rœ  r—  r¬  r¯  r²  r¢  r¡  r–  r·  rö  r{  )$r  rÎ   rU  rÜ   r  r   rV  r©  r�   r™  rT  rª  rš  r_   r›  rÂ  r«  r³  r›  rœ  r˜  Ú	TupleTyper¬  ÚTypedDictTyper¯  r²  r  r¢  r¡  rœ  ÚTypeVarTyper·  rÈ   r  rö  r{  )rÊ   rË   r  r–  r•  ÚtiÚattrr  r«  r  r9  Ústs               rR   rÎ   zTypeInfo.deserialize«  sû  € ä×'Ñ'¨¨W©Ó6ˆÜ×#Ñ# D¨¡LÓ1ˆØ˜=Ñ)ˆÜ�e˜T ;Ó/ˆØ˜JÑ'ˆŒØAEÐF[ÑA\Ö!]¸ 4¨¡7¨D°©GÒ"4Ò!]ˆÔØ˜KÑ(ˆŒØ!%Ð&;Ñ!<ˆÔØ@DÀWÁÖN¸1”D—J‘J×'Ñ'×3Ñ3°AÕ6ÒNˆŒØˆØ�jÑ!ò 	ˆAÜ—
‘
×+Ñ+¨AÓ.ˆAÜ˜a¤§¡×!6Ñ!6Ô7Ð7Ð7Ø�O‰O˜AÕð	ð ˆŒð �MÑ"Ð*ñ ä—‘×$Ñ$×0Ñ0°°mÑ1DÓEð 	Œð Ð(Ñ)Ð1ñ ä—‘×$Ñ$×0Ñ0°Ð6JÑ1KÓLð 	Ôð Ð$Ñ%Ð-ñ ä—‘×$Ñ$×0Ñ0°Ð6FÑ1GÓHð 	Ôð ˜E‘{ˆŒð �LÑ!Ð)ñ ä—‘×%Ñ%×1Ñ1°$°|Ñ2DÓEð 	Œð Ð$Ñ%Ð-ñ ä—‘×)Ñ)×5Ñ5°dÐ;KÑ6LÓMð 	Ôð
 ˜:Ñ&ˆŒØ)-¨g©Ð)B”3�t˜G‘}Ô%ÈˆŒØ"&Ð'=Ñ">ˆÔÜ�"�d˜7‘mÔ$Ø�+ÑˆØACÀ”t—z‘z×-Ñ-×9Ñ9¸"Ô=ÐUYˆŒØ�8‰8Ð.Ó/Ð;Ü*@×*LÑ*LØÐ/Ñ0ó+ˆBÔ'ð Ÿ™ Ó.ˆŒØˆ	ùòs "^ùò Os   ÁLÂ0L
c                ó®  — t        |t        «       | j                  j                  || j                  «       | j
                  j                  |«       t        || j                  «       t        || j                  «       t        || j                  D ��cg c]  \  }}|‘Œ	 c}}«       t        || j                  D ��cg c]  \  }}|‘Œ	 c}}«       t        || j                  «       t        || j                  «       t        j                  j!                  || j"                  «       t        || j$                  D �cg c]  }|j                  ‘Œ c}«       t        j                  j!                  || j&                  «       t        j                  j)                  || j*                  «       t        j                  j)                  || j,                  «       t        j                  j)                  || j.                  «       t        j                  j)                  || j0                  «       t        j                  j)                  || j2                  «       t5        || j6                  | j8                  | j:                  | j<                  | j>                  | j@                  | jB                  | jD                  | jF                  | jH                  | jJ                  g«       tM        || jN                  «       | jP                  €t        |tR        «       nt        |tU        | jP                  «      «       t        || jV                  «       t        j                  j)                  || jX                  «       | jZ                  €t        |tR        «       n| jZ                  j                  |«       t]        || j^                  «       t        |t`        «       y c c}}w c c}}w c c}w r[   )1r@   Ú	TYPE_INFOr  rÓ   rÂ   r–  r   r•  r=   r   r9   rV  r6   r©  r�   r™  ro  rª  r—  r«  r¢  r³  r›  rœ  r¬  r¯  r8   r�  r¦  r§  r¨  r®  r°  rž  rŸ  rd  rš  r±  r;   r²  r¢  r&   r4  r¡  r·  rö  r>   r{  r!   )r\   rË   r£   r  Úsr  s         rR   rÓ   zTypeInfo.writeí  s˜  € Ü�$œ	Ô"Ø�
‰
×Ñ˜˜tŸ}™}Ô-Ø�	‰	�‰˜ÔÜ�$˜×(Ñ(Ô)Ü�$˜Ÿ™Ô&Ü�t¨D×,DÑ,D×E¡D A qšaÓEÔFÜ�t¨D×,DÑ,D×E¡D A qšaÓEÔFÜ�t˜TŸ^™^Ô,Ü�4˜×1Ñ1Ô2Ü�
‰
×"Ñ" 4¨¯©Ô4Ü�t°$·(±(Ö;¨Q˜aŸj›jÒ;Ô<Ü�
‰
×"Ñ" 4¨¯©Ô7Ü�
‰
×!Ñ! $¨×(8Ñ(8Ô9Ü�
‰
×!Ñ! $¨×(?Ñ(?Ô@Ü�
‰
×!Ñ! $¨×(;Ñ(;Ô<Ü�
‰
×!Ñ! $¨¯©Ô8Ü�
‰
×!Ñ! $¨×(;Ñ(;Ô<ÜØà× Ñ Ø—‘Ø×$Ñ$Ø×)Ñ)Ø×#Ñ#Ø—‘Ø× Ñ Ø×%Ñ%Ø—‘Ø×%Ñ%Ø×$Ñ$ðô	
ô  	�4˜Ÿ™Ô'Ø�:‰:ÐÜ�dœLÕ)ä˜4¤¨¯
©
Ó!3Ô4Ü�t˜T×6Ñ6Ô7Ü�
‰
×!Ñ! $¨¯©Ô7Ø×(Ñ(Ð0Ü�dœLÕ)à×)Ñ)×/Ñ/°Ô5Ü�d˜DŸO™OÔ,Ü�$œÕ ùóQ FùÛEùò <s   ÂOÂ<OÄ:O
c                ó6
  — t         j                  |«      }t        |«      t        k(  sJ ‚t        j                  |«      }t        |«      }t        |||«      }t        |«      |_        t        |«      }t        |«      }t        t        ||«      «      |_        t        |«      |_        t        |«      |_        g |_        t        |«      t"        k(  sJ ‚t%        t'        |«      «      D ]l  }t        |«      t(        j*                  j,                  k(  sJ ‚|j                   j/                  t(        j*                  j0                  j                  |«      «       Œn t        |«      |_        t5        t        t(        j*                  j6                     t(        j*                  j9                  |«      «      |_        t        |«      x}	t<        k7  rM|	t(        j*                  j,                  k(  sJ ‚t(        j*                  j0                  j                  |«      |_        t        |«      x}	t<        k7  rM|	t(        j*                  j,                  k(  sJ ‚t(        j*                  j0                  j                  |«      |_         t        |«      x}	t<        k7  rM|	t(        j*                  j,                  k(  sJ ‚t(        j*                  j0                  j                  |«      |_!        t        |«      x}	t<        k7  rM|	t(        j*                  jD                  k(  sJ ‚t(        j*                  jF                  j                  |«      |_$        t        |«      x}	t<        k7  rM|	t(        j*                  jJ                  k(  sJ ‚t(        j*                  jL                  j                  |«      |_'        tQ        |d¬«      \  |_)        |_*        |_+        |_,        |_-        |_.        |_/        |_0        |_1        |_2        |_3        ti        |«      |_5        t        |«      }	|	t<        k7  r;|	tl        k(  sJ ‚t%        t'        |«      «      D �ch c]  }to        |«      ’Œ c}|_8        t        |«      |_9        t        |«      x}	t<        k7  rM|	t(        j*                  jt                  k(  sJ ‚t(        j*                  jv                  j                  |«      |_<        t        |«      }	|	t<        k7  r%|	tz        k(  sJ ‚t|        j                  |«      |_?        t�        |«      |_A        t        |«      t„        k(  sJ ‚|S c c}w )Nr�   r¥  )Cr  rÖ   r5   rn  rU  r   rÜ   r  r2   r.   ÚlistÚzipr   rV  r+   r©  rª  r"   r   r  r�   r™  rX  rÂ  rT  r˜  r   r›  r>  r«  r&   r³  r›  rœ  Ú
TUPLE_TYPEr  r¬  ÚTYPED_DICT_TYPEr  r¯  r-   r�  r¦  r§  r¨  r®  r°  rž  rŸ  rd  rš  r±  r0   r²  r#   Úread_str_barer¢  r¡  ÚTYPE_VAR_TYPEr  r·  r    r  rö  r3   r{  r!   )
rÊ   rË   r  r–  r•  r  ÚattrsÚstatusesr  rç   s
             rR   rÖ   zTypeInfo.read  sà  € ä× Ñ  Ó&ˆÜ˜‹~¤Ò*Ð*Ð*Ü�}‰}˜TÓ"ˆÜ˜t“nˆÜ�e˜T ;Ó/ˆÜ “~ˆŒÜ˜dÓ#ˆÜ  Ó&ˆÜ!%¤c¨%°Ó&:Ó!;ˆÔÜ$ TÓ*ˆŒÜ!*¨4£ˆÔØˆŒÜ˜‹~¤Ò)Ð)Ð)Ü”} TÓ*Ó+ò 	<ˆAÜ˜D“>¤T§Z¡Z×%8Ñ%8Ò8Ð8Ð8Ø�H‰H�O‰OœDŸJ™J×/Ñ/×4Ñ4°TÓ:Õ;ð	<ô % TÓ*ˆŒÜœ4¤§
¡
× 5Ñ 5Ñ6¼¿
¹
×8QÑ8QÐRVÓ8WÓXˆŒÜ˜D“>Ð!ˆC¤lÒ2Øœ$Ÿ*™*×-Ñ-Ò-Ð-Ð-Ü!ŸZ™Z×0Ñ0×5Ñ5°dÓ;ˆBŒNÜ˜D“>Ð!ˆC¤lÒ2Øœ$Ÿ*™*×-Ñ-Ò-Ð-Ð-Ü$(§J¡J×$7Ñ$7×$<Ñ$<¸TÓ$BˆBÔ!Ü˜D“>Ð!ˆC¤lÒ2Øœ$Ÿ*™*×-Ñ-Ò-Ð-Ð-Ü $§
¡
× 3Ñ 3× 8Ñ 8¸Ó >ˆBÔÜ˜D“>Ð!ˆC¤lÒ2Øœ$Ÿ*™*×/Ñ/Ò/Ð/Ð/Ü ŸJ™J×0Ñ0×5Ñ5°dÓ;ˆBŒMÜ˜D“>Ð!ˆC¤lÒ2Øœ$Ÿ*™*×4Ñ4Ò4Ð4Ð4Ü $§
¡
× 8Ñ 8× =Ñ =¸dÓ CˆBÔô �t rÔ*ñ	
ØŒNØŒJØÔØÔ#ØÔØŒMØŒNØÔØŒKØÔØÔä “oˆŒÜ�t‹nˆØ”,ÒØœ(’?Ð"�?Ü5:¼=ÈÓ;NÓ5OÖP°œ dÕ+ÒPˆBŒHÜ"/°Ó"5ˆÔÜ˜D“>Ð!ˆC¤lÒ2Øœ$Ÿ*™*×2Ñ2Ò2Ð2Ð2ÜŸ:™:×1Ñ1×6Ñ6°tÓ<ˆBŒLÜ�t‹nˆØ”,ÒØœ'’>Ð!�>Ü*@×*EÑ*EÀdÓ*KˆBÔ'Ü$ TÓ*ˆŒÜ˜‹~¤Ò(Ð(Ð(Øˆ	ùò Qs   Ð,T)r  r  r–  rU  r•  r®   rd   re   rJ  r­   r=  )r¿   r®   rd   zSymbolTableNode | None)r¿   r®   rd   rÎ  )rd   rw  )r¿   r®   rd   rÛ   )r¿   r®   rd   r÷   )r¿   r®   rd   zFuncBase | Decorator | None)rd   r»  ©rd   r  )rò  r÷   rd   r÷   )rÂ   r®   rd   r÷   )rÂ   r®   rd   rÜ   )rd   rº  )rŸ  zmypy.types.TupleTyperd   re   )rŸ  zmypy.types.TypedDictTyperd   re   )r  zmypy.strconv.StrConvr  zmypy.types.TypeStrVisitorrd   r®   r×   )rË   rm   rd   rÜ   rØ   )rË   r(   rd   rÜ   )&rL   rM   rN   ri   rj   rƒ   r¼  r]   r¾  rÙ   r¿   rÂ   ri  rÈ   rÊ  rÎ  rÖ  rÙ  rF  rÝ  rß  rã  rë  rñ  rô  ræ  rù  rû  r  r  r¡   r  rÄ   rÚ   rÎ   rÓ   rÖ   r?  r@  s   @rR   rÜ   rÜ   .  sb  ø… ñ
ð.€Ið` ƒNð ÓØ
ƒNð 
Óð  ÓØƒMØƒNØÓà2Ó2Ø.Ó.àÓØÓØÓØÓð /Ó.Ø#Ó#ð Óð, DÓCØJÓJð )Ó(ð ƒMð Óð Óð
 Óð Óð %Ó$ð *Ó)ð ,Ó+ð ,Ó+ð Óð 4Ó3ð Óð Óð "Ó!ð $Ó#ð -Ó,ð <Ó;ð Óð Óð 5Ó4ð :Ó9ð )Ó(ò€Eˆ5ó õ0#ód/ð òó ðð òó ðó'óóð òó ðð  ò1ó ð1óf!ó-ó.ó*óó$ó4#ðJ /4õ 
óóEó2ó	4ó	4ó	
ðHØ,ðHØ=VðHà	óHó<%ðN ò?ó ð?óB.!ð` òHó ôHrQ   c                  ó    — e Zd ZdZdd„Zdd„Zy)rÜ  ©rÅ  c                ó   — || _         y r[   r0  )r\   rÅ  s     rR   r]   zFakeInfo.__init__€  s	   € Øˆ�rQ   c                óv   — |dk(  rt         j                  | |«      S t        t         j                  | d«      «      ‚)NrÑ   rÅ  )ÚobjectÚ__getattribute__ÚAssertionError)r\   r   s     rR   r4  zFakeInfo.__getattribute__ƒ  s5   € à�;ÒÜ×*Ñ*¨4°Ó6Ð6ÜœV×4Ñ4°T¸5ÓAÓBÐBrQ   N)rÅ  r®   rd   re   )r   r®   rd   r©   )rL   rM   rN   rj   r]   r4  rP   rQ   rR   rÜ  rÜ  i  s   „ Ø€Ió,ôCrQ   rÜ  zVar is lacking infozFinal[TypeInfo]r?  zClassDef is lacking infor`  z"FuncBase for non-methods lack inforn  z*fallback can't be filled out until semanalÚMISSING_FALLBACKc                  óú   ‡ — e Zd ZdZdZdZddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zedd„«       Zedd	„«       Z	e
dd
„«       Ze
dd„«       Ze
dd„«       Zdd„Zdd„Zedd„«       Zdd„Zedd„«       Zˆ xZS )r   a  
    A symbol node representing a type alias.

    Type alias is a static concept, in contrast to variables with types
    like Type[...]. Namely:
        * type aliases
            - can be used in type context (annotations)
            - cannot be re-assigned
        * variables with type Type[...]
            - cannot be used in type context
            - but can be re-assigned

    An alias can be defined only by an assignment to a name (not any other lvalues).

    Such assignment defines an alias by default. To define a variable,
    an explicit Type[...] annotation is required. As an exception,
    at non-global scope non-subscripted rvalue creates a variable even without
    an annotation. This exception exists to accommodate the common use case of
    class-valued attributes. See SemanticAnalyzerPass2.check_and_set_up_type_alias
    for details.

    Aliases can be generic. We use bound type variables for generic aliases, similar
    to classes. Essentially, type aliases work as macros that expand textually.
    The definition and expansion rules are following:

        1. An alias targeting a generic class without explicit variables act as
        the given class (this doesn't apply to TypedDict, Tuple and Callable, which
        are not proper classes but special type constructors):

            A = List
            AA = List[Any]

            x: A  # same as List[Any]
            x: A[int]  # same as List[int]

            x: AA  # same as List[Any]
            x: AA[int]  # Error!

            C = Callable  # Same as Callable[..., Any]
            T = Tuple  # Same as Tuple[Any, ...]

        2. An alias using explicit type variables in its rvalue expects
        replacements (type arguments) for these variables. If missing, they
        are treated as Any, like for other generics:

            B = List[Tuple[T, T]]

            x: B  # same as List[Tuple[Any, Any]]
            x: B[int]  # same as List[Tuple[int, int]]

            def f(x: B[T]) -> T: ...  # without T, Any would be used here

        3. An alias can be defined using another aliases. In the definition
        rvalue the Any substitution doesn't happen for top level unsubscripted
        generic classes:

            A = List
            B = A  # here A is expanded to List, _not_ List[Any],
                   # to match the Python runtime behaviour
            x: B[int]  # same as List[int]
            C = List[A]  # this expands to List[List[Any]]

            AA = List[T]
            D = AA  # here AA expands to List[Any]
            x: D[int]  # Error!

    Note: the fact that we support aliases like `A = List` means that the target
    type will be initially an instance type with wrong number of type arguments.
    Such instances are all fixed either during or after main semantic analysis passes.
    We therefore store the difference between `List` and `List[Any]` rvalues (targets)
    using the `no_args` flag.

    Meaning of other fields:

    target: The target type. For generic aliases contains bound type variables
        as nested types (currently TypeVar and ParamSpec are supported).
    _fullname: Qualified name of this type alias. This is used in particular
        to track fine-grained dependencies from aliases.
    module: Module where the alias was defined.
    alias_tvars: Type variables used to define this alias.
    normalized: Used to distinguish between `A = List`, and `A = list`. Both
        are internally stored using `builtins.list` (because `typing.List` is
        itself an alias), while the second cannot be subscripted because of
        Python runtime limitation.
    line and column: Line and column on the original alias definition.
    eager: If True, immediately expand alias when referred to (useful for aliases
        within functions that can't be looked up from the symbol table)
    )ra   r  ÚmoduleÚalias_tvarsÚno_argsÚ
normalizedrþ  ÚeagerÚtvar_tuple_indexÚpython_3_12_type_aliasr-  )r¿   ra   r9  r:  NF)r9  r:  r;  r<  r>  c               óF  •— || _         || _        || _        |€g }|| _        || _        || _        d | _        |	| _        |
| _        d | _	        i | _
        t        |«      D ]1  \  }}t        |t        j                  j                  «      sŒ+|| _	        Œ3 t         ‰| �E  ||«       y r[   )r  r8  ra   r9  r:  r;  rþ  r<  r>  r=  r-  r†  r_   r�   r™  rÁ  r  r]   )r\   ra   rÂ   r8  rV   rW   r9  r:  r;  r<  r>  rŠ  r9  rÑ   s                €rR   r]   zTypeAlias.__init__ú  s©   ø€ ð "ˆŒØˆŒØˆŒØÐØˆKØ&ˆÔØˆŒØ$ˆŒð +/ˆÔØˆŒ
Ø&<ˆÔ#Ø $ˆÔàEGˆÔÜ˜kÓ*ò 	*‰DˆAˆqÜ˜!œTŸZ™Z×8Ñ8Õ9Ø()�Õ%ð	*ô 	‰Ñ˜˜vÕ&rQ   c           
     ó^  — |j                   sJ ‚t        |j                   j                  t        j                  j                  |t        j                  j                  |j                  j                  «      «      ¬«      |j                  |j                  |j                  |j                  «      S )zÞGenerate an alias to the tuple type described by a given TypeInfo.

        NOTE: this doesn't set type alias type variables (for generic tuple types),
        they must be set by the caller (when fully analyzed).
        ©rY  )r¬  r   Úcopy_modifiedr�   r™  rT  Útype_vars_as_argsr–  rV  rÂ   r•  rV   rW   ©rÊ   ri  s     rR   rý  zTypeAlias.from_tuple_type  s„   € ð �ŠÐˆäØ�O‰O×)Ñ)äŸ™×,Ñ,Øœ$Ÿ*™*×6Ñ6°t·y±y×7JÑ7JÓKóð *ó ð �M‰MØ×ÑØ�I‰IØ�K‰Kó
ð 	
rQ   c           
     ó^  — |j                   sJ ‚t        |j                   j                  t        j                  j                  |t        j                  j                  |j                  j                  «      «      ¬«      |j                  |j                  |j                  |j                  «      S )záGenerate an alias to the TypedDict type described by a given TypeInfo.

        NOTE: this doesn't set type alias type variables (for generic TypedDicts),
        they must be set by the caller (when fully analyzed).
        rA  )r¯  r   rB  r�   r™  rT  rC  r–  rV  rÂ   r•  rV   rW   rD  s     rR   r  zTypeAlias.from_typeddict_type3  s‰   € ð ×"Ò"Ð"Ð"äØ×Ñ×-Ñ-äŸ™×,Ñ,Øœ$Ÿ*™*×6Ñ6°t·y±y×7JÑ7JÓKóð .ó ð �M‰MØ×ÑØ�I‰IØ�K‰Kó
ð 	
rQ   c                ó>   — | j                   j                  d«      d   S ©Nr  rc   r   r    s    rR   r¿   zTypeAlias.nameI  ó   € à�~‰~×#Ñ# CÓ(¨Ñ,Ð,rQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zTypeAlias.fullnameM  r$  rQ   c                ó:   — t        d„ | j                  D «       «      S )Nc              3  ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr[   )r_   r�   r™  rÀ  )r­  rK  s     rR   r®  z0TypeAlias.has_param_spec_type.<locals>.<genexpr>S  s!   è ø€ ÒU¸q”:˜a¤§¡×!9Ñ!9×:ÑUùó   ‚.0)rÒ  r9  r    s    rR   r©  zTypeAlias.has_param_spec_typeQ  s   € äÑUÀD×DTÑDTÔUÓUÐUrQ   c                ó$   — |j                  | «      S r[   )Úvisit_type_aliasrª   s     rR   rœ   zTypeAlias.acceptU  r`  rQ   c           	     ó  — d| j                   | j                  | j                  j                  «       | j                  D �cg c]  }|j                  «       ‘Œ c}| j
                  | j                  | j                  dœ}|S c c}w )Nr   )rÆ   rÂ   r8  ra   r9  r:  r;  r>  )r  r8  ra   rÄ   r9  r:  r;  r>  )r\   rK  rË   s      rR   rÄ   zTypeAlias.serializeX  sh   € à!ØŸ™Ø—k‘kØ—k‘k×+Ñ+Ó-Ø37×3CÑ3CÖD¨a˜AŸK™K�MÒDØ—|‘|ØŸ/™/Ø&*×&AÑ&Añ	
ˆð ˆùò Es   ¿A>c                ó�  — |d   dk(  sJ ‚|d   }|d   }|d   D �cg c]!  }t         j                  j                  |«      ‘Œ# }}t        d„ |D «       «      sJ ‚t         j                  j                  |d   «      }|d   }|d	   }|d
   }	 | |||ddt	        t
        t         j                  j                     |«      |||	¬«	      S c c}w )NrÆ   r   rÂ   r8  r9  c              3  ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr[   )r_   r�   r™  rl  )r­  r9  s     rR   r®  z(TypeAlias.deserialize.<locals>.<genexpr>k  s!   è ø€ ÒRÀ”:˜a¤§¡×!;Ñ!;×<ÑRùrL  ra   r:  r;  r>  rc   ©r9  r:  r;  r>  )r�   r™  rš  r°  r   r&  rl  )
rÊ   rË   rÂ   r8  rK  r9  ra   r:  r;  r>  s
             rR   rÎ   zTypeAlias.deserializee  sÝ   € à�H‰~ Ò,Ð,Ð,Ø˜
Ñ#ˆØ�h‘ˆØ?CÀMÑ?RÖS¸!”t—z‘z×2Ñ2°1Õ5ÐSˆÐSÜÑRÀkÔRÔRÐRÐRÜ—‘×,Ñ,¨T°(©^Ó<ˆØ�y‘/ˆØ˜,Ñ'ˆ
Ø!%Ð&>Ñ!?ÐÙØØØØØÜœT¤$§*¡*×"<Ñ"<Ñ=¸{ÓKØØ!Ø#9ô

ð 
	
ùò Ts   œ&Cc                óª  — t        |t        «       t        || j                  «       t        || j                  «       | j
                  j                  |«       t        j                  j                  || j                  «       t        || j                  «       t        || j                  «       t        || j                  «       t        |t        «       y r[   )r@   Ú
TYPE_ALIASr   r  r8  ra   rÓ   r�   r™  ro  r9  r6   r:  r;  r>  r!   rÒ   s     rR   rÓ   zTypeAlias.write|  sŠ   € Ü�$œ
Ô#Ü�$˜Ÿ™Ô'Ü�$˜Ÿ™Ô$Ø�‰×Ñ˜$ÔÜ�
‰
×"Ñ" 4¨×)9Ñ)9Ô:Ü�4˜Ÿ™Ô&Ü�4˜Ÿ™Ô)Ü�4˜×4Ñ4Ô5Ü�$œÕ rQ   c                ó4  — t        |«      }t        |«      }t        j                  j                  |«      }t        j                  j	                  |«      }t        |||dd|t        |«      t        |«      t        |«      ¬«	      }t        |«      t        k(  sJ ‚|S )Nrc   rR  )	r   r�   r™  r?  rq  r   r+   r5   r!   )rÊ   rË   rÂ   r8  ra   r9  r  s          rR   rÖ   zTypeAlias.read‡  s†   € ä˜D“>ˆÜ˜$“ˆÜ—‘×%Ñ% dÓ+ˆÜ—j‘j×4Ñ4°TÓ:ˆÜØØØØØØ#Ü˜d“OÜ  “Ü#,¨T£?ô

ˆô ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   )ra   r­  rÂ   r®   r8  r®   rV   r`   rW   r`   r9  rr  r:  r÷   r;  r÷   r<  r÷   r>  r÷   rd   re   )ri  rÜ   rd   r   r­   r=  r¯   r×   )rË   rm   rd   r   rØ   )rË   r(   rd   r   )rL   rM   rN   ri   rj   r>  r]   rÚ   rý  r  rÙ   r¿   rÂ   r©  rœ   rÄ   rÎ   rÓ   rÖ   r?  r@  s   @rR   r   r   �  s;  ø„ ñWðr€Ið B€Nð @DØØ ØØ',ñ!'àð!'ð ð!'ð ð	!'ð
 ð!'ð ð!'ð =ð!'ð ð!'ð ð!'ð ð!'ð !%ð!'ð 
õ!'ðF ò
ó ð
ð* ò
ó ð
ð* ò-ó ð-ð òó ðð òVó ðVó.óð ò
ó ð
ó,	!ð òó ôrQ   r   c                  óh   — e Zd ZdZdZddœ	 	 	 	 	 	 	 	 	 dd„Zedd„«       Zedd„«       Zdd„Z	dd	„Z
y
)ÚPlaceholderNodeaÞ  Temporary symbol node that will later become a real SymbolNode.

    These are only present during semantic analysis when using the new
    semantic analyzer. These are created if some essential dependencies
    of a definition are not yet complete.

    A typical use is for names imported from a module which is still
    incomplete (within an import cycle):

      from m import f  # Initially may create PlaceholderNode

    This is particularly important if the imported shadows a name from
    an enclosing scope or builtins:

      from m import int  # Placeholder avoids mixups with builtins.int

    Another case where this is useful is when there is another definition
    or assignment:

      from m import f
      def f() -> None: ...

    In the above example, the presence of PlaceholderNode allows us to
    handle the second definition as a redefinition.

    They are also used to create PlaceholderType instances for types
    that refer to incomplete types. Example:

      class C(Sequence[C]): ...

    We create a PlaceholderNode (with becomes_typeinfo=True) for C so
    that the type C in Sequence[C] can be bound.

    Attributes:

      fullname: Full name of the PlaceholderNode.
      node: AST node that contains the definition that caused this to
          be created. This is useful for tracking order of incomplete definitions
          and for debugging.
      becomes_typeinfo: If True, this refers something that could later
          become a TypeInfo. It can't be used with type variables, in
          particular, as this would cause issues with class type variable
          detection.

    The long-term purpose of placeholder nodes/types is to evolve into
    something that can support general recursive types.
    )r  rC  Úbecomes_typeinfoF)rX  c               ó<   — || _         || _        || _        || _        y r[   )r  rC  rX  rV   )r\   rÂ   rC  rV   rX  s        rR   r]   zPlaceholderNode.__init__Ï  s!   € ð "ˆŒØˆŒ	Ø 0ˆÔØˆ�	rQ   c                ó>   — | j                   j                  d«      d   S rG  r   r    s    rR   r¿   zPlaceholderNode.name×  rH  rQ   c                ó   — | j                   S r[   r#  r    s    rR   rÂ   zPlaceholderNode.fullnameÛ  r$  rQ   c                ó   — J d«       ‚)Nz#PlaceholderNode can't be serializedrP   r    s    rR   rÄ   zPlaceholderNode.serializeß  s   € Ø;Ð;Ó;ˆurQ   c                ó$   — |j                  | «      S r[   )Úvisit_placeholder_noderª   s     rR   rœ   zPlaceholderNode.acceptâ  rÂ  rQ   N)
rÂ   r®   rC  r—   rV   r`   rX  r÷   rd   re   r­   r×   r¯   )rL   rM   rN   ri   rj   r]   rÙ   r¿   rÂ   rÄ   rœ   rP   rQ   rR   rW  rW  œ  su   „ ñ.ð` :€Ið QVñØðØ#'ðØ/2ðØIMðà	óð ò-ó ð-ð òó ðó<ô4rQ   rW  c                  óÌ   — e Zd ZdZdZ	 	 	 ddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zedd„«       Zedd„«       Zedd„«       Z	dd	„Z
dd
„Zdd„Zdd„Zedd„«       Zdd„Zedd„«       Zy)rÛ   a  Description of a name binding in a symbol table.

    These are only used as values in module (global), function (local)
    and class symbol tables (see SymbolTable). The name that is bound is
    the key in SymbolTable.

    Symbol tables don't contain direct references to AST nodes primarily
    because there can be multiple symbol table references to a single
    AST node (due to imports and aliases), and different references can
    behave differently. This class describes the unique properties of
    each reference.

    The most fundamental attribute is 'node', which is the AST node that
    the name refers to.

    The kind is usually one of LDEF, GDEF or MDEF, depending on the scope
    of the definition. These three kinds can usually be used
    interchangeably and the difference between local, global and class
    scopes is mostly descriptive, with no semantic significance.
    However, some tools that consume mypy ASTs may care about these so
    they should be correct.

    Attributes:
        _node: AST node of definition. Among others, this can be one of
            FuncDef, Var, TypeInfo, TypeVarExpr or MypyFile -- or None
            for cross_ref that hasn't been fixed up yet. Should not be accessed
            directly, only via the `node` property.
        kind: Kind of node. Possible values:
               - LDEF: local definition
               - GDEF: global (module-level) definition
               - MDEF: class member definition
               - UNBOUND_IMPORTED: temporary kind for imported names (we
                 don't know the final kind yet)
        module_public: If False, this name won't be imported via
            'from <module> import *'. This has no effect on names within
            classes.
        module_hidden: If True, the name will never be exported (needed for
            stub files)
        cross_ref: For deserialized MypyFile nodes, the referenced module
            name; for other nodes, optionally the name of the referenced object.
        implicit: Was this defined by assignment to self attribute?
        plugin_generated: Was this symbol generated by a plugin?
            (And therefore needs to be removed in aststrip.)
        no_serialize: Do not serialize this node if True. This is used for internal
            and/or temporary symbols such as function redefinitions.
        unfixed: Indicates that this symbol is fresh after deserialization and
            needs fixup, such as resolving cross-references etc.
        stored_info: TypeInfo containing this symbol. Normally code accesses this
            on the `node` attribute, but it may be not ready during deserialization,
            so we temporarily store info on the symbol itself.

    NOTE: No other attributes should be added to this class unless they
    are shared by all node kinds.
    )r¶  Ú_nodeÚ_node_bytesÚ	_node_tagÚmodule_publicÚmodule_hiddenÚ	cross_refrä  Úplugin_generatedÚno_serializeÚunfixedÚstored_infoF)rf  rg  c               ó¬   — || _         || _        d| _        d| _        || _        || _        || _        d | _        || _        || _	        d| _
        d | _        y )NrQ   r   F)r¶  r`  ra  rb  rc  rä  rd  re  rf  rg  rh  ri  )r\   r¶  rC  rc  rä  rd  rf  rg  s           rR   r]   zSymbolTableNode.__init__-  s^   € ð ˆŒ	ØˆŒ
ØˆÔØˆŒØ*ˆÔØ ˆŒØ*ˆÔØ%)ˆŒØ 0ˆÔØ(ˆÔØˆŒØ,0ˆÕrQ   c                óH   — | j                   �| j                   j                  S y r[   )rC  rÂ   r    s    rR   rÂ   zSymbolTableNode.fullnameE  s   € à�9‰9Ð Ø—9‘9×%Ñ%Ð%àrQ   c                óÄ   — | j                   }t        |t        t        f«      r|j                  �|j                  S t        |t
        «      r|j                  j                  S y r[   )rC  r_   r»  r  r©   ru  rŽ  )r\   rC  s     rR   r©   zSymbolTableNode.typeL  sI   € à�y‰yˆÜ�dœSÔ"7Ð8Ô9¸d¿i¹iÐ>SØ—9‘9ÐÜ˜œiÔ(Ø—8‘8—=‘=Ð àrQ   c                óÐ  — | j                   rÏt        j                  }|€J ‚| j                  �|j	                  | «       | j
                  S | j
                  €5t        t        | j                  «      | j                  «      | _        d| _        | j
                  }|€J ‚| j                  �t        || j                  «       d | _
        |j                  |«       d| _         | j
                  S )NrQ   F)rh  rA   Ú
node_fixerre  Úresolve_cross_refr`  Úread_symbolr(   ra  rb  ri  Úset_inforœ   )r\   rn  rC  s      rR   rC  zSymbolTableNode.nodeV  sË   € à�<Š<Ü&×1Ñ1ˆJØÐ)Ð)Ð)Ø�~‰~Ð)Ø×,Ñ,¨TÔ2ð �z‰zÐð —:‘:Ð%Ü!,¬Z¸×8HÑ8HÓ-IÈ4Ï>É>Ó!Z�D”JØ'*�DÔ$Ø—z‘z�ØÐ'Ð'Ð'Ø×#Ñ#Ð/Ü˜T 4×#3Ñ#3Ô4Ø'+�DÔ$Ø—‘˜JÔ'Ø$�”Ø�z‰zÐrQ   c                ó´   — | j                   €A| j                  r5t        t        | j                  «      | j                  «      | _         d| _        | j                   S )zéReturn the deserialized node without performing cross-reference fixup.

        This is intended for introspection tools (such as mypy.exportjson) that read
        cache files in isolation, where no node fixer is available.
        rQ   )r`  ra  rp  r(   rb  r    s    rR   Úread_node_no_fixupz"SymbolTableNode.read_node_no_fixupj  sE   € ð �:‰:Ð $×"2Ò"2Ü$¤Z°×0@Ñ0@Ó%AÀ4Ç>Á>ÓRˆDŒJØ"ˆDÔØ�z‰zÐrQ   c                óî   — t        | j                  | j                  | j                  | j                  | j
                  «      }| j                  |_        | j                  |_        | j                  |_        |S r[   )	rÛ   r¶  r`  rc  rä  rd  re  rh  ri  )r\   Únews     rR   r‚  zSymbolTableNode.copyu  sY   € ÜØ�I‰I�t—z‘z 4×#5Ñ#5°t·}±}Àd×FXÑFXó
ˆð Ÿ™ˆŒØ—l‘lˆŒØ×*Ñ*ˆŒØˆ
rQ   c                óB  — t         | j                     › dt        | j                  «      › �}t	        | j                  t
        «      r|d| j                  j                  › d�z  }| j                  �|d| j                  › �z  }| j                  r|d| j                  › �z  }|S )Nú/r  r  ú : z cross_ref:)	r~   r¶  rE   rC  r_   r½   rÂ   r©   re  )r\   r$  s     rR   r¡   zSymbolTableNode.__str__~  s“   € Ü˜$Ÿ)™)Ñ$Ð% Q¤z°$·)±)Ó'<Ð&=Ð>ˆÜ�d—i‘i¤Ô,Ø�2�d—i‘i×(Ñ(Ð)¨Ð+Ñ+ˆAà�9‰9Ð Ø�3�t—y‘y�kÐ"Ñ"ˆAØ�>Š>Ø�;˜tŸ~™~Ð.Ð/Ñ/ˆAØˆrQ   c                ó”  — dt         | j                     dœ}| j                  rd|d<   | j                  sd|d<   | j                  rd|d<   | j
                  rd|d<   t        | j                  t        «      r| j                  j                  |d	<   |S | j                  €J |› d
|› �«       ‚|��| j                  j                  }d|v rg||dz   |z   k7  r\t        | j                  t        «      r| j                  j                  s,t        | j                  t        «      rJ d|› d�«       ‚||d	<   |S | j                  j                  «       |d<   |S )zÁSerialize a SymbolTableNode.

        Args:
          prefix: full name of the containing module or class; or None
          name: name of this object relative to the containing object
        rÛ   )rÆ   r¶  Trd  Frc  rä  rf  re  ú:r  úDefinition of ú is unexpectedly incompleterC  )r~   r¶  rd  rc  rä  rf  r_   rC  r  rÂ   r»  r5  rW  rÄ   )r\   Úprefixr¿   rË   rÂ   s        rR   rÄ   zSymbolTableNode.serialize‰  sO  € ð %6¼zÈ$Ï)É)Ñ?TÑUˆØ×ÒØ$(ˆD�Ñ!Ø×!Ò!Ø$)ˆD�Ñ!Ø�=Š=Ø#ˆD�ÑØ× Ò Ø'+ˆDÐ#Ñ$Ü�d—i‘i¤Ô*Ø $§	¡	× 2Ñ 2ˆD�Ñð  ˆð —9‘9Ð(Ð<¨V¨H°A°d°VÐ*<Ó<Ð(ØÐ!ØŸ9™9×-Ñ-�à˜8‘OØ  F¨S¡L°4Ñ$7Ò7Ü'¨¯	©	´3Ô7¸D¿I¹I×<YÒ<Yä)ØŸ	™	¤?ô ð Nà'¨ zÐ1LÐMóNð ð )1�D˜Ñ%Ø�KØŸ9™9×.Ñ.Ó0ˆD�‰LØˆrQ   c                ór  — |d   dk(  sJ ‚t         |d      }d|v rt        |d «      }|d   |_        d|_        nFd|v sJ |«       ‚t        j                  |d   «      }t        ||«      }t        |t        «      sd|_        d|v r
|d   |_        d|v r
|d   |_	        d	|v r
|d	   |_
        d
|v r
|d
   |_        |S )NrÆ   rÛ   r¶  re  TrC  rd  rc  rä  rf  )r   rÛ   re  rh  r½   rÎ   r_   rÜ   rd  rc  rä  rf  )rÊ   rË   r¶  ÚstnoderC  s        rR   rÎ   zSymbolTableNode.deserialize¬  sæ   € à�H‰~Ð!2Ò2Ð2Ð2Ü! $ v¡,Ñ/ˆØ˜$Ñä$ T¨4Ó0ˆFØ# KÑ0ˆFÔØ!ˆF�Nà˜T‘>Ð' 4Ó'�>Ü×)Ñ)¨$¨v©,Ó7ˆDÜ$ T¨4Ó0ˆFÜ˜d¤HÔ-Ø!%�”Ø˜dÑ"Ø#'¨Ñ#8ˆFÔ Ø˜dÑ"Ø#'¨Ñ#8ˆFÔ Ø˜ÑØ" :Ñ.ˆFŒOØ Ñ%Ø&*Ð+=Ñ&>ˆFÔ#ØˆrQ   c                ó   — t        |t        «       t        || j                  «       t	        || j
                  «       t	        || j                  «       t	        || j                  «       t	        || j                  «       d }t        | j                  t        «      r| j                  j                  }n–| j                  €J |› d|› �«       ‚|�|| j                  j                  }d|v rb||dz   |z   k7  rWt        | j                  t        «      r| j                  j                  s't        | j                  t        «      rJ d|› d�«       ‚|}t!        ||«       |€)| j                  €J ‚| j                  j#                  |«       t        |t$        «       y )Nrz  r  r{  r|  )r@   ÚSYMBOL_TABLE_NODEr   r¶  r6   rd  rc  rä  rf  r_   rC  r  rÂ   r»  r5  rW  r>   rÓ   r!   )r\   rË   r}  r¿   re  rÂ   s         rR   rÓ   zSymbolTableNode.writeÅ  sR  € Ü�$Ô)Ô*Ü�$˜Ÿ	™	Ô"Ü�4˜×+Ñ+Ô,Ü�4˜×+Ñ+Ô,Ü�4˜Ÿ™Ô'Ü�4˜×.Ñ.Ô/àˆ	Ü�d—i‘i¤Ô*ØŸ	™	×*Ñ*‰Ià—9‘9Ð(Ð<¨V¨H°A°d°VÐ*<Ó<Ð(ØÐ!ØŸ9™9×-Ñ-�à˜8‘OØ  F¨S¡L°4Ñ$7Ò7Ü'¨¯	©	´3Ô7¸D¿I¹I×<YÒ<Yä)ØŸ	™	¤?ô ð Nà'¨ zÐ1LÐMóNð ð !)�Iä�d˜IÔ&ØÐØ—9‘9Ð(Ð(Ð(Ø�I‰I�O‰O˜DÔ!Ü�$œÕ rQ   c                óÒ  — t        |«      t        k(  sJ ‚t        t        |«      d «      }t	        |«      |_        t	        |«      |_        t	        |«      |_        t	        |«      |_        t        |«      }|€Nt        |«      }|t        k(  rt        j                  |«      |_        n-t        |«      |_        ||_        d|_        n||_        d|_        t        |«      t&        k(  sJ ‚|S r;  )r5   r�  rÛ   r   r+   rd  rc  rä  rf  r3   r#  rÜ   rÖ   r`  r   ra  rb  rh  re  r!   )rÊ   rË   rÕ  re  rç   s        rR   rÖ   zSymbolTableNode.readä  sÄ   € ä˜‹~Ô!2Ò2Ð2Ð2Üœh t›n¨dÓ3ˆÜ% d›OˆÔÜ% d›OˆÔÜ  “ˆŒÜ(¨›ˆÔÜ  Ó&ˆ	ØÐÜ˜4“.ˆCØ”iÒÜ$ŸM™M¨$Ó/�•	ä"0°Ó"6�”Ø #�”Ø"�•à%ˆCŒMØˆCŒKÜ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   N)TFF)r¶  r`   rC  úSymbolNode | Nonerc  r÷   rä  r÷   rd  r÷   rf  r÷   rg  r÷   rd   re   r.  r%  )rd   rƒ  )rd   rÛ   r­   )r}  r®   r¿   r®   rd   rm   )rË   rm   rd   rÛ   )rË   r*   r}  r®   r¿   r®   rd   re   )rË   r(   rd   rÛ   )rL   rM   rN   ri   rj   r]   rÙ   rÂ   r©   rC  rs  r‚  r¡   rÄ   rÚ   rÎ   rÓ   rÖ   rP   rQ   rR   rÛ   rÛ   æ  sø   „ ñ5ðn€Ið& #ØØ#ð1ð "'Ø"ñ1àð1ð  ð1ð ð	1ð
 ð1ð ð1ð ð1ð ð1ð 
ó1ð0 òó ðð òó ðð òó ðó&	óó	ó!ðF òó ðó0!ð> òó ñrQ   c                  óX   — e Zd ZdZdZd
d„Zdd„Zdd„Zedd„«       Z	dd„Z
edd„«       Zy	)r  zrStatic representation of a namespace dictionary.

    This is used for module, class and function namespaces.
    rP   c                óº  — g }| j                  «       D ]Œ  \  }}t        |t        «      rf|j                  dk7  sŒ&|j                  xs dj	                  d«      d   t
        vsŒO|j                  dt        |«      z   dz   t        |«      z   «       Œ||j                  d«       ŒŽ t        |«      }|j                  dd	«       |dxx   d
z  cc<   dj                  |«      S )NÚbuiltinsr  r  rc   z  rx  z  <invalid item>r   zSymbolTable(r  ú
)rü   r_   rÛ   rÂ   r!  r…   rÂ  r®   r4  Úinsertrî  )r\   r£   r  r  s       rR   r¡   zSymbolTable.__str__  s½   € ØˆØŸ*™*›,ò 
	-‰JˆC�ä˜%¤Ô1à—N‘N jÓ0ØŸ™Ò-¨2×4Ñ4°SÓ9¸"Ñ=ÔEZÒZà—H‘H˜T¤C¨£H™_¨uÑ4´s¸5³zÑAÕBð —‘Ð+Õ,ð
	-ô �1‹IˆØ	�‰��NÔ#Ø	ˆ"‹�‰‹Ø�y‰y˜‹|ÐrQ   c           	     ó†   — t        | j                  «       D ��cg c]  \  }}||j                  «       f‘Œ c}}«      S c c}}w r[   )r  rü   r‚  )r\   r  rC  s      rR   r‚  zSymbolTable.copy  s0   € ÜÀÇ
Á
Ã×M±9°3¸˜S $§)¡)£+Ò.ÓMÓNÐNùÓMs   ™=
c                óŒ   — ddi}| j                  «       D ],  \  }}|dk(  s|j                  rŒ|j                  ||«      ||<   Œ. |S )NrÆ   r  Ú__builtins__)rü   rg  rÄ   )r\   rÂ   rË   r  r  s        rR   rÄ   zSymbolTable.serialize  sU   € Ø" MÐ2ˆØŸ*™*›,ò 	7‰JˆC�ð
 �nÒ$¨×(:Ò(:ØØŸ™¨°#Ó6ˆD�ŠIð	7ð ˆrQ   c                óš   — |d   dk(  sJ ‚t        «       }|j                  «       D ]#  \  }}|dk7  sŒt        j                  |«      ||<   Œ% |S )NrÆ   r  )r  rü   rÛ   rÎ   )rÊ   rË   r!  r  r  s        rR   rÎ   zSymbolTable.deserialize%  sV   € à�H‰~ Ò.Ð.Ð.Ü‹]ˆØŸ*™*›,ò 	=‰JˆC�Ø�h‹Ü)×5Ñ5°eÓ<��3’ð	=ð ˆ	rQ   c                ó*  — d}| j                  «       D ]  \  }}|dk(  s|j                  rŒ|dz  }Œ t        |t        «       t	        ||«       t        | «      D ]8  }| |   }|dk(  s|j                  rŒt        ||«       |j                  |||«       Œ: y )Nr   r‹  ro   )rü   rg  r@   r   rú   r4  Úwrite_str_barerÓ   )r\   rË   rÂ   Úsizer  r  s         rR   rÓ   zSymbolTable.write.  s�   € ØˆØŸ*™*›,ò 	‰JˆC�ð
 �nÒ$¨×(:Ò(:ØØ�A‰I‰Dð	ô 	�$œÔ%Ü�t˜TÔ"Ü˜$“<ò 	-ˆCØ˜‘IˆEØ�nÒ$¨×(:Ò(:ØÜ˜4 Ô%Ø�K‰K˜˜h¨Õ,ñ	-rQ   c           	     óÊ   — t        |«      t        k(  sJ ‚t        |«      }t        t	        |«      D �cg c]"  }t        |«      t        j                  |«      f‘Œ$ c}«      S c c}w r[   )r5   r   r  r  r   r*  rÛ   rÖ   )rÊ   rË   r�  r  s       rR   rÖ   zSymbolTable.readB  sU   € ä˜‹~¤Ò-Ð-Ð-Ü˜TÓ"ˆÜÜHMÈdËÖTÀ1Œm˜DÓ!¤?×#7Ñ#7¸Ó#=Ò>ÒTó
ð 	
ùÚTs   ²'A Nr­   )rd   r  )rÂ   r®   rd   rm   )rË   rm   rd   r  )rË   r*   rÂ   r®   rd   re   )rË   r(   rd   r  )rL   rM   rN   ri   rj   r¡   r‚  rÄ   rÚ   rÎ   rÓ   rÖ   rP   rQ   rR   r  r  ü  sK   „ ñð
 €Ióó$Oó
ð òó ðó-ð( ò
ó ñ
rQ   r  c                  ót   — e Zd ZdZdZddddddœ	 	 	 	 	 	 	 	 	 	 	 d
d„Zdd„Zedd„«       Zdd„Z	edd	„«       Z
y)r  z•Specifies how a dataclass-like transform should be applied. The fields here are based on the
    parameters accepted by `typing.dataclass_transform`.©Ú
eq_defaultÚorder_defaultÚkw_only_defaultÚfrozen_defaultÚfield_specifiersN)r“  r”  r•  r—  r–  c               ó~   — |�|nd| _         |�|nd| _        |�|nd| _        |�|nd| _        |�|| _        y d| _        y )NTFrP   r’  )r\   r“  r”  r•  r—  r–  s         rR   r]   zDataclassTransformSpec.__init__W  sW   € ð )3Ð(>™*ÀDˆŒØ.;Ð.G™]ÈUˆÔØ2AÐ2M™ÐSXˆÔØ0>Ð0J™nÐPUˆÔØ4DÐ4PÐ 0ˆÕÐVXˆÕrQ   c                óˆ   — | j                   | j                  | j                  | j                  t	        | j
                  «      dœS ©Nr’  )r“  r”  r•  r–  r&  r—  r    s    rR   rÄ   z DataclassTransformSpec.serializei  s<   € àŸ/™/Ø!×/Ñ/Ø#×3Ñ3Ø"×1Ñ1Ü $ T×%:Ñ%:Ó ;ñ
ð 	
rQ   c                óÌ   — t        |j                  d«      |j                  d«      |j                  d«      |j                  d«      t        |j                  dg «      «      ¬«      S )Nr“  r”  r•  r–  r—  r’  )r  rÈ   ÚtuplerÕ   s     rR   rÎ   z"DataclassTransformSpec.deserializer  sU   € ä%Ø—x‘x Ó-ØŸ(™( ?Ó3Ø ŸH™HÐ%6Ó7ØŸ8™8Ð$4Ó5Ü" 4§8¡8Ð,>ÀÓ#CÓDô
ð 	
rQ   c                ó   — t        |t        «       t        || j                  «       t        || j                  «       t        || j
                  «       t        || j                  «       t        || j                  «       t        |t        «       y r[   )
r@   r    r6   r“  r”  r•  r–  r=   r—  r!   rÒ   s     rR   rÓ   zDataclassTransformSpec.write|  sd   € Ü�$œÔ Ü�4˜Ÿ™Ô)Ü�4˜×+Ñ+Ô,Ü�4˜×-Ñ-Ô.Ü�4˜×,Ñ,Ô-Ü�t˜T×2Ñ2Ô3Ü�$œÕ rQ   c                óº   — t        t        |«      t        |«      t        |«      t        |«      t        t        |«      «      ¬«      }t	        |«      t
        k(  sJ ‚|S rš  )r  r+   rœ  r2   r5   r!   r@  s      rR   rÖ   zDataclassTransformSpec.read…  sN   € ä$Ü  “Ü# D›/Ü% d›OÜ$ T›?Ü"¤=°Ó#6Ó7ô
ˆô ˜‹~¤Ò(Ð(Ð(Øˆ
rQ   )r“  r  r”  r  r•  r  r—  ztuple[str, ...] | Noner–  r  rd   re   r×   )rË   rm   rd   r  rØ   )rË   r(   rd   r  )rL   rM   rN   ri   rj   r]   rÄ   rÚ   rÎ   rÓ   rÖ   rP   rQ   rR   r  r  K  s›   „ ñ<ð€Ið #'Ø%)Ø'+Ø37ð '+ñYð  ðYð #ð	Yð
 %ðYð 1ðYð $ðYð 
óYó$
ð ò
ó ð
ó!ð ò	ó ñ	rQ   r  c                  ó2   — e Zd ZU dZdZded<   ded<   d	d„Zy)
ÚTypedDictFieldSourcez‹Source of a TypedDict field definition, used for forming error messages.

    May be defined directly on the type, or on a base class.
    ©r~  ÚctxrÎ  r~  rT   r¢  c                ó    — || _         || _        y r[   r¡  )r\   r~  r¢  s      rR   r]   zTypedDictFieldSource.__init__�  s   € ØˆŒ	Øˆ�rQ   N)r~  rÎ  r¢  rT   rd   re   ©rL   rM   rN   ri   rj   rƒ   r]   rP   rQ   rR   r   r   ’  s   … ñð
  €Ià
ÓØ	ƒLôrQ   r   c                  óL   — e Zd ZU dZdZded<   ded<   ded<   	 	 	 	 	 	 	 	 dd	„Zy
)ÚTypedDictDatazJStores information needed for delayed validation of TypedDict inheritance.©Úreadyrª  Úfield_sourcesr÷   r¨  ú1list[tuple[TypeInfo, dict[str, mypy.types.Type]]]rª  údict[str, TypedDictFieldSource]r©  c                ó.   — || _         || _        || _        y r[   r§  )r\   r¨  rª  r©  s       rR   r]   zTypedDictData.__init__­  s   € ð ˆŒ
ØˆŒ
Ø*ˆÕrQ   N)r¨  r÷   rª  rª  r©  r«  rd   re   r¤  rP   rQ   rR   r¦  r¦  ¢  sI   … ÙTà3€Ið ƒKà<Ó<Ø2Ó2ð+àð+ð Að+ð 7ð	+ð
 
ô+rQ   r¦  c                  ó*   — e Zd ZU ded<   edd„«       Zy)ÚSplittingVisitorr÷   Úrecurse_into_functionsc              #  ób   K  — | j                   }d| _         	 d–— || _         y# || _         w xY w­w)z�Temporarily set recurse_into_functions to True.

        This is used to process top-level functions/methods as a whole.
        TN)r¯  )r\   Úold_recurse_into_functionss     rR   Úset_recurse_into_functionsz+SplittingVisitor.set_recurse_into_functions¾  s6   è ø€ ð &*×%@Ñ%@Ð"Ø&*ˆÔ#ð	EÛà*DˆDÕ'øÐ*DˆDÕ'üs   ‚/—# ›/£	,¬/N)rd   zIterator[None])rL   rM   rN   rƒ   r	   r²  rP   rQ   rR   r®  r®  ¸  s   … ð !Ó àò
Eó ñ
ErQ   r®  c                óF   — |D �cg c]  }t        | |«      sŒ|‘Œ c}S c c}w r[   )Úgetattr)rC  r  r¿   s      rR   r—  r—  Ì  s   € Ø"Ö:�T¤g¨d°DÕ&9ŠDÒ:Ð:ùÒ:s   …—c                ó,   — |D ]  }t        | |d«       Œ y r;  )Úsetattr)rC  r–  r¿   s      rR   rœ  rœ  Ð  s   € Øò "ˆÜ��d˜DÕ!ñ"rQ   c                óî   — d}t        | j                  t        «      r| j                  j                  }n/t        | j                  t        «      rt        | j                  «      }|€y|› d| j                  › �S )zÄReturn the qualified name representation of a member expression.

    Return a string of form foo.bar, foo.bar.baz, or similar, or None if the
    argument cannot be represented in this form.
    Nr  )r_   rŒ  r
  r¿   rS  Úget_member_expr_fullname)rŒ  Úinitials     rR   r¸  r¸  Õ  s]   € ð €GÜ�$—)‘)œXÔ&Ø—)‘)—.‘.‰Ü	�D—I‘IœzÔ	*Ü*¨4¯9©9Ó5ˆØ€ØØˆY�a˜Ÿ	™	�{Ð#Ð#rQ   rÇ   c                ó`  — d}d}d}d}t        | |«      D ]—  \  }}|t        k(  r|s|s|s|sŒ |d|«        y |t        k(  r|s|s|r |d|«        y d}Œ@|t        k(  r|s|s|r |d|«        y d}Œ]|t        k(  s	|t
        k(  rd}|sŒt |d|«        y |t        k(  sŒ‰|r |d|«        y d}Œ™ y )NFzHRequired positional args may not appear after default, named or var argsz>Positional default args may not appear after named or var argsTz/Var args may not appear after named or var argsz-A **kwargs argument must be the last argumentz'You may only have one **kwargs argument)r'  rÜ  rÝ  r\  ra  rb  rc  )	rÔ  ÚnodesÚfailÚ
is_var_argÚ	is_kw_argÚ
seen_namedÚseen_optr¶  rC  s	            rR   Úcheck_arg_kindsrÁ  ï  sÜ   € ð €JØ€IØ€JØ€HÜ˜) UÓ+ò ‰
ˆˆdØ”7Š?Ù™Y©*ºÙØ^Øôñ Ø”WŠ_Ù™Y©*ÙÐUÐW[Ô\ÙØ‰HØ”XÒÙ™Y©*ÙÐFÈÔMÙØ‰JØ”YÒ $¬-Ò"7ØˆJÚÙÐDÀdÔKÙØ”YÓÙÙÐ>ÀÔEÙØ‰Iñ7rQ   c                ó�   — t        «       }t        | |«      D ]-  \  }}|�||v r |d|› d|› �|«        y |j                  |«       Œ/ y )NzDuplicate parameter "z" in )r  r'  rÌ  )r  r»  r¼  r  Ú
seen_namesr¿   rC  s          rR   Úcheck_param_namesrÄ    sY   € ô #&£%€JÜ˜% Ó'ò ‰
ˆˆdØÐ ¨
Ñ 2ÙÐ(¨¨¨e°K°=ÐAÀ4ÔHÙØ�‰�tÕñ	rQ   c                ód   — t        | j                  t        «      r| j                  j                  S y)z.Return whether the expression is ClassVar[...]F)r_   rC  r»  r,  r‹  s    rR   Úis_class_varrÆ  "  s#   € ä�$—)‘)œSÔ!Ø�y‰y×$Ñ$Ð$ØrQ   c                ó^   — t        | t        t        t        t        f«      xr | j
                  S )z6Check whether `node` corresponds to a final attribute.)r_   r»  rt  rx  ru  rd  r\  s    rR   Úis_final_noderÈ  )  s"   € ä�dœS¤'Ô+<¼iÐHÓIÒ[ÈdÏmÉmÐ[rQ   c                óV   — | j                   }t        |t        «      r|j                  }|S r[   )Ú
definitionr_   ru  r‰  )rŸ  rÊ  s     rR   Úget_func_defrË  .  s$   € Ø—‘€JÜ�*œiÔ(Ø—_‘_ˆ
ØÐrQ   c              #  ó|  K  — | j                  «       D �]"  \  }}|}d|v r|j                  d«      d   }|dz   |z   }|j                  }|sŒ8|j                  |k(  sŒHd}	|r{t	        |t
        t        t        f«      sd}	n]t	        |t        «      r|j                  n|}
|
j                   }	|j                  r&|r$||j                  j                  j                  vrd}	t	        |t
        t        t        f«      rd|v rd}	|	r|||f–— t	        |t        «      s�Œt        |j                   |||«      E d{  –—†  �Œ% y7 Œ­w)zÒIterate over local definitions (not imported) in a symbol table.

    Recursively iterate over class members and nested classes. If impl_only is True, do
    not yield the classes themselves, only methods.
    z-redefr   r  TFú@N)rü   r!  rC  rÂ   r_   rt  rx  ru  r‰  rl  rf  r–  rì   rØ  rÜ   r  r  )r  Úname_prefixri  r  r¿   ÚsymnodeÚ	shortnamerÂ   rC  Ú
yield_noderz  s              rR   r  r  5  s'  è ø€ ð Ÿ™›ó T‰ˆˆgØˆ	Ø�tÑàŸ
™
 8Ó,¨QÑ/ˆIØ Ñ$ yÑ0ˆØ�|‰|ˆÚ�D—M‘M XÓ-ØˆJÙÜ! $¬Ô2CÄYÐ(OÔPØ!&‘Jä(2°4¼Ô(C˜4Ÿ9š9È�DØ%)×%;Ñ%;Ð!;�Jð ×/Ò/±D¸TÈÏÉÏÉ×I\ÑI\Ñ=\Ø%*˜
Ü˜$¤Ô*;¼YÐ GÔHÈSÐT\É_Ø"�
ÙØ ¨Ð-Ò-Ü˜$¤Ö)Ü,¨T¯Z©Z¸À4ÈÓS×SÒSñ7Tð6 Tús%   ‚AD<ÁD<ÁB9D<ÄD<Ä1D:Ä2	D<c                óV  — t        | t        t        f«      r|| _        yt        | t        «      r#|| j
                  _        || j                  _        yt        | t        «      rH|| _        | j                  D ]  }t        ||«       Œ | j                  rt        | j                  |«       yyy)z<Add `info` attribute to all relevant components of the node.N)r_   rt  r»  ri  ru  rŽ  r‰  rx  rü   rq  rz  )rC  ri  r‹  s      rR   rq  rq  \  s…   € ä�$œ¤#˜Ô'Øˆ�	Ü	�Dœ)Ô	$Øˆ�‰ŒØˆ�	‰	�Ü	�DÔ+Ô	,ØˆŒ	Ø—J‘Jò 	!ˆDÜ�T˜4Õ ð	!à�9Š9Ü�T—Y‘Y Õ%ð ð	 
-rQ   c                ó   — | › d|› �S )zQMangled name to use when storing function-scoped symbols in global symbol tables.rÍ  rP   )r¿   rV   s     rR   Úfunc_scoped_namerÔ  k  s   € àˆV�1�T�FÐÐrQ   c                ó   — | › d|dz   › �S )zISynthetic name to use when storing inlined base classes in symbol tables.z@basero   rP   )r¿   r´  s     rR   Úinline_baserÖ  p  s   € àˆV�5˜ ™˜Ð$Ð$rQ   é2   z
Final[Tag]r9  é3   r¡  é4   r	  é5   r   é6   r"  é7   r<  é8   rI  é9   rV  é:   r#  é;   rT  é<   rn  é=   r�  é    Ú	EXPR_STMTé¡   Ú	CALL_EXPRé¢   Ú	NAME_EXPRé£   ÚSTR_EXPRé¤   ÚIMPORTé¥   ÚMEMBER_EXPRé¦   ÚOP_EXPRé§   ÚINT_EXPRé¨   ÚIF_STMTé©   ÚASSIGNMENT_STMTéª   Ú
TUPLE_EXPRé«   ÚBLOCKé¬   Ú
INDEX_EXPRé­   Ú	LIST_EXPRé®   ÚSET_EXPRé¯   ÚRETURN_STMTé°   Ú
WHILE_STMTé±   ÚCOMPARISON_EXPRé²   ÚBOOL_OP_EXPRé³   ÚFUNC_DEF_STMTé´   Ú	PASS_STMTéµ   Ú
FLOAT_EXPRé¶   Ú
UNARY_EXPRé·   Ú	DICT_EXPRé¸   ÚCOMPLEX_EXPRé¹   Ú
SLICE_EXPRéº   Ú	TEMP_NODEé»   Ú
RAISE_STMTé¼   Ú
BREAK_STMTé½   ÚCONTINUE_STMTé¾   ÚGENERATOR_EXPRé¿   Ú
YIELD_EXPRéÀ   ÚYIELD_FROM_EXPRéÁ   ÚLIST_COMPREHENSIONéÂ   ÚSET_COMPREHENSIONéÃ   ÚDICT_COMPREHENSIONéÄ   ÚIMPORT_FROMéÅ   ÚASSERT_STMTéÆ   ÚFOR_STMTéÇ   Ú	WITH_STMTéÈ   ÚOPERATOR_ASSIGNMENT_STMTéÉ   ÚTRY_STMTéÊ   ÚELLIPSIS_EXPRéË   ÚCONDITIONAL_EXPRéÌ   ÚDEL_STMTéÍ   ÚFSTRING_EXPRéÎ   ÚFSTRING_INTERPOLATIONéÏ   ÚLAMBDA_EXPRéÐ   ÚASSIGNMENT_EXPRéÑ   Ú	STAR_EXPRéÒ   Ú
BYTES_EXPRéÓ   ÚGLOBAL_DECLéÔ   ÚNONLOCAL_DECLéÕ   Ú
AWAIT_EXPRéÖ   ÚBIG_INT_EXPRé×   Ú
IMPORT_ALLéØ   Ú
MATCH_STMTéÙ   Ú
AS_PATTERNéÚ   Ú
OR_PATTERNéÛ   ÚVALUE_PATTERNéÜ   ÚSINGLETON_PATTERNéÝ   ÚSEQUENCE_PATTERNéÞ   ÚSTARRED_PATTERNéß   ÚMAPPING_PATTERNéà   ÚCLASS_PATTERNéá   ÚTYPE_ALIAS_STMTéâ   ÚIMPORT_METADATAéã   ÚIMPORTFROM_METADATAéä   ÚIMPORTALL_METADATAéå   ÚTSTRING_EXPRc                óö  — |t         k(  rt        j                  | «      S |t        k(  rt        j                  | «      S |t
        k(  rt        j                  | «      S |t        k(  rt        j                  | «      S |t        k(  rt        j                  | «      S |t        k(  rt        j                  | «      S |t        k(  rt        j                  | «      S |t        k(  rt         j                  | «      S J d|› �«       ‚)NzUnknown symbol tag )r"  r»  rÖ   r	  rt  r   ru  r¡  rx  r<  r4  rT  r   rI  rB  rV  rL  ©rË   rç   s     rR   rp  rp  Ì  sÓ   € à
Œc‚zÜ�x‰x˜‹~ÐØ
Œh‚Ü�|‰|˜DÓ!Ð!Ø
ŒiÒÜ�~‰~˜dÓ#Ð#Ø
Ô!Ò!Ü ×%Ñ% dÓ+Ð+Ø
ŒmÒÜ×Ñ Ó%Ð%Ø
ŒjÒÜ�~‰~˜dÓ#Ð#Ø
ŒoÒÜ×!Ñ! $Ó'Ð'Ø
Ô!Ò!Ü×$Ñ$ TÓ*Ð*Ø-Ð'¨ uÐ-Ó-ˆ5rQ   c                ó¨   — |€t        | «      }|t        k(  rt        j                  | «      S |t        k(  rt
        j                  | «      S J d|› �«       ‚)Nz Invalid tag for an OverloadPart )r5   r   ru  rÖ   r	  rt  rp  s     rR   r§  r§  á  sO   € Ø
€{Ü�t‹nˆØ
ŒiÒÜ�~‰~˜dÓ#Ð#Ø
Œh‚Ü�|‰|˜DÓ!Ð!Ø:Ð4°S°EÐ:Ó:ˆ5rQ   )rË   r*   rä   rß   rd   re   )rË   r(   rd   rß   )r$  r  rd   zTypeGuard[list[StrExpr]])rC  r—   r  rw  rd   rw  )rC  r—   r–  rw  rd   re   )rŒ  rS  rd   r  )rÔ  rq  r»  úlist[T]r¼  úCallable[[str, T], None]rd   re   )zfunction definition)
r  zSequence[str | None]r»  rr  r¼  rs  r  r®   rd   re   )rŒ  r
  rd   r÷   )rC  rƒ  rd   r÷   )rŸ  zmypy.types.CallableTyperd   rƒ  rH  )
r  r  rÎ  r®   ri  rÎ  r  r÷   rd   r<  )rC  r½   ri  rÜ   rd   re   )r¿   r®   rV   r`   rd   r®   )r¿   r®   r´  r`   rd   r®   )rË   r(   rç   r)   rd   r½   r[   )rË   r(   rç   z
Tag | Nonerd   rv  (k  ri   Ú
__future__r   r)  Úabcr   Úcollectionsr   Úcollections.abcr   r   r   Ú
contextlibr	   Úenumr
   r   Útypingr   r   r   r   r   rl   r   r   r   r   r   Útyping_extensionsr   Úlibrt.internalr   r   rQ  r   r  r   r*  r   rú   r   rŽ  Úmypy_extensionsr   Úmypy.strconvr�   Ú
mypy.cacher   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   Úmypy.modules_staterA   Úmypy.optionsrB   Ú	mypy.utilrC   rD   rE   Úmypy.visitorrF   rG   rH   Úmypy.patternsrI   rK   rT   Ú
mypy.typesrk   ra  r®   rm   rƒ   rn   rp   rr   rt   ru   rv   rw   rx   ry   r~   rü   r   r…   r�   r‘   r’   r“   r”   r•   r—   r±   r¶   rº   r»   r½   rœ  rÝ   rß   rå   rè   rê   r  rB  rL  rT  r\  re  rg  rv  rx  r²  r¿  rÀ  rÁ  rÃ  rÏ  rÑ  rí  rî  rï  rð  rt  r  ru  r9  r»  rU  ru  r€  rÞ  rŠ  r–  r£  r«  r³  r¾  rÄ  rÊ  rÏ  rÔ  rØ  rÜ  rä  rê  rõ  rý  r  r  r  r%  r'  r,  r2  r8  r<  rB  r
  rS  r¾  rÜ  rÝ  r\  ra  rc  rb  r  rk  rs  rx  r}  r„  r‰  rŽ  ÚMaybeTypeExpressionr˜  r£  r«  r¶  r¾  rÄ  rÌ  r  rÙ  rá  rç  rî  ró  rø  r  r  r  r  r!  r%  r&  r'  r(  r*  r2  r4  rB  rL  r[  ra  rh  rm  rr  rx  r~  rƒ  Ú	frozensetr�  r“  rÜ   rÜ  r?  r`  rn  r6  rW  rÛ   r  r  r   r¦  r®  r—  rœ  r¸  Úglobalsr©   r_   Ú
issubclassrÎ   rÇ   rÁ  rÄ  rÆ  rÈ  rË  r  rq  rÔ  rÖ  r9  r¡  r	  r   r"  r<  rI  rV  r#  rT  rn  r�  rä  ræ  rè  rê  rì  rî  rð  rò  rô  rö  rø  rú  rü  rþ  r   r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r   r"  r$  r&  r(  r*  r,  r.  r0  r2  r4  r6  r8  r:  r<  r>  r@  rB  rD  rF  rH  rJ  rL  rN  rP  rR  rT  rV  rX  rZ  r\  r^  r`  rb  rd  rf  rh  rj  rl  rn  rp  r§  )rò  Ú_kindr  Úobjs   0000rR   ú<module>rŒ     s4  ðÚ :å "ã 	Ý Ý #ß 8Ñ 8Ý %ß ÷÷ ÷ õ *÷÷ õ "ã ÷(÷ (÷ (÷ (÷ (÷ (÷ (÷ (÷ (÷ (ñ (õR -Ý  ß =Ñ =ß IÑ IáÝ-ð ô�ó ó ð÷%)ñ %)ñP ãñ ˆCƒL€à˜C ˜H‘~€ˆ*Ó %ð €€eƒØ€€eƒØ€€eƒð Ð �%Ó ð €ˆUÓ Ø€ˆuÓ ð €ˆUÓ Ø€ˆeÓ Ø€
ˆEÓ à˜6 4¨°°vÐ?OÐQbÐc€
ˆEÓ cØ>H×>NÑ>NÓ>P×Q©l¨e°U˜U E™\ÓQÐ �EÓ Qð #ØØØ"Ø%ØØñ Ð �uó ð #Ø"Ø Ø,Ø-Ø+Ø3Ø'Ø3à*ñ€ˆeó ð  (>¸wÐ&GÐ ˜eÓ Gð
 &?à'5ñ	$Ð ˜5ó ð #Ø"Ø Ø,ñ	"Ð ˜ó ð!Ð ˜ó ð  €ˆUÓ ô:ˆ7ô :ð" ô:�ó :ó ð:ð ô:�ó :ó ð:ô�Zô ð  €ˆ
Ó ð ô!Q�ó !Qó ð!QðJ ˜sÐ$5°xÀ
Ñ7KÐKÑL€
ˆJÓ Lô�ô ô)ô÷V
ñ V
ôrnˆzô nôb"�ô "ô2*ˆZô *ô"/�ô /ô*.�
ô .ò& M€�Ó LôL<ˆtô L<ð^ !Ð!7Ñ8€ˆjÓ 8ô]=˜ *¨iô ]=ô@"Wˆtô "WðL €ˆuÓ Ø€�Ó ØÐ �UÓ ÷ñ ð$ 'ò *ñ €�ó ô;
ˆxô ;
ð| &ò )ñ €ˆuó ð €ˆeÓ à€ˆUÓ àÐ �UÓ ôMˆh˜
 Iô Mðh !2°7Ð;Ð �uÓ ;ôS&�
˜Iô S&òl€	ˆ5ó ô4fˆ*ô fôRyˆyô yôx/�ô /ô"1�9ô 1ô")ˆIô )ô,3�Yô 3ô"@3�Yô @3ôF<˜Yô <ô*.�	ô .ô&3,ˆiô 3,ôl/�ô /ô/�ô /ô",ˆiô ,ô.�	ô .ô1�9ô 1ô-ˆyô -ô+ˆYô +ô4.�	ô .ô$",ˆiô ",ôJ-ˆyô -ôB.�	ô .ô<3�Iô 3ô4,ˆjô ,ô.,ˆjô ,ô6:ô.�
ô .ô4.�
ô .ô"0�*ô 0ô",�:ô ,ô-ˆzô -ô**ˆjô *ôZ6ˆwô 6ô./�ô /ð( ô5ˆdó 5ó ð5ð< —’€ˆÓ  Ø—’€ˆÓ  Ø×"Ò"€ˆ%Ó "Ø×$Ò$€	ˆ5Ó $Ø×$Ò$€	ˆ5Ó $Ø×,Ò,€ˆuÓ ,à˜W h°	¸9ÀmÐT€	ˆ5Ó Tô!-ˆzô !-ôH3�Jô 3ô.�
ô .ô.�
ô .ôD.�
ô .ô,3�Zô 3ô 1+ˆZô 1+ðp ! *¨h¸ÀÐHÐ ô3�Zô 3ô:.�
ô .ô:-ˆzô -ô&2�:ô 2ô"4�Zô 4ô&/�ô /ô8.�
ô .ô*�˜:ô ô0-ˆzô -ô"-ˆzô -ô"5�jô 5ô2.�
ô .ô&,ˆjô ,ô"2�Jô 2ô@6˜
ô 6ô"5�zô 5ö" <˜jô  <öF4�jô 4ö*4�jô 4ð8 €	ˆ5Ô Ø€	ˆ5Ô Ø€ˆuÔ ØÐ �EÔ ö:�j *ô :ð~ (7Ð&8Ð ˜eÔ 8öQ�/ô Qöh0�Oô 0öfH�ô HöV3�Jô 3ö"3�Zô 3ö*2�Jô 2ö$2�:ô 2ö.1�*ô 1ö0�*ô 0ö2.�
ô .ö(-ˆzô -ñF '0óó'Ð ˜eô ñ$ #,Ó,PÓ"QÐ ˜%Ô Qõxˆzô xövCˆxô CñB  (Ñ(=Ó>€‰_Ô >Ù$,Ñ-GÓ$HÐ ‘/Ô HÙ (Ñ)MÓ N€‰oÔ NÙ"Ñ#OÓPÐ �%Ô PöI�
ô IöXG4�jô G4÷TSò SölL
�$�s˜OÐ+Ñ,õ L
÷^Dô D÷Nô ÷ +ô +ð, ÷Eò Eó ñEö&;ö"ö
$ò$ “I—O‘OÓ%÷áˆˆSÚˆCƒy˜Ñ Ú�3™ÔÚ�3˜
Ô#Ø�:Ñð ˆ�ŠÑó��ô ð"Øð"Ø%,ð"Ø4Lð"à	ö"ðR -ñ	Øðàðð #ðð ð	ð
 
ööö\ö
ð [`ñ$TØð$TØ%(ð$TØ0?ð$TØSWð$Tàö$TöN&öö
%ñ �	‰:Ô Ù"$Ñ ‘ZÔ $Ù�‰*Ô Ù�	‰:Ô Ù��ZÔ Ù�‰zÔ Ù �‘Ô  Ù"$Ñ ‘ZÔ $Ù�	‰:Ô Ù�
‰JÔ Ù�	‰:Ô Ù "Ñ ‘:Ô "ñ �	‰:Ô Ù�	‰:Ô Ù�	‰:Ô Ù�‰*Ô Ù�‰
Ô Ù�‰ZÔ Ù�‰Ô Ù�‰*Ô Ù�‰Ô Ù!�‘Ô !Ù�
‰JÔ Ù��zÔ Ù�
‰JÔ Ù�	‰:Ô Ù�‰*Ô Ù�‰ZÔ Ù�
‰JÔ Ù!�‘Ô !Ù�‰jÔ Ù�‰zÔ Ù�	‰:Ô Ù�
‰JÔ Ù�
‰JÔ Ù�	‰:Ô Ù�‰jÔ Ù�
‰JÔ Ù�	‰:Ô Ù�
‰JÔ Ù�
‰JÔ Ù�‰zÔ Ù �‘
Ô  Ù�
‰JÔ Ù!�‘Ô !Ù!$Ñ ‘JÔ $Ù #Ñ ‘:Ô #Ù!$Ñ ‘JÔ $Ù�‰ZÔ Ù�‰ZÔ Ù�‰*Ô Ù�	‰:Ô Ù'*Ñ ™*Ô *Ù�‰*Ô Ù�‰zÔ Ù"Ñ ‘*Ô "Ù�‰*Ô Ù�‰jÔ Ù$'Ñ ‘zÔ 'Ù�‰ZÔ Ù!�‘Ô !Ù�	‰:Ô Ù�
‰JÔ Ù�‰ZÔ Ù�‰zÔ Ù�
‰JÔ Ù�‰jÔ Ù�
‰JÔ Ù�
‰JÔ Ù�
‰JÔ Ù�
‰JÔ Ù�‰zÔ Ù #Ñ ‘:Ô #Ù"Ñ ‘*Ô "Ù!�‘Ô !Ù!�‘Ô !Ù�‰zÔ Ù!�‘Ô !Ù!�‘Ô !Ù"%Ñ ‘ZÔ %Ù!$Ñ ‘JÔ $Ù�‰jÔ ö.÷*;ñ ;ùóqi Rùóxas   Å9q>á<r