§
    ¸)ýfð  ã                   ó†  — d Z ddlZddlT ddlmZmZ ddlmZmZm	Z	 dLddd	œd
„Z
d„ ZdMddœd„Zd„ Zd„ ZdNd„Zd„ Zd„ ZdOd„Zd„ Zd„ Zddœd„Zd„ Z G d„ de¦  «        Z G d„ de¦  «        Z eed¦  «        s(d „ Zd!„ Z eee¦  «        e_         eee¦  «        e_          G d"„ d#e!¦  «        Z"d$„ Z# G d%„ d&ee"¬'¦  «        Z$ G d(„ d)ee"¬'¦  «        Z% G d*„ d+ee"¬'¦  «        Z& G d,„ d-ee"¬'¦  «        Z' G d.„ d/ee"¬'¦  «        Z(e$e)e*e+fe%e,fe&e-fe' e!d¦  «        e.fe( e!d0¦  «        fiZ/e$e.fiZ0e.d- e!d¦  «        d-e)d&e*d&e+d&e,d)e-d+ e!d0¦  «        d/iZ1 G d1„ d2e2¦  «        Z3 G d3„ d4e3¦  «        Z4 G d5„ d6e3¦  «        Z5 ee6d7¦  «        sd8„ Z7d9„ Z8 ee7e8¦  «        e6_9         G d:„ d;e:¦  «        Z; G d<„ d=e<¦  «        Z= G d>„ d?e<¦  «        Z> G d@„ dAe<¦  «        Z?dB e@ejA        jB        dz   ¦  «        z   ZC e	e¦  «         G dC„ dD¦  «        ¦   «         ZDdEZEdFZFg eE¢eF¢R ZG G dG„ dHe¦  «        ZHdI„ ZIdJ„ ZJeKdKk    r eJ¦   «          dS dS )PaH  
    ast
    ~~~

    The `ast` module helps Python applications to process trees of the Python
    abstract syntax grammar.  The abstract syntax itself might change with
    each Python release; this module helps to find out programmatically what
    the current grammar looks like and allows modifications of it.

    An abstract syntax tree can be generated by passing `ast.PyCF_ONLY_AST` as
    a flag to the `compile()` builtin function or by using the `parse()`
    function from this module.  The result will be a tree of objects whose
    classes all inherit from `ast.AST`.

    A modified abstract syntax tree can be compiled into a Python code object
    using the built-in `compile()` function.

    Additionally various helper functions are provided that make working with
    the trees simpler.  The main intention of the helper functions and this
    module in general is to provide an easy to use interface for libraries
    that work tightly with the python syntax (template engines for example).


    :copyright: Copyright 2008 by Armin Ronacher.
    :license: Python License.
é    N)Ú*)ÚcontextmanagerÚnullcontext)ÚIntEnumÚautoÚ_simple_enumú	<unknown>ÚexecF)Útype_commentsÚfeature_versionc                ó¢   — t           }|r
|t          z  }t          |t          ¦  «        r|\  }}|dk    sJ ‚|}n|€d}t	          | ||||¬¦  «        S )z½
    Parse the source into an AST node.
    Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).
    Pass type_comments=True to get back type comments where the syntax allows.
    é   Néÿÿÿÿ)Ú_feature_version)ÚPyCF_ONLY_ASTÚPyCF_TYPE_COMMENTSÚ
isinstanceÚtupleÚcompile)ÚsourceÚfilenameÚmoder   r   ÚflagsÚmajorÚminors           úO/home/blender/git/blender-v430/install_release/4.3/python/lib/python3.11/ast.pyÚparser   !   sx   € õ €EØð $ØÕ#Ñ#ˆÝ�/¥5Ñ)Ô)ð Ø&‰ˆˆuØ˜ŠzˆzˆzˆzØˆˆØ	Ð	 Øˆå�6˜8 T¨5Ø$3ð5ñ 5ô 5ð 5ó    c                 óô   ‡‡‡‡— t          | t          ¦  «        r$t          |                      d¦  «        d¬¦  «        } t          | t          ¦  «        r| j        } d„ Šˆfd„Šˆfd„Šˆˆˆˆfd„Š ‰| ¦  «        S )aT  
    Evaluate an expression node or a string containing only a Python
    expression.  The string or node provided may only consist of the following
    Python literal structures: strings, bytes, numbers, tuples, lists, dicts,
    sets, booleans, and None.

    Caution: A complex expression can overflow the C stack and cause a crash.
    z 	Úeval©r   c                 óf   — d}t          | dd ¦  «        x}r|d|› �z  }t          |d| ›�z   ¦  «        ‚)Nzmalformed node or stringÚlinenoz	 on line ú: )ÚgetattrÚ
ValueError)ÚnodeÚmsgÚlnos      r   Ú_raise_malformed_nodez+literal_eval.<locals>._raise_malformed_nodeC   sL   € Ø(ˆÝ˜$ ¨$Ñ/Ô/Ð/ˆ3ð 	%ØÐ$˜sÐ$Ð$Ñ$ˆCÝ˜˜} D˜}˜}Ñ,Ñ-Ô-Ð-r   c                 ó¢   •— t          | t          ¦  «        r(t          | j        ¦  «        t          t
          t          fvr ‰| ¦  «         | j        S ©N)r   ÚConstantÚtypeÚvalueÚintÚfloatÚcomplex)r'   r*   s    €r   Ú_convert_numz"literal_eval.<locals>._convert_numH   sJ   ø€ Ý˜$¥Ñ)Ô)ð 	(­T°$´*Ñ-=Ô-=ÅcÍ5ÕRYÐEZÐ-ZÐ-ZØ!Ð! $Ñ'Ô'Ð'ØŒzÐr   c                 óæ   •— t          | t          ¦  «        rQt          | j        t          t          f¦  «        r0 ‰| j        ¦  «        }t          | j        t          ¦  «        r|
 S | S  ‰| ¦  «        S r,   )r   ÚUnaryOpÚopÚUAddÚUSubÚoperand)r'   r9   r3   s     €r   Ú_convert_signed_numz)literal_eval.<locals>._convert_signed_numL   sq   ø€ Ý�d�GÑ$Ô$ð 	!­°D´G½dÅD¸\Ñ)JÔ)Jð 	!Ø"�l 4¤<Ñ0Ô0ˆGÝ˜$œ'¥4Ñ(Ô(ð !Ø �yÐ à �yÐ Øˆ|˜DÑ!Ô!Ð!r   c           	      óÚ  •— t          | t          ¦  «        r| j        S t          | t          ¦  «        r"t	          t          ‰| j        ¦  «        ¦  «        S t          | t          ¦  «        r"t          t          ‰| j        ¦  «        ¦  «        S t          | t          ¦  «        r"t          t          ‰| j        ¦  «        ¦  «        S t          | t          ¦  «        rRt          | j        t          ¦  «        r8| j        j        dk    r(| j        | j        cxk    rg k    rn nt          ¦   «         S t          | t"          ¦  «        rxt%          | j        ¦  «        t%          | j        ¦  «        k    r ‰| ¦  «         t+          t-          t          ‰| j        ¦  «        t          ‰| j        ¦  «        ¦  «        ¦  «        S t          | t.          ¦  «        r–t          | j        t2          t4          f¦  «        ru ‰| j        ¦  «        } ‰| j        ¦  «        }t          |t:          t<          f¦  «        r9t          |t>          ¦  «        r$t          | j        t2          ¦  «        r||z   S ||z
  S  ‰| ¦  «        S )NÚset) r   r-   r/   ÚTupler   ÚmapÚeltsÚListÚlistÚSetr<   ÚCallÚfuncÚNameÚidÚargsÚkeywordsÚDictÚlenÚkeysÚvaluesÚdictÚzipÚBinOpr6   ÚAddÚSubÚleftÚrightr0   r1   r2   )r'   rR   rS   Ú_convertr3   r:   r*   s      €€€€r   rT   zliteral_eval.<locals>._convertT   s*  ø€ Ý�d�HÑ%Ô%ð 	(Ø”:ÐÝ˜�eÑ$Ô$ð 	(Ý�˜X t¤yÑ1Ô1Ñ2Ô2Ð2Ý˜�dÑ#Ô#ð 	(Ý�˜H d¤iÑ0Ô0Ñ1Ô1Ð1Ý˜�cÑ"Ô"ð 	(Ý•s˜8 T¤YÑ/Ô/Ñ0Ô0Ð0Ý˜�tÑ$Ô$ð 	(­°D´I½tÑ)DÔ)Dð 	(ØŒiŒl˜eÒ#Ð#¨¬	°T´]Ð(HÐ(HÒ(HÐ(HÀbÒ(HÐ(HÐ(HÐ(HÐ(HÝ‘5”5ˆLÝ˜�dÑ#Ô#ð 	(Ý�4”9‰~Œ~¥ T¤[Ñ!1Ô!1Ò1Ð1Ø%Ð% dÑ+Ô+Ð+Ý��C ¨$¬)Ñ4Ô4Ý ¨$¬+Ñ6Ô6ñ8ô 8ñ 9ô 9ð 9å˜�eÑ$Ô$ð 	(­°D´G½cÅ3¸ZÑ)HÔ)Hð 	(Ø&Ð& t¤yÑ1Ô1ˆDØ �L ¤Ñ,Ô,ˆEÝ˜$¥¥e Ñ-Ô-ð (µ*¸UÅGÑ2LÔ2Lð (Ý˜dœg¥sÑ+Ô+ð (Ø %™<Ð'à %™<Ð'Ø"Ð" 4Ñ(Ô(Ð(r   )r   Ústrr   ÚlstripÚ
ExpressionÚbody)Únode_or_stringrT   r3   r:   r*   s    @@@@r   Úliteral_evalrZ   6   sÐ   øøøø€ õ �.¥#Ñ&Ô&ð JÝ˜~×4Ò4°UÑ;Ô;À&ÐIÑIÔIˆÝ�.¥*Ñ-Ô-ð -Ø'Ô,ˆð.ð .ð .ð
ð ð ð ð ð"ð "ð "ð "ð "ð)ð )ð )ð )ð )ð )ð )ð )ð4 ˆ8�NÑ#Ô#Ð#r   T)Úindentc                óØ   ‡‡‡‡— dˆˆˆˆfd„	Št          | t          ¦  «        st          d| j        j        z  ¦  «        ‚‰�t          ‰t
          ¦  «        sd‰z  Š ‰| ¦  «        d         S )a�  
    Return a formatted dump of the tree in node.  This is mainly useful for
    debugging purposes.  If annotate_fields is true (by default),
    the returned string will show the names and the values for fields.
    If annotate_fields is false, the result string will be more compact by
    omitting unambiguous field names.  Attributes such as line
    numbers and column offsets are not dumped by default.  If this is wanted,
    include_attributes can be set to true.  If indent is a non-negative
    integer or string, then the tree will be pretty-printed with that indent
    level. None (the default) selects the single line representation.
    r   c                 ó  •‡— ‰�‰dz  Šd‰‰z  z   }d‰‰z  z   }nd}d}t          | t          ¦  «        �rzt          | ¦  «        }g }d}‰}| j        D ]�}	 t	          | |¦  «        }	n# t
          $ r d}Y Œ"w xY w|	€t	          ||d¦  «        €d}Œ< ‰|	‰¦  «        \  }	}
|o|
}|r|                     |›d|	›�¦  «         Œl|                     |	¦  «         Œ‚‰rt| j        rm| j        D ]e}	 t	          | |¦  «        }	n# t
          $ r Y Œ w xY w|	€t	          ||d¦  «        €Œ8 ‰|	‰¦  «        \  }	}
|o|
}|                     |›d|	›�¦  «         Œf|r;t          |¦  «        d	k    r(| j	        j
        ›d
d                     |¦  «        ›d�| fS | j	        j
        ›d
|›|                     |¦  «        ›d�dfS t          | t          ¦  «        r.| sdS d|›|                     ˆˆfd„| D ¦   «         ¦  «        ›d�dfS t          | ¦  «        dfS )Né   ú
z,
Ú ú, T.ú=r   ú(ú)F)z[]Tú[c              3   ó<   •K  — | ]} ‰|‰¦  «        d          V — ŒdS ©r   N© )Ú.0ÚxÚ_formatÚlevels     €€r   ú	<genexpr>z(dump.<locals>._format.<locals>.<genexpr>ª   s4   øè è € Ð/SÐ/SÈ°°¸¸5Ñ0AÔ0AÀ!Ô0DÐ/SÐ/SÐ/SÐ/SÐ/SÐ/Sr   ú])r   ÚASTr.   Ú_fieldsr%   ÚAttributeErrorÚappendÚ_attributesrJ   Ú	__class__Ú__name__ÚjoinrA   Úrepr)r'   rl   ÚprefixÚsepÚclsrG   Ú	allsimplerH   Únamer/   Úsimplerk   Úannotate_fieldsÚinclude_attributesr[   s    `         €€€€r   rk   zdump.<locals>._format}   sÆ  øø€ ØÐØ�Q‰JˆEØ˜F U™NÑ*ˆFØ˜& 5™.Ñ(ˆCˆCàˆFØˆCÝ�d�CÑ Ô ñ %	\Ý�t‘*”*ˆCØˆDØˆIØ&ˆHØœð 'ð '�ðÝ# D¨$Ñ/Ô/�E�EøÝ%ð ð ð Ø#�HØ�Hðøøøð �=¥W¨S°$¸Ñ%<Ô%<Ð%DØ#�HØØ ' ¨¨uÑ 5Ô 5‘��vØ%Ð0¨&�	Øð 'Ø—K’K¨4¨4¨4°°Ð 7Ñ8Ô8Ð8Ð8à—K’K Ñ&Ô&Ð&Ð&Ø!ð 
9 dÔ&6ð 
9Ø Ô,ð 	9ð 	9�Dð!Ý '¨¨dÑ 3Ô 3˜˜øÝ)ð !ð !ð !Ø ˜ð!øøøà�}­°°d¸CÑ)@Ô)@Ð)HØ Ø$+ G¨E°5Ñ$9Ô$9‘M�E˜6Ø )Ð 4¨f�IØ—K’K¨4¨4¨4°°Ð 7Ñ8Ô8Ð8Ð8Øð W�S ™YœY¨!š^˜^Ø#'¤>Ô#:Ð#:Ð#:¸D¿IºIÀd¹O¼O¸O¸OÐLÐRVÈhÐVÐVØ!%¤Ô!8Ð!8Ð!8¸&¸&À#Ç(Â(È4Á.Ä.À.À.ÐQÐSXÐXÐXÝ˜�dÑ#Ô#ð 	\Øð "Ø!�zð"à%˜v s§x¢xÐ/SÐ/SÐ/SÐ/SÐ/SÈdÐ/SÑ/SÔ/SÑ'SÔ'SÐ'SÐ'SÐTÐV[Ð[Ð[Ý�D‰zŒz˜4ÐÐs$   ÁA%Á%A4Á3A4Ã&C7Ã7
DÄDzexpected AST, got %rNú )r   )r   ro   Ú	TypeErrorrt   ru   rU   )r'   r~   r   r[   rk   s    ```@r   Údumpr‚   q   s“   øøøø€ ð. ð . ð . ð . ð . ð . ð . ð . ð . õ` �d�CÑ Ô ð JÝÐ.°´Ô1HÑHÑIÔIÐIØÐ¥*¨VµSÑ"9Ô"9ÐØ�v‘ˆØˆ7�4‰=Œ=˜ÔÐr   c                 óÆ   — dD ]]}||j         v rR|| j         v rIt          ||d¦  «        }|€%t          ||¦  «        r&|                     d¦  «        rt	          | ||¦  «         Œ^| S )z¬
    Copy source location (`lineno`, `col_offset`, `end_lineno`, and `end_col_offset`
    attributes) from *old_node* to *new_node* if possible, and return *new_node*.
    )r#   Ú
