Ë
    pPêjqe  ã                  ó°   — d Z ddlmZ ddlZddlZddlmZ ddlmZm	Z	 ddl
ZddlmZ ddlmZmZ ddlmZ erddlZddlZ G d	„ d
ee   «      Zdd„Zdd„Zy)z*Conversion of parse tree nodes to strings.é    )ÚannotationsN)ÚSequence)ÚTYPE_CHECKINGÚAny)ÚOptions)ÚIdMapperÚ
short_type)ÚNodeVisitorc                  ó(  — e Zd ZdZg d¢Zddœddd„Zded„Zdfd„Zdgd„Zdhd	„Z	did
„Z
djd„Zdkd„Zdld„Zdmd„Zdnd„Zdod„Zdpd„Zdqd„Zdrd„Zdsd„Zdtd„Zdud„Zdvd„Zdwd„Zdxd„Zdyd„Zdzd„Zd{d„Zd|d„Zd}d„Zd~d„Zdd „Z d€d!„Z!d�d"„Z"d‚d#„Z#dƒd$„Z$d„d%„Z%d…d&„Z&d†d'„Z'd‡d(„Z(dˆd)„Z)d‰d*„Z*dŠd+„Z+d‹d,„Z,dŒd-„Z-d�d.„Z.dŽd/„Z/d�d0„Z0d�d1„Z1d‘d2„Z2d’d3„Z3d“d4„Z4	 d”	 	 	 	 	 	 	 	 	 	 	 d•d6„Z5d–d7„Z6d—d8„Z7d˜d9„Z8d™d:„Z9dšd;„Z:d›d<„Z;dœd=„Z<d�d>„Z=džd?„Z>dŸd@„Z?d dA„Z@d¡dB„ZAd¢dC„ZBd£dD„ZCd¤dE„ZDd¥dF„ZEd¦dG„ZFd§dH„ZGd¨dI„ZHd©dJ„ZIdªdK„ZJd«dL„ZKd¬dM„ZLd­dN„ZMd®dO„ZNd¯dP„ZOd°dQ„ZPd±dR„ZQd²dS„ZRd³dT„ZSd´dU„ZTdµdV„ZUd¶dW„ZVd·dX„ZWd¸dY„ZXd¹dZ„ZYdºd[„ZZd»d\„Z[d¼d]„Z\d½d^„Z]d¾d_„Z^d¿d`„Z_dÀda„Z`dÁdb„ZadÂdc„Zby5)ÃÚStrConvzîVisitor for converting a node to a human-readable string.

    For example, an MypyFile node from program '1' is converted into
    something like this:

      MypyFile:1(
        fnam
        ExpressionStmt:1(
          IntExpr(1)))
    )ÚoptionsÚshow_idsÚ	id_mapperF)r   c               óR   — || _         || _        d | _        |rt        «       | _        y y ©N)r   r   r   r   )Úselfr   r   s      úQ/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/strconv.pyÚ__init__zStrConv.__init__"   s(   € ØˆŒØ ˆŒØ*.ˆŒÙÜ%›ZˆD�Nð ó    c                óŠ   — dd l }|j                  |j                  j                  | j                  | j
                  ¬«      «      S )Nr   )r   r   )Ú
mypy.typesÚacceptÚtypesÚTypeStrVisitorr   r   )r   ÚtÚmypys      r   Ústringify_typezStrConv.stringify_type)   s3   € Ûà�x‰x˜Ÿ
™
×1Ñ1¸D¿N¹NÐTX×T`ÑT`Ð1ÓaÓbÐbr   c                óR   — | j                   r| j                   j                  |«      S y r   )r   Úid©r   Úos     r   Úget_idzStrConv.get_id.   s!   € Ø�>Š>Ø—>‘>×$Ñ$ QÓ'Ð'Ør   c                óF   — | j                   rd| j                  |«      › d�S y)Nú<ú>Ú )r   r"   r    s     r   Ú	format_idzStrConv.format_id3   s$   € Ø�>Š>Ø�t—{‘{ 1“~Ð& aÐ(Ð(àr   c                óÈ   — t        |«      dz   t        |j                  «      z   }| j                  r&| j                  €J ‚|d| j                  |«      › d�z  }t        ||| «      S )zåConvert a list of items to a multiline pretty-printed string.

        The tag is produced from the type name of obj and its line
        number. See mypy.util.dump_tagged for a description of the nodes
        argument.
        ú:r$   r%   )r	   ÚstrÚliner   r   r"   Údump_tagged)r   ÚnodesÚobjÚtags       r   ÚdumpzStrConv.dump9   sb   € ô ˜‹o Ñ#¤c¨#¯(©(£mÑ3ˆØ�=Š=Ø—>‘>Ð-Ð-Ð-Ø�Q�t—{‘{ 3Ó'Ð(¨Ð*Ñ*ˆCÜ˜5 # tÓ,Ð,r   c                ó¨  — g }g }|j                   D ]ú  }|j                  }|j                  «       r|j                  |j                  «       Œ;|j                  «       r8|j                  €J ‚|j                  d|j                  |j                  gf«       Œƒ|t        j                  j                  k(  r|j                  d|j                  gf«       Œ¿|t        j                  j                  k(  sŒÝ|j                  d|j                  gf«       Œü g }|j                  r1|j                  D ]"  }|j                  | j                  |«      «       Œ$ |r|j                  d|f«       |j                  r|j                  |j                  «       |j                  r|j                  d«       |j                  |«       |j                  |j                   «       |S )zþReturn a list in a format suitable for dump() that represents the
        arguments and the body of a function. The caller can then decorate the
        array with information specific to methods, global functions or
        anonymous functions.
        ÚdefaultÚVarArgÚ
DictVarArgÚArgsÚ	Generator)Ú	argumentsÚkindÚis_requiredÚappendÚvariableÚis_optionalÚinitializerr   r-   ÚARG_STARÚ	ARG_STAR2Ú	type_argsÚ
type_paramÚtypeÚis_generatorÚextendÚbody)r   r!   ÚargsÚextraÚargr8   ÚaÚps           r   Úfunc_helperzStrConv.func_helperF   sg  € ð JLˆØ8:ˆØ—;‘;ò 
	=ˆCØ'*§x¡xˆDØ×ÑÔ!Ø—‘˜CŸL™LÕ)Ø×!Ñ!Ô#Ø—‘Ð2Ð2Ð2Ø—‘˜Y¨¯©°s·±Ð(GÐHÕIØœŸ™×,Ñ,Ò,Ø—‘˜h¨¯©¨Ð7Õ8ØœŸ™×-Ñ-Ó-Ø—‘˜l¨S¯\©\¨NÐ;Õ<ð
	=ð ˆØ�;Š;Ø—[‘[ò -�Ø—‘˜Ÿ™¨Ó+Õ,ð-áØ�H‰H�f˜d�^Ô$Ø�6Š6Ø�H‰H�Q—V‘VÔØ�>Š>Ø�H‰H�[Ô!Ø	�‰�ŒØ	�‰�—‘ÔØˆr   c           	     ó  — |j                   g}|j                  r|j                  dd«       |j                  dk7  rm|j                  d|j                  j	                  t        j                  «       t
        j                  z   d«      j	                  t
        j                  d«      «       |j                  r=|j                  ddj                  d„ t        |j                  «      D «       «      z  «       | j                  ||«      S )	Nr   ÚBOMÚmainr&   ú/zIgnoredLines(%s)ú, c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr   )r*   )Ú.0r+   s     r   ú	<genexpr>z*StrConv.visit_mypy_file.<locals>.<genexpr>v   s   è ø€ Ò3bÀ$´C¸·IÑ3bùs   ‚)ÚdefsÚis_bomÚinsertÚpathÚreplaceÚosÚgetcwdÚsepÚignored_linesr:   ÚjoinÚsortedr0   ©r   r!   rI   s      r   Úvisit_mypy_filezStrConv.visit_mypy_filei   s´   € àŸ™�xˆØ�8Š8Ø�H‰H�Q˜Ôð �6‰6�VÒð �H‰H�Q˜Ÿ™Ÿ™¤r§y¡y£{´R·V±VÑ';¸RÓ@×HÑHÌÏÉÐQTÓUÔVØ�?Š?Ø�H‰HÐ'¨$¯)©)Ñ3bÌ&ÐQR×Q`ÑQ`ÓJaÔ3bÓ*bÑbÔcØ�y‰y˜˜A‹Ðr   c                óÆ   — g }|j                   D ]/  \  }}|�|j                  |› d|› �«       Œ|j                  |«       Œ1 d|j                  › ddj                  |«      › d�S )Nú : zImport:ú(rP   ú))Úidsr:   r+   r]   )r   r!   rI   r   Úas_ids        r   Úvisit_importzStrConv.visit_importy   si   € ØˆØŸ™ò 	‰IˆB�ØÐ Ø—‘˜B˜4˜s 5 'Ð*Õ+à—‘˜•ð		ð
 ˜Ÿ™˜  $§)¡)¨A£, ¨qÐ1Ð1r   c                ó   — g }|j                   D ]/  \  }}|�|j                  |› d|› �«       Œ|j                  |«       Œ1 d|j                  › dd|j                  z  |j                  z   › ddj                  |«      › d�S )Nrb   zImportFrom:rc   ú.z, [rP   ú]))Únamesr:   r+   Úrelativer   r]   )r   r!   rI   ÚnameÚas_names        r   Úvisit_import_fromzStrConv.visit_import_from‚   s‚   € ØˆØŸW™Wò 	‰MˆD�'ØÐ"Ø—‘˜D˜6  W IÐ.Õ/à—‘˜•ð		ð
 ˜QŸV™V˜H A c¨A¯J©JÑ&6¸¿¹Ñ&=Ð%>¸cÀ$Ç)Á)ÈAÃ,ÀÈrÐRÐRr   c                ó\   — d|j                   › dd|j                  z  |j                  z   › d�S )Nz