col_offsetÚ
end_linenoÚend_col_offsetNÚend_)rs   r%   ÚhasattrÚ
startswithÚsetattr)Únew_nodeÚold_nodeÚattrr/   s       r   Úcopy_locationrŽ   ´   sˆ   € ð
 Gð /ð /ˆØ�8Ô'Ð'Ð'¨D°HÔ4HÐ,HÐ,HÝ˜H d¨DÑ1Ô1ˆEð Ð Ý˜ $Ñ'Ô'ð !Ø,0¯OªO¸FÑ,CÔ,Cð !õ ˜ $¨Ñ.Ô.Ð.øØ€Or   c                 ó0   ‡— ˆfd„Š ‰| dddd¦  «         | S )a{  
    When you compile a node tree with compile(), the compiler expects lineno and
    col_offset attributes for every node that supports them.  This is rather
    tedious to fill in for generated nodes, so this helper adds these attributes
    recursively where not already set, by setting them to the values of the
    parent node.  It works recursively starting at *node*.
    c                 óŽ  •— d| j         v rt          | d¦  «        s|| _        n| j        }d| j         v r t          | dd ¦  «        €|| _        n| j        }d| j         v rt          | d¦  «        s|| _        n| j        }d| j         v r t          | dd ¦  «        €|| _        n| j        }t          | ¦  «        D ]} ‰|||||¦  «         Œd S )Nr#   r…   r„   r†   )rs   rˆ   r#   r%   r…   r„   r†   Úiter_child_nodes)r'   r#   r„   r…   r†   ÚchildÚ_fixs         €r   r“   z#fix_missing_locations.<locals>._fixÍ   s  ø€ Ø�tÔ'Ð'Ð'Ý˜4 Ñ*Ô*ð %Ø$�”�àœ�Ø˜4Ô+Ð+Ð+Ý�t˜\¨4Ñ0Ô0Ð8Ø",�”�à!œ_�
Ø˜4Ô+Ð+Ð+Ý˜4 Ñ.Ô.ð -Ø",�”�à!œ_�
Ø˜tÔ/Ð/Ð/Ý�tÐ-¨tÑ4Ô4Ð<Ø&4�Ô#Ð#à!%Ô!4�Ý% dÑ+Ô+ð 	Hð 	HˆEØˆD�˜ 
¨J¸ÑGÔGÐGÐGð	Hð 	Hr   r^   r   rh   )r'   r“   s    @r   Úfix_missing_locationsr”   Å   s@   ø€ ðHð Hð Hð Hð Hð. 	€Dˆˆq�!�Q˜ÑÔÐØ€Kr   r^   c                 ó  — t          | ¦  «        D ]y}t          |t          ¦  «        rt          |dd¦  «        |z   |_        Œ1d|j        v rt          |dd¦  «        |z   |_        d|j        v rt          |dd¦  «        x}�
||z   |_        Œz| S )z´
    Increment the line number and end line number of each node in the tree
    starting at *node* by *n*. This is useful to "move code" to a different
    location in a file.
    r#   r   r…   )Úwalkr   Ú
TypeIgnorer%   r#   rs   r…   )r'   Únr’   r…   s       r   Úincrement_linenor™   è   s¥   € õ �d‘”ð .ð .ˆõ �e�ZÑ(Ô(ð 	Ý" 5¨(°AÑ6Ô6¸Ñ:ˆEŒLØà�uÔ(Ð(Ð(Ý" 5¨(°AÑ6Ô6¸Ñ:ˆEŒLà˜EÔ-Ð-Ð-Ý& u¨l¸AÑ>Ô>Ð>�ÐKà)¨A™~ˆEÔøØ€Kr   c              #   óh   K  — | j         D ]'}	 |t          | |¦  «        fV — Œ# t          $ r Y Œ$w xY wdS )zs
    Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields``
    that is present on *node*.
    N)rp   r%   rq   )r'   Úfields     r   Úiter_fieldsrœ   ÿ   sf   è è € ð
 ”ð ð ˆð	Ø�  uÑ-Ô-Ð-Ð-Ð-Ð-Ð-øÝð 	ð 	ð 	ØˆDð	øøøðð s   �"¢
/®/c              #   óÎ   K  — t          | ¦  «        D ]R\  }}t          |t          ¦  «        r|V — Œt          |t          ¦  «        r|D ]}t          |t          ¦  «        r|V — ŒŒSdS )z‰
    Yield all direct child nodes of *node*, that is, all fields that are nodes
    and all items of fields that are lists of nodes.
    N)rœ   r   ro   rA   )r'   r|   r›   Úitems       r   r‘   r‘     sˆ   è è € õ
 # 4Ñ(Ô(ð ð ‰ˆˆeÝ�e�SÑ!Ô!ð 	ØˆKˆKˆKˆKÝ˜�tÑ$Ô$ð 	Øð ð �Ý˜d¥CÑ(Ô(ð Ø�J�J�Jøøðð r   c                 óæ  — t          | t          t          t          t          f¦  «        st          d| j        j        z  ¦  «        ‚| j        r t          | j        d         t          ¦  «        sdS | j        d         j
        } t          | t          ¦  «        r| j        }n9t          | t          ¦  «        r"t          | j
        t          ¦  «        r| j
        }ndS |rddl}|                     |¦  «        }|S )aC  
    Return the docstring for the given node or None if no docstring can
    be found.  If the node provided does not have docstrings a TypeError
    will be raised.

    If *clean* is `True`, all tabs are expanded to spaces and any whitespace
    that can be uniformly removed from the second line onwards is removed.
    z%r can't have docstringsr   N)r   ÚAsyncFunctionDefÚFunctionDefÚClassDefÚModuler�   rt   ru   rX   ÚExprr/   ÚStrÚsr-   rU   ÚinspectÚcleandoc)r'   ÚcleanÚtextr§   s       r   Úget_docstringr«     så   € õ �dÕ-­{½HÅfÐMÑNÔNð NÝÐ2°T´^Ô5LÑLÑMÔMÐMØŒ9ð � D¤I¨a¤Lµ$Ñ7Ô7ð ØˆtØŒ9�QŒ<Ô€DÝ�$�ÑÔð ØŒvˆˆÝ	�D�(Ñ	#Ô	#ð ­
°4´:½sÑ(CÔ(Cð ØŒzˆˆàˆtØð &ØˆˆˆØ×Ò Ñ%Ô%ˆØ€Kr   c                 óD  — d}g }d}|t          | ¦  «        k     ro| |         }||z  }|dz  }|dk    r)|t          | ¦  «        k     r| |         dk    r
|dz  }|dz  }|dv r|                     |¦  «         d}|t          | ¦  «        k     °o|r|                     |¦  «         |S )z}Split a string into lines ignoring form feed and other chars.

    This mimics how the Python parser splits source code.
    r   r`   r^   úr_   z
)rJ   rr   )r   ÚidxÚlinesÚ	next_lineÚcs        r   Ú_splitlines_no_ffr²   3  sÍ   € ð
 €CØ€EØ€IØ
•�F‘”Ò
Ð
Ø�3ŒKˆØ�Q‰ˆ	Øˆq‰ˆà�Š9ˆ9˜�s 6™{œ{Ò*Ð*¨v°c¬{¸dÒ/BÐ/BØ˜ÑˆIØ�1‰HˆCØ�ˆ;ˆ;Ø�LŠL˜Ñ#Ô#Ð#ØˆIð •�F‘”Ò
Ð
ð ð  Ø�Š�YÑÔÐØ€Lr   c                 ó2   — d}| D ]}|dv r||z  }Œ|dz  }Œ|S )z6Replace all chars except '\f\t' in a line with spaces.r`   z	r€   rh   )r   Úresultr±   s      r   Ú_pad_whitespacerµ   L  s:   € à€FØð ð ˆØ�ˆ;ˆ;Ø�a‰KˆFˆFà�c‰MˆFˆFØ€Mr   )Úpaddedc                ó  — 	 |j         �|j        €dS |j        dz
  }|j         dz
  }|j        }|j        }n# t          $ r Y dS w xY wt          | ¦  «        }||k    r4||                              ¦   «         ||…                              ¦   «         S |rBt          ||                              ¦   «         d|…                              ¦   «         ¦  «        }nd}|||                              ¦   «         |d…                              ¦   «         z   }	||                              ¦   «         d|…                              ¦   «         }
||dz   |…         }| 	                    d|	¦  «         | 
                    |
¦  «         d                     |¦  «        S )aB  Get source code segment of the *source* that generated *node*.

    If some location information (`lineno`, `end_lineno`, `col_offset`,
    or `end_col_offset`) is missing, return None.

    If *padded* is `True`, the first line of a multi-line statement will
    be padded with spaces to match its original position.
    Nr^   r`   r   )r…   r†   r#   r„   rq   r²   ÚencodeÚdecoderµ   Úinsertrr   rv   )r   r'   r¶   r#   r…   r„   r†   r¯   ÚpaddingÚfirstÚlasts              r   Úget_source_segmentr¾   W  s�  € ðØŒ?Ð" dÔ&9Ð&AØ�4Ø”˜q‘ˆØ”_ qÑ(ˆ
Ø”_ˆ
ØÔ,ˆˆøÝð ð ð Øˆtˆtðøøøõ ˜fÑ%Ô%€EØ�VÒÐØ�VŒ}×#Ò#Ñ%Ô% j°Ð&?Ô@×GÒGÑIÔIÐIàð Ý! %¨¤-×"6Ò"6Ñ"8Ô"8¸¸*¸Ô"E×"LÒ"LÑ"NÔ"NÑOÔOˆˆàˆà�e˜F”m×*Ò*Ñ,Ô,¨Z¨[¨[Ô9×@Ò@ÑBÔBÑB€EØ�Ô×#Ò#Ñ%Ô% o ~ oÔ6×=Ò=Ñ?Ô?€DØ�&˜‘(˜:Ð%Ô&€Eà	‡L‚L��EÑÔÐØ	‡L‚L�ÑÔÐØ�7Š7�5‰>Œ>Ðs   ‚5 ’"5 µ
AÁAc              #   ó®   K  — ddl m}  || g¦  «        }|r>|                     ¦   «         } |                     t	          | ¦  «        ¦  «         | V — |°<dS dS )zå
    Recursively yield all descendant nodes in the tree starting at *node*
    (including *node* itself), in no specified order.  This is useful if you
    only want to modify nodes in place and don't care about the context.
    r   )ÚdequeN)ÚcollectionsrÀ   ÚpopleftÚextendr‘   )r'   rÀ   Útodos      r   r–   r–   |  s€   è è € ð "Ð!Ð!Ð!Ð!Ð!Øˆ5�$�‰=Œ=€DØ
ð Ø�|Š|‰~Œ~ˆØ�ŠÕ$ TÑ*Ô*Ñ+Ô+Ð+Øˆ
ˆ
ˆ
ð ð ð ð ð ð r   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚNodeVisitora<  
    A node visitor base class that walks the abstract syntax tree and calls a
    visitor function for every node found.  This function may return a value
    which is forwarded by the `visit` method.

    This class is meant to be subclassed, with the subclass adding visitor
    methods.

    Per default the visitor functions for the nodes are ``'visit_'`` +
    class name of the node.  So a `TryFinally` node visit function would
    be `visit_TryFinally`.  This behavior can be changed by overriding
    the `visit` method.  If no visitor function exists for a node
    (return value `None`) the `generic_visit` visitor is used instead.

    Don't use the `NodeVisitor` if you want to apply changes to nodes during
    traversing.  For this a special visitor exists (`NodeTransformer`) that
    allows modifications.
    c                 ób   — d|j         j        z   }t          | || j        ¦  «        } ||¦  «        S )zVisit a node.Úvisit_)rt   ru   r%   Úgeneric_visit)Úselfr'   ÚmethodÚvisitors       r   ÚvisitzNodeVisitor.visitž  s3   € à˜DœNÔ3Ñ3ˆÝ˜$ ¨Ô(:Ñ;Ô;ˆØˆw�t‰}Œ}Ðr   c                 ó  — t          |¦  «        D ]t\  }}t          |t          ¦  «        r0|D ],}t          |t          ¦  «        r|                      |¦  «         Œ-ŒJt          |t          ¦  «        r|                      |¦  «         ŒudS )z9Called if no explicit visitor function exists for a node.N)rœ   r   rA   ro   rÍ   )rÊ   r'   r›   r/   rž   s        r   rÉ   zNodeVisitor.generic_visit¤  s™   € å'¨Ñ-Ô-ð 	"ð 	"‰LˆE�5Ý˜%¥Ñ&Ô&ð "Ø!ð )ð )�DÝ! $­Ñ,Ô,ð )ØŸ
š
 4Ñ(Ô(Ð(øð)õ ˜E¥3Ñ'Ô'ð "Ø—
’
˜5Ñ!Ô!Ð!øð	"ð 	"r   c                 óž  — |j         }t                               t          |¦  «        ¦  «        }|€3t                               ¦   «         D ]\  }}t          ||¦  «        r|} nŒ|�Td|z   }	 t          | |¦  «        }dd l}|                     |› d�t          d¦  «          ||¦  «        S # t          $ r Y nw xY w|                      |¦  «        S )NrÈ   r   z" is deprecated; add visit_Constanté   )r/   Ú_const_node_type_namesÚgetr.   Úitemsr   r%   ÚwarningsÚwarnÚDeprecationWarningrq   rÉ   )	rÊ   r'   r/   Ú	type_namerz   r|   rË   rÌ   rÔ   s	            r   Úvisit_ConstantzNodeVisitor.visit_Constant®  s  € Ø”
ˆÝ*×.Ò.­t°E©{¬{Ñ;Ô;ˆ	ØÐÝ3×9Ò9Ñ;Ô;ð ð ‘	��TÝ˜e SÑ)Ô)ð Ø $�IØ�Eðð Ð Ø 	Ñ)ˆFð%Ý! $¨Ñ/Ô/�ð  ���Ø—’ ÐKÐKÐKÝ0°!ñ5ô 5ð 5à�w˜t‘}”}Ð$øõ "ð ð ð Ø�ðøøøð ×!Ò! $Ñ'Ô'Ð's   Á,B* Â*
B7Â6B7N)ru   Ú
__module__Ú__qualname__Ú__doc__rÍ   rÉ   rØ   rh   r   r   rÆ   rÆ   Š  sK   € € € € € ðð ð&ð ð ð"ð "ð "ð(ð (ð (ð (ð (r   rÆ   c                   ó   — e Zd ZdZd„ ZdS )ÚNodeTransformeraC  
    A :class:`NodeVisitor` subclass that walks the abstract syntax tree and
    allows modification of nodes.

    The `NodeTransformer` will walk the AST and use the return value of the
    visitor methods to replace or remove the old node.  If the return value of
    the visitor method is ``None``, the node will be removed from its location,
    otherwise it is replaced with the return value.  The return value may be the
    original node in which case no replacement takes place.

    Here is an example transformer that rewrites all occurrences of name lookups
    (``foo``) to ``data['foo']``::

       class RewriteName(NodeTransformer):

           def visit_Name(self, node):
               return Subscript(
                   value=Name(id='data', ctx=Load()),
                   slice=Constant(value=node.id),
                   ctx=node.ctx
               )

    Keep in mind that if the node you're operating on has child nodes you must
    either transform the child nodes yourself or call the :meth:`generic_visit`
    method for the node first.

    For nodes that were part of a collection of statements (that applies to all
    statement nodes), the visitor may also return a list of nodes rather than
    just a single node.

    Usually you use the transformer like this::

       node = YourTransformer().visit(node)
    c                 óî  — t          |¦  «        D ]ä\  }}t          |t          ¦  «        r|g }|D ]o}t          |t          ¦  «        rC|                      |¦  «        }|€Œ/t          |t          ¦  «        s|                     |¦  «         ŒZ|                     |¦  «         Œp||d d …<   Œ–t          |t          ¦  «        r9|                      |¦  «        }|€t          ||¦  «         ŒÓt          |||¦  «         Œå|S r,   )	rœ   r   rA   ro   rÍ   rÃ   rr   ÚdelattrrŠ   )rÊ   r'   r›   Ú	old_valueÚ
new_valuesr/   r‹   s          r   rÉ   zNodeTransformer.generic_visitè  s  € Ý +¨DÑ 1Ô 1ð 	3ð 	3ÑˆE�9Ý˜)¥TÑ*Ô*ð 3Ø�
Ø&ð -ð -�EÝ! %­Ñ-Ô-ð %Ø $§
¢
¨5Ñ 1Ô 1˜Ø ˜=Ø$Ý!+¨Eµ3Ñ!7Ô!7ð %Ø&×-Ò-¨eÑ4Ô4Ð4Ø$Ø×%Ò% eÑ,Ô,Ð,Ð,Ø)�	˜!˜!˜!‘�Ý˜I¥sÑ+Ô+ð 3ØŸ:š: iÑ0Ô0�ØÐ#Ý˜D %Ñ(Ô(Ð(Ð(å˜D %¨Ñ2Ô2Ð2øØˆr   N)ru   rÙ   rÚ   rÛ   rÉ   rh   r   r   rÝ   rÝ   Ä  s.   € € € € € ð!ð !ðFð ð ð ð r   rÝ   r˜   c                 ó   — | j         S )zDeprecated. Use value instead.©r/   ©rÊ   s    r   Ú_getterrå     s
   € àŒzÐr   c                 ó   — || _         d S r,   rã   ©rÊ   r/   s     r   Ú_setterrè     s   € ØˆŒ
ˆ
ˆ
r   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú_ABCc                 ó   — d| _         d S )Nz3Deprecated AST node class. Use ast.Constant instead)rÛ   )rz   rG   s     r   Ú__init__z_ABC.__init__  s   € ØOˆŒˆˆr   c                 ó4  — t          |t          ¦  «        sdS | t          v r^	 |j        }t          |t          |          ¦  «        o)t          |t                               | d¦  «        ¦  «         S # t          $ r Y dS w xY wt                               | |¦  «        S )NFrh   )	r   r-   Ú_const_typesr/   Ú_const_types_notrÒ   rq   r.   Ú__instancecheck__)rz   Úinstr/   s      r   rð   z_ABC.__instancecheck__  s¬   € Ý˜$¥Ñ)Ô)ð 	Ø�5Ø•,ÐÐðØœ
�õ
 ˜u¥l°3Ô&7Ñ8Ô8ð IÝ" 5Õ*:×*>Ò*>¸sÀBÑ*GÔ*GÑHÔHÐHðøõ "ð ð ð Ø�u�uðøøøõ ×%Ò% c¨4Ñ0Ô0Ð0s   ¢A. Á.
A<Á;A<N)ru   rÙ   rÚ   rì   rð   rh   r   r   rê   rê     s5   € € € € € ðPð Pð Pð1ð 1ð 1ð 1ð 1r   rê   c                 ó   — |D ]R}|| j         vrŒ| j                              |¦  «        }|t          |¦  «        k     rt          | j        › d|›�¦  «        ‚ŒS| t
          v rt          |i |¤ŽS t          j        | g|¢R i |¤ŽS )Nz" got multiple values for argument )rp   ÚindexrJ   r�   ru   rî   r-   Ú__new__)rz   rG   ÚkwargsÚkeyÚposs        r   Ú_newrø   "  s©   € Øð Xð XˆØ�c”kÐ!Ð!àØŒk×Ò Ñ$Ô$ˆØ•�T‘”Š?ˆ?Ý˜sœ|ÐVÐVÈsÐVÐVÑWÔWÐWð à
�lÐÐÝ˜Ð( Ð(Ð(Ð(ÝÔ˜CÐ1 $Ð1Ð1Ð1¨&Ð1Ð1Ð1r   c                   ó   — e Zd ZdZeZdS )ÚNum)r˜   N©ru   rÙ   rÚ   rp   rø   rô   rh   r   r   rú   rú   .  ó   € € € € € Ø€GØ€G€G€Gr   rú   )Ú	metaclassc                   ó   — e Zd ZdZeZdS )r¥   ©r¦   Nrû   rh   r   r   r¥   r¥   2  rü   r   r¥   c                   ó   — e Zd ZdZeZdS )ÚBytesrÿ   Nrû   rh   r   r   r  r  6  rü   r   r  c                   ó   — e Zd ZeZdS )ÚNameConstantN)ru   rÙ   rÚ   rø   rô   rh   r   r   r  r  :  s   € € € € € Ø€G€G€Gr   r  c                   ó   — e Zd ZdZd„ ZdS )ÚEllipsisrh   c                 ó^   — | t           u rt          dg|¢R i |¤ŽS t          j        | g|¢R i |¤ŽS )N.)r  r-   rô   )rz   rG   rõ   s      r   rô   zEllipsis.__new__@  sJ   € Ø•(ˆ?ˆ?Ý˜CÐ1 $Ð1Ð1Ð1¨&Ð1Ð1Ð1ÝÔ Ð5 dÐ5Ð5Ð5¨fÐ5Ð5Ð5r   N)ru   rÙ   rÚ   rp   rô   rh   r   r   r  r  =  s(   € € € € € Ø€Gð6ð 6ð 6ð 6ð 6r   r  .c                   ó   — e Zd ZdZdS )ÚslicezDeprecated AST node class.N©ru   rÙ   rÚ   rÛ   rh   r   r   r  r  [  s   € € € € € Ø$Ð$Ð$Ð$r   r  c                   ó   — e Zd ZdZd„ ZdS )ÚIndexz@Deprecated AST node class. Use the index value directly instead.c                 ó   — |S r,   rh   )rz   r/   rõ   s      r   rô   zIndex.__new__`  s   € Øˆr   N©ru   rÙ   rÚ   rÛ   rô   rh   r   r   r  r  ^  s)   € € € € € ØJÐJðð ð ð ð r   r  c                   ó   — e Zd ZdZdd„ZdS )ÚExtSlicez1Deprecated AST node class. Use ast.Tuple instead.rh   c                 óP   — t          t          |¦  «        t          ¦   «         fi |¤ŽS r,   )r=   rA   ÚLoad)rz   Údimsrõ   s      r   rô   zExtSlice.__new__e  s$   € Ý•T˜$‘Z”Z¥¡¤Ð2Ð2¨6Ð2Ð2Ð2r   N)rh   r  rh   r   r   r  r  c  s.   € € € € € Ø;Ð;ð3ð 3ð 3ð 3ð 3ð 3r   r  r  c                 ó   — | j         S )zDeprecated. Use elts instead.©r?   rä   s    r   Ú_dims_getterr  m  s
   € àŒyÐr   c                 ó   — || _         d S r,   r  rç   s     r   Ú_dims_setterr  q  s   € ØˆŒ	ˆ	ˆ	r   c                   ó   — e Zd ZdZdS )ÚSuiteú/Deprecated AST node class.  Unused in Python 3.Nr	  rh   r   r   r  r  v  ó   € € € € € Ø9Ð9Ð9Ð9r   r  c                   ó   — e Zd ZdZdS )ÚAugLoadr  Nr	  rh   r   r   r  r  y  r  r   r  c                   ó   — e Zd ZdZdS )ÚAugStorer  Nr	  rh   r   r   r  r  |  r  r   r  c                   ó   — e Zd ZdZdS )ÚParamr  Nr	  rh   r   r   r!  r!    r  r   r!  Ú1ec                   ó„  — e Zd ZdZ e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         Z e¦   «         Z e¦   «         ZeZ e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Zd„ ZdS )Ú_Precedencez5Precedence table that originated from python grammar.c                 óX   — 	 |                       | dz   ¦  «        S # t          $ r | cY S w xY w©Nr^   )rt   r&   rä   s    r   Únextz_Precedence.next   sA   € ð	Ø—>’> $¨¡(Ñ+Ô+Ð+øÝð 	ð 	ð 	ØˆKˆKˆKð	øøøs   ‚ š)¨)N)ru   rÙ   rÚ   rÛ   r   Ú
NAMED_EXPRÚTUPLEÚYIELDÚTESTÚORÚANDÚNOTÚCMPÚEXPRÚBORÚBXORÚBANDÚSHIFTÚARITHÚTERMÚFACTORÚPOWERÚAWAITÚATOMr'  rh   r   r   r$  r$  ‡  sô   € € € € € à?Ð?à�‘”€JØˆD‰FŒF€EØˆD‰FŒF€EØˆ4‰6Œ6€DØ	ˆ‰Œ€BØ
ˆ$‰&Œ&€CØ
ˆ$‰&Œ&€CØ
ˆ$‰&Œ&€Càˆ4‰6Œ6€DØ
€CØˆ4‰6Œ6€DØˆ4‰6Œ6€DØˆD‰FŒF€EØˆD‰FŒF€EØˆ4‰6Œ6€DØˆT‰VŒV€FØˆD‰FŒF€EØˆD‰FŒF€EØˆ4‰6Œ6€Dðð ð ð ð r   r$  )ú'ú")z"""ú'''c                   ó  ‡ — e Zd ZdZddœd„Zd„ Zd„ Zd„ Zd�d	„Zd
„ Z	e
d�d„¦   «         Ze
ddœd„¦   «         Ze
d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Z d#„ Z!d$„ Z"d%„ Z#d&„ Z$d'„ Z%d(„ Z&d)„ Z'd*„ Z(d+„ Z)d,„ Z*d-„ Z+d.„ Z,d/„ Z-d0„ Z.d1„ Z/d2„ Z0d3„ Z1d4„ Z2d5„ Z3d6„ Z4d7„ Z5d8„ Z6d9„ Z7d:„ Z8d;„ Z9d<„ Z:e;dd=œd>„Z<e;d?œd@„Z=dA„ Z>dB„ Z?dC„ Z@dD„ ZAdE„ ZBdF„ ZCdG„ ZDdH„ ZEdI„ ZFdJ„ ZGdK„ ZHdL„ ZIdM„ ZJdN„ ZKdO„ ZLdP„ ZMdQ„ ZNdRdSdTdUdVœZOePjQ        ePjR        ePjR        ePjR        dWœZSdX„ ZTdTdUdYdZd[d\d]d^d_d`dadbdcddœZUePjV        ePjV        ePjW        ePjW        ePjW        ePjW        ePjX        ePjX        ePjY        ePjZ        ePj[        ePjW        ePj\        deœZ] e^df¦  «        Z_dg„ Z`dhdidjdkdldmdndodpdqdrœ
Zads„ ZbdtdudvœZcePjd        ePje        dwœZfdx„ Zgdy„ Zhdz„ Zid{„ Zjd|„ Zkd}„ Zld~„ Zmd„ Znd€„ Zod�„ Zpd‚„ Zqdƒ„ Zrd„„ Zsd…„ Ztd†„ Zud‡„ Zvdˆ„ Zwd‰„ ZxdŠ„ Zyd‹„ ZzdŒ„ Z{d�„ Z|dŽ„ Z}ˆ xZ~S )‘Ú	_Unparserz�Methods in this class recursively traverse an AST and
    output source code for the abstract syntax; original formatting
    is disregarded.F©Ú_avoid_backslashesc                óZ   — g | _         i | _        i | _        d| _        || _        d| _        d S )Nr   F)Ú_sourceÚ_precedencesÚ_type_ignoresÚ_indentrA  Ú_in_try_star)rÊ   rA  s     r   rì   z_Unparser.__init__°  s6   € ØˆŒØˆÔØˆÔØˆŒØ"4ˆÔØ!ˆÔÐÐr   c                 ó¬   — t          |¦  «        }	  |t          |¦  «        ¦  «         |D ]} |¦   «           ||¦  «         ŒdS # t          $ r Y dS w xY w)z7Call f on each item in seq, calling inter() in between.N)Úiterr'  ÚStopIteration)rÊ   ÚinterÚfÚseqrj   s        r   Ú
interleavez_Unparser.interleave¸  s~   € å�3‰iŒiˆð	ØˆA�d�3‰iŒi‰LŒLˆLð ð ð �Ø�‘”�Ø��!‘”��ðð øõ ð 	ð 	ð 	ØˆDˆDð	øøøs   ‘A Á
AÁAc                 ó²   ‡ — t          |¦  «        dk    r( ||d         ¦  «         ‰                      d¦  «         dS ‰                      ˆ fd„||¦  «         dS )z§Traverse and separate the given *items* with a comma and append it to
        the buffer. If *items* is a single item sequence, a trailing comma
        will be added.r^   r   ú,c                  ó.   •— ‰                       d¦  «        S ©Nra   ©Úwriterä   s   €r   ú<lambda>z&_Unparser.items_view.<locals>.<lambda>Ì  ó   ø€  D§J¢J¨tÑ$4Ô$4€ r   N)rJ   rT  rN  )rÊ   Ú	traverserrÓ   s   `  r   Ú
items_viewz_Unparser.items_viewÄ  sa   ø€ õ ˆu‰:Œ:˜Š?ˆ?ØˆI�e˜A”hÑÔÐØ�JŠJ�s‰OŒOˆOˆOˆOà�OŠOÐ4Ð4Ð4Ð4°iÀÑGÔGÐGÐGÐGr   c                 óB   — | j         r|                      d¦  «         dS dS )z8Adds a newline if it isn't the start of generated sourcer_   N)rC  rT  rä   s    r   Úmaybe_newlinez_Unparser.maybe_newlineÎ  s.   € àŒ<ð 	Ø�JŠJ�tÑÔÐÐÐð	ð 	r   r`   c                 ón   — |                       ¦   «          |                      d| j        z  |z   ¦  «         dS )zXIndent a piece of text and append it, according to the current
        indentation levelz    N)rZ  rT  rF  ©rÊ   rª   s     r   Úfillz_Unparser.fillÓ  s:   € ð 	×ÒÑÔÐØ�
Š
�6˜DœLÑ(¨4Ñ/Ñ0Ô0Ð0Ð0Ð0r   c                 ó:   — | j                              |¦  «         dS )zAdd new source partsN)rC  rÃ   r\  s     r   rT  z_Unparser.writeÙ  s   € àŒ×Ò˜DÑ!Ô!Ð!Ð!Ð!r   Nc              #   óD   K  — |€g }| j         }|| _         |V — || _         d S r,   )rC  )rÊ   ÚbufferÚoriginal_sources      r   Úbufferedz_Unparser.bufferedÝ  s2   è è € àˆ>ØˆFàœ,ˆØˆŒØˆˆˆØ&ˆŒˆˆr   ©Úextrac             #   óª   K  — |                       d¦  «         |r|                       |¦  «         | xj        dz  c_        dV — | xj        dz  c_        dS )a  A context manager for preparing the source for blocks. It adds
        the character':', increases the indentation on enter and decreases
        the indentation on exit. If *extra* is given, it will be directly
        appended after the colon character.
        ú:r^   N)rT  rF  )rÊ   rd  s     r   Úblockz_Unparser.blockç  s^   è è € ð 	�
Š
�3‰ŒˆØð 	Ø�JŠJ�uÑÔÐØˆŒ˜ÑˆŒØˆˆˆØˆŒ˜ÑˆŒˆˆr   c              #   óf   K  — |                       |¦  «         dV — |                       |¦  «         dS )z‡A context manager for preparing the source for expressions. It adds
        *start* to the buffer and enters, after exit it adds *end*.NrS  )rÊ   ÚstartÚends      r   Údelimitz_Unparser.delimitõ  s6   è è € ð
 	�
Š
�5ÑÔÐØˆˆˆØ�
Š
�3‰Œˆˆˆr   c                 óN   — |r|                       ||¦  «        S t          ¦   «         S r,   )rk  r   )rÊ   ri  rj  Ú	conditions       r   Ú
delimit_ifz_Unparser.delimit_ifþ  s(   € Øð 	!Ø—<’<  sÑ+Ô+Ð+å‘=”=Ð r   c                 ó^   — |                       dd|                      |¦  «        |k    ¦  «        S )z,Shortcut to adding precedence related parensrc   rd   )rn  Úget_precedence)rÊ   Ú
precedencer'   s      r   Úrequire_parensz_Unparser.require_parens  s+   € à�Š˜s C¨×)<Ò)<¸TÑ)BÔ)BÀZÒ)OÑPÔPÐPr   c                 óL   — | j                              |t          j        ¦  «        S r,   )rD  rÒ   r$  r+  ©rÊ   r'   s     r   rp  z_Unparser.get_precedence  s   € ØÔ ×$Ò$ T­;Ô+;Ñ<Ô<Ð<r   c                 ó$   — |D ]}|| j         |<   Œd S r,   )rD  )rÊ   rq  Únodesr'   s       r   Úset_precedencez_Unparser.set_precedence  s+   € Øð 	1ð 	1ˆDØ&0ˆDÔ˜dÑ#Ð#ð	1ð 	1r   c                 óF  — t          |t          t          t          t          f¦  «        rt          |j        ¦  «        dk     rdS |j        d         }t          |t          ¦  «        sdS |j        }t          |t          ¦  «        rt          |j        t          ¦  «        r|S dS dS )z«If a docstring node is found in the body of the *node* parameter,
        return that docstring node, None otherwise.

        Logic mirrored from ``_PyAST_GetDocString``.r^   Nr   )r   r    r¡   r¢   r£   rJ   rX   r¤   r/   r-   rU   rt  s     r   Úget_raw_docstringz_Unparser.get_raw_docstring  s¤   € õ
 ØÕ#¥[µ(½FÐCñ