ImportAll:rc   ri   rd   )r+   rl   r   r    s     r   Úvisit_import_allzStrConv.visit_import_all‹   s.   € Ø˜AŸF™F˜8 1 S¨1¯:©:Ñ%5¸¿¹Ñ%<Ð$=¸QÐ?Ð?r   c                ó*  — | j                  |«      }|j                  d|j                  «       |j                  D �ch c]  }|j                  ’Œ }}t        |t        j                  j                  t        j                  j                  hz  «      dkD  r |j                  dd|j                  › d�«       |j                  r|j                  dd«       |j                  t        j                  j                  t        j                  j                  fv r|j                  dd«       |j                  r|j                  dd«       |j                   r|j                  dd	«       |j"                  r|j                  dd
«       | j%                  ||«      S c c}w )Nr   é   zMaxPos(rd   ÚAsyncéÿÿÿÿÚAbstractÚStaticÚClassÚProperty)rK   rV   rm   r7   r8   Úlenr   r-   Ú	ARG_NAMEDÚARG_NAMED_OPTÚmax_posÚis_coroutineÚabstract_statusÚIS_ABSTRACTÚIMPLICITLY_ABSTRACTÚ	is_staticÚis_classÚis_propertyr0   )r   r!   rI   rH   Ú	arg_kindss        r   Úvisit_func_defzStrConv.visit_func_def�   s#  € Ø×Ñ˜QÓˆØ	�‰��A—F‘FÔØ)*¯©Ö5 #�S—X“XÐ5ˆ	Ð5ÜˆyœDŸJ™J×0Ñ0´$·*±*×2JÑ2JÐKÑKÓLÈqÒPØ�H‰H�Q˜' !§)¡) ¨AÐ.Ô/Ø�>Š>Ø�H‰H�Q˜Ô Ø×Ñ¤§¡×!7Ñ!7¼¿¹×9WÑ9WÐ XÑXØ�H‰H�R˜Ô$Ø�;Š;Ø�H‰H�R˜Ô"Ø�:Š:Ø�H‰H�R˜Ô!Ø�=Š=Ø�H‰H�R˜Ô$Ø�y‰y˜˜A‹Ðùò 6s   ¼Fc                ór  — |j                   j                  «       }|j                  r|j                  d|j                  «       |j                  r|j                  d|j                  «       |j
                  r|j                  dd«       |j                  r|j                  dd«       | j                  ||«      S )Nr   ru   rw   rx   )ÚitemsÚcopyrB   rV   Úimplr‚   rƒ   r0   r_   s      r   Úvisit_overloaded_func_defz!StrConv.visit_overloaded_func_def¢   s}   € Ø—‘—‘“ˆØ�6Š6Ø�H‰H�Q˜Ÿ™ÔØ�6Š6Ø�H‰H�Q˜Ÿ™ÔØ�;Š;Ø�H‰H�R˜Ô"Ø�:Š:Ø�H‰H�R˜Ô!Ø�y‰y˜˜A‹Ðr   c           	     óZ  ‡ — |j                   |j                  j                  g}|j                  r»|j                  r‘|j                  j
                  r{t        |j                  j
                  «      dk7  s0|j                  j
                  d   j                  j                  dk7  rG|j                  dd|j                  j
                  f«       n|j                  dd|j                  f«       |j                  r|j                  dd|j                  f«       |j                  r/|j                  dd|j                  j                  ‰ «      › d�«       |j                  re|j                  j                  «       D ��cg c]  \  }}|› d	|j                  ‰ «      › �‘Œ }}}|j                  dd