ô 
ð 	å�”‰^Œ^˜aÒÐØ�4ØŒy˜Œ|ˆÝ˜$¥Ñ%Ô%ð 	Ø�4ØŒzˆÝ�d�HÑ%Ô%ð 	­*°T´ZÅÑ*EÔ*Eð 	ØˆKð	ð 	ð 	ð 	r   c                 ó`   — | j                              |j        ¦  «        p|j        }|�d|› �S d S )Nz	 # type: )rE  rÒ   r#   Útype_comment)rÊ   r'   Úcomments      r   Úget_type_commentz_Unparser.get_type_comment  s>   € ØÔ$×(Ò(¨¬Ñ5Ô5ÐJ¸Ô9JˆØÐØ(˜wÐ(Ð(Ð(ð Ðr   c                 ó¬   •— t          |t          ¦  «        r|D ]}|                      |¦  «         Œd S t          ¦   «                              |¦  «         d S r,   )r   rA   ÚtraverseÚsuperrÍ   )rÊ   r'   rž   rt   s      €r   r  z_Unparser.traverse$  sa   ø€ Ý�d�DÑ!Ô!ð 	 Øð $ð $�Ø—’˜dÑ#Ô#Ð#Ð#ð$ð $õ ‰GŒG�MŠM˜$ÑÔÐÐÐr   c                 ón   — g | _         |                      |¦  «         d                     | j         ¦  «        S )z‚Outputs a source code string that, if converted back to an ast
        (using ast.parse) will generate an AST equivalent to *node*r`   )rC  r  rv   rt  s     r   rÍ   z_Unparser.visit.  s1   € ð ˆŒØ�Š�dÑÔÐØ�wŠw�t”|Ñ$Ô$Ð$r   c                 óÚ   — |                       |¦  «        x}r9|                      |¦  «         |                      |j        dd …         ¦  «         d S |                      |j        ¦  «         d S r&  )ry  Ú_write_docstringr  rX   )rÊ   r'   Ú	docstrings      r   Ú"_write_docstring_and_traverse_bodyz,_Unparser._write_docstring_and_traverse_body5  sm   € Ø×/Ò/°Ñ5Ô5Ð5ˆIð 	%Ø×!Ò! )Ñ,Ô,Ð,Ø�MŠM˜$œ) A B Bœ-Ñ(Ô(Ð(Ð(Ð(à�MŠM˜$œ)Ñ$Ô$Ð$Ð$Ð$r   c                 óŽ   — d„ |j         D ¦   «         | _        |                      |¦  «         | j                             ¦   «          d S )Nc                 ó.   — i | ]}|j         d |j        › �“ŒS )Úignore)r#   Útag)ri   rˆ  s     r   ú
<dictcomp>z*_Unparser.visit_Module.<locals>.<dictcomp>=  s7   € ð 
ð 
ð 
àð ŒMÐ0 F¤JÐ0Ð0ð
ð 
ð 
r   )Útype_ignoresrE  r…  Úclearrt  s     r   Úvisit_Modulez_Unparser.visit_Module<  sW   € ð
ð 
àÔ+ð
ñ 
ô 
ˆÔð 	×/Ò/°Ñ5Ô5Ð5ØÔ× Ò Ñ"Ô"Ð"Ð"Ð"r   c                 ó
  ‡ — ‰                       dd¦  «        5  ‰                      ˆ fd„‰ j        |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                      d¦  «         ‰                      |j        ¦  «         d S )Nrc   rd   c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z._Unparser.visit_FunctionType.<locals>.<lambda>G  ó   ø€ ˜Ÿ
š
 4Ñ(Ô(€ r   ú -> )rk  rN  r  ÚargtypesrT  Úreturnsrt  s   ` r   Úvisit_FunctionTypez_Unparser.visit_FunctionTypeD  sÄ   ø€ Ø�\Š\˜#˜sÑ#Ô#ð 	ð 	Ø�OŠOØ(Ð(Ð(Ð(¨$¬-¸¼ñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 	�
Š
�6ÑÔÐØ�Š�d”lÑ#Ô#Ð#Ð#Ð#s   ˜%A	Á	AÁAc                 ó¬   — |                       ¦   «          |                      t          j        |j        ¦  «         |                      |j        ¦  «         d S r,   )r]  rw  r$  r*  r/   r  rt  s     r   Ú
visit_Exprz_Unparser.visit_ExprM  sD   € Ø�	Š	‰ŒˆØ×Ò�KÔ-¨t¬zÑ:Ô:Ð:Ø�Š�d”jÑ!Ô!Ð!Ð!Ð!r   c                 ó`  — |                       t          j        |¦  «        5  |                      t          j        |j        |j        ¦  «         |                      |j        ¦  «         |                      d¦  «         |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz := )	rr  r$  r(  rw  r:  Útargetr/   r  rT  rt  s     r   Úvisit_NamedExprz_Unparser.visit_NamedExprR  sØ   € Ø× Ò ¥Ô!7¸Ñ>Ô>ð 	&ð 	&Ø×Ò¥Ô 0°$´+¸t¼zÑJÔJÐJØ�MŠM˜$œ+Ñ&Ô&Ð&Ø�JŠJ�vÑÔÐØ�MŠM˜$œ*Ñ%Ô%Ð%ð		&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ¡A5B#Â#B'Â*B'c                 óz   ‡ — ‰                       d¦  «         ‰                      ˆ fd„‰ j        |j        ¦  «         d S )Nzimport c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z(_Unparser.visit_Import.<locals>.<lambda>[  ó   ø€  §
¢
¨4Ñ 0Ô 0€ r   )r]  rN  r  Únamesrt  s   ` r   Úvisit_Importz_Unparser.visit_ImportY  s?   ø€ Ø�	Š	�)ÑÔÐØ�ŠÐ0Ð0Ð0Ð0°$´-ÀÄÑLÔLÐLÐLÐLr   c                 ó$  ‡ — ‰                       d¦  «         ‰                      d|j        pdz  ¦  «         |j        r‰                      |j        ¦  «         ‰                      d¦  «         ‰                      ˆ fd„‰ j        |j        ¦  «         d S )Nzfrom ú.r   z import c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z,_Unparser.visit_ImportFrom.<locals>.<lambda>c  rœ  r   )r]  rT  rl   ÚmodulerN  r  r�  rt  s   ` r   Úvisit_ImportFromz_Unparser.visit_ImportFrom]  sŒ   ø€ Ø�	Š	�'ÑÔÐØ�
Š
�3˜$œ*˜/¨Ñ*Ñ+Ô+Ð+ØŒ;ð 	$Ø�JŠJ�t”{Ñ#Ô#Ð#Ø�
Š
�:ÑÔÐØ�ŠÐ0Ð0Ð0Ð0°$´-ÀÄÑLÔLÐLÐLÐLr   c                 óf  — |                       ¦   «          |j        D ]L}|                      t          j        |¦  «         |                      |¦  «         |                      d¦  «         ŒM|                      |j        ¦  «         |                      |¦  «        x}r|                      |¦  «         d S d S )Nú = )	r]  Útargetsrw  r$  r)  r  rT  r/   r}  )rÊ   r'   r˜  r{  s       r   Úvisit_Assignz_Unparser.visit_Assigne  s±   € Ø�	Š	‰ŒˆØ”lð 	ð 	ˆFØ×Ò¥Ô 1°6Ñ:Ô:Ð:Ø�MŠM˜&Ñ!Ô!Ð!Ø�JŠJ�uÑÔÐÐØ�Š�d”jÑ!Ô!Ð!Ø×0Ò0°Ñ6Ô6Ð6ˆ<ð 	%Ø�JŠJ�|Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c                 ó   — |                       ¦   «          |                      |j        ¦  «         |                      d| j        |j        j        j                 z   dz   ¦  «         |                      |j        ¦  «         d S )Nr€   z= )	r]  r  r˜  rT  Úbinopr6   rt   ru   r/   rt  s     r   Úvisit_AugAssignz_Unparser.visit_AugAssigno  sh   € Ø�	Š	‰ŒˆØ�Š�d”kÑ"Ô"Ð"Ø�
Š
�3˜œ D¤GÔ$5Ô$>Ô?Ñ?À$ÑFÑGÔGÐGØ�Š�d”jÑ!Ô!Ð!Ð!Ð!r   c                 óÎ  — |                       ¦   «          |                      dd|j         ot          |j        t
          ¦  «        ¦  «        5  |                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «         |                      |j        ¦  «         |j	        r1|                      d¦  «         |                      |j	        ¦  «         d S d S )Nrc   rd   r$   r¥  )
r]  rn  r}   r   r˜  rE   r  rT  Ú
annotationr/   rt  s     r   Úvisit_AnnAssignz_Unparser.visit_AnnAssignu  s
  € Ø�	Š	‰ŒˆØ�_Š_˜S #¨4¬; Ð'X½:ÀdÄkÕSWÑ;XÔ;XÑYÔYð 	'ð 	'Ø�MŠM˜$œ+Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'à�
Š
�4ÑÔÐØ�Š�d”oÑ&Ô&Ð&ØŒ:ð 	&Ø�JŠJ�uÑÔÐØ�MŠM˜$œ*Ñ%Ô%Ð%Ð%Ð%ð	&ð 	&s   ÁA3Á3A7Á:A7c                 ó    — |                       d¦  «         |j        r1|                      d¦  «         |                      |j        ¦  «         d S d S )NÚreturnr€   )r]  r/   rT  r  rt  s     r   Úvisit_Returnz_Unparser.visit_Return  sQ   € Ø�	Š	�(ÑÔÐØŒ:ð 	&Ø�JŠJ�s‰OŒOˆOØ�MŠM˜$œ*Ñ%Ô%Ð%Ð%Ð%ð	&ð 	&r   c                 ó0   — |                       d¦  «         d S )NÚpass©r]  rt  s     r   Ú
visit_Passz_Unparser.visit_Pass…  s   € Ø�	Š	�&ÑÔÐÐÐr   c                 ó0   — |                       d¦  «         d S )NÚbreakr³  rt  s     r   Úvisit_Breakz_Unparser.visit_Breakˆ  s   € Ø�	Š	�'ÑÔÐÐÐr   c                 ó0   — |                       d¦  «         d S )NÚcontinuer³  rt  s     r   Úvisit_Continuez_Unparser.visit_Continue‹  s   € Ø�	Š	�*ÑÔÐÐÐr   c                 óz   ‡ — ‰                       d¦  «         ‰                      ˆ fd„‰ j        |j        ¦  «         d S )Nzdel c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z(_Unparser.visit_Delete.<locals>.<lambda>�  rœ  r   )r]  rN  r  r¦  rt  s   ` r   Úvisit_Deletez_Unparser.visit_DeleteŽ  s?   ø€ Ø�	Š	�&ÑÔÐØ�ŠÐ0Ð0Ð0Ð0°$´-ÀÄÑNÔNÐNÐNÐNr   c                 óÔ   — |                       d¦  «         |                      |j        ¦  «         |j        r1|                      d¦  «         |                      |j        ¦  «         d S d S )Nzassert ra   )r]  r  Útestr(   rT  rt  s     r   Úvisit_Assertz_Unparser.visit_Assert’  sh   € Ø�	Š	�)ÑÔÐØ�Š�d”iÑ Ô Ð ØŒ8ð 	$Ø�JŠJ�tÑÔÐØ�MŠM˜$œ(Ñ#Ô#Ð#Ð#Ð#ð	$ð 	$r   c                 óz   ‡ — ‰                       d¦  «         ‰                      ˆ fd„‰ j        |j        ¦  «         d S )Nzglobal c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z(_Unparser.visit_Global.<locals>.<lambda>›  rœ  r   ©r]  rN  rT  r�  rt  s   ` r   Úvisit_Globalz_Unparser.visit_Global™  s?   ø€ Ø�	Š	�)ÑÔÐØ�ŠÐ0Ð0Ð0Ð0°$´*¸d¼jÑIÔIÐIÐIÐIr   c                 óz   ‡ — ‰                       d¦  «         ‰                      ˆ fd„‰ j        |j        ¦  «         d S )Nz	nonlocal c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z*_Unparser.visit_Nonlocal.<locals>.<lambda>Ÿ  rœ  r   rÃ  rt  s   ` r   Úvisit_Nonlocalz_Unparser.visit_Nonlocal�  s?   ø€ Ø�	Š	�+ÑÔÐØ�ŠÐ0Ð0Ð0Ð0°$´*¸d¼jÑIÔIÐIÐIÐIr   c                 óX  — |                       t          j        |¦  «        5  |                      d¦  «         |j        rT|                      d¦  «         |                      t          j        |j        ¦  «         |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚawaitr€   )rr  r$  r9  rT  r/   rw  r:  r  rt  s     r   Úvisit_Awaitz_Unparser.visit_Await¡  óÙ   € Ø× Ò ¥Ô!2°DÑ9Ô9ð 	*ð 	*Ø�JŠJ�wÑÔÐØŒzð *Ø—
’
˜3‘”�Ø×#Ò#¥KÔ$4°d´jÑAÔAÐAØ—’˜dœjÑ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ó   ¡A1BÂB#Â&B#c                 óX  — |                       t          j        |¦  «        5  |                      d¦  «         |j        rT|                      d¦  «         |                      t          j        |j        ¦  «         |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚyieldr€   )rr  r$  r*  rT  r/   rw  r:  r  rt  s     r   Úvisit_Yieldz_Unparser.visit_Yield©  rË  rÌ  c                 óL  — |                       t          j        |¦  «        5  |                      d¦  «         |j        st          d¦  «        ‚|                      t          j        |j        ¦  «         |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzyield from z-Node can't be used without a value attribute.)	rr  r$  r*  rT  r/   r&   rw  r:  r  rt  s     r   Úvisit_YieldFromz_Unparser.visit_YieldFrom±  sÚ   € Ø× Ò ¥Ô!2°DÑ9Ô9ð 	&ð 	&Ø�JŠJ�}Ñ%Ô%Ð%Ø”:ð RÝ Ð!PÑQÔQÐQØ×Ò¥Ô 0°$´*Ñ=Ô=Ð=Ø�MŠM˜$œ*Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ¡A+BÂBÂ Bc                 ó<  — |                       d¦  «         |j        s|j        rt          d¦  «        ‚d S |                      d¦  «         |                      |j        ¦  «         |j        r1|                      d¦  «         |                      |j        ¦  «         d S d S )NÚraisez*Node can't use cause without an exception.r€   z from )r]  ÚexcÚcauser&   rT  r  rt  s     r   Úvisit_Raisez_Unparser.visit_Raise¹  s    € Ø�	Š	�'ÑÔÐØŒxð 	ØŒzð PÝ Ð!NÑOÔOÐOØˆFØ�
Š
�3‰ŒˆØ�Š�d”hÑÔÐØŒ:ð 	&Ø�JŠJ�xÑ Ô Ð Ø�MŠM˜$œ*Ñ%Ô%Ð%Ð%Ð%ð	&ð 	&r   c                 óˆ  — |                       d¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        D ]}|                      |¦  «         Œ|j        r[|                       d¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        r^|                       d¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NÚtryÚelseÚfinally)r]  rg  r  rX   ÚhandlersÚorelseÚ	finalbody)rÊ   r'   Úexs      r   Údo_visit_tryz_Unparser.do_visit_tryÅ  sð  € Ø�	Š	�%ÑÔÐØ�ZŠZ‰\Œ\ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%à”-ð 	ð 	ˆBØ�MŠM˜"ÑÔÐÐØŒ;ð 	+Ø�IŠI�fÑÔÐØ—’‘”ð +ð +Ø—’˜dœkÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +àŒ>ð 	.Ø�IŠI�iÑ Ô Ð Ø—’‘”ð .ð .Ø—’˜dœnÑ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .ð	.ð 	.s5   ªAÁAÁAÂ+CÃCÃCÄD5Ä5D9Ä<D9c                 ót   — | j         }	 d| _         |                      |¦  «         || _         d S # || _         w xY w)NF©rG  rß  ©rÊ   r'   Úprev_in_try_stars      r   Ú	visit_Tryz_Unparser.visit_TryÔ  sO   € ØÔ,Ðð	1Ø %ˆDÔØ×Ò˜dÑ#Ô#Ð#à 0ˆDÔÐÐøÐ 0ˆDÔÐ0Ð0Ð0Ð0ó   ‰. ®	7c                 ót   — | j         }	 d| _         |                      |¦  «         || _         d S # || _         w xY w)NTrá  râ  s      r   Úvisit_TryStarz_Unparser.visit_TryStarÜ  sO   € ØÔ,Ðð	1Ø $ˆDÔØ×Ò˜dÑ#Ô#Ð#à 0ˆDÔÐÐøÐ 0ˆDÔÐ0Ð0Ð0Ð0rå  c                 ó¨  — |                       | j        rdnd¦  «         |j        r/|                      d¦  «         |                      |j        ¦  «         |j        r/|                      d¦  «         |                      |j        ¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzexcept*Úexceptr€   ú as )r]  rG  r.   rT  r  r|   rg  rX   rt  s     r   Úvisit_ExceptHandlerz_Unparser.visit_ExceptHandlerä  s  € Ø�	Š	˜tÔ0Ð>�)�)°hÑ?Ô?Ð?ØŒ9ð 	%Ø�JŠJ�s‰OŒOˆOØ�MŠM˜$œ)Ñ$Ô$Ð$ØŒ9ð 	"Ø�JŠJ�vÑÔÐØ�JŠJ�t”yÑ!Ô!Ð!Ø�ZŠZ‰\Œ\ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   ÂCÃCÃCc                 ó¶  — |                       ¦   «          |j        D ],}|                      d¦  «         |                      |¦  «         Œ-|                      d|j        z   ¦  «         |                      dd|j        p|j        ¬¦  «        5  d}|j        D ]1}|r|                      d¦  «         nd}|                      |¦  «         Œ2|j        D ]1}|r|                      d¦  «         nd}|                      |¦  «         Œ2	 d d d ¦  «         n# 1 swxY w Y   |  	                    ¦   «         5  |  
                    |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nú@zclass rc   rd   )rm  Fra   T)rZ  Údecorator_listr]  r  r|   rn  ÚbasesrH   rT  rg  r…  )rÊ   r'   ÚdecoÚcommaÚes        r   Úvisit_ClassDefz_Unparser.visit_ClassDefï  sû  € Ø×ÒÑÔÐØÔ'ð 	 ð 	 ˆDØ�IŠI�c‰NŒNˆNØ�MŠM˜$ÑÔÐÐØ�	Š	�(˜TœYÑ&Ñ'Ô'Ð'Ø�_Š_˜S #°4´:Ð3NÀÄˆ_ÑOÔOð 	!ð 	!ØˆEØ”Zð !ð !�Øð !Ø—J’J˜tÑ$Ô$Ð$Ð$à �EØ—’˜aÑ Ô Ð Ð Ø”]ð !ð !�Øð !Ø—J’J˜tÑ$Ô$Ð$Ð$à �EØ—’˜aÑ Ô Ð Ð ð!ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð �ZŠZ‰\Œ\ð 	:ð 	:Ø×3Ò3°DÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s%   Â
A5DÄDÄDÄ+EÅEÅEc                 ó2   — |                       |d¦  «         d S )NÚdef©Ú_function_helperrt  s     r   Úvisit_FunctionDefz_Unparser.visit_FunctionDef  s   € Ø×Ò˜d EÑ*Ô*Ð*Ð*Ð*r   c                 ó2   — |                       |d¦  «         d S )Nz	async defrö  rt  s     r   Úvisit_AsyncFunctionDefz _Unparser.visit_AsyncFunctionDef
  s   € Ø×Ò˜d KÑ0Ô0Ð0Ð0Ð0r   c                 ó„  — |                       ¦   «          |j        D ],}|                      d¦  «         |                      |¦  «         Œ-|dz   |j        z   }|                      |¦  «         |                      dd¦  «        5  |                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        r/|                      d¦  «         |                      |j        ¦  «         |  	                    |  
                    |¦  «        ¬¦  «        5  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrí  r€   rc   rd   r‘  rc  )rZ  rî  r]  r  r|   rk  rG   r“  rT  rg  r}  r…  )rÊ   r'   Úfill_suffixrð  Údef_strs        r   r÷  z_Unparser._function_helper  s´  € Ø×ÒÑÔÐØÔ'ð 	 ð 	 ˆDØ�IŠI�c‰NŒNˆNØ�MŠM˜$ÑÔÐÐØ Ñ# d¤iÑ/ˆØ�	Š	�'ÑÔÐØ�\Š\˜#˜sÑ#Ô#ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%àŒ<ð 	(Ø�JŠJ�vÑÔÐØ�MŠM˜$œ,Ñ'Ô'Ð'Ø�ZŠZ˜d×3Ò3°DÑ9Ô9ˆZÑ:Ô:ð 	:ð 	:Ø×3Ò3°DÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s$   ÂB(Â(B,Â/B,ÄD5Ä5D9Ä<D9c                 ó2   — |                       d|¦  «         d S )Nzfor ©Ú_for_helperrt  s     r   Ú	visit_Forz_Unparser.visit_For  s   € Ø×Ò˜ Ñ&Ô&Ð&Ð&Ð&r   c                 ó2   — |                       d|¦  «         d S )Nz
async for rÿ  rt  s     r   Úvisit_AsyncForz_Unparser.visit_AsyncFor  s   € Ø×Ò˜ tÑ,Ô,Ð,Ð,Ð,r   c                 óŒ  — |                       |¦  «         |                      t          j        |j        ¦  «         |                      |j        ¦  «         |                      d¦  «         |                      |j        ¦  «         |                      |  	                    |¦  «        ¬¦  «        5  |                      |j
        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        r^|                       d¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )Nú in rc  rÙ  )r]  rw  r$  r)  r˜  r  rT  rI  rg  r}  rX   rÜ  )rÊ   r]  r'   s      r   r   z_Unparser._for_helper"  s�  € Ø�	Š	�$‰ŒˆØ×Ò�KÔ-¨t¬{Ñ;Ô;Ð;Ø�Š�d”kÑ"Ô"Ð"Ø�
Š
�6ÑÔÐØ�Š�d”iÑ Ô Ð Ø�ZŠZ˜d×3Ò3°DÑ9Ô9ˆZÑ:Ô:ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%àŒ;ð 	+Ø�IŠI�fÑÔÐØ—’‘”ð +ð +Ø—’˜dœkÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +ð	+ð 	+s$   Â-CÃCÃCÄD7Ä7D;Ä>D;c                 óº  — |                       d¦  «         |                      |j        ¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        rùt          |j        ¦  «        dk    rát          |j        d         t          ¦  «        rÁ|j        d         }|                       d¦  «         |                      |j        ¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        r8t          |j        ¦  «        dk    r t          |j        d         t          ¦  «        °Á|j        r^|                       d¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )Nzif r^   r   zelif rÙ  )	r]  r  r¿  rg  rX   rÜ  rJ   r   ÚIfrt  s     r   Úvisit_Ifz_Unparser.visit_If/  sa  € Ø�	Š	�%ÑÔÐØ�Š�d”iÑ Ô Ð Ø�ZŠZ‰\Œ\ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð Œkð 	)�c $¤+Ñ.Ô.°!Ò3Ð3½
À4Ä;ÈqÄ>ÕSUÑ8VÔ8VÐ3Ø”;˜q”>ˆDØ�IŠI�gÑÔÐØ�MŠM˜$œ)Ñ$Ô$Ð$Ø—’‘”ð )ð )Ø—’˜dœiÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð	 Œkð 	)�c $¤+Ñ.Ô.°!Ò3Ð3½
À4Ä;ÈqÄ>ÕSUÑ8VÔ8VÐ3ð Œ;ð 	+Ø�IŠI�fÑÔÐØ—’‘”ð +ð +Ø—’˜dœkÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +ð	+ð 	+s6   ÁA+Á+A/Á2A/ÄD,Ä,D0Ä3D0Æ&GÇGÇGc                 óº  — |                       d¦  «         |                      |j        ¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        r^|                       d¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )Nzwhile rÙ  )r]  r  r¿  rg  rX   rÜ  rt  s     r   Úvisit_Whilez_Unparser.visit_WhileA  sK  € Ø�	Š	�(ÑÔÐØ�Š�d”iÑ Ô Ð Ø�ZŠZ‰\Œ\ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%àŒ;ð 	+Ø�IŠI�fÑÔÐØ—’‘”ð +ð +Ø—’˜dœkÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +ð	+ð 	+s$   ÁA+Á+A/Á2A/Â&CÃCÃCc                 ó2  ‡ — ‰                       d¦  «         ‰                      ˆ fd„‰ j        |j        ¦  «         ‰                      ‰                      |¦  «        ¬¦  «        5  ‰                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzwith c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z&_Unparser.visit_With.<locals>.<lambda>M  rœ  r   rc  ©r]  rN  r  rÓ   rg  r}  rX   rt  s   ` r   Ú
visit_Withz_Unparser.visit_WithK  sÓ   ø€ Ø�	Š	�'ÑÔÐØ�ŠÐ0Ð0Ð0Ð0°$´-ÀÄÑLÔLÐLØ�ZŠZ˜d×3Ò3°DÑ9Ô9ˆZÑ:Ô:ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ó   Á$BÂBÂBc                 ó2  ‡ — ‰                       d¦  «         ‰                      ˆ fd„‰ j        |j        ¦  «         ‰                      ‰                      |¦  «        ¬¦  «        5  ‰                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzasync with c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z+_Unparser.visit_AsyncWith.<locals>.<lambda>S  rœ  r   rc  r  rt  s   ` r   Úvisit_AsyncWithz_Unparser.visit_AsyncWithQ  sÓ   ø€ Ø�	Š	�-Ñ Ô Ð Ø�ŠÐ0Ð0Ð0Ð0°$´-ÀÄÑLÔLÐLØ�ZŠZ˜d×3Ò3°DÑ9Ô9ˆZÑ:Ô:ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%r  ©Úquote_typesÚescape_special_whitespacec                óè  ‡‡‡— ˆfd„}d                      t          |‰¦  «        ¦  «        Š|}d‰v rd„ |D ¦   «         }ˆfd„|D ¦   «         }|s>t          ‰¦  «        Št          ˆfd„|D ¦   «         ‰d         ¦  «        }‰dd	…         |gfS ‰rb|                     ˆfd
„¬¦  «         |d         d         ‰d	         k    r1t          |d         ¦  «        dk    sJ ‚‰dd	…         dz   ‰d	         z   Š‰|fS )z‹Helper for writing string literals, minimizing escapes.
        Returns the tuple (string literal to write, possible quote types).
        c                 óœ   •— ‰s| dv r| S | dk    s|                       ¦   «         s(|                      d¦  «                             d¦  «        S | S )Nz
	ú\Úunicode_escapeÚascii)Úisprintabler¸   r¹   )r±   r  s    €r   Úescape_charz2_Unparser._str_literal_helper.<locals>.escape_char]  sU   ø€ ð -ð °°f°°Ø�à�DŠyˆy §¢¡¤ˆyØ—x’xÐ 0Ñ1Ô1×8Ò8¸ÑAÔAÐAØˆHr   r`   r_   c                 ó$   — g | ]}|t           v ¯|‘ŒS rh   )Ú_MULTI_QUOTES)ri   Úqs     r   ú
<listcomp>z1_Unparser._str_literal_helper.<locals>.<listcomp>j  s"   € ÐPÐPÐP Q¸QÅ-Ð=OÐ=O˜qÐ=OÐ=OÐ=Or   c                 ó   •— g | ]}|‰v¯|‘Œ	S rh   rh   )ri   r  Úescaped_strings     €r   r   z1_Unparser._str_literal_helper.<locals>.<listcomp>k  s#   ø€ ÐQÐQÐQ ¸À.Ð9PÐ9P˜1Ð9PÐ9PÐ9Pr   c              3   ó0   •K  — | ]}‰d          |v ¯|V — ŒdS rg   rh   )ri   r  Ústrings     €r   rm   z0_Unparser._str_literal_helper.<locals>.<genexpr>q  s+   øè è € ÐCÐC °F¸1´IÀ°N°N˜!°N°N°N°NÐCÐCr   r   r^   r   c                 ó(   •— | d         ‰d         k    S )Nr   r   rh   )r  r"  s    €r   rU  z/_Unparser._str_literal_helper.<locals>.<lambda>u  s   ø€ ¨q°¬t°~ÀbÔ7IÒ/I€ r   )rö   r   Nr  )rv   r>   rw   r'  ÚsortrJ   )rÊ   r$  r  r  r  Úpossible_quotesÚquoter"  s    ` `   @r   Ú_str_literal_helperz_Unparser._str_literal_helperW  sU  øøø€ ð	ð 	ð 	ð 	ð 	ð Ÿš¥ [°&Ñ!9Ô!9Ñ:Ô:ˆØ%ˆØ�>Ð!Ð!ØPÐP¨/ÐPÑPÔPˆOØQÐQÐQÐQ oÐQÑQÔQˆØð 	)õ ˜&‘\”\ˆFÝÐCÐCÐCÐC [ÐCÑCÔCÀVÈAÄYÑOÔOˆEØ˜!˜B˜$”< % Ð(Ð(Øð 	Qà× Ò Ð%IÐ%IÐ%IÐ%IÐ ÑJÔJÐJð ˜qÔ! !Ô$¨°rÔ(:Ò:Ð:Ý˜?¨1Ô-Ñ.Ô.°!Ò3Ð3Ð3Ð3Ø!/°°°Ô!4°tÑ!;¸nÈRÔ>PÑ!P�Ø˜Ð.Ð.r   ©r  c                ó€   — |                       ||¬¦  «        \  }}|d         }|                      |› |› |› �¦  «         dS )zKWrite string literal value with a best effort attempt to avoid backslashes.r*  r   N)r)  rT  )rÊ   r$  r  Ú
quote_types       r   Ú_write_str_avoiding_backslashesz)_Unparser._write_str_avoiding_backslashes}  sP   € à"×6Ò6°vÈ;Ð6ÑWÔWÑˆ�Ø  ”^ˆ
Ø�
Š
�jÐ6 &Ð6¨*Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r   c                 óš  — |                       d¦  «         | j        ri|                      ¦   «         5 }|                      |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d                     |¦  «        ¦  «        S g }|j        D ]€}|                      ¦   «         5 }|                      |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d                     |¦  «        t          |t          ¦  «        f¦  «         Œ�g }t          t          ¦  «        }d}|D ]]\  }}|                      |||¬¦  «        \  }}	|                     |¦  «         t          |	¦  «                             |¦  «        rd} n|	}Œ^|r‰dg}|                     ¦   «          |D ]o\  }}t!          d|z   ¦  «        }d}
|                     |
¦  «        sJ t!          |¦  «        ¦   «         ‚|                     |t%          |
¦  «        d	…         ¦  «         Œpd                     |¦  «        }|d
         }|                       |› |› |› �¦  «         d S )NrL  r`   Fr  Tr=  r<  z'"r   r   )rT  rA  rb  Ú_write_fstring_innerr-  rv   rL   rr   r   r-   rA   Ú_ALL_QUOTESr)  r<   Ú
isdisjointrŒ  rw   r‰   rJ   )rÊ   r'   r`  Úfstring_partsr/   Únew_fstring_partsr  Úfallback_to_reprÚis_constantÚnew_quote_typesÚexpected_prefixr,  s               r   Úvisit_JoinedStrz_Unparser.visit_JoinedStrƒ  sõ  € Ø�
Š
�3‰ŒˆØÔ"ð 	IØ—’‘”ð 0 FØ×)Ò)¨$Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0à×7Ò7¸¿ºÀ¹¼ÑHÔHÐHð ˆØ”[ð 	ð 	ˆEØ—’‘”ð 1 FØ×)Ò)¨%Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1à× Ò Ø—’˜‘”¥*¨UµHÑ"=Ô"=Ð>ñô ð ð ð ÐÝ�;Ñ'Ô'ˆØ ÐØ"/ð 
	*ð 
	*ÑˆE�;Ø%)×%=Ò%=ØØ'Ø*5ð &>ñ &ô &Ñ"ˆE�?ð
 ×$Ò$ UÑ+Ô+Ð+Ý�?Ñ#Ô#×.Ò.¨{Ñ;Ô;ð Ø#'Ð Ø�Ø)ˆKˆKàð 		Ið !˜'ˆKØ×#Ò#Ñ%Ô%Ð%Ø&3ð Ið IÑ"��{Ý˜S 5™[Ñ)Ô)�Ø"'�Ø×'Ò'¨Ñ8Ô8ÐEÐE½$¸u¹+¼+ÑEÔEÐ8Ø!×(Ò(¨­s°?Ñ/CÔ/CÀBÐ/FÔ)GÑHÔHÐHÐHà—’Ð)Ñ*Ô*ˆØ  ”^ˆ