dj                  |«      › d�«       |j                   r|j                  dd|j                   f«       |j                  rX|j                  j"                  rB|j                  dddj                  ˆ fd„|j                  j"                  D «       «      › d�«       |j                  r?|j                  j$                  r)|j                  dd|j                  j$                  gf«       |j                  r(|j                  j&                  r|j                  dd«       |j(                  r;t+        |j(                  «      D ]#  }|j                  d‰ j-                  |«      «       Œ% ‰ j/                  ||«      S c c}}w )Nrs   r   úbuiltins.objectÚBaseTypeÚBaseTypeExprÚTypeVarsz
Metaclass(rd   ú=z	Keywords(rP   Ú
Decoratorsz	Promote([ú,c              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr   )r   )rR   rJ   r   s     €r   rS   z*StrConv.visit_class_def.<locals>.<genexpr>Â   s   øè ø€ Ò,]È¨T×-@Ñ-@À×-CÑ,]ùs   ƒrj   Ú	TupleTypeÚFallbackToAny)rm   rT   rE   Úbase_type_exprsÚinfoÚbasesrz   rB   ÚfullnamerV   Ú	type_varsÚ	metaclassr   Úkeywordsrˆ   r]   Ú
decoratorsÚ_promoteÚ
tuple_typeÚfallback_to_anyr@   ÚreversedrA   r0   )r   r!   rI   ÚkÚvÚkeyword_itemsrJ   s   `      r   Úvisit_class_defzStrConv.visit_class_def®   sI  ø€ Ø�V‰V�Q—V‘V—[‘[Ð!ˆð ×ÒØ�vŠv˜!Ÿ&™&Ÿ,š,Ü�q—v‘v—|‘|Ó$¨Ò)¨Q¯V©V¯\©\¸!©_×-AÑ-A×-JÑ-JÐN_Ò-_Ø—H‘H˜Q ¨Q¯V©V¯\©\Ð :Õ;à—‘˜˜^¨Q×->Ñ->Ð?Ô@Ø�;Š;Ø�H‰H�Q˜ Q§[¡[Ð1Ô2Ø�;Š;Ø�H‰H�Q˜* Q§[¡[×%7Ñ%7¸Ó%=Ð$>¸aÐ@ÔAØ�:Š:ØABÇÁ×AQÑAQÓAS×T¹¸¸A ˜s ! A§H¡H¨T£NÐ#3Ò4ÐTˆMÑTØ�H‰H�Q˜) D§I¡I¨mÓ$<Ð#=¸QÐ?Ô@Ø�<Š<Ø�H‰H�Q˜ q§|¡|Ð4Ô5Ø�6Š6�a—f‘f—o’oØ�H‰H�Q˜) C§H¡HÓ,]ÈQÏVÉVÏ_É_Ô,]Ó$]Ð#^Ð^`ÐaÔbØ�6Š6�a—f‘f×'Ò'Ø�H‰H�Q˜ q§v¡v×'8Ñ'8Ð&9Ð:Ô;Ø�6Š6�a—f‘f×,Ò,Ø�H‰H�Q˜Ô(Ø�;Š;Ü˜aŸk™kÓ*ò 0�Ø—‘˜˜DŸO™O¨AÓ.Õ/ð0à�y‰y˜˜A‹Ðùó Us   Å9 L'c                óX   — d}|j                   dk  rd}d|z   dz   |j                  z   dz   S )Nr&   r   z:nilÚVarrc   rd   )r+   rm   )r   r!   Úlsts      r   Ú	visit_varzStrConv.visit_varÌ   s6   € Øˆð �6‰6�AŠ:ØˆCØ�s‰{˜SÑ  1§6¡6Ñ)¨CÑ/Ð/r   c                ó<   — | j                  |j                  g|«      S r   ©r0   rk   r    s     r   Úvisit_global_declzStrConv.visit_global_declÔ   ó   € Ø�y‰y˜!Ÿ'™'˜ AÓ&Ð&r   c                ó<   — | j                  |j                  g|«      S r   r¬   r    s     r   Úvisit_nonlocal_declzStrConv.visit_nonlocal_decl×   r®   r   c                óh   — | j                  |j                  |j                  |j                  g|«      S r   )r0   Úvarrž   Úfuncr    s     r   Úvisit_decoratorzStrConv.visit_decoratorÚ   s&   € Ø�y‰y˜!Ÿ%™% §¡¨q¯v©vÐ6¸Ó:Ð:r   c               ó~   — | j                  |j                  |j                  |j                  |j                  g|«      S r   )r0   rm   ÚtargetÚalias_tvarsÚno_argsr    s     r   Úvisit_type_aliaszStrConv.visit_type_aliasÝ   s,   € Ø�y‰y˜!Ÿ&™& !§(¡(¨A¯M©M¸1¿9¹9ÐEÀqÓIÐIr   c               ó<   — | j                  |j                  g|«      S r   )r0   rš   r    s     r   Úvisit_placeholder_nodezStrConv.visit_placeholder_nodeà   s   € Ø�y‰y˜!Ÿ*™*˜ qÓ)Ð)r   c                ó:   — | j                  |j                  |«      S r   )r0   rE   r    s     r   Úvisit_blockzStrConv.visit_blockå   s   € Ø�y‰y˜Ÿ™ Ó#Ð#r   c                ó<   — | j                  |j                  g|«      S r   ©r0   Úexprr    s     r   Úvisit_expression_stmtzStrConv.visit_expression_stmtè   ó   € Ø�y‰y˜!Ÿ&™&˜ 1Ó%Ð%r   c                ó  — g }t        |j                  «      dkD  rd|j                  fg}n|j                  d   g}|j                  |j                  «       |j                  r|j                  |j                  «       | j                  ||«      S )Nrs   ÚLvaluesr   )rz   Úlvaluesr:   ÚrvaluerB   r0   r_   s      r   Úvisit_assignment_stmtzStrConv.visit_assignment_stmtë   sn   € ØˆÜˆq�y‰y‹>˜AÒØ˜QŸY™YÐ'Ð(‰Aà—‘˜1‘�ˆAØ	�‰�—‘ÔØ�6Š6Ø�H‰H�Q—V‘VÔØ�y‰y˜˜A‹Ðr   c                óh   — | j                  |j                  |j                  |j                  g|«      S r   )r0   ÚopÚlvaluerÆ   r    s     r   Úvisit_operator_assignment_stmtz&StrConv.visit_operator_assignment_stmtö   s&   € Ø�y‰y˜!Ÿ$™$ §¡¨!¯(©(Ð3°QÓ7Ð7r   c                ó¼   — |j                   |j                  g}|j                  r'|j                  d|j                  j                  f«       | j	                  ||«      S )NÚElse)rÀ   rE   Ú	else_bodyr:   r0   r_   s      r   Úvisit_while_stmtzStrConv.visit_while_stmtù   sF   € ØŸ™ §¡Ð'ˆØ�;Š;Ø�H‰H�f˜aŸk™k×.Ñ.Ð/Ô0Ø�y‰y˜˜A‹Ðr   c                óœ  — g }|j                   r|j                  d«       |j                  |j                  «       |j                  r|j                  |j                  «       |j	                  |j
                  |j                  g«       |j                  r'|j                  d|j                  j                  f«       | j                  ||«      S )N©rt   r&   rÍ   )	Úis_asyncr:   ÚindexÚ
index_typerD   rÀ   rE   rÎ   r0   r_   s      r   Úvisit_for_stmtzStrConv.visit_for_stmtÿ   sŒ   € ØˆØ�:Š:Ø�H‰H�]Ô#Ø	�‰�—‘ÔØ�<Š<Ø�H‰H�Q—\‘\Ô"Ø	�‰�!—&‘&˜!Ÿ&™&Ð!Ô"Ø�;Š;Ø�H‰H�f˜aŸk™k×.Ñ.Ð/Ô0Ø�y‰y˜˜A‹Ðr   c                ó<   — | j                  |j                  g|«      S r   r¿   r    s     r   Úvisit_return_stmtzStrConv.visit_return_stmt  rÂ   r   c                ór  — g }t        t        |j                  «      «      D ]M  }|j                  d|j                  |   gf«       |j                  d|j                  |   j                  f«       ŒO |j
                  s| j                  ||«      S | j                  |d|j
                  j                  fg|«      S )NÚIfÚThenrÍ   )Úrangerz   rÀ   r:   rE   rÎ   r0   ©r   r!   rI   Úis       r   Úvisit_if_stmtzStrConv.visit_if_stmt  s™   € ØˆÜ”s˜1Ÿ6™6“{Ó#ò 	/ˆAØ�H‰H�d˜QŸV™V A™Y˜KÐ(Ô)Ø�H‰H�f˜aŸf™f Q™iŸn™nÐ-Õ.ð	/ð �{Š{Ø—9‘9˜Q “?Ð"à—9‘9˜a &¨!¯+©+×*:Ñ*:Ð!;Ð<¸aÓ@Ð@r   c                ó&   — | j                  g |«      S r   ©r0   r    s     r   Úvisit_break_stmtzStrConv.visit_break_stmt  ó   € Ø�y‰y˜˜QÓÐr   c                ó&   — | j                  g |«      S r   rà   r    s     r   Úvisit_continue_stmtzStrConv.visit_continue_stmt  râ   r   c                ó&   — | j                  g |«      S r   rà   r    s     r   Úvisit_pass_stmtzStrConv.visit_pass_stmt  râ   r   c                óR   — | j                  |j                  |j                  g|«      S r   )r0   rÀ   Ú	from_exprr    s     r   Úvisit_raise_stmtzStrConv.visit_raise_stmt"  s    € Ø�y‰y˜!Ÿ&™& !§+¡+Ð.°Ó2Ð2r   c                ó¤   — |j                   �(| j                  |j                  |j                   g|«      S | j                  |j                  g|«      S r   )Úmsgr0   rÀ   r    s     r   Úvisit_assert_stmtzStrConv.visit_assert_stmt%  s@   € Ø�5‰5ÐØ—9‘9˜aŸf™f a§e¡e˜_¨aÓ0Ð0à—9‘9˜aŸf™f˜X qÓ)Ð)r   c                ó<   — | j                  |j                  g|«      S r   r¿   r    s     r   Úvisit_await_exprzStrConv.visit_await_expr+  rÂ   r   c                ó<   — | j                  |j                  g|«      S r   r¿   r    s     r   Úvisit_del_stmtzStrConv.visit_del_stmt.  rÂ   r   c                ó^  — |j                   g}|j                  r|j                  d«       t        t	        |j
                  «      «      D ]k  }|j                  |j                  |   «       |j
                  |   r|j                  |j
                  |   «       |j                  |j                  |   «       Œm |j                  r'|j                  d|j                  j                   f«       |j                  r'|j                  d|j                  j                   f«       | j                  ||«      S )NÚ*rÍ   ÚFinally)rE   Úis_starr:   rÛ   rz   Úvarsr   ÚhandlersrÎ   Úfinally_bodyr0   rÜ   s       r   Úvisit_try_stmtzStrConv.visit_try_stmt1  sØ   € ØŸ™�xˆØ�9Š9Ø�H‰H�SŒMä”s˜1Ÿ6™6“{Ó#ò 	$ˆAØ�H‰H�Q—W‘W˜Q‘ZÔ Ø�v‰v�aŠyØ—‘˜Ÿ™ ™Ô#Ø�H‰H�Q—Z‘Z ‘]Õ#ð		$ð �;Š;Ø�H‰H�f˜aŸk™k×.Ñ.Ð/Ô0Ø�>Š>Ø�H‰H�i §¡×!4Ñ!4Ð5Ô6à�y‰y˜˜A‹Ðr   c                ó¸  — g }|j                   r|j                  d«       t        t        |j                  «      «      D ]T  }|j                  d|j                  |   gf«       |j
                  |   sŒ4|j                  d|j
                  |   gf«       ŒV |j                  r|j                  |j                  «       | j                  ||j                  gz   |«      S )NrÑ   ÚExprÚTarget)	rÒ   r:   rÛ   rz   rÀ   r¶   Úunanalyzed_typer0   rE   rÜ   s       r   Úvisit_with_stmtzStrConv.visit_with_stmtC  s¯   € ØˆØ�:Š:Ø�H‰H�]Ô#Ü”s˜1Ÿ6™6“{Ó#ò 	4ˆAØ�H‰H�f˜qŸv™v a™y˜kÐ*Ô+Ø�x‰x˜‹{Ø—‘˜( Q§X¡X¨a¡[ MÐ2Õ3ð	4ð ×ÒØ�H‰H�Q×&Ñ&Ô'Ø�y‰y˜˜aŸf™f˜X™ qÓ)Ð)r   c                ó|  — |j                   g}t        t        |j                  «      «      D ]}  }|j	                  d|j                  |   gf«       |j
                  |   �!|j	                  d|j
                  |   gf«       |j	                  d|j                  |   j                  f«       Œ | j                  ||«      S )NÚPatternÚGuardÚBody)	ÚsubjectrÛ   rz   Úpatternsr:   ÚguardsÚbodiesrE   r0   rÜ   s       r   Úvisit_match_stmtzStrConv.visit_match_stmtO  sž   € ØŸ	™	�{ˆÜ”s˜1Ÿ:™:“Ó'ò 	1ˆAØ�H‰H�i !§*¡*¨Q¡- Ð1Ô2Ø�x‰x˜‰{Ð&Ø—‘˜' A§H¡H¨Q¡K =Ð1Ô2Ø�H‰H�f˜aŸh™h q™k×.Ñ.Ð/Õ0ð		1ð
 �y‰y˜˜A‹Ðr   c                óØ   — |j                   g}|j                  D ]"  }|j                  | j                  |«      «       Œ$ |j                  |j                  «       | j                  ||«      S r   )rm   r@   r:   rA   Úvaluer0   )r   r!   rI   rJ   s       r   Úvisit_type_alias_stmtzStrConv.visit_type_alias_stmtX  sU   € ØŸ™�xˆØ—‘ò 	)ˆAØ�H‰H�T—_‘_ QÓ'Õ(ð	)à	�‰�—‘ÔØ�y‰y˜˜A‹Ðr   c                óì  — g }|j                   t        j                  j                  k(  rd}n,|j                   t        j                  j                  k(  rd}nd}|j                  ||j                  z   «       |j                  r|j                  |j                  «       |j                  r|j                  d|j                  f«       |j                  r|j                  d|j                  gf«       d|fgS )Nz**rò   r&   ÚValuesÚDefaultÚ	TypeParam)