Ø�
Š
�jÐ5 %Ð5¨Ð5Ð5Ñ6Ô6Ð6Ð6Ð6s#   ±AÁAÁAÂ%CÃC	ÃC	c                 óÔ  — t          |t          ¦  «        r!|j        D ]}|                      |¦  «         Œd S t          |t          ¦  «        r`t          |j        t          ¦  «        rF|j                             dd¦  «                             dd¦  «        }|                      |¦  «         d S t          |t          ¦  «        r|  
                    |¦  «         d S t          d|›�¦  «        ‚)Nú{z{{ú}z}}z"Unexpected node inside JoinedStr, )r   Ú	JoinedStrrL   r/  r-   r/   rU   ÚreplacerT  ÚFormattedValueÚvisit_FormattedValuer&   ©rÊ   r'   r/   s      r   r/  z_Unparser._write_fstring_inner¶  sñ   € Ý�d�IÑ&Ô&ð 
	Làœð 1ð 1�Ø×)Ò)¨%Ñ0Ô0Ð0Ð0ð1ð 1å˜�hÑ'Ô'ð 	L­J°t´zÅ3Ñ,GÔ,Gð 	LØ”J×&Ò& s¨DÑ1Ô1×9Ò9¸#¸tÑDÔDˆEØ�JŠJ�uÑÔÐÐÐÝ˜�nÑ-Ô-ð 	LØ×%Ò% dÑ+Ô+Ð+Ð+Ð+åÐJÀ$ÐJÐJÑKÔKÐKr   c                 ó
  ‡ — ˆ fd„}‰                       dd¦  «        5   ||j        ¦  «        }d|v rt          d¦  «        ‚|                     d¦  «        r‰                      d¦  «         ‰                      |¦  «         |j        dk    r*‰                      dt          |j        ¦  «        › �¦  «         |j        r/‰                      d	¦  «         ‰                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nc                 óÄ   •—  t          ‰¦  «        d¬¦  «        }|                     t          j                             ¦   «         | ¦  «         |                     | ¦  «        S )NTr@  )r.   rw  r$  r+  r'  rÍ   )ÚinnerÚunparserrÊ   s     €r   Úunparse_innerz5_Unparser.visit_FormattedValue.<locals>.unparse_innerÄ  sR   ø€ Ø!•t˜D‘z”z°TÐ:Ñ:Ô:ˆHØ×#Ò#¥KÔ$4×$9Ò$9Ñ$;Ô$;¸UÑCÔCÐCØ—>’> %Ñ(Ô(Ð(r   r:  r;  r  z5Unable to avoid backslash in f-string expression partr€   r   ú!rf  )	rk  r/   r&   r‰   rT  Ú
conversionÚchrÚformat_specr/  )rÊ   r'   rE  Úexprs   `   r   r?  z_Unparser.visit_FormattedValueÃ  s_  ø€ ð	)ð 	)ð 	)ð 	)ð 	)ð
 �\Š\˜#˜sÑ#Ô#ð 	<ð 	<Ø �= ¤Ñ,Ô,ˆDØ�tˆ|ˆ|Ý ØKñô ð ð �Š˜sÑ#Ô#ð  à—
’
˜3‘”�Ø�JŠJ�tÑÔÐØŒ "Ò$Ð$Ø—
’
Ð5�s 4¤?Ñ3Ô3Ð5Ð5Ñ6Ô6Ð6ØÔð <Ø—
’
˜3‘”�Ø×)Ò)¨$Ô*:Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   �CC8Ã8C<Ã?C<c                 ó:   — |                       |j        ¦  «         d S r,   )rT  rF   rt  s     r   Ú
visit_Namez_Unparser.visit_NameÙ  s   € Ø�
Š
�4”7ÑÔÐÐÐr   c                 ó°   — |                       ¦   «          |j        dk    r|                      d¦  «         |                      |j        t
          ¬¦  «         d S )NÚur*  )r]  ÚkindrT  r-  r/   r  rt  s     r   rƒ  z_Unparser._write_docstringÜ  sL   € Ø�	Š	‰ŒˆØŒ9˜ÒÐØ�JŠJ�s‰OŒOˆOØ×,Ò,¨T¬ZÅ]Ð,ÑSÔSÐSÐSÐSr   c           
      ó¬  — t          |t          t          f¦  «        rb|                      t	          |¦  «                             dt          ¦  «                             ddt          › dt          › d�¦  «        ¦  «         d S | j        r,t          |t          ¦  «        r|  	                    |¦  «         d S |                      t	          |¦  «        ¦  «         d S )NÚinfÚnanrc   ú-rd   )
r   r1   r2   rT  rw   r=  Ú_INFSTRrA  rU   r-  rç   s     r   Ú_write_constantz_Unparser._write_constantâ  sÌ   € Ý�e�e¥WÐ-Ñ.Ô.ð 	$ð �JŠJÝ�U‘”ß’˜¥Ñ(Ô(ß’˜Ð 8¥GÐ 8Ð 8­gÐ 8Ð 8Ð 8Ñ9Ô9ñô ð ð ð ð
 Ô$ð 	$­°E½3Ñ)?Ô)?ð 	$Ø×0Ò0°Ñ7Ô7Ð7Ð7Ð7à�JŠJ•t˜E‘{”{Ñ#Ô#Ð#Ð#Ð#r   c                 ó€  — |j         }t          |t          ¦  «        rL|                      dd¦  «        5  |                      | j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S |du r|                      d¦  «         d S |j        dk    r|                      d¦  «         |                      |j         ¦  «         d S )Nrc   rd   .ú...rN  )r/   r   r   rk  rX  rU  rT  rO  r@  s      r   rØ   z_Unparser.visit_Constantð  s  € Ø”
ˆÝ�e�UÑ#Ô#ð 	-Ø—’˜c 3Ñ'Ô'ð =ð =Ø—’ Ô 4°eÑ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =à�cˆ\ˆ\Ø�JŠJ�uÑÔÐÐÐàŒy˜CÒÐØ—
’
˜3‘”�Ø× Ò  ¤Ñ,Ô,Ð,Ð,Ð,s   ³AÁA Á#A c                 ó®   ‡ — ‰                       dd¦  «        5  ‰                      ˆ fd„‰ j        |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nre   rn   c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z&_Unparser.visit_List.<locals>.<lambda>þ  rV  r   )rk  rN  r  r?   rt  s   ` r   Ú
visit_Listz_Unparser.visit_Listü  s³   ø€ Ø�\Š\˜#˜sÑ#Ô#ð 	Pð 	PØ�OŠOÐ4Ð4Ð4Ð4°d´mÀTÄYÑOÔOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pó   ˜%A
Á
AÁAc                 óØ   — |                       dd¦  «        5  |                      |j        ¦  «         |j        D ]}|                      |¦  «         Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nre   rn   ©rk  r  ÚeltÚ
generators©rÊ   r'   Úgens      r   Úvisit_ListCompz_Unparser.visit_ListComp   ó¹   € Ø�\Š\˜#˜sÑ#Ô#ð 	#ð 	#Ø�MŠM˜$œ(Ñ#Ô#Ð#Ø”ð #ð #�Ø—’˜cÑ"Ô"Ð"Ð"ð#ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ó   —:AÁA#Á&A#c                 óØ   — |                       dd¦  «        5  |                      |j        ¦  «         |j        D ]}|                      |¦  «         Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nrc   rd   r]  r`  s      r   Úvisit_GeneratorExpz_Unparser.visit_GeneratorExp  rc  rd  c                 óØ   — |                       dd¦  «        5  |                      |j        ¦  «         |j        D ]}|                      |¦  «         Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr:  r;  r]  r`  s      r   Úvisit_SetCompz_Unparser.visit_SetComp  rc  rd  c                 ó6  — |                       dd¦  «        5  |                      |j        ¦  «         |                      d¦  «         |                      |j        ¦  «         |j        D ]}|                      |¦  «         Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr:  r;  r$   )rk  r  rö   rT  r/   r_  r`  s      r   Úvisit_DictCompz_Unparser.visit_DictComp  sß   € Ø�\Š\˜#˜sÑ#Ô#ð 	#ð 	#Ø�MŠM˜$œ(Ñ#Ô#Ð#Ø�JŠJ�tÑÔÐØ�MŠM˜$œ*Ñ%Ô%Ð%Ø”ð #ð #�Ø—’˜cÑ"Ô"Ð"Ð"ð#ð		#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   —A)BÂBÂBc                 ó  — |j         r|                      d¦  «         n|                      d¦  «         |                      t          j        |j        ¦  «         |                      |j        ¦  «         |                      d¦  «          | j        t          j                             ¦   «         |j	        g|j
        ¢R Ž  |                      |j	        ¦  «         |j
        D ],}|                      d¦  «         |                      |¦  «         Œ-d S )Nz async for z for r  ú if )Úis_asyncrT  rw  r$  r)  r˜  r  r+  r'  rI  Úifs)rÊ   r'   Ú	if_clauses      r   Úvisit_comprehensionz_Unparser.visit_comprehension  sú   € ØŒ=ð 	 Ø�JŠJ�}Ñ%Ô%Ð%Ð%à�JŠJ�wÑÔÐØ×Ò�KÔ-¨t¬{Ñ;Ô;Ð;Ø�Š�d”kÑ"Ô"Ð"Ø�
Š
�6ÑÔÐØˆÔ�KÔ,×1Ò1Ñ3Ô3°T´YÐJÀÄÐJÐJÐJÐJØ�Š�d”iÑ Ô Ð Øœð 	%ð 	%ˆIØ�JŠJ�vÑÔÐØ�MŠM˜)Ñ$Ô$Ð$Ð$ð	%ð 	%r   c                 ó,  — |                       t          j        |¦  «        5  |                      t          j                             ¦   «         |j        |j        ¦  «         |                      |j        ¦  «         |                      d¦  «         |                      |j        ¦  «         |                      d¦  «         |                      t          j        |j	        ¦  «         |                      |j	        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrl  z else )
rr  r$  r+  rw  r'  rX   r¿  r  rT  rÜ  rt  s     r   Úvisit_IfExpz_Unparser.visit_IfExp(  s%  € Ø× Ò ¥Ô!1°4Ñ8Ô8ð 	'ð 	'Ø×Ò¥Ô 0× 5Ò 5Ñ 7Ô 7¸¼ÀDÄIÑNÔNÐNØ�MŠM˜$œ)Ñ$Ô$Ð$Ø�JŠJ�vÑÔÐØ�MŠM˜$œ)Ñ$Ô$Ð$Ø�JŠJ�xÑ Ô Ð Ø×Ò¥Ô 0°$´+Ñ>Ô>Ð>Ø�MŠM˜$œ+Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   ¡CD	Ä	DÄDc                 óê   ‡ — |j         rU‰                      dd¦  «        5  ‰                      ˆ fd„‰ j        |j         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ‰                      d¦  «         d S )Nr:  r;  c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z%_Unparser.visit_Set.<locals>.<lambda>5  s   ø€ ¨¯
ª
°4Ñ(8Ô(8€ r   z{*()})r?   rk  rN  r  rT  rt  s   ` r   Ú	visit_Setz_Unparser.visit_Set2  s×   ø€ ØŒ9ð 	 Ø—’˜c 3Ñ'Ô'ð Tð TØ—’Ð 8Ð 8Ð 8Ð 8¸$¼-ÈÌÑSÔSÐSðTð Tð Tñ Tô Tð Tð Tð Tð Tð Tð Tð Tøøøð Tð Tð Tð Tð Tð Tð
 �JŠJ�wÑÔÐÐÐs   Ÿ%AÁAÁAc           	      óâ   ‡ ‡— ˆ fd„Šˆ ˆfd„}‰                       dd¦  «        5  ‰                      ˆ fd„|t          |j        |j        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó†   •— ‰                      | ¦  «         ‰                     d¦  «         ‰                      |¦  «         d S ©Nr$   ©r  rT  )ÚkÚvrÊ   s     €r   Úwrite_key_value_pairz2_Unparser.visit_Dict.<locals>.write_key_value_pair<  s?   ø€ Ø�MŠM˜!ÑÔÐØ�JŠJ�tÑÔÐØ�MŠM˜!ÑÔÐÐÐr   c                 óÆ   •— | \  }}|€L‰                      d¦  «         ‰                     t          j        |¦  «         ‰                     |¦  «         d S  ‰||¦  «         d S )Nú**)rT  rw  r$  r0  r  )rž   rz  r{  rÊ   r|  s      €€r   Ú
write_itemz(_Unparser.visit_Dict.<locals>.write_itemA  so   ø€ Ø‰DˆAˆqØˆyð —
’
˜4Ñ Ô Ð Ø×#Ò#¥KÔ$4°aÑ8Ô8Ð8Ø—’˜aÑ Ô Ð Ð Ð à$Ð$ Q¨Ñ*Ô*Ð*Ð*Ð*r   r:  r;  c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z&_Unparser.visit_Dict.<locals>.<lambda>N  r�  r   )rk  rN  rN   rK   rL   )rÊ   r'   r  r|  s   `  @r   Ú
visit_Dictz_Unparser.visit_Dict;  sé   øø€ ð	ð 	ð 	ð 	ð 	ð
		+ð 		+ð 		+ð 		+ð 		+ð 		+ð �\Š\˜#˜sÑ#Ô#ð 	ð 	Ø�OŠOØ(Ð(Ð(Ð(¨*µc¸$¼)ÀTÄ[Ñ6QÔ6Qñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¤3A$Á$A(Á+A(c                 ó  — |                       ddt          |j        ¦  «        dk    p"|                      |¦  «        t          j        k    ¦  «        5  |                      | j        |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrc   rd   r   )rn  rJ   r?   rp  r$  r)  rX  r  rt  s     r   Úvisit_Tuplez_Unparser.visit_TupleQ  sÅ   € Ø�_Š_ØØÝ�”	‰NŒN˜aÒÐP 4×#6Ò#6°tÑ#<Ô#<½{Ô?PÒ#Pñ
ô 
ð 	6ð 	6ð
 �OŠO˜DœM¨4¬9Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	6ð 	6s   Á!A?Á?BÂBú~Únotú+rS  )ÚInvertÚNotr7   r8   )r…  r„  r†  rS  c                 ó�  — | j         |j        j        j                 }| j        |         }|                      ||¦  «        5  |                      |¦  «         |t          j        ur|                      d¦  «         |  	                    ||j
        ¦  «         |                      |j
        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr€   )Úunopr6   rt   ru   Úunop_precedencerr  rT  r$  r7  rw  r9   r  )rÊ   r'   ÚoperatorÚoperator_precedences       r   Úvisit_UnaryOpz_Unparser.visit_UnaryOpa  sý   € Ø”9˜TœWÔ.Ô7Ô8ˆØ"Ô2°8Ô<ÐØ× Ò Ð!4°dÑ;Ô;ð 	(ð 	(Ø�JŠJ�xÑ Ô Ð ð #­+Ô*<Ð<Ð<Ø—