r8   r   r-   ÚPARAM_SPEC_KINDÚTYPE_VAR_TUPLE_KINDr:   rm   Úupper_boundÚvaluesr2   )r   rJ   rI   Úprefixs       r   rA   zStrConv.type_param_  sµ   € ØˆØ�6‰6”T—Z‘Z×/Ñ/Ò/Ø‰FØ�V‰V”t—z‘z×5Ñ5Ò5Ø‰FàˆFØ	�‰�˜!Ÿ&™&‘Ô!Ø�=Š=Ø�H‰H�Q—]‘]Ô#Ø�8Š8Ø�H‰H�h §¡Ð)Ô*Ø�9Š9Ø�H‰H�i !§)¡) Ð-Ô.Ø˜aÐ Ð!Ð!r   c                ó"   — d|j                   › d�S )NzIntExpr(rd   ©r  r    s     r   Úvisit_int_exprzStrConv.visit_int_exprt  s   € Ø˜!Ÿ'™'˜ !Ð$Ð$r   c                ó@   — d| j                  |j                  «      › d�S )NzStrExpr(rd   ©Ústr_reprr  r    s     r   Úvisit_str_exprzStrConv.visit_str_exprw  s   € Ø˜$Ÿ-™-¨¯©Ó0Ð1°Ð3Ð3r   c                ó@   — d| j                  |j                  «      › d�S )Nz
BytesExpr(rd   r  r    s     r   Úvisit_bytes_exprzStrConv.visit_bytes_exprz  s   € Ø˜DŸM™M¨!¯'©'Ó2Ð3°1Ð5Ð5r   c                ób   — t        j                  dd„ |«      }t        j                  dd„ |«      S )Nz\\u[0-9a-fA-F]{4}c                ó*   — d| j                  d«      z   S )Nú\r   )Úgroup©Úms    r   ú<lambda>z"StrConv.str_repr.<locals>.<lambda>~  s   € °4¸!¿'¹'À!»*Ñ3D€ r   z[^\x20-\x7e]c                ó<   — dt        | j                  d«      «      z  S )Nz\u%.4xr   )Úordr  r   s    r   r"  z"StrConv.str_repr.<locals>.<lambda>  s   € °)¼cÀ!Ç'Á'È!Ã*»oÑ2M€ r   )ÚreÚsub)r   Úss     r   r  zStrConv.str_repr}  s+   € Ü�F‰FÐ'Ñ)DÀaÓHˆÜ�v‰vÐ&Ñ(MÈqÓQÐQr   c                ó"   — d|j                   › d�S )Nz
FloatExpr(rd   r  r    s     r   Úvisit_float_exprzStrConv.visit_float_expr�  s   € Ø˜AŸG™G˜9 AÐ&Ð&r   c                ó"   — d|j                   › d�S )NzComplexExpr(rd   r  r    s     r   Úvisit_complex_exprzStrConv.visit_complex_expr„  s   € Ø˜aŸg™g˜Y aÐ(Ð(r   c                 ó   — y)NÚEllipsis© r    s     r   Úvisit_ellipsiszStrConv.visit_ellipsis‡  s   € Ør   c                ó<   — | j                  |j                  g|«      S r   r¿   r    s     r   Úvisit_star_exprzStrConv.visit_star_exprŠ  rÂ   r   c                óÄ  — | j                  |j                  |j                  |j                  |j                  xs |j
                  |j                  «      }t        |j                  t        j                  j                  «      rJ|j                  j                  r4|j                  j                  }|�|d|j                  j                  › �z  }t        |«      dz   |z   dz   S )Nz = rc   rd   )Úpretty_namerm   r8   rš   Úis_inferred_defÚis_special_formÚnodeÚ