’
˜3‘”�Ø×ÒÐ 3°T´\ÑBÔBÐBØ�MŠM˜$œ,Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   Á A.B;Â;B?ÃB?r   rí  ú/ú%ú<<ú>>ú|ú^ú&ú//r~  )rP   rQ   ÚMultÚMatMultÚDivÚModÚLShiftÚRShiftÚBitOrÚBitXorÚBitAndÚFloorDivÚPow)r†  rS  r   rí  r�  r‘  r’  r“  r”  r•  r–  r—  r~  )r~  c                 ó(  — | j         |j        j        j                 }| j        |         }|                      ||¦  «        5  || j        v r|                     ¦   «         }|}n|}|                     ¦   «         }|                      ||j	        ¦  «         |  
                    |j	        ¦  «         |                      d|› d�¦  «         |                      ||j        ¦  «         |  
                    |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rŠ  )r©  r6   rt   ru   Úbinop_precedencerr  Úbinop_rassocr'  rw  rR   r  rT  rS   )rÊ   r'   r�  rŽ  Úleft_precedenceÚright_precedences         r   Úvisit_BinOpz_Unparser.visit_BinOpŽ  sQ  € Ø”:˜dœgÔ/Ô8Ô9ˆØ"Ô3°HÔ=ÐØ× Ò Ð!4°dÑ;Ô;ð 	&ð 	&Ø˜4Ô,Ð,Ð,Ø"5×":Ò":Ñ"<Ô"<�Ø#6Ð Ð à"5�Ø#6×#;Ò#;Ñ#=Ô#=Ð à×Ò °´Ñ;Ô;Ð;Ø�MŠM˜$œ)Ñ$Ô$Ð$Ø�JŠJ�˜8���Ñ'Ô'Ð'Ø×ÒÐ 0°$´*Ñ=Ô=Ð=Ø�MŠM˜$œ*Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   Á B:DÄDÄDz==z!=ú<z<=ú>z>=Úiszis notÚinznot in)
ÚEqÚNotEqÚLtÚLtEÚGtÚGtEÚIsÚIsNotÚInÚNotInc                 óâ  — |                       t          j        |¦  «        5   | j        t          j                             ¦   «         |j        g|j        ¢R Ž  |                      |j        ¦  «         t          |j	        |j        ¦  «        D ]J\  }}|  
                    d| j        |j        j                 z   dz   ¦  «         |                      |¦  «         ŒK	 d d d ¦  «         d S # 1 swxY w Y   d S rŠ  )rr  r$  r/  rw  r'  rR   Úcomparatorsr  rN   ÚopsrT  Úcmpopsrt   ru   )rÊ   r'   Úorò  s       r   Úvisit_Comparez_Unparser.visit_Compare¬  s&  € Ø× Ò ¥¤°$Ñ7Ô7ð 	!ð 	!ØˆDÔ¥¤× 4Ò 4Ñ 6Ô 6¸¼	ÐUÀDÔDTÐUÐUÐUÐUØ�MŠM˜$œ)Ñ$Ô$Ð$Ý˜DœH dÔ&6Ñ7Ô7ð !ð !‘��1Ø—
’
˜3 ¤¨Q¬[Ô-AÔ!BÑBÀSÑHÑIÔIÐIØ—’˜aÑ Ô Ð Ð ð!ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   ¡B5C$Ã$C(Ã+C(ÚandÚor)ÚAndÚOr)r½  r¾  c                 ó  ‡ ‡‡— ‰ j         |j        j        j                 }‰ j        |         Šˆˆ fd„}‰                      ‰|¦  «        5  d|› d�Š‰                      ˆˆ fd„||j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó†   •— ‰                      ¦   «         Š‰                     ‰| ¦  «         ‰                     | ¦  «         d S r,   )r'  rw  r  )r'   rŽ  rÊ   s    €€r   Úincreasing_level_traversez9_Unparser.visit_BoolOp.<locals>.increasing_level_traverse»  sD   ø€ à"5×":Ò":Ñ"<Ô"<ÐØ×ÒÐ 3°TÑ:Ô:Ð:Ø�MŠM˜$ÑÔÐÐÐr   r€   c                  ó.   •— ‰                      ‰ ¦  «        S r,   rS  )r¦   rÊ   s   €€r   rU  z(_Unparser.visit_BoolOp.<locals>.<lambda>Ã  s   ø€  D§J¢J¨q¡M¤M€ r   )Úboolopsr6   rt   ru   Úboolop_precedencerr  rN  rL   )rÊ   r'   r�  rÃ  rŽ  r¦   s   `   @@r   Úvisit_BoolOpz_Unparser.visit_BoolOp·  s	  øøø€ Ø”< ¤Ô 1Ô :Ô;ˆØ"Ô4°XÔ>Ðð	 ð 	 ð 	 ð 	 ð 	 ð 	 ð × Ò Ð!4°dÑ;Ô;ð 	[ð 	[Ø�H���ˆAØ�OŠOÐ1Ð1Ð1Ð1Ð1Ð3LÈdÌkÑZÔZÐZð	[ð 	[ð 	[ñ 	[ô 	[ð 	[ð 	[ð 	[ð 	[ð 	[ð 	[ð 	[øøøð 	[ð 	[ð 	[ð 	[ð 	[ð 	[s   Á	'A=Á=BÂBc                 ó~  — |                       t          j        |j        ¦  «         |                      |j        ¦  «         t          |j        t          ¦  «        r4t          |j        j        t          ¦  «        r|                      d¦  «         |                      d¦  «         |                      |j	        ¦  «         d S )Nr€   r   )
rw  r$  r:  r/   r  r   r-   r0   rT  r�   rt  s     r   Úvisit_Attributez_Unparser.visit_AttributeÅ  s•   € Ø×Ò�KÔ,¨d¬jÑ9Ô9Ð9Ø�Š�d”jÑ!Ô!Ð!õ �d”j¥(Ñ+Ô+ð 	µ
¸4¼:Ô;KÍSÑ0QÔ0Qð 	Ø�JŠJ�s‰OŒOˆOØ�
Š
�3‰ŒˆØ�
Š
�4”9ÑÔÐÐÐr   c                 óÌ  — |                       t          j        |j        ¦  «         |                      |j        ¦  «         |                      dd¦  «        5  d}|j        D ]1}|r|                      d¦  «         nd}|                      |¦  «         Œ2|j        D ]1}|r|                      d¦  «         nd}|                      |¦  «         Œ2	 d d d ¦  «         d S # 1 swxY w Y   d S )Nrc   rd   Fra   T)	rw  r$  r:  rD   r  rk  rG   rT  rH   )rÊ   r'   rñ  rò  s       r   Ú
visit_Callz_Unparser.visit_CallÐ  sC  € Ø×Ò�KÔ,¨d¬iÑ8Ô8Ð8Ø�Š�d”iÑ Ô Ð Ø�\Š\˜#˜sÑ#Ô#ð 	!ð 	!ØˆEØ”Yð !ð !�Øð !Ø—J’J˜tÑ$Ô$Ð$Ð$à �EØ—’˜aÑ Ô Ð Ð Ø”]ð !ð !�Øð !Ø—J’J˜tÑ$Ô$Ð$Ð$à �EØ—’˜aÑ Ô Ð Ð ð!ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   ÁA5CÃCÃ Cc                 óˆ  — d„ }|                       t          j        |j        ¦  «         |                      |j        ¦  «         |                      dd¦  «        5   ||j        ¦  «        r&|                      | j        |j        j        ¦  «         n|                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó:   — t          | t          ¦  «        o| j        S r,   )r   r=   r?   )Úslice_values    r   Úis_non_empty_tuplez5_Unparser.visit_Subscript.<locals>.is_non_empty_tupleã  s   € å˜;­Ñ.Ô.ð %ØÔ$ðr   re   rn   )	rw  r$  r:  r/   r  rk  r  rX  r?   )rÊ   r'   rÏ  s      r   Úvisit_Subscriptz_Unparser.visit_Subscriptâ  s   € ð	ð 	ð 	ð 	×Ò�KÔ,¨d¬jÑ9Ô9Ð9Ø�Š�d”jÑ!Ô!Ð!Ø�\Š\˜#˜sÑ#Ô#ð 	*ð 	*Ø!Ð! $¤*Ñ-Ô-ð *à—’ ¤¨t¬z¬Ñ?Ô?Ð?Ð?à—’˜dœjÑ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   ÁAB7Â7B;Â>B;c                 ó®   — |                       d¦  «         |                      t          j        |j        ¦  «         |                      |j        ¦  «         d S )Nr   )rT  rw  r$  r0  r/   r  rt  s     r   Úvisit_Starredz_Unparser.visit_Starredò  sF   € Ø�
Š
�3‰ŒˆØ×Ò�KÔ,¨d¬jÑ9Ô9Ð9Ø�Š�d”jÑ!Ô!Ð!Ð!Ð!r   c                 ó0   — |                       d¦  «         d S )NrW  rS  rt  s     r   Úvisit_Ellipsisz_Unparser.visit_Ellipsis÷  s   € Ø�
Š
�5ÑÔÐÐÐr   c                 ó$  — |j         r|                      |j         ¦  «         |                      d¦  «         |j        r|                      |j        ¦  «         |j        r1|                      d¦  «         |                      |j        ¦  «         d S d S )Nrf  )Úlowerr  rT  ÚupperÚsteprt  s     r   Úvisit_Slicez_Unparser.visit_Sliceú  sŠ   € ØŒ:ð 	&Ø�MŠM˜$œ*Ñ%Ô%Ð%Ø�
Š
�3‰ŒˆØŒ:ð 	&Ø�MŠM˜$œ*Ñ%Ô%Ð%ØŒ9ð 	%Ø�JŠJ�s‰OŒOˆOØ�MŠM˜$œ)Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c                 óþ   — |                       d¦  «         |                      |j        ¦  «         |                      ¦   «         5  |j        D ]}|                      |¦  «         Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nzmatch )r]  r  Úsubjectrg  Úcases)rÊ   r'   Úcases      r   Úvisit_Matchz_Unparser.visit_Match  sÅ   € Ø�	Š	�(ÑÔÐØ�Š�d”lÑ#Ô#Ð#Ø�ZŠZ‰\Œ\ð 	$ð 	$Øœ
ð $ð $�Ø—’˜dÑ#Ô#Ð#Ð#ð$ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   Á A2Á2A6Á9A6c                 óª   — |                       |j        ¦  «         |j        r1|                       d¦  «         |                      |j        ¦  «         d S d S rx  )rT  Úargr¬  r  rt  s     r   Ú	visit_argz_Unparser.visit_arg  sV   € Ø�
Š
�4”8ÑÔÐØŒ?ð 	+Ø�JŠJ�tÑÔÐØ�MŠM˜$œ/Ñ*Ô*Ð*Ð*Ð*ð	+ð 	+r   c                 ó8  — d}|j         |j        z   }d gt          |¦  «        t          |j        ¦  «        z
  z  |j        z   }t	          t          ||¦  «        d¦  «        D ]’\  }}|\  }}|rd}n|                      d¦  «         |                      |¦  «         |r*|                      d¦  «         |                      |¦  «         |t          |j         ¦  «        k    r|                      d¦  «         Œ“|j        s|j	        r•|rd}n|                      d¦  «         |                      d¦  «         |j        r_|                      |j        j
        ¦  «         |j        j        r4|                      d¦  «         |                      |j        j        ¦  «         |j	        rvt          |j	        |j        ¦  «        D ][\  }}|                      d¦  «         |                      |¦  «         |r*|                      d¦  «         |                      |¦  «         Œ\|j        r~|rd}n|                      d¦  «         |                      d	|j        j
        z   ¦  «         |j        j        r8|                      d¦  «         |                      |j        j        ¦  «         d S d S d S )
NTr^   Fra   rb   z, /r   r$   r~  )ÚposonlyargsrG   rJ   ÚdefaultsÚ	enumeraterN   rT  r  ÚvarargÚ
kwonlyargsrà  r¬  Úkw_defaultsÚkwarg)	rÊ   r'   r¼   Úall_argsrä  ró   ÚelementsÚaÚds	            r   Úvisit_argumentsz_Unparser.visit_arguments  s¢  € ØˆàÔ# d¤iÑ/ˆØ�6�S ™]œ]­S°´Ñ-?Ô-?Ñ?Ñ@À4Ä=ÑPˆÝ(­¨X°xÑ)@Ô)@À!ÑDÔDð 	"ð 	"‰OˆE�8Ø‰DˆAˆqØð !Ø��à—
’
˜4Ñ Ô Ð Ø�MŠM˜!ÑÔÐØð !Ø—
’
˜3‘”�Ø—’˜aÑ Ô Ð Ø�˜DÔ,Ñ-Ô-Ò-Ð-Ø—
’
˜5Ñ!Ô!Ð!øð Œ;ð 
	:˜$œ/ð 
	:Øð !Ø��à—
’
˜4Ñ Ô Ð Ø�JŠJ�s‰OŒOˆOØŒ{ð :Ø—
’
˜4œ;œ?Ñ+Ô+Ð+Ø”;Ô)ð :Ø—J’J˜tÑ$Ô$Ð$Ø—M’M $¤+Ô"8Ñ9Ô9Ð9ð Œ?ð 	%Ý˜DœO¨TÔ-=Ñ>Ô>ð %ð %‘��1Ø—
’
˜4Ñ Ô Ð Ø—’˜aÑ Ô Ð Øð %Ø—J’J˜s‘O”O�OØ—M’M !Ñ$Ô$Ð$øð Œ:ð 	5Øð !Ø��à—
’
˜4Ñ Ô Ð Ø�JŠJ�t˜dœjœnÑ,Ñ-Ô-Ð-ØŒzÔ$ð 5Ø—
’
˜4Ñ Ô Ð Ø—’˜dœjÔ3Ñ4Ô4Ð4Ð4Ð4ð	5ð 	5ð5ð 5r   c                 óÒ   — |j         €|                      d¦  «         n/|                      |j         ¦  «         |                      d¦  «         |                      |j        ¦  «         d S )Nr~  rb   )rà  rT  r  r/   rt  s     r   Úvisit_keywordz_Unparser.visit_keywordD  s\   € ØŒ8ÐØ�JŠJ�tÑÔÐÐà�JŠJ�t”xÑ Ô Ð Ø�JŠJ�s‰OŒOˆOØ�Š�d”jÑ!Ô!Ð!Ð!Ð!r   c                 óö  — |                       t          j        |¦  «        5  |                      d¦  «         |                      ¦   «         5 }|                      |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |r | j        dg|¢R Ž  |                      d¦  «         |                      t          j        |j        ¦  «         |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚlambdar€   r$   )	rr  r$  r+  rT  rb  r  rG   rw  rX   )rÊ   r'   r`  s      r   Úvisit_Lambdaz_Unparser.visit_LambdaL  sh  € Ø× Ò ¥Ô!1°4Ñ8Ô8ð 	%ð 	%Ø�JŠJ�xÑ Ô Ð Ø—’‘”ð ) FØ—’˜dœiÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )àð )Ø�”
˜3Ð( Ð(Ð(Ð(Ð(Ø�JŠJ�tÑÔÐØ×Ò¥Ô 0°$´)Ñ<Ô<Ð<Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s6   ¡*C.ÁA2Á&C.Á2A6	Á6C.Á9A6	Á:A'C.Ã.C2Ã5C2c                 ó†   — |                       |j        ¦  «         |j        r|                       d|j        z   ¦  «         d S d S ©Nrê  )rT  r|   Úasnamert  s     r   Úvisit_aliasz_Unparser.visit_aliasW  sI   € Ø�
Š
�4”9ÑÔÐØŒ;ð 	-Ø�JŠJ�v ¤Ñ+Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-r   c                 óª   — |                       |j        ¦  «         |j        r1|                      d¦  «         |                       |j        ¦  «         d S d S rõ  )r  Úcontext_exprÚoptional_varsrT  rt  s     r   Úvisit_withitemz_Unparser.visit_withitem\  sY   € Ø�Š�dÔ'Ñ(Ô(Ð(ØÔð 	.Ø�JŠJ�vÑÔÐØ�MŠM˜$Ô,Ñ-Ô-Ð-Ð-Ð-ð	.ð 	.r   c                 ó^  — |                       d¦  «         |                      |j        ¦  «         |j        r/|                      d¦  «         |                      |j        ¦  «         |                      ¦   «         5  |                      |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzcase rl  )r]  r  ÚpatternÚguardrT  rg  rX   rt  s     r   Úvisit_match_casez_Unparser.visit_match_caseb  sÞ   € Ø�	Š	�'ÑÔÐØ�Š�d”lÑ#Ô#Ð#ØŒ:ð 	&Ø�JŠJ�vÑÔÐØ�MŠM˜$œ*Ñ%Ô%Ð%Ø�ZŠZ‰\Œ\ð 	%ð 	%Ø�MŠM˜$œ)Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   Á:B"Â"B&Â)B&c                 ó:   — |                       |j        ¦  «         d S r,   )r  r/   rt  s     r   Úvisit_MatchValuez_Unparser.visit_MatchValuek  s   € Ø�Š�d”jÑ!Ô!Ð!Ð!Ð!r   c                 ó:   — |                       |j        ¦  «         d S r,   )rU  r/   rt  s     r   Úvisit_MatchSingletonz_Unparser.visit_MatchSingletonn  s   € Ø×Ò˜TœZÑ(Ô(Ð(Ð(Ð(r   c                 ó®   ‡ — ‰                       dd¦  «        5  ‰                      ˆ fd„‰ j        |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nre   rn   c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z/_Unparser.visit_MatchSequence.<locals>.<lambda>t  r�  r   )rk  rN  r  Úpatternsrt  s   ` r   Úvisit_MatchSequencez_Unparser.visit_MatchSequenceq  s¥   ø€ Ø�\Š\˜#˜sÑ#Ô#ð 	ð 	Ø�OŠOØ(Ð(Ð(Ð(¨$¬-¸¼ñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	r[  c                 óL   — |j         }|€d}|                      d|› �¦  «         d S )NÚ_r   )r|   rT  )rÊ   r'   r|   s      r   Úvisit_MatchStarz_Unparser.visit_MatchStarw  s1   € ØŒyˆØˆ<ØˆDØ�
Š
�:�t�:�:ÑÔÐÐÐr   c           
      óL  ‡ — ˆ fd„}‰                       dd¦  «        5  |j        }‰                      ˆ fd„|t          ||j        d¬¦  «        ¦  «         |j        }|�/|r‰                      d¦  «         ‰                      d|› �¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nc                 ó�   •— | \  }}‰                      |¦  «         ‰                     d¦  «         ‰                      |¦  «         d S rx  ry  )Úpairrz  ÚprÊ   s      €r   Úwrite_key_pattern_pairz<_Unparser.visit_MatchMapping.<locals>.write_key_pattern_pair~  sH   ø€ Ø‰DˆAˆqØ�MŠM˜!ÑÔÐØ�JŠJ�tÑÔÐØ�MŠM˜!ÑÔÐÐÐr   r:  r;  c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z._Unparser.visit_MatchMapping.<locals>.<lambda>‡  r�  r   T©Ústrictra   r~  )rk  rK   rN  rN   r  ÚrestrT  )rÊ   r'   r  rK   r  s   `    r   Úvisit_MatchMappingz_Unparser.visit_MatchMapping}  s  ø€ ð	ð 	ð 	ð 	ð 	ð �\Š\˜#˜sÑ#Ô#ð 	(ð 	(Ø”9ˆDØ�OŠOØ(Ð(Ð(Ð(Ø&Ý�D˜$œ-°Ð5Ñ5Ô5ñô ð ð
 ”9ˆDØÐØð %Ø—J’J˜tÑ$Ô$Ð$Ø—