isinstancer   r-   r¨   Úis_finalÚfinal_valuer	   )r   r!   Úprettyr9  s       r   Úvisit_name_exprzStrConv.visit_name_expr�  s­   € Ø×!Ñ!Ø�F‰F�A—F‘F˜AŸJ™J¨×(9Ñ(9Ò(N¸Q×=NÑ=NÐPQ×PVÑPVó
ˆô �a—f‘fœdŸj™jŸn™nÔ-°!·&±&·/²/ØŸ&™&×,Ñ,ˆKØÐ&Ø˜C §¡× 2Ñ 2Ð3Ð4Ñ4�Ü˜!‹}˜sÑ" VÑ+¨cÑ1Ð1r   Nc                ó°  — |}|r|dz  }|r| j                  |«      }nd}t        |t        j                  j                  «      r||k(  r||z  }|S |t        j                  j
                  k(  s||k7  r|r|d|› |› d�z  }|S |t        j                  j                  k(  r|d|› d�z  }|S |t        j                  j                  k(  r|d|› d�z  }|S ||z  }|S )Nrò   r&   z [ú]z [lz [m)r'   r7  r   r-   ÚMypyFileÚGDEFÚLDEFÚMDEF)r   rm   r8   rš   r4  Útarget_nodeÚnr   s           r   r3  zStrConv.pretty_name—  sõ   € ð ˆÙØ�‰HˆAÙØ—‘ Ó,‰BàˆBÜ�k¤4§:¡:×#6Ñ#6Ô7¸DÀHÒ<LØ�‰GˆAð ˆð ”T—Z‘Z—_‘_Ò$¨°TÒ)9¹hà�2�h�Z ˜t 1Ð%Ñ%ˆAð ˆð ”T—Z‘Z—_‘_Ò$à�3�r�d˜!�ÑˆAð ˆð ”T—Z‘Z—_‘_Ò$à�3�r�d˜!�ÑˆAð ˆð �‰GˆAØˆr   c                óÌ   — | j                  |j                  |j                  |j                  |j                  |j
                  «      }| j                  |j                  |g|«      S r   )r3  rm   r8   rš   r4  r6  r0   rÀ   )r   r!   r:  s      r   Úvisit_member_exprzStrConv.visit_member_exprµ  sM   € Ø×!Ñ! !§&¡&¨!¯&©&°!·*±*¸a×>OÑ>OÐQR×QWÑQWÓXˆØ�y‰y˜!Ÿ&™& &Ð)¨1Ó-Ð-r   c                ó<   — | j                  |j                  g|«      S r   r¿   r    s     r   Úvisit_yield_exprzStrConv.visit_yield_expr¹  rÂ   r   c                ó–   — |j                   r,| j                  |j                   j                  | «      g|«      S | j                  g |«      S r   )rÀ   r0   r   r    s     r   Úvisit_yield_from_exprzStrConv.visit_yield_from_expr¼  s;   € Ø�6Š6Ø—9‘9˜aŸf™fŸm™m¨DÓ1Ð2°AÓ6Ð6à—9‘9˜R Ó#Ð#r   c                ó  — |j                   r|j                   j                  | «      S g }g }t        |j                  «      D �]#  \  }}|t        j
                  j                  t        j
                  j                  fv rN|j                  |j                  |   «       |t        j
                  j                  k(  sŒy|j                  d«       Œ‹|t        j
                  j                  k(  r0|j                  d|j                  |   |j                  |   gf«       ŒØ|t        j
                  j                  k(  r#|j                  d|j                  |   gf«       �Œt        d|› �«      ‚ |j                  d|fg}| j                  ||z   |«      S )Nr3   ÚKwArgsr4   zunknown kind r5   )Úanalyzedr   Ú	enumerater…   r   r-   ÚARG_POSr>   r:   rF   r{   Ú	arg_namesr?   ÚRuntimeErrorÚcalleer0   )r   r!   rF   rG   rÝ   r8   rI   s          r   Úvisit_call_exprzStrConv.visit_call_exprÂ  s7  € Ø�:Š:Ø—:‘:×$Ñ$ TÓ*Ð*Ø,.ˆØ35ˆÜ  §¡Ó-ó 
	;‰GˆAˆtØœŸ
™
×*Ñ*¬D¯J©J×,?Ñ,?Ð@Ñ@Ø—‘˜AŸF™F 1™IÔ&Øœ4Ÿ:™:×.Ñ.Ó.Ø—L‘L Õ*ØœŸ™×-Ñ-Ò-Ø—‘˜h¨¯©°Q©¸¿¹À¹Ð(CÐDÕEØœŸ™×-Ñ-Ò-Ø—‘˜l¨Q¯V©V°A©Y¨KÐ8Ö9ä" ]°4°&Ð#9Ó:Ð:ð
	;ð Ÿ™ 6¨4 .Ð1ˆØ�y‰y˜˜U™ AÓ&Ð&r   c                ó¶   — |j                   r|j                   j                  | «      S | j                  |j                  |j                  |j
                  g|«      S r   )rL  r   r0   rÉ   ÚleftÚrightr    s     r   Úvisit_op_exprzStrConv.visit_op_exprÕ  sB   € Ø�:Š:Ø—:‘:×$Ñ$ TÓ*Ð*Ø�y‰y˜!Ÿ$™$ §¡¨¯©Ð0°!Ó4Ð4r   c                óR   — | j                  |j                  |j                  g|«      S r   )r0   Ú	operatorsÚoperandsr    s     r   Úvisit_comparison_exprzStrConv.visit_comparison_exprÚ  s    € Ø�y‰y˜!Ÿ+™+ q§z¡zÐ2°AÓ6Ð6r   c                óR   — | j                  |j                  |j                  g|«      S r   ©r0   rÀ   rB   r    s     r   Úvisit_cast_exprzStrConv.visit_cast_exprÝ  ó    € Ø�y‰y˜!Ÿ&™& !§&¡&Ð)¨1Ó-Ð-r   c                ó<   — | j                  |j                  g|«      S r   ©r0   rB   r    s     r   Úvisit_type_form_exprzStrConv.visit_type_form_exprà  rÂ   r   c                óR   — | j                  |j                  |j                  g|«      S r   r\  r    s     r   Úvisit_assert_type_exprzStrConv.visit_assert_type_exprã  r^  r   c                óÄ   — |j                   t        j                  j                  k(  r| j	                  |j
                  g|«      S | j	                  |j                  g|«      S r   )r8   r   r-   ÚREVEAL_TYPEr0   rÀ   Úlocal_nodesr    s     r   Úvisit_reveal_exprzStrConv.visit_reveal_expræ  sH   € Ø�6‰6”T—Z‘Z×+Ñ+Ò+Ø—9‘9˜aŸf™f˜X qÓ)Ð)ð —9‘9˜aŸm™m˜_¨aÓ0Ð0r   c                óR   — | j                  |j                  |j                  g|«      S r   )r0   r¶   r  r    s     r   Úvisit_assignment_exprzStrConv.visit_assignment_exprí  s    € Ø�y‰y˜!Ÿ(™( A§G¡GÐ,¨aÓ0Ð0r   c                óR   — | j                  |j                  |j                  g|«      S r   )r0   rÉ   rÀ   r    s     r   Úvisit_unary_exprzStrConv.visit_unary_exprð  s   € Ø�y‰y˜!Ÿ$™$ §¡˜¨Ó+Ð+r   c                ó:   — | j                  |j                  |«      S r   ©r0   rˆ   r    s     r   Úvisit_list_exprzStrConv.visit_list_expró  ó   € Ø�y‰y˜Ÿ™ !Ó$Ð$r   c                óp   — | j                  |j                  D ��cg c]	  \  }}||g‘Œ c}}|«      S c c}}w r   rm  )r   r!   r£   r¤   s       r   Úvisit_dict_exprzStrConv.visit_dict_exprö  s-   € Ø�y‰y¨Q¯W©W×5¡T Q¨˜1˜aš&Ó5°qÓ9Ð9ùÓ5s   ›2