’
˜; ˜;˜;Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   �A/BÂBÂ Bc           
      óØ  ‡ — ‰                       t          j        |j        ¦  «         ‰                      |j        ¦  «         ‰                      dd¦  «        5  |j        }‰                      ˆ fd„‰ j        |¦  «         |j        }|rKˆ fd„}|r‰  	                    d¦  «         ‰                      ˆ fd„|t          ||j        d¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nrc   rd   c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z,_Unparser.visit_MatchClass.<locals>.<lambda>—  r�  r   c                 ól   •— | \  }}‰                      |› d�¦  «         ‰                     |¦  «         d S )Nrb   )rT  r  )r  r�   rý  rÊ   s      €r   Úwrite_attr_patternz6_Unparser.visit_MatchClass.<locals>.write_attr_pattern›  s<   ø€ Ø$(‘M�D˜'Ø—J’J $˜z˜z˜zÑ*Ô*Ð*Ø—M’M 'Ñ*Ô*Ð*Ð*Ð*r   ra   c                  ó.   •— ‰                       d¦  «        S rR  rS  rä   s   €r   rU  z,_Unparser.visit_MatchClass.<locals>.<lambda>£  s   ø€ ˜DŸJšJ tÑ,Ô,€ r   Tr  )rw  r$  r:  rz   r  rk  r  rN  Ú	kwd_attrsrT  rN   Úkwd_patterns)rÊ   r'   r  Úattrsr  s   `    r   Úvisit_MatchClassz_Unparser.visit_MatchClass‘  sY  ø€ Ø×Ò�KÔ,¨d¬hÑ7Ô7Ð7Ø�Š�d”hÑÔÐØ�\Š\˜#˜sÑ#Ô#ð 	ð 	Ø”}ˆHØ�OŠOØ(Ð(Ð(Ð(¨$¬-¸ñô ð ð ”NˆEØð ð+ð +ð +ð +ð +ð
 ð %Ø—J’J˜tÑ$Ô$Ð$Ø—’Ø,Ð,Ð,Ð,Ø&Ý˜˜tÔ0¸Ð>Ñ>Ô>ñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÁA;CÃC#Ã&C#c                 óº  — |j         }|j        }|€|                      d¦  «         d S |€|                      |j         ¦  «         d S |                      t          j        |¦  «        5  |                      t          j        |j        ¦  «         |                      |j        ¦  «         |                      d|j         › �¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr	  rê  )	r|   rý  rT  rr  r$  r+  rw  r1  r  )rÊ   r'   r|   rý  s       r   Úvisit_MatchAsz_Unparser.visit_MatchAs¨  s  € ØŒyˆØ”,ˆØˆ<Ø�JŠJ�s‰OŒOˆOˆOˆOØˆ_Ø�JŠJ�t”yÑ!Ô!Ð!Ð!Ð!à×$Ò$¥[Ô%5°tÑ<Ô<ð /ð /Ø×#Ò#¥K¤O°T´\ÑBÔBÐBØ—’˜dœlÑ+Ô+Ð+Ø—
’
Ð- $¤)Ð-Ð-Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   Á&ACÃCÃCc                 ó   ‡ — ‰                       t          j        |¦  «        5   ‰ j        t          j                             ¦   «         g|j        ¢R Ž  ‰                      ˆ fd„‰ j        |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  ó.   •— ‰                       d¦  «        S )Nz | rS  rä   s   €r   rU  z)_Unparser.visit_MatchOr.<locals>.<lambda>¸  s   ø€  D§J¢J¨uÑ$5Ô$5€ r   )rr  r$  r1  rw  r'  r  rN  r  rt  s   ` r   Úvisit_MatchOrz_Unparser.visit_MatchOrµ  sâ   ø€ Ø× Ò ¥¤°$Ñ7Ô7ð 	Uð 	UØˆDÔ¥¤× 4Ò 4Ñ 6Ô 6ÐG¸¼ÐGÐGÐGÐGØ�OŠOÐ5Ð5Ð5Ð5°t´}ÀdÄmÑTÔTÐTð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uð 	Uð 	Us   ¢ABÂBÂ
B)r`   r,   )ru   rÙ   rÚ   rÛ   rì   rN  rX  rZ  r]  rT  r   rb  rg  rk  rn  rr  rp  rw  ry  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  r  r0  r)  r-  r8  r/  r?  rL  rƒ  rU  rØ   rZ  rb  rf  rh  rj  rp  rr  ru  r�  rƒ  r‹  r$  r.  r7  rŒ  r�  r©  r5  r6  r4  r1  r2  r3  r8  r¤  Ú	frozensetr¥  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"  Ú__classcell__)rt   s   @r   r?  r?  «  s¼  ø€ € € € € ðð ð .3ð "ð "ð "ð "ð "ð
ð 
ð 
ðHð Hð Hðð ð ð
1ð 1ð 1ð 1ð"ð "ð "ð ð'ð 'ð 'ñ „^ð'ð Ø#ð ð ð ð ñ „^ðð ðð ñ „^ðð!ð !ð !ðQð Qð Qð=ð =ð =ð1ð 1ð 1ðð ð ð )ð )ð )ð
 ð  ð  ð  ð  ð%ð %ð %ð%ð %ð %ð#ð #ð #ð$ð $ð $ð"ð "ð "ð
&ð &ð &ðMð Mð MðMð Mð Mð%ð %ð %ð"ð "ð "ð&ð &ð &ð&ð &ð &ðð ð ðð ð ðð ð ðOð Oð Oð$ð $ð $ðJð Jð JðJð Jð Jð*ð *ð *ð*ð *ð *ð&ð &ð &ð
&ð 
&ð 
&ð.ð .ð .ð1ð 1ð 1ð1ð 1ð 1ð	%ð 	%ð 	%ð:ð :ð :ð0+ð +ð +ð1ð 1ð 1ð:ð :ð :ð'ð 'ð 'ð-ð -ð -ð+ð +ð +ð+ð +ð +ð$+ð +ð +ð%ð %ð %ð%ð %ð %ð &1ÈEð$/ð $/ð $/ð $/ð $/ðL FQð 8ð 8ð 8ð 8ð 8ð17ð 17ð 17ðfLð Lð Lð<ð <ð <ð,ð ð ðTð Tð Tð$ð $ð $ð
-ð 
-ð 
-ðPð Pð Pð#ð #ð #ð#ð #ð #ð#ð #ð #ð#ð #ð #ð%ð %ð %ð'ð 'ð 'ð ð  ð  ðð ð ð,6ð 6ð 6ð  %°¸cÐBÐB€DàŒØÔØÔØÔð	ð €Oð
(ð 
(ð 
(ð ØØØØØØØØØØØØðð €Eð" ÔØÔØÔØÔØÔØÔØÔØÔØŒ_ØÔØÔØÔØÔðð Ðð  �9˜WÑ%Ô%€Lð&ð &ð &ð$ ØØØØØØØØØðð €Fð!ð !ð !ð  4Ð(Ð(€GØ +¤°{´~ÐFÐFÐð[ð [ð [ð	ð 	ð 	ð!ð !ð !ð$*ð *ð *ð "ð "ð "ð
ð ð ð%ð %ð %ð$ð $ð $ð+ð +ð +ð15ð 15ð 15ðf"ð "ð "ð	%ð 	%ð 	%ð-ð -ð -ð
.ð .ð .ð%ð %ð %ð"ð "ð "ð)ð )ð )ðð ð ðð ð ð(ð (ð (ð(ð ð ð./ð /ð /ðUð Uð Uð Uð Uð Uð Ur   r?  c                 óH   — t          ¦   «         }|                     | ¦  «        S r,   )r?  rÍ   )Úast_objrD  s     r   Úunparser'  º  s   € Ý‰{Œ{€HØ�>Š>˜'Ñ"Ô"Ð"r   c                  óš  — dd l } |                      d¬¦  «        }|                     d|                      d¬¦  «        ddd	¬
¦  «         |                     ddddd¬¦  «         |                     dddd¬¦  «         |                     dddd¬¦  «         |                     ddt          dd¬¦  «         |                     ¦   «         }|j        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          ||j        j	        |j
        |j        ¬ ¦  «        }t          t          ||j        |j        ¬!¦  «        ¦  «         d S )"Nr   zpython -m ast)ÚprogÚinfileÚrbr!   ú?rS  z$the file to parse; defaults to stdin)r.   ÚnargsÚdefaultÚhelpz-mz--moder
   )r
   Úsingler    Ú	func_typez(specify what kind of code must be parsed)r.  Úchoicesr/  z--no-type-commentsTÚstore_falsez)don't add information about type comments)r.  Úactionr/  z-az--include-attributesÚ
store_truez:include attributes such as line numbers and column offsets)r4  r/  z-iz--indentr   z'indentation of nodes (number of spaces))r.   r.  r/  )r   )r   r[   )ÚargparseÚArgumentParserÚadd_argumentÚFileTyper0   Ú
parse_argsr*  Úreadr   r|   r   Úno_type_commentsÚprintr‚   r   r[   )r6  ÚparserrG   r*  r   Útrees         r   Úmainr@  ¿  sÎ  € Ø€O€O€Oà×$Ò$¨/Ð$Ñ:Ô:€FØ
×Ò˜ x×'8Ò'8¸dÐ'8Ñ'CÔ'CÈ3Ø #ØCð ñ Eô Eð Eð ×Ò˜˜h°Ø GØGð ñ Iô Ið Ið ×ÒÐ,°dÀ=ØHð ñ Jô Jð Jà
×Ò˜Ð4¸\ð.ð ñ /ô /ð /ð ×Ò˜˜j­s¸AØFð ñ Hô Hð Hà×ÒÑÔ€Dà	Œð ˜Ø—’‘”ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�˜œÔ)¨4¬9ÀDÔDYÐZÑZÔZ€DÝ	�$ˆt¨Ô(?ÈÌÐ
TÑ
TÔ
TÑUÔUÐUÐUÐUs   ÃC0Ã0C4Ã7C4Ú__main__)r	   r
   )TF)r^   )T)LrÛ   ÚsysÚ_astÚ
contextlibr   r   Úenumr   r   r   r   rZ   r‚   rŽ   r”   r™   rœ   r‘   r«   r²   rµ   r¾   r–   ÚobjectrÆ   rÝ   rˆ   r-   rå   rè   Úpropertyr˜   r¦   r.   rê   rø   rú   r¥   r  r  r  r0   r1   r2   rU   ÚbytesÚboolrî   rï   rÑ   ro   r  r  r  r=   r  r  r  Úmodr  Úexpr_contextr  r  r!  rw   Ú
float_infoÚ
max_10_exprT  r$  Ú_SINGLE_QUOTESr  r0  r?  r'  r@  ru   rh   r   r   ú<module>rO     sH  ððð ð4 €
€
€
Ø Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ð5Ø¨tð5ð 5ð 5ð 5ð 5ð*8$ð 8$ð 8$ðv@Èð @ð @ð @ð @ð @ðFð ð ð" ð  ð  ðFð ð ð ð.	ð 	ð 	ðð ð ðð ð ð ð4ð ð ð2ð ð ð 05ð "ð "ð "ð "ð "ðJð ð ð7(ð 7(ð 7(ð 7(ð 7(�&ñ 7(ô 7(ð 7(ðt8ð 8ð 8ð 8ð 8�kñ 8ô 8ð 8ðx €wˆx˜ÑÔð ,ðð ð ðð ð ð �˜' 7Ñ+Ô+€H„JØ�˜' 7Ñ+Ô+€H„Jð1ð 1ð 1ð 1ð 1ˆ4ñ 1ô 1ð 1ð(
2ð 
2ð 
2ðð ð ð ð ˆ(˜dð ñ ô ð ðð ð ð ð ˆ(˜dð ñ ô ð ðð ð ð ð ˆH ð ñ ô ð ðð ð ð ð �8 tð ñ ô ð ð6ð 6ð 6ð 6ð 6ˆx 4ð 6ñ 6ô 6ð 6ð ˆ#ˆu�gÐ	Øˆ#ˆØ	ˆEˆ8Ø�4�4˜‘:”:˜tÐ$Øˆtˆt�C‰yŒyˆlð€ð ˆ$ˆðÐ ð
 	ˆ.Ø€Dˆ�J„J�ØˆØ	ˆ5ØˆUØˆØ	ˆ7Ø€Dˆ�I„Iˆzð	Ð ð%ð %ð %ð %ð %ˆCñ %ô %ð %ðð ð ð ð ˆEñ ô ð ð
3ð 3ð 3ð 3ð 3ˆuñ 3ô 3ð 3ð €wˆu�fÑÔð 6ðð ð ðð ð ð �˜,¨Ñ5Ô5€E„Jð:ð :ð :ð :ð :ˆCñ :ô :ð :ð:ð :ð :ð :ð :ˆlñ :ô :ð :ð:ð :ð :ð :ð :ˆ|ñ :ô :ð :ð:ð :ð :ð :ð :ˆLñ :ô :ð :ð ���c”nÔ/°!Ñ3Ñ4Ô4Ñ
4€à€ˆgÑÔðð ð ð ð ñ ô ñ Ôðð> €Ø€Ø/�Ð/ Ð/Ð/€ðMUð MUð MUð MUð MU�ñ MUô MUð MUð^ #ð #ð #ð
Vð Vð Vð0 ˆzÒÐØ€D�F„F€F€F€Fð Ðr   