c                ó4  — g }|j                   D ]v  }t        |t        «      rS|\  }}}}d|gfd|›d�d|›d�g}|€|j                  d«       n|j                  d|gf«       |j                  d|f«       Œf|j                  |«       Œx | j	                  ||«      S )NÚValuezSource(rd   zConversion(zFormatSpec(None)Ú
FormatSpecÚInterpolation)rˆ   r7  Útupler:   r0   )	r   r!   Ú
items_reprÚitemÚ
value_exprÚsourceÚ
conversionÚformat_specÚinterpolations	            r   Úvisit_template_str_exprzStrConv.visit_template_str_exprù  s»   € Ø#%ˆ
Ø—G‘Gò 	(ˆDÜ˜$¤Ô&Ø>BÑ;�
˜F J°à˜z˜lÐ+Ø˜f˜Z qÐ)Ø! * ¨qÐ1ð/�ð
 Ð&Ø!×(Ñ(Ð);Õ<à!×(Ñ(¨,¸¸Ð)FÔGØ×!Ñ! ?°MÐ"BÕCà×!Ñ! $Õ'ð	(ð �y‰y˜ QÓ'Ð'r   c                ó:   — | j                  |j                  |«      S r   rm  r    s     r   Úvisit_set_exprzStrConv.visit_set_expr  ro  r   c                ó:   — | j                  |j                  |«      S r   rm  r    s     r   Úvisit_tuple_exprzStrConv.visit_tuple_expr  ro  r   c                ó    — |j                   r|j                   j                  | «      S | j                  |j                  |j                  g|«      S r   )rL  r   r0   ÚbaserÓ   r    s     r   Úvisit_index_exprzStrConv.visit_index_expr  s<   € Ø�:Š:Ø—:‘:×$Ñ$ TÓ*Ð*Ø�y‰y˜!Ÿ&™& !§'¡'Ð*¨AÓ.Ð.r   c                óR   — | j                  |j                  |j                  g|«      S r   )r0   rm   Úcallr    s     r   Úvisit_super_exprzStrConv.visit_super_expr  r^  r   c                óV   — | j                  |j                  d|j                  fg|«      S )NÚTypes)r0   rÀ   r   r    s     r   Úvisit_type_applicationzStrConv.visit_type_application  s%   € Ø�y‰y˜!Ÿ&™& 7¨A¯G©GÐ"4Ð5°qÓ9Ð9r   c                ó¤  — dd l }g }|j                  |j                  j                  k(  r|dgz  }|j                  |j                  j                  k(  r|dgz  }|j
                  r|d|j
                  fgz  }|j                  j                  |j                  d«      s#|d| j                  |j                  «      › d�gz  }| j                  ||«      S )Nr   úVariance(COVARIANT)úVariance(CONTRAVARIANT)r  r�   úUpperBound(rd   )r   Úvariancer-   Ú	COVARIANTÚCONTRAVARIANTr  r   Úis_named_instancer  r   r0   ©r   r!   r   rI   s       r   Úvisit_type_var_exprzStrConv.visit_type_var_expr  s¾   € ÛàˆØ�:‰:˜Ÿ™×-Ñ-Ò-ØÐ'Ð(Ñ(ˆAØ�:‰:˜Ÿ™×1Ñ1Ò1ØÐ+Ð,Ñ,ˆAØ�8Š8Ø�8˜QŸX™XÐ&Ð'Ñ'ˆAØ�z‰z×+Ñ+¨A¯M©MÐ;LÔMØ�K × 3Ñ 3°A·M±MÓ BÐCÀ1ÐEÐFÑFˆAØ�y‰y˜˜A‹Ðr   c                óh  — dd l }g }|j                  |j                  j                  k(  r|dgz  }|j                  |j                  j                  k(  r|dgz  }|j
                  j                  |j                  d«      s#|d| j                  |j                  «      › d�gz  }| j                  ||«      S ©Nr   r�  rŽ  r�   r�  rd   ©
r   r�  r-   r‘  r’  r   r“  r  r   r0   r”  s       r   Úvisit_paramspec_exprzStrConv.visit_paramspec_expr+  ó¡   € ÛàˆØ�:‰:˜Ÿ™×-Ñ-Ò-ØÐ'Ð(Ñ(ˆAØ�:‰:˜Ÿ™×1Ñ1Ò1ØÐ+Ð,Ñ,ˆAØ�z‰z×+Ñ+¨A¯M©MÐ;LÔMØ�K × 3Ñ 3°A·M±MÓ BÐCÀ1ÐEÐFÑFˆAØ�y‰y˜˜A‹Ðr   c                óh  — dd l }g }|j                  |j                  j                  k(  r|dgz  }|j                  |j                  j                  k(  r|dgz  }|j
                  j                  |j                  d«      s#|d| j                  |j                  «      › d�gz  }| j                  ||«      S r—  r˜  r”  s       r   Úvisit_type_var_tuple_exprz!StrConv.visit_type_var_tuple_expr7  rš  r   c                óT   — d| j                  |j                  j                  «      › d�S )NzTypeAliasExpr(rd   )r   r6  r¶   r    s     r   Úvisit_type_alias_exprzStrConv.visit_type_alias_exprC  s%   € Ø × 3Ñ 3°A·F±F·M±MÓ BÐCÀ1ÐEÐEr   c                óÒ   — d|j                   › d|j                  j                  › d|j                  j                  �(| j	                  |j                  j                  «      › d�S d › d�S )NzNamedTupleExpr:rc   rP   rd   )r+   r˜   rm   r    r   r    s     r   Úvisit_namedtuple_exprzStrConv.visit_namedtuple_exprF  sƒ   € Ø  §¡ ¨¨!¯&©&¯+©+¨°bÐcd×ciÑci×ctÑctð  dA¸×9LÑ9LÈQÏVÉV×M^ÑM^Ó9_ð  9Lð  LMð  Nð  	Nð  GKð  9Lð  LMð  Nð  	Nr   c                ój   — d|j                   › d|j                  j                  › d|j                  › d�S )NzEnumCallExpr:rc   rP   rd   )r+   r˜   rm   rˆ   r    s     r   Úvisit_enum_call_exprzStrConv.visit_enum_call_exprI  s-   € Ø˜qŸv™v˜h a¨¯©¯© }°B°q·w±w°i¸qÐAÐAr   c                óP   — d|j                   › d|j                  j                  › d�S )NzTypedDictExpr:rc   rd   )r+   r˜   rm   r    s     r   Úvisit_typeddict_exprzStrConv.visit_typeddict_exprL  s#   € Ø §¡˜x q¨¯©¯©¨°QÐ7Ð7r   c                óZ   — d|j                   › d| j                  |j                  «      › d�S )NzPromoteExpr:rc   rd   )r+   r   rB   r    s     r   Úvisit__promote_exprzStrConv.visit__promote_exprO  s+   € Ø˜aŸf™f˜X Q t×':Ñ':¸1¿6¹6Ó'BÐ&CÀ1ÐEÐEr   c           	     óx   — d|j                   › d|j                  › d| j                  |j                  g|«      › d�S )NzNewTypeExpr:rc   rP   rd   )r+   rm   r0   Úold_typer    s     r   Úvisit_newtype_exprzStrConv.visit_newtype_exprR  s7   € Ø˜aŸf™f˜X Q q§v¡v h¨b°·±¸A¿J¹J¸<ÈÓ1KÐ0LÈAÐNÐNr   c                óH   — | j                  |«      }| j                  ||«      S r   )rK   r0   r_   s      r   Úvisit_lambda_exprzStrConv.visit_lambda_exprU  s"   € Ø×Ñ˜QÓˆØ�y‰y˜˜A‹Ðr   c                ó°   — t        |j                  «      r|j                  nd }| j                  |j                  |j                  |j
                  |g|«      S r   )ÚanyÚ	condlistsr0   Ú	left_exprÚindicesÚ	sequences©r   r!   r®  s      r   Úvisit_generator_exprzStrConv.visit_generator_exprY  s>   € Ü#& q§{¡{Ô#3�A—K’K¸ˆ	Ø�y‰y˜!Ÿ+™+ q§y¡y°!·+±+¸yÐIÈ1ÓMÐMr   c                ó<   — | j                  |j                  g|«      S r   ©r0   Ú	generatorr    s     r   Úvisit_list_comprehensionz StrConv.visit_list_comprehension]  ó   € Ø�y‰y˜!Ÿ+™+˜¨Ó*Ð*r   c                ó<   — | j                  |j                  g|«      S r   rµ  r    s     r   Úvisit_set_comprehensionzStrConv.visit_set_comprehension`  r¸  r   c                óÆ   — t        |j                  «      r|j                  nd }| j                  |j                  |j                  |j
                  |j                  |g|«      S r   )r­  r®  r0   Úkeyr  r°  r±  r²  s      r   Úvisit_dictionary_comprehensionz&StrConv.visit_dictionary_comprehensionc  sD   € Ü#& q§{¡{Ô#3�A—K’K¸ˆ	Ø�y‰y˜!Ÿ%™% §¡¨!¯)©)°Q·[±[À)ÐLÈaÓPÐPr   c                ón   — | j                  d|j                  gf|j                  |j                  g|«      S )NÚ	Condition)r0   ÚcondÚif_exprÚ	else_exprr    s     r   Úvisit_conditional_exprzStrConv.visit_conditional_exprg  s-   € Ø�y‰y˜;¨¯©¨Ð1°1·9±9¸a¿k¹kÐJÈAÓNÐNr   c                ó”   — |j                   |j                  |j                  g}|d   sd|d<   |d   sd|d<   | j                  ||«      S )Nr   z<empty>rs   )Úbegin_indexÚ	end_indexÚstrider0   r_   s      r   Úvisit_slice_exprzStrConv.visit_slice_exprj  sJ   € ØŸ™ q§{¡{°A·H±HÐ=ˆØ�ŠtØˆAˆa‰DØ�ŠtØˆAˆa‰DØ�y‰y˜˜A‹Ðr   c                ó<   — | j                  |j                  g|«      S r   r`  r    s     r   Úvisit_temp_nodezStrConv.visit_temp_noder  rÂ   r   c                óR   — | j                  |j                  |j                  g|«      S r   )r0   Úpatternrm   r    s     r   Úvisit_as_patternzStrConv.visit_as_patternu  s    € Ø�y‰y˜!Ÿ)™) Q§V¡VÐ,¨aÓ0Ð0r   c                ó:   — | j                  |j                  |«      S r   ©r0   r  r    s     r   Úvisit_or_patternzStrConv.visit_or_patternx  ó   € Ø�y‰y˜Ÿ™ QÓ'Ð'r   c                ó<   — | j                  |j                  g|«      S r   r¿   r    s     r   Úvisit_value_patternzStrConv.visit_value_pattern{  rÂ   r   c                ó<   — | j                  |j                  g|«      S r   )r0   r  r    s     r   Úvisit_singleton_patternzStrConv.visit_singleton_pattern~  r®   r   c                ó:   — | j                  |j                  |«      S r   rÏ  r    s     r   Úvisit_sequence_patternzStrConv.visit_sequence_pattern�  rÑ  r   c                ó<   — | j                  |j                  g|«      S r   )r0   Úcapturer    s     r   Úvisit_starred_patternzStrConv.visit_starred_pattern„  s   € Ø�y‰y˜!Ÿ)™)˜ aÓ(Ð(r   c                óH  — g }t        t        |j                  «      «      D ]D  }|j                  d|j                  |   gf«       |j                  d|j                  |   gf«       ŒF |j
                  �|j                  d|j
                  gf«       | j                  ||«      S )NÚKeyrs  ÚRest)rÛ   rz   Úkeysr:   r  Úrestr0   rÜ   s       r   Úvisit_mapping_patternzStrConv.visit_mapping_pattern‡  sŒ   € ØˆÜ”s˜1Ÿ6™6“{Ó#ò 	/ˆAØ�H‰H�e˜aŸf™f Q™i˜[Ð)Ô*Ø�H‰H�g §¡¨¡˜}Ð-Õ.ð	/ð �6‰6ÐØ�H‰H�f˜qŸv™v˜hÐ'Ô(Ø�y‰y˜˜A‹Ðr   c                óN  — |j                   g}t        |j                  «      dkD  r|j                  d|j                  f«       t	        t        |j
                  «      «      D ]1  }|j                  d|j
                  |   |j                  |   gf«       Œ3 | j                  ||«      S )Nr   ÚPositionalsÚKeyword)Ú	class_refrz   Úpositionalsr:   rÛ   Úkeyword_keysÚkeyword_valuesr0   rÜ   s       r   Úvisit_class_patternzStrConv.visit_class_pattern�  sŽ   € ØŸ™�}ˆÜˆq�}‰}Ó Ò!Ø�H‰H�m Q§]¡]Ð3Ô4Ü”s˜1Ÿ>™>Ó*Ó+ò 	LˆAØ�H‰H�i !§.¡.°Ñ"3°Q×5EÑ5EÀaÑ5HÐ!IÐJÕKð	Lð �y‰y˜˜A‹Ðr   )r   Úboolr   r   ÚreturnÚNone)r   zmypy.types.Typerê  r*   )r!   Úobjectrê  ú
int | None)r!   rì  rê  r*   )r-   úSequence[object]r.   zmypy.nodes.Contextrê  r*   )r!   zmypy.nodes.FuncItemrê  zlist[object])r!   zmypy.nodes.MypyFilerê  r*   )r!   zmypy.nodes.Importrê  r*   )r!   zmypy.nodes.ImportFromrê  r*   )r!   zmypy.nodes.ImportAllrê  r*   )r!   zmypy.nodes.FuncDefrê  r*   )r!   zmypy.nodes.OverloadedFuncDefrê  r*   )r!   zmypy.nodes.ClassDefrê  r*   )r!   zmypy.nodes.Varrê  r*   )r!   zmypy.nodes.GlobalDeclrê  r*   )r!   zmypy.nodes.NonlocalDeclrê  r*   )r!   zmypy.nodes.Decoratorrê  r*   )r!   zmypy.nodes.TypeAliasrê  r*   )r!   zmypy.nodes.PlaceholderNoderê  r*   )r!   zmypy.nodes.Blockrê  r*   )r!   zmypy.nodes.ExpressionStmtrê  r*   )r!   zmypy.nodes.AssignmentStmtrê  r*   )r!   z!mypy.nodes.OperatorAssignmentStmtrê  r*   )r!   zmypy.nodes.WhileStmtrê  r*   )r!   zmypy.nodes.ForStmtrê  r*   )r!   zmypy.nodes.ReturnStmtrê  r*   )r!   zmypy.nodes.IfStmtrê  r*   )r!   zmypy.nodes.BreakStmtrê  r*   )r!   zmypy.nodes.ContinueStmtrê  r*   )r!   zmypy.nodes.PassStmtrê  r*   )r!   zmypy.nodes.RaiseStmtrê  r*   )r!   zmypy.nodes.AssertStmtrê  r*   )r!   zmypy.nodes.AwaitExprrê  r*   )r!   zmypy.nodes.DelStmtrê  r*   )r!   zmypy.nodes.TryStmtrê  r*   )r!   zmypy.nodes.WithStmtrê  r*   )r!   zmypy.nodes.MatchStmtrê  r*   )r!   zmypy.nodes.TypeAliasStmtrê  r*   )rJ   zmypy.nodes.TypeParamrê  z	list[Any])r!   zmypy.nodes.IntExprrê  r*   )r!   zmypy.nodes.StrExprrê  r*   )r!   zmypy.nodes.BytesExprrê  r*   )r'  r*   rê  r*   )r!   zmypy.nodes.FloatExprrê  r*   )r!   zmypy.nodes.ComplexExprrê  r*   )r!   zmypy.nodes.EllipsisExprrê  r*   )r!   zmypy.nodes.StarExprrê  r*   )r!   zmypy.nodes.NameExprrê  r*   r   )rm   r*   r8   rí  rš   ú
str | Noner4  ré  rB  zmypy.nodes.Node | Nonerê  r*   )r!   zmypy.nodes.MemberExprrê  r*   )r!   zmypy.nodes.YieldExprrê  r*   )r!   zmypy.nodes.YieldFromExprrê  r*   )r!   zmypy.nodes.CallExprrê  r*   )r!   zmypy.nodes.OpExprrê  r*   )r!   zmypy.nodes.ComparisonExprrê  r*   )r!   zmypy.nodes.CastExprrê  r*   )r!   zmypy.nodes.TypeFormExprrê  r*   )r!   zmypy.nodes.AssertTypeExprrê  r*   )r!   zmypy.nodes.RevealExprrê  r*   )r!   zmypy.nodes.AssignmentExprrê  r*   )r!   zmypy.nodes.UnaryExprrê  r*   )r!   zmypy.nodes.ListExprrê  r*   )r!   zmypy.nodes.DictExprrê  r*   )r!   zmypy.nodes.TemplateStrExprrê  r*   )r!   zmypy.nodes.SetExprrê  r*   )r!   zmypy.nodes.TupleExprrê  r*   )r!   zmypy.nodes.IndexExprrê  r*   )r!   zmypy.nodes.SuperExprrê  r*   )r!   zmypy.nodes.TypeApplicationrê  r*   )r!   zmypy.nodes.TypeVarExprrê  r*   )r!   zmypy.nodes.ParamSpecExprrê  r*   )r!   zmypy.nodes.TypeVarTupleExprrê  r*   )r!   zmypy.nodes.TypeAliasExprrê  r*   )r!   zmypy.nodes.NamedTupleExprrê  r*   )r!   zmypy.nodes.EnumCallExprrê  r*   )r!   zmypy.nodes.TypedDictExprrê  r*   )r!   zmypy.nodes.PromoteExprrê  r*   )r!   zmypy.nodes.NewTypeExprrê  r*   )r!   zmypy.nodes.LambdaExprrê  r*   )r!   zmypy.nodes.GeneratorExprrê  r*   )r!   zmypy.nodes.ListComprehensionrê  r*   )r!   zmypy.nodes.SetComprehensionrê  r*   )r!   z"mypy.nodes.DictionaryComprehensionrê  r*   )r!   zmypy.nodes.ConditionalExprrê  r*   )r!   zmypy.nodes.SliceExprrê  r*   )r!   zmypy.nodes.TempNoderê  r*   )r!   zmypy.patterns.AsPatternrê  r*   )r!   zmypy.patterns.OrPatternrê  r*   )r!   zmypy.patterns.ValuePatternrê  r*   )r!   zmypy.patterns.SingletonPatternrê  r*   )r!   zmypy.patterns.SequencePatternrê  r*   )r!   zmypy.patterns.StarredPatternrê  r*   )r!   zmypy.patterns.MappingPatternrê  r*   )r!   zmypy.patterns.ClassPatternrê  r*   )cÚ__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   r"   r'   r0   rK   r`   rg   ro   rq   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	  rA   r  r  r  r  r)  r+  r/  r1  r;  r3  rE  rG  rI  rR  rV  rZ  r]  ra  rc  rg  ri  rk  rn  rq  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      s5  „ ñ	ò 5€Ià+0õ (ócó
ó
ó-óóFó 2óSó@ó
ó$
óó<0ó'ó'ó;óJó*ó
$ó&ó	ó8óó
ó&ó	Aó ó ó ó3ó*ó&ó&óó$
*óóó"ó*%ó4ó6óRó'ó)óó&ó2ð  /3ðàðð ðð ð	ð
 ðð ,ðð 
óó<.ó&ó$ó'ó&5ó
7ó.ó&ó.ó1ó1ó,ó%ó:ó(ó&%ó%ó/ó
.ó:óó
ó
óFóNóBó8óFóOóóNó+ó+óQóOóó&ó1ó(ó&ó'ó(ó)óôr   r   c                ó  — ddl m}m} g }|r|j                  |dz   «       | D �]=  }t	        |t
        «      r |sŒ|j                  t        |d|«      «       Œ4t	        |t        «      r/t        |d   |d   |«      }|j                  t        |d«      «       Œst	        |t        j                  j                  «      r+|j                  t        |j                  |«      d«      «       ŒÂt	        ||«      rH|j                  t        |j                   ||j                  |j                  ¬«      «      d«      «       �Œ|€�Œ|j                  t        t        |«      d«      «       �Œ@ |r|dxx   d	z  cc<   d
j!                  |«      S )aX  Convert an array into a pretty-printed multiline string representation.

    The format is
      tag(
        item1..
        itemN)
    Individual items are formatted like this:
     - arrays are flattened
     - pairs (str, array) are converted recursively, so that str is the tag
     - other items are converted to strings and indented
    r   )ÚTyper   rc   Nrs   é   )r   ru   rd   ú
)r   rö  r   r:   r7  Úlistr,   rv  Úindentr   r-   ÚNoder   r   r   r*   r]   )r-   r/   Ústr_convrö  r   rI   rC  r'  s           r   r,   r,   š  s+  € ÷ 0à€AÙ
Ø	�‰��s‘ÔØó (ˆÜ�aœÔÚØ—‘œ Q¨¨hÓ7Õ8Ü˜œ5Ô!Ü˜A˜a™D ! A¡$¨Ó1ˆAØ�H‰H”V˜A˜q“\Õ"Ü˜œ4Ÿ:™:Ÿ?™?Ô+Ø�H‰H”V˜AŸH™H XÓ.°Ó2Õ3Ü˜˜4Ô Ø�H‰HÜ�q—x‘x¡¨x×/AÑ/AÈ8×K[ÑK[Ô \Ó]Ð_`Óaöð Š]Ø�H‰H”VœC ›F AÓ&Ö'ð(ñ Ø	ˆ"‹�‰‹Ø�9‰9�Q‹<Ðr   c                óF   — d|z  | z   } | j                  ddd|z  z   «      } | S )z>Indent all the lines in s (separated by newlines) by n spaces.ú rø  )rX   )r'  rC  s     r   rú  rú  ¿  s,   € àˆa‰�!‰€AØ	�	‰	�$˜˜s Q™w™Ó'€AØ€Hr   )r-   rî  r/   rï  rü  r   rê  r*   )r'  r*   rC  Úintrê  r*   )ró  Ú
__future__r   rY   r%  Úcollections.abcr   Útypingr   r   Ú
mypy.nodesr   Úmypy.optionsr   Ú	mypy.utilr   r	   Úmypy.visitorr
   Úmypy.patternsr   r*   r   r,   rú  r.  r   r   ú<module>r     sK   ðÙ 0å "ã 	Û 	Ý $ß %ã Ý  ß *Ý $áÛÛôC
ˆk˜#Ñô C
óL"ôJr   