Ë
    pPêj + ã                  ó  — U d Z ddlmZ ddlZddlmZmZ ddlZddlm	Z
mZmZ ddlmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z  ddl!m"Z" dd	l#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZq dd
lrmsZs ddltmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z} ddl~mZ ddl€m�Z� ddl‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘ ddl’m“Z“m”Z”m•Z• e–e—e˜e–e™   f      Zš e‡e)g d«      Z›deœd<    G d„ d«      Z�	 	 dG	 	 	 	 	 	 	 	 	 dHd„Zž	 	 	 	 	 	 	 	 	 	 	 	 	 	 dId„ZŸdJd„Z dKd„Z¡dLd„Z¢	 	 dG	 	 	 	 	 	 	 	 	 dMd„Z£dNd„Z¤dOd„Z¥	 	 	 	 	 	 	 	 	 	 dPd„Z¦	 	 	 	 	 	 	 	 	 	 dPd„Z§dQd„Z¨dRd „Z©dSd!„ZªdTd"„Z«dUd#„Z¬dVd$„Z­dWdXd%„Z®dYd&„Z¯dYd'„Z°dZd(„Z±d[d)„Z²d\d*„Z³d]d+„Z´g d,¢Zµdeœd-<   d.d/gZ¶deœd0<   g d1¢Z·deœd2<   g d3¢Z¸deœd4<   d^d5„Z¹d^d6„Zº	 dW	 	 	 	 	 	 	 d_d7„Z»d`d8„Z¼d^d9„Z½dad:„Z¾dad;„Z¿dbd<„ZÀdcd=„ZÁddd>„ZÂded?„ZÃdfd@„ZÄdgdA„ZÅ	 dh	 	 	 	 	 didB„ZÆ	 	 	 	 	 	 djdC„ZÇdkdD„ZÈdldE„ZÉdmdF„ZÊy)na»  Python parser that directly constructs a native AST (when compiled).

Use a Rust extension to generate a serialized AST, and deserialize the AST directly
to a mypy AST.

NOTE: This is work in progress. To use this, you need to manually build the
      ast_serialize Rust extension. See the README at https://github.com/mypyc/ast_serialize.

Expected benefits over mypy.fastparse:
 * No intermediate non-mypyc Python-level AST created, to improve performance
 * Parsing doesn't need GIL => use multithreading to construct serialized ASTs in parallel
 * Produce import dependencies without having to build an AST => helps parallel type checking
 * Support all Python syntax even if mypy is running on an older Python version
 * Generate an AST even if there are syntax errors
 * Potential to support incremental parsing (quickly process modified sections in a file)
 * Stripping function bodies in third-party code can happen earlier, for extra performance
é    )ÚannotationsN)ÚFinalÚcast)Ú
read_floatÚread_intÚread_str)Úmessage_registryÚnodesÚtypes)ÚDICT_STR_GENÚEND_TAGÚLIST_GENÚLIST_INTÚLITERAL_FLOATÚLITERAL_NONEÚLITERAL_STRÚLOCATIONÚ
ReadBufferÚTagÚ	read_boolr   r   Úread_str_optÚread_tag)ÚCompileError)NÚ	ARG_KINDSÚARG_POSÚIMPORT_METADATAÚIMPORTALL_METADATAÚIMPORTFROM_METADATAÚMISSING_FALLBACKÚArgumentÚ
AssertStmtÚAssignmentExprÚAssignmentStmtÚ	AwaitExprÚBlockÚ	BreakStmtÚ	BytesExprÚCallExprÚClassDefÚComparisonExprÚComplexExprÚConditionalExprÚContextÚContinueStmtÚ	DecoratorÚDelStmtÚDictExprÚDictionaryComprehensionÚEllipsisExprÚ
ExpressionÚExpressionStmtÚFileRawDataÚ	FloatExprÚForStmtÚFuncDefÚGeneratorExprÚ
GlobalDeclÚIfStmtÚImportÚ	ImportAllÚ
ImportBaseÚ
ImportFromÚ	IndexExprÚIntExprÚ
LambdaExprÚListComprehensionÚListExprÚ	MatchStmtÚ
MemberExprÚMypyFileÚNameExprÚNonlocalDeclÚOperatorAssignmentStmtÚOpExprÚOverloadedFuncDefÚOverloadPartÚ
ParseErrorÚPassStmtÚ	RaiseStmtÚRefExprÚ
ReturnStmtÚSetComprehensionÚSetExprÚ	SliceExprÚStarExprÚ	StatementÚStrExprÚ	SuperExprÚTemplateStrExprÚTempNodeÚTryStmtÚ	TupleExprÚTypeAliasStmtÚ	TypeParamÚ	UnaryExprÚVarÚ	WhileStmtÚWithStmtÚ	YieldExprÚYieldFromExprÚcheck_param_names)ÚOptions)	Ú	AsPatternÚClassPatternÚConcretePatternÚMappingPatternÚ	OrPatternÚSequencePatternÚSingletonPatternÚStarredPatternÚValuePattern)Ú"infer_reachability_of_if_statement)Úspecial_function_elide_names)ÚAnyTypeÚCallableArgumentÚCallableTypeÚEllipsisTypeÚInstanceÚ
ProperTypeÚRawExpressionTypeÚ	TupleTypeÚTypeÚTypedDictTypeÚTypeListÚ	TypeOfAnyÚUnboundTypeÚ	UnionTypeÚ
UnpackType)Údecode_python_encodingÚhash_digestÚunnamed_functionéÿÿÿÿr   Ú_dummy_fallbackc                  ó^   — e Zd Zdd	d„Zddœ	 	 	 	 	 	 	 	 	 	 	 d
d„Zddœ	 	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚStateFc                ó<   — || _         || _        g | _        d| _        y ©Nr   )ÚoptionsÚis_stubÚerrorsÚ	num_funcs)ÚselfrŒ   r�   s      úU/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/nativeparse.pyÚ__init__zState.__init__«   s   € ØˆŒØˆŒØ(*ˆŒØˆ�ó    )Úblockerc               óF   — | j                   j                  |||||dœ«       y)z'Report an error at a specific location.)ÚlineÚcolumnÚmessager”   ÚcodeN)rŽ   Úappend)r�   r˜   r–   r—   r”   r™   s         r‘   Ú	add_errorzState.add_error±   s%   € ð 	�‰×ÑØ V¸ÈGÐ]aÑbõ	
r“   ©Úenforce_in_stubsc               óä   — | j                   r|sy| j                  j                  |k  rH| j                  j                  }| j                  |› d|d   › d|d   › d|d   › d|d   › d�
||dd	¬
«       yy)zYReport a non blocker syntax error if the target Python feature is older than min_version.Nz: requires Python r   ú.é   z" or newer (current target: Python ú)FÚsyntax©r”   r™   )r�   rŒ   Úpython_versionr›   )r�   ÚfeatureÚmin_versionr–   r—   r�   Úcurrs          r‘   Úcheck_min_versionzState.check_min_version¹   s‘   € ð �<Š<Ñ 0ØØ�<‰<×&Ñ&¨Ò4Ø—<‘<×.Ñ.ˆDØ�N‰NØ�)Ð-¨k¸!©nÐ-=¸Q¸{È1¹~Ð>Nð O+Ø+/°©7¨)°1°T¸!±W°I¸Qð@àØØØð õ ð 5r“   N©F)rŒ   rh   r�   ÚboolÚreturnÚNone)r˜   Ústrr–   Úintr—   r®   r”   rª   r™   r­   r«   r¬   )r¥   r­   r¦   ztuple[int, int]r–   r®   r—   r®   r�   rª   r«   r¬   )Ú__name__Ú
__module__Ú__qualname__r’   r›   r¨   © r“   r‘   r‰   r‰   ª   s‡   „ ôð HMñ
Øð
Ø"%ð
Ø/2ð
Ø@Dð
ØTWð
à	ó
ð "'ñàðð %ðð ð	ð
 ðð ðð 
ôr“   r‰   c           
     ó  — t         j                  j                  | «      rt        g g «      }| |_        |g g fS t	        | |||«      \  }}}}}	}
}}t        g g «      }| |_        t        |||t        |«      |	|
||«      |_        |||fS )aè  Parse a Python file using the native Rust-based parser.

    Return (MypyFile, errors, type_ignores).

    The returned tree is empty with actual serialized data stored in `raw_data`
    attribute. Use read_statements() and/or deserialize_imports() to de-serialize.

    The caller should set these additional attributes on the returned MypyFile:
      - ignored_lines: dict of type ignore comments (from the TypeIgnores return value)
      - is_stub: whether the file is a .pyi stub
    )ÚosÚpathÚisdirrH   Úparse_to_binary_astr6   ÚdictÚraw_data)ÚfilenamerŒ   ÚsourceÚskip_function_bodiesÚnodeÚbrŽ   ÚignoresÚimport_bytesÚis_partial_packageÚuses_template_stringsÚsource_hashÚmypy_commentss                r‘   Únative_parserÅ   Ñ   s«   € ô& 
‡w�w‡}�}�XÔÜ˜˜BÓˆØˆŒ	Ø�R˜ˆ|Ðô 	˜H g¨vÐ7KÓLñ	Ø	ØØØØØØØä�B˜Ó€DØ€D„IÜØ	ØØÜˆW‹ØØØØó	€D„Mð �˜Ð Ð r“   c                ó¦   — t        j                  | ||||fd¬«      }t        |«      }t        |«      }t	        ||«      }	t        |	t        «      sJ ‚|	S )z˜Try to parse a string literal as a type expression (i.e. resolve a forward reference).

    If parsing fails, a RawExpressionType will be returned.
    é   )Úcache_version)Úast_serializeÚparse_type_stringr‰   r   Ú	read_typeÚ
isinstancery   )
Úexpr_stringr–   r—   Úend_lineÚ
end_columnrŒ   Ú	ast_bytesÚstateÚdataÚrets
             r‘   Únative_parse_type_stringrÔ     sZ   € ô ×/Ñ/Ø�d˜F H¨jÐ9Èô€Iô �'‹N€EÜ�iÓ €DÜ
�E˜4Ó
 €CÜ�cœ:Ô&Ð&Ð&Ø€Jr“   c                ó,   — t        | «      t        k(  sJ ‚y ©N)r   r   )rÒ   s    r‘   Úexpect_end_tagr×     s   € Ü�D‹>œWÒ$Ð$Ñ$r“   c                ó2   — t        | «      x}|k(  sJ |«       ‚y rÖ   )r   )rÒ   ÚtagÚactuals      r‘   Ú
expect_tagrÛ     s   € Ü˜t“nÐ$ˆF¨Ò,Ð4¨fÓ4Ñ,r“   c                ó¸   — g }| j                   }t        |«      D ]  }t        | |«      }|j                  |«       Œ! | j                   |dz   kD  rt	        | |«      }|S )Nr    )r�   ÚrangeÚread_statementrš   Úfix_function_overloads)rÑ   rÒ   ÚnÚdefsÚold_num_funcsÚ_Ústmts          r‘   Úread_statementsrå     s_   € Ø€DØ—O‘O€MÜ�1‹Xò ˆÜ˜e TÓ*ˆØ�‰�DÕðð ‡�˜¨Ñ*Ò*ä% e¨TÓ2ˆØ€Kr“   c                óH  — 	 t        j                  | |||j                  |j                  |j                  |j
                  d¬«      \  }}}}}|||||d   |d   |d   |d   fS # t        $ rµ}	|€—t        | d«      5 }
|
j                  «       }t        |«      }d d d «       n# 1 sw Y   nxY wt        j                  | |||j                  |j                  |j                  |j
                  d¬«      \  }}}}}t        «      |d<   nt        | › d|	› �g«      |	‚Y d }	~	ŒÏd }	~	ww xY w)	NrÇ   )r¼   r¤   ÚplatformÚalways_trueÚalways_falserÈ   ÚrbrÃ   z: error: Cannot parse file: rÁ   rÂ   rÄ   )rÉ   Úparser¤   rç   rè   ré   Ú
ValueErrorÚopenÚreadrƒ   r„   r   )rº   rŒ   r»   r¼   rÐ   rŽ   r¿   rÀ   Úast_dataÚexcÚfÚsource_bytess               r‘   r·   r·   '  sd  € ð!ZÜ=J×=PÑ=PØØØ!5Ø"×1Ñ1Ø×%Ñ%Ø×+Ñ+Ø ×-Ñ-Øô	>
Ñ:ˆ	�6˜7 L°(ðD 	ØØØØÐ%Ñ&ØÐ(Ñ)Ø�ÑØ�Ñ!ð	ð 	øô/ ò ZØˆ>ô �h Ó%ð >¨Ø Ÿv™v›x�Ü/°Ó=�÷>÷ >ñ >úô BO×ATÑATØØØ%9Ø&×5Ñ5Ø ×)Ñ)Ø#×/Ñ/Ø$×1Ñ1Øô	BÑ>ˆI�v˜w¨°hô '2°,Ó&?ˆH�]Ò#ô  8 *Ð,HÈÈÐ NÐOÓPÐVYÐYô $ûð'Zús1   ‚AA# Á#	D!Á,DÁ:BÂ	DÂB(	Â$A3DÄD!c                ór  — t        |«      }|t        j                  k(  rƒt        | |«      }t	        | |«      }t        |«      }|rt        | |«      }nd }t        |«      }t        ||||¬«      }t        ||«       t        |t        «      rt        ||«       t        |«       |S |t        j                  k(  r8t        t	        | |«      «      }	t        |	|	j                  «       t        |«       |	S |t        j                   k(  �rit	        | |«      }
t#        | |«      }t%        |«      }g }g }t'        |«      D ]8  }|j)                  t	        | |«      «       |j)                  t#        | |«      «       Œ: t        |«      }|rt#        | |«      }nd }|}t+        t-        t/        ||«      «      «      D ]•  \  }}t1        |g|g|«      }|j2                  |_        |j4                  |_        |�#|j6                  |_        |j8                  |_        n"|j6                  |_        |j8                  |_        t;        |g«      }t        ||«       Œ— t1        |
g|g|«      }t        ||«       t        |«       |S |t        j<                  k(  r@t        |«      }|rt	        | |«      }nd }t?        |«      }t        ||«       t        |«       |S |t        j@                  k(  rtC        | |«      S |t        jD                  k(  r’t%        |«      }tG        |«      }t%        |«      }g }t'        |«      D ];  }tG        |«      }t        |«      } | rtG        |«      }!nd }!|j)                  ||!f«       Œ= tI        |||«      }tK        ||«       t        |«       |S |t        jL                  k(  rit	        | |«      }"t	        | |«      }
t#        | |«      }tO        | |«      }t        |«      }#tQ        |"|
||«      }|#|_)        t        ||«       t        |«       |S |t        jT                  k(  rMt	        | |«      }$t        |«      }%|%rt	        | |«      }&nd }&tW        |$|&«      }t        ||«       t        |«       |S |t        jX                  k(  rt[        | |«      S |t        j\                  k(  rït_        |t`        «       tc        |«      }'t'        |'«      D �cg c]  }t	        | |«      ‘Œ }(}t%        |«      })t%        |«      }*te        | |«      }+t        |+tf        «      sJ ‚d|+_4        tk        |+jl                  «      },|+j2                  |,_        d|,_7        tq        |+|(|,«      }|)|_        |*|_        |+j6                  |_        |+j8                  |_        t        |«       |S |t        jr                  k(  rzt%        |«      }g }-t'        |«      D ];  }tG        |«      }t        |«      } | rtG        |«      }!nd }!|-j)                  ||!f«       Œ= tu        |-«      }tK        ||«       t        |«       |S |t        jv                  k(  r]t        |«      }.|.rt	        | |«      }/nd }/t        |«      }0|0rt	        | |«      }1nd }1ty        |/|1«      }t        ||«       t        |«       |S |t        jz                  k(  rItG        |«      }2t	        | |«      }3t	        | |«      }t}        |2|3|«      }t        ||«       t        |«       |S |t        j~                  k(  r#t�        «       }t        ||«       t        |«       |S |t        j‚                  k(  r#t…        «       }t        ||«       t        |«       |S |t        j†                  k(  r¼t%        |«      }g }4g }5t'        |«      D ][  }t	        | |«      }6|4j)                  |6«       t        |«      }7|7rt	        | |«      }8|5j)                  |8«       ŒK|5j)                  d «       Œ] t#        | |«      }t        |«      }#t‰        |4|5|«      }|#|_)        t        ||«       t        |«       |S |t        jŠ                  k(  rt�        | |«      S |t        jŽ                  k(  r#t‘        «       }t        ||«       t        |«       |S |t        j’                  k(  rJt	        | |«      }
t#        | |«      }tO        | |«      }t•        |
||«      }t        ||«       t        |«       |S |t        j–                  k(  r0t	        | |«      }
t™        |
«      }t        ||«       t        |«       |S |t        jš                  k(  rt�        | |«      S |t        jž                  k(  r;tG        |«      }t%        |«      }t¡        ||«      }tK        ||«       t        |«       |S |t        j¢                  k(  r[t%        |«      }g }9t'        |«      D ]  }|9j)                  tG        |«      «       Œ t¥        |9«      }t        ||«       t        |«       |S |t        j¦                  k(  r[t%        |«      }g }9t'        |«      D ]  }|9j)                  tG        |«      «       Œ t©        |9«      }t        ||«       t        |«       |S |t        jª                  k(  rÊt	        | |«      }:t%        |«      };g }<g }=g }>t'        |;«      D ]x  }t­        | |«      }?|<j)                  |?«       t        |«      }@|@rt	        | |«      }A|=j)                  |A«       n|=j)                  d «       t#        | |«      }|>j)                  |«       Œz t¯        |:|<|=|>«      }t        ||«       t        |«       |S J |«       ‚c c}w )N)ÚtypeÚ
new_syntaxTF)Xr   r
   ÚASSIGNMENT_STMTÚread_expression_listÚread_expressionr   rË   r#   Úread_locrÌ   r\   Úset_line_column_ranger×   Ú	EXPR_STMTr5   ÚexprÚIF_STMTÚ
read_blockr   rÝ   rš   ÚreversedÚlistÚzipr<   r–   r—   rÎ   rÏ   r%   ÚRETURN_STMTrS   ÚFUNC_DEF_STMTÚread_func_defÚIMPORT_FROMr   r@   Ú_read_and_set_import_metadataÚFOR_STMTÚread_optional_blockr8   Úis_asyncÚASSERT_STMTr!   Ú	CLASS_DEFÚread_class_defÚ	DECORATORrÛ   r   Úread_int_barerÞ   r9   Úis_decoratedrb   ÚnameÚis_readyr/   ÚIMPORTr=   Ú
RAISE_STMTrQ   ÚOPERATOR_ASSIGNMENT_STMTrK   Ú	PASS_STMTrP   ÚCONTINUE_STMTr.   Ú	WITH_STMTrd   ÚTRY_STMTÚread_try_stmtÚ
BREAK_STMTr&   Ú
WHILE_STMTrc   ÚDEL_STMTr0   ÚTYPE_ALIAS_STMTÚread_type_alias_stmtÚ
IMPORT_ALLr>   ÚNONLOCAL_DECLrJ   ÚGLOBAL_DECLr;   Ú
MATCH_STMTÚread_patternrF   )BrÑ   rÒ   rÙ   ÚlvaluesÚrvalueÚhas_typeÚtype_annotationrõ   ÚaÚesrü   ÚbodyÚnum_elifÚ
elif_exprsÚelif_bodiesÚiÚhas_elseÚ	else_bodyÚcurrent_elseÚ	elif_exprÚ	elif_bodyÚ	elif_stmtÚif_stmtÚ	has_valueÚvaluerä   ÚrelativeÚ	module_idrà   Únamesrã   r  Ú
has_asnameÚasnameÚindexr	  ÚtestÚhas_msgÚmsgÚn_decoratorsÚ
decoratorsr–   r—   ÚfdefÚvarÚidsÚhas_excrð   Úhas_fromÚ	from_exprÚopÚlvalueÚ	expr_listÚtarget_listÚcontext_exprÚ
has_targetÚtargetÚ
decl_namesÚsubjectÚn_casesÚpatternsÚguardsÚbodiesÚpatternÚ	has_guardÚguardsB                                                                     r‘   rÞ   rÞ   [  s
  € ä
�4‹.€Cà
Œe×#Ñ#Ò#Ü& u¨dÓ3ˆÜ  ¨Ó-ˆÜ˜T“?ˆÙÜ'¨¨tÓ4‰Oà"ˆOÜ˜t“_ˆ
Ü˜7 F°ÈZÔXˆÜ��qÔä�fœhÔ'Ü! &¨!Ô,Ü�tÔØˆØ	”—‘Ò	ÜœO¨E°4Ó8Ó9ˆÜ˜b "§'¡'Ô*Ü�tÔØˆ	Ø	”—‘Ó	Ü˜u dÓ+ˆÜ˜% Ó&ˆä˜D“>ˆØˆ
ØˆÜ�x“ò 	8ˆAØ×Ñœo¨e°TÓ:Ô;Ø×Ñœz¨%°Ó6Õ7ð	8ô ˜T“?ˆÙÜ" 5¨$Ó/‰IàˆIð !ˆä$,¬T´#°jÀ+Ó2NÓ-OÓ$Pò 	;Ñ ˆI�yÜ 	˜{¨Y¨K¸ÓFˆIØ&Ÿ^™^ˆIŒNØ(×/Ñ/ˆIÔØÐ'Ø%1×%:Ñ%:�	Ô"Ø'3×'>Ñ'>�	Õ$à%.×%7Ñ%7�	Ô"Ø'0×';Ñ';�	Ô$ä  ) Ó-ˆLÜ! ,°	Õ:ð	;ô ˜$˜ $ ¨Ó6ˆÜ��wÔÜ�tÔØˆØ	”×!Ñ!Ò	!Ü˜d“Oˆ	ÙÜ# E¨4Ó0‰EàˆEÜ˜%Ó ˆÜ��tÔÜ�tÔØˆØ	”×#Ñ#Ò	#Ü˜U DÓ)Ð)Ø	”×!Ñ!Ò	!Ü˜D“>ˆÜ˜T“Nˆ	Ü�T‹NˆØˆÜ�q“ò 	)ˆAÜ˜D“>ˆDÜ" 4›ˆJÙÜ! $›‘à�Ø�L‰L˜$ ˜Õ(ð	)ô ˜) X¨uÓ5ˆÜ% d¨DÔ1Ü�tÔØˆØ	”—‘Ò	Ü  tÓ,ˆÜ˜u dÓ+ˆÜ˜% Ó&ˆÜ'¨¨tÓ4ˆ	Ü˜T“?ˆÜ�u˜d D¨)Ó4ˆØ ˆŒÜ��tÔÜ�tÔØˆØ	”×!Ñ!Ò	!Ü˜u dÓ+ˆÜ˜D“/ˆÙÜ! %¨Ó.‰CàˆCÜ˜$ Ó$ˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü˜e TÓ*Ð*Ø	”—‘Ò	Ü�4œÔ"Ü$ TÓ*ˆÜ<AÀ,Ó<OÖP°q”o e¨TÕ2ÐPˆ
ÐPÜ˜‹~ˆÜ˜$“ˆÜ˜e TÓ*ˆÜ˜$¤Ô(Ð(Ð(Ø ˆÔÜ�$—)‘)‹nˆØ—9‘9ˆŒØˆŒÜ˜˜z¨3Ó/ˆØˆŒ	ØˆŒØŸ™ˆŒØŸ/™/ˆŒä�tÔØˆØ	”—‘Ò	Ü�T‹NˆØˆÜ�q“ò 	'ˆAÜ˜D“>ˆDÜ" 4›ˆJÙÜ! $›‘à�Ø�J‰J˜˜f�~Õ&ð	'ô �c‹{ˆÜ% d¨DÔ1Ü�tÔØˆØ	”× Ñ Ò	 Ü˜D“/ˆÙÜ! %¨Ó.‰CàˆCÜ˜T“?ˆÙÜ'¨¨tÓ4‰IàˆIÜ˜˜iÓ(ˆÜ��tÔÜ�tÔØˆØ	”×.Ñ.Ò	.Ü�d‹^ˆÜ  ¨Ó-ˆÜ  ¨Ó-ˆÜ% b¨&°&Ó9ˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü‹zˆÜ��tÔÜ�tÔØˆØ	”×#Ñ#Ò	#Ü‹~ˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü�T‹NˆØˆ	Ø/1ˆÜ�q“ò 	)ˆAÜ*¨5°$Ó7ˆLØ×Ñ˜\Ô*Ü" 4›ˆJÙÜ(¨°Ó5�Ø×"Ñ" 6Õ*à×"Ñ" 4Õ(ð	)ô ˜% Ó&ˆÜ˜T“?ˆÜ˜	 ;°Ó5ˆØ ˆŒÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü˜U DÓ)Ð)Ø	”× Ñ Ò	 Ü‹{ˆÜ��tÔÜ�tÔØˆØ	”× Ñ Ò	 Ü˜u dÓ+ˆÜ˜% Ó&ˆÜ'¨¨tÓ4ˆ	Ü˜˜t YÓ/ˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü˜u dÓ+ˆÜ�t‹}ˆÜ��tÔÜ�tÔØˆØ	”×%Ñ%Ò	%Ü# E¨4Ó0Ð0Ø	”× Ñ Ò	 Ü˜T“Nˆ	Ü˜D“>ˆä˜ HÓ-ˆÜ% d¨DÔ1Ü�tÔØˆØ	”×#Ñ#Ò	#Ü�T‹NˆØˆ
Ü�q“ò 	.ˆAØ×Ñœh t›nÕ-ð	.ä˜JÓ'ˆÜ��tÔÜ�tÔØˆØ	”×!Ñ!Ò	!Ü�T‹NˆØˆ
Ü�q“ò 	.ˆAØ×Ñœh t›nÕ-ð	.ä˜*Ó%ˆÜ��tÔÜ�tÔØˆØ	”× Ñ Ò	 Ü! %¨Ó.ˆÜ˜4“.ˆØˆØ*,ˆØˆÜ�w“ò 
	 ˆAÜ" 5¨$Ó/ˆGØ�O‰O˜GÔ$Ü! $›ˆIÙÜ'¨¨tÓ4�Ø—‘˜eÕ$à—‘˜dÔ#Ü˜e TÓ*ˆDØ�M‰M˜$Õð
	 ô ˜ (¨F°FÓ;ˆÜ��tÔÜ�tÔØˆà�cÓˆuùòy Qs   Ò7l4c                óî  ‡ — t        |t        «       t        |«      }g }d}t        |«      D �]	  }t	        |«      }t        |«      }t        |   }t        |«      }	|	rt        ‰ |«      }
d}nd}
t        |«      }|rt        ‰ |«      }nd}t        |«      }‰ j                  j                  r:|
�8t        |t        «      xr |j                  dk(  }t        |
t        «      r||
_        t#        ||
«      }d|_        d|_        t)        ||
|||«      }t+        ||«       t-        ||«       |j/                  |«       �Œ dˆ fd„}t1        |D �cg c]  }|j2                  j                  ‘Œ c}||«       ||fS c c}w )zPRead function/lambda parameters.

    Return (parameters, has_annotations).
    FTNr¬   c                óZ   •— ‰j                  | |j                  |j                  dd¬«       y )NTr¢   r£   )r›   r–   r—   )r@  ÚctxrÑ   s     €r‘   Úfail_argz!read_parameters.<locals>.fail_argš  s!   ø€ à�‰˜˜SŸX™X s§z¡z¸4ÀhˆÕOr“   )r@  r­   r[  r    r«   r¬   )rÛ   r   r  rÝ   r   r   r   r   rË   rø   rŒ   Úimplicit_optionalrÌ   rI   r  r€   Úoptionalrb   Úis_inferredÚis_argumentr    rù   rú   rš   rg   Úvariable)rÑ   rÒ   Ún_argsÚ	argumentsÚhas_annrã   Úarg_nameÚarg_kind_intÚarg_kindr&  ÚannÚhas_defaultÚdefaultÚpos_onlyr^  rD  Úargr\  s   `                 r‘   Úread_parametersrm  s  s]  ø€ ô
 ˆt”XÔÜ˜4Ó €FØ€IØ€GÜ�6‹]ó ˆÜ˜D“>ˆÜ “~ˆÜ˜\Ñ*ˆÜ˜T“?ˆÙÜ˜E 4Ó(ˆCØ‰GàˆCÜ “oˆÙÜ% e¨TÓ2‰GàˆGÜ˜T“?ˆà�=‰=×*Ò*¨s¨Ü! '¬8Ó4ÒO¸¿¹ÈÑ9OˆHÜ˜#œ{Ô+Ø'�”ä�(˜CÓ ˆØˆŒØˆŒÜ�s˜C ¨(°HÓ=ˆÜ��sÔÜ˜c 3Ô'Ø×Ñ˜Öð9õ<Pô °IÖ>¨S�s—|‘|×(Ó(Ò>À	È8ÔTØ�gÐÐùò ?s   ÅE2c                óR   — t        d„ |D «       «      r| j                  dd||«       y y )Nc              3  ó8   K  — | ]  }|j                   d u–— Œ y ­wrÖ   )rj  )Ú.0Úps     r‘   ú	<genexpr>z,check_type_param_defaults.<locals>.<genexpr>¥  s   è ø€ Ò
6 Qˆ1�9‰9˜DÔ Ñ
6ùs   ‚zType parameter defaults)é   é   )Úanyr¨   )rÑ   Útype_paramsr–   r—   s       r‘   Úcheck_type_param_defaultsrw  ¢  s,   € ô Ñ
6¨+Ô
6Ô6Ø×ÑÐ 9¸7ÀDÈ&ÕQð 7r“   c                ó®   — |D ]P  }t        |j                  «      dk(  sŒ| j                  t        j                  j
                  ||dd¬«       g |_        ŒR y )Nr    FÚmiscr£   )ÚlenÚvaluesr›   r	   Ú"TYPE_VAR_TOO_FEW_CONSTRAINED_TYPESr7  )rÑ   rv  r–   r—   Ú
type_params        r‘   Úcheck_type_param_valuesr~  ©  s\   € ð "ò 
#ˆ
Üˆz× Ñ Ó! QÓ&Ø�O‰OÜ ×CÑC×IÑIØØØØð ô ð !#ˆJÕñ
#r“   c           
     óœ  — g }t        |«      }t        |«      D ]«  }t        |«      }t        |«      }t	        |«      }|rt        | |«      }nd}t        |t        «       t        |«      }	t        |	«      D �cg c]  }t        | |«      ‘Œ }
}t	        |«      }|rt        | |«      }nd}|j                  t        ||||
|«      «       Œ­ |S c c}w )z(Read type parameters (PEP 695 generics).N)
r  rÝ   r   r   r   rË   rÛ   r   rš   r`   )rÑ   rÒ   rv  rà   rã   Úkindr  Ú	has_boundÚupper_boundÚn_valuesr{  ri  rj  s                r‘   Úread_type_paramsr„  ¹  sÍ   € à#%€KÜ�dÓ€AÜ�1‹Xò PˆÜ˜‹~ˆÜ˜‹~ˆÜ˜d“Oˆ	ÙÜ# E¨4Ó0‰KàˆKä�4œÔ"Ü  Ó&ˆÜ27¸³/ÖB¨Q”)˜E 4Õ(ÐBˆÐBä “oˆÙÜ  tÓ,‰GàˆGà×Ñœ9 T¨4°¸fÀgÓNÕOð'Pð* Ðùò Cs   Á6C	c                óú  — | xj                   dz  c_         t        |«      }t        | |«      \  }}| j                  j                  rt        |«      r|D ]	  }d|_        Œ t        | |«      }t        |«      }t        |«      }|rt        | |«      }	nd }	t        |«      }
|
rt        | |«      }d}nd }|r´t        |D �cg c]3  }|j                  r|j                  nt        t        j                  «      ‘Œ5 c}|D �cg c]  }|j                   ‘Œ c}|D �cg c]&  }|j                  rd n|j"                  j$                  ‘Œ( c}|r|nt        t        j                  «      t&        «      }nd }t)        |||||	¬«      }|rd|_        t-        ||«       |	rl| j/                  dd|j0                  |j2                  «       t5        | |	|j0                  |j2                  «       t7        | |	|j0                  |j2                  «       |r>|j0                  |_        |j2                  |_        ||_        |j;                  «       |_        t?        |«       | j                  j@                  rtC        |«      |_"        |S c c}w c c}w c c}w )Nr    T)ÚtypÚ	type_argsúImproved type parameter syntax©rs  é   )#r�   r   rm  rŒ   Úpos_only_special_methodsrs   rk  rþ   r   r„  rË   rv   r'  rt   r   Úunannotatedr€  ra  r  r‡   r9   Úis_coroutinerù   r¨   r–   r—   rw  r~  Ú
definitionÚcopy_modifiedÚunanalyzed_typer×   Úinclude_docstringsÚget_docstringÚ	docstring)rÑ   rÒ   r  rc  rd  rl  r*  r	  Úhas_type_paramsrv  Úhas_return_typeÚreturn_typer†  Úfunc_defs                 r‘   r  r  Õ  s  € Ø	‡O‚O�qÑ…Oä�D‹>€DÜ(¨°Ó5Ñ€Iˆwà‡}�}×-Ò-Ô2NÈtÔ2TØò 	 ˆCØˆC�Lð	 ô �e˜TÓ"€DÜ˜‹€Hô   “o€OÙÜ& u¨dÓ3‰àˆä “o€OÙÜ  tÓ,ˆØ‰àˆáÜð %öàð (+×':Ò':�×#Ò#ÄÌ	×H]ÑH]Ó@^Ñ^òð "+Ö+˜#ˆS�X‹XÒ+ØDMÖN¸S�S—\’\‰T s§|¡|×'8Ñ'8Ñ8ÒNÙ&‰K¬G´I×4IÑ4IÓ,JÜó	
‰ð ˆä�t˜Y¨°#ÀÔM€HÙØ $ˆÔÜˆT�8ÔÙØ×ÑØ,¨g°x·}±}ÀhÇoÁoô	
ô 	" %¨°h·m±mÀXÇ_Á_ÔUÜ  {°H·M±MÀ8Ç?Á?ÔSÙ
Ø—=‘=ˆŒØ—_‘_ˆŒ
Ø!ˆŒà#&×#4Ñ#4Ó#6ˆÔ Ü�4ÔØ‡}�}×'Ò'Ü*¨4Ó0ˆÔØ€Oùò?ùò ,ùÚNs   Â;8I.Ã9I3
Ä+I8c                óˆ  — t        |«      }t        | |«      }t        | |«      }t        |t        «       t        |«      }t        |«      D �cg c]  }t        | |«      ‘Œ }}t        |«      }|rt        | |«      }	nd }	t        |t        «       t        |«      }
g }t        |
«      D ],  }t        |«      }t        | |«      }|j                  ||f«       Œ. |rt        |«      j                  d«      nd }t        |||r|nd ||r|nd |	¬«      }||_        t!        ||«       |	rl| j#                  dd|j$                  |j&                  «       t)        | |	|j$                  |j&                  «       t+        | |	|j$                  |j&                  «       t-        |«       | j.                  j0                  rt3        |«      |_        |S c c}w )NÚ	metaclass)Úbase_type_exprsr™  Úkeywordsr‡  rˆ  r‰  )r   rþ   r÷   rÛ   r   r  rÝ   rø   r   r„  r   rš   r¸   Úgetr)   rB  rù   r¨   r–   r—   rw  r~  r×   rŒ   r‘  r’  r“  )rÑ   rÒ   r  r*  rš  rA  rã   rB  r”  rv  Ú
n_keywordsr›  Úkeyr7  r™  Ú	class_defs                   r‘   r  r    sž  € Ü�D‹>€DÜ�e˜TÓ"€DÜ*¨5°$Ó7€Oäˆt”XÔÜ  Ó&€LÜ8=¸lÓ8KÖL°1”/ %¨Õ.ÐL€JÐLô   “o€OÙÜ& u¨dÓ3‰àˆäˆt”\Ô"Ü˜tÓ$€JØ€HÜ�:Óò &ˆÜ�t‹nˆÜ  tÓ,ˆØ�‰˜˜e˜Õ%ð&ñ
 4<”�X“×"Ñ" ;Ô/À€IäØØÙ+:™ÀØá%‘¨4Øô€Ið &€IÔÜˆT�9ÔÙØ×ÑØ,¨g°y·~±~Ày×GWÑGWô	
ô 	" %¨°i·n±nÀi×FVÑFVÔWÜ  {°I·N±NÀI×DTÑDTÔUÜ�4ÔØ‡}�}×'Ò'Ü+¨DÓ1ˆ	ÔØÐùòO Ms   ÁF?c                óÀ   — | j                   rRt        | j                   d   t        «      r5| j                   d   j                  }t        |t        «      r|j
                  S y r‹   )r*  rÌ   r5   rü   rY   r7  )r*  rü   s     r‘   r’  r’  E  sD   € Ø‡y‚y”Z §	¡	¨!¡¬nÔ=Ø�y‰y˜‰|× Ñ ˆÜ�dœGÔ$Ø—:‘:ÐØr“   c           
     óð  — t        | |«      }t        |t        «      sJ dt        |«      › �«       ‚t	        |«      }|dkD  r¼g }t        |«      D ]«  }t        |«      }t        |«      }t        |«      }|rt        | |«      }	nd}	t        |t        «       t	        |«      }
t        |
«      D �cg c]  }t        | |«      ‘Œ }}t        |«      }|rt        | |«      }nd}|j                  t        |||	||«      «       Œ­ ng }t        | |«      }t        |«      }t        ||«       t!        |g«      }d|_        d|_        d|_        d|_        t+        g |«      }t        ||«       t-        |||«      }t/        ||«       | j1                  dd|j"                  |j$                  «       t3        | ||j"                  |j$                  «       t5        | ||j"                  |j$                  «       t7        |«       |S c c}w )z"Read PEP 695 type alias statement.z+Expected NameExpr for type alias name, got r   Nr†   z"type" statementsr‰  )rø   rÌ   rI   rô   r  rÝ   r   r   r   rË   rÛ   r   rš   r`   rS   rú   r%   r–   r—   rÎ   rÏ   rC   r_   rù   r¨   rw  r~  r×   )rÑ   rÒ   r  Ún_type_paramsrv  rã   r€  Ú
param_namer�  r‚  rƒ  r{  ri  rj  Ú
value_exprÚreturn_stmtÚblockÚlambda_exprrä   s                      r‘   r  r  M  sÙ  € ä˜5 $Ó'€DÜ�dœHÔ%ÐaÐ)TÔUYÐZ^ÓU_ÐT`Ð'aÓaÐ%ä! $Ó'€MØ�qÒØˆÜ�}Ó%ò 	ZˆAÜ˜D“>ˆDÜ! $›ˆJÜ! $›ˆIÙÜ'¨¨tÓ4‘à"�ô �tœXÔ&Ü$ TÓ*ˆHÜ6;¸H³oÖF°”i  tÕ,ÐFˆFÐFä# D›/ˆKÙÜ# E¨4Ó0‘à�à×Ñœy¨°T¸;ÈÐPWÓXÕYñ)	Zð, ˆä  ¨Ó-€Jô ˜ZÓ(€KÜ˜+ zÔ2ä�;�-Ó €EØ€E„JØ€E„LØ€E„NØ€EÔä˜R Ó'€KÜ˜+ zÔ2ä˜˜{¨KÓ8€DÜˆT�4ÔØ	×ÑÐ/°¸$¿)¹)ÀTÇ[Á[ÔQÜ˜e [°$·)±)¸T¿[¹[ÔIÜ˜E ;°·	±	¸4¿;¹;ÔGÜ�4ÔØ€KùòE Gs   Â*G3c                ól  — t        | |«      }t        |«      }g }t        |«      D ]>  }t        |«      }|rt	        | |«      }|j                  |«       Œ.|j                  d «       Œ@ g }t        |«      D ]T  }t        |«      }	|	r4t        |«      }
t        |
«      }t        ||«       |j                  |«       ŒD|j                  d «       ŒV g }t        |«      D ]  }t        | |«      }|j                  |«       Œ! t        |«      }|rt        | |«      }nd }t        |«      }|rt        | |«      }nd }t        |«      }t        ||||||«      }||_
        t        ||«       |rH| j                  dd|j                  |j                  «       | j                  j                  dk  rd|_
        t!        |«       |S )NzException groups©rs  é   F)rþ   r   rÝ   r   rø   rš   r   rI   rù   r]   Úis_starr¨   r–   r—   rŒ   r¤   r×   )rÑ   rÒ   r*  Únum_handlersÚ
types_listrã   r&  Úexc_typeÚ	vars_listÚhas_nameÚvar_nameÚvar_exprÚhandlersÚhandler_bodyr/  r0  Úhas_finallyÚfinally_bodyr«  rä   s                       r‘   r  r  †  s©  € Ü�e˜TÓ"€DÜ˜D“>€Là*,€JÜ�<Ó ò $ˆÜ˜T“?ˆÙÜ& u¨dÓ3ˆHØ×Ñ˜hÕ'à×Ñ˜dÕ#ð$ð (*€IÜ�<Ó ò #ˆÜ˜T“?ˆÙÜ “~ˆHÜ Ó)ˆHÜ�T˜8Ô$Ø×Ñ˜XÕ&à×Ñ˜TÕ"ð#ð €HÜ�<Ó ò &ˆÜ! %¨Ó.ˆØ�‰˜Õ%ð&ô ˜‹€HÙÜ˜u dÓ+‰	àˆ	ä˜D“/€KÙÜ! %¨Ó.‰àˆô ˜‹o€Gä�4˜ J°¸)À\ÓR€DØ€D„LÜˆT�4ÔÙØ×ÑÐ 2°G¸T¿Y¹YÈÏÉÔTØ�=‰=×'Ñ'¨'Ò1Ø ˆDŒLÜ�4ÔØ€Kr“   c                ó¨  ‡ ‡— t        ‰«      }|t        j                  k(  rät        ‰«      }t	        ‰t
        «       t        ‰«      }t        ˆˆ fd„t        |«      D «       «      }t        ‰«      }t        ‰«      }|t        k(  rd }	n|t        k(  rt        ‰«      }	n
J d|› �«       ‚t        ‰«      }|t        k(  rd }
n|t        k(  rt        ‰«      }
n
J d|› �«       ‚t        ||||	|
¬«      }t        ‰|«       t        ‰«       |S |t        j                   k(  røt	        ‰t
        «       t        ‰«      }t        |«      D �cg c]  }t#        ‰ ‰«      ‘Œ }}t        ‰«      }t        ‰«      }|t        k(  rd }	n|t        k(  rt        ‰«      }	n
J d|› �«       ‚t        ‰«      }|t        k(  rd }
n|t        k(  rt        ‰«      }
n
J d|› �«       ‚t%        ||¬«      }|	|_        |
|_        t        ‰«      |_        t        ‰|«       t        ‰«       |S |t        j,                  k(  rct	        ‰t
        «       t        ‰«      }t        |«      D �cg c]  }t#        ‰ ‰d¬«      ‘Œ }}t/        |«      }t        ‰|«       t        ‰«       |S |t        j0                  k(  rst	        ‰t
        «       t        ‰«      }t        |«      D �cg c]  }t#        ‰ ‰«      ‘Œ }}t        ‰«      }t3        |t4        |¬«      }t        ‰|«       t        ‰«       |S |t        j6                  k(  rþt	        ‰t
        «       t        ‰«      }t        |«      D �cg c]  }t9        ‰«      ‘Œ }}t	        ‰t
        «       t        ‰«      }t        |«      D �cg c]  }t#        ‰ ‰«      ‘Œ }}i }g }t;        ||«      D ]0  \  }}|€$t=        |t>        «      sJ ‚|jA                  |«       Œ,|||<   Œ2 tC        |tE        «       tE        «       t4        «      }||_#        t        ‰|«       t        ‰«       |S |t        jH                  k(  r#tK        «       }t        ‰|«       t        ‰«       |S |t        jL                  k(  r³t        ‰«      }d }|d	k(  rt        ‰«      }nn|d
k(  rtO        ‰«      }n]|dk(  rt        ‰«      }nL|dk(  rt        ‰«      }n;|dk(  r,t        ‰«      }|t        k(  s
J d|› �«       ‚d }t9        ‰«      }n
J d|› �«       ‚tQ        |||¬«      }t        ‰|«       t        ‰«       |S |t        jR                  k(  rit#        ‰ ‰«      }t        ‰«      } tU        || ¬«      }!t        ‰|!«       | r*|s(‰ jW                  dd|!jX                  |!jZ                  «       t        ‰«       |!S |t        j\                  k(  rt_        ‰ ‰«      S J |«       ‚c c}w c c}w c c}w c c}w c c}w )Nc              3  ó6   •K  — | ]  }t        ‰‰«      –— Œ y ­wrÖ   )rË   )rp  r.  rÒ   rÑ   s     €€r‘   rr  zread_type.<locals>.<genexpr>Ã  s   øè ø€ Ò>°”Y˜u d×+Ñ>ùs   ƒz&Unexpected tag for original_str_expr: z*Unexpected tag for original_str_fallback: )Úempty_tuple_indexÚoriginal_str_exprÚoriginal_str_fallback)Úuses_pep604_syntaxT)Úalways_allow_star)Úimplicitzbuiltins.boolzbuiltins.intúbuiltins.strzbuiltins.bytesz
typing.Anyz,Expected LITERAL_NONE for invalid type, got zUnsupported RawExpressionType: )Únote)Úfrom_star_syntaxúStar unpack syntaxr©  )0r   r   ÚUNBOUND_TYPEr   rÛ   r   r  ÚtuplerÝ   r   r   r   Úread_str_barer€   rù   r×   Ú
UNION_TYPErË   r�   rº  r»  Úis_evaluatedÚ	LIST_TYPEr~   Ú
TUPLE_TYPEr{   r‡   ÚTYPED_DICT_TYPEr   r  rÌ   ry   rš   r}   ÚsetÚextra_items_fromÚELLIPSIS_TYPErw   ÚRAW_EXPRESSION_TYPEr   rz   ÚUNPACK_TYPEr‚   r¨   r–   r—   Ú	CALL_TYPEÚread_call_type)"rÑ   rÒ   r½  rÙ   r  rà   Úargsr¹  Útrº  r»  Úunboundr.  Úitemsr¼  ÚunionÚ	type_listr¾  Ú
tuple_typeÚkeysr{  Útd_itemsrÌ  rž  ÚvalÚtypeddict_typeÚellipsis_typeÚ	type_namerÀ  r7  Úraw_typeÚ
inner_typerÁ  Úunpacks"   ``                                r‘   rË   rË   ½  sv  ù€ Ü
�4‹.€CØ
Œe× Ñ Ò Ü˜‹~ˆÜ�4œÔ"Ü˜$ÓˆÜÔ>´U¸1³XÔ>Ó>ˆÜ% d›OÐÜ�T‹NˆØ”ÒØ $ÑØ”+ÒÜ -¨dÓ 3ÑàFÐBÀ1À#ÐFÓF�5Ü�T‹NˆØ”ÒØ$(Ñ!Ø”+ÒÜ$1°$Ó$7Ñ!àJÐFÀqÀcÐJÓJ�5ÜØØØ/Ø/Ø"7ô
ˆô 	��wÔÜ�tÔØˆØ	”× Ñ Ò	 Ü�4œÔ"Ü˜$ÓˆÜ16°q³Ö:¨A”˜5 $Õ'Ð:ˆÐ:Ü& t›_ÐÜ�T‹NˆØ”ÒØ $ÑØ”+ÒÜ -¨dÓ 3ÑàFÐBÀ1À#ÐFÓF�5Ü�T‹NˆØ”ÒØ$(Ñ!Ø”+ÒÜ$1°$Ó$7Ñ!àJÐFÀqÀcÐJÓJ�5Ü˜%Ð4FÔGˆØ"3ˆÔØ&;ˆÔ#Ü& t›_ˆÔÜ��uÔÜ�tÔØˆØ	”—‘Ò	Ü�4œÔ"Ü˜$ÓˆÜINÈqËÖRÀA”˜5 $¸$Ö?ÐRˆÐRÜ˜U“Oˆ	Ü��yÔ!Ü�tÔØÐØ	”× Ñ Ò	 Ü�4œÔ"Ü˜$ÓˆÜ16°q³Ö:¨A”˜5 $Õ'Ð:ˆÐ:Ü˜T“?ˆÜ˜u¤oÀÔIˆ
Ü��zÔ"Ü�tÔØÐØ	”×%Ñ%Ò	%Ü�4œÔ"Ü˜$ÓˆÜ,1°!«HÖ5 q”˜TÕ"Ð5ˆÐ5Ü�4œÔ"Ü˜$ÓˆÜ27¸³(Ö;¨Q”)˜E 4Õ(Ð;ˆÐ;ØˆØÐÜ˜D &Ó)ò 	$‰HˆC�Øˆ{Ü! #¤zÔ2Ð2Ð2Ø ×'Ñ'¨Õ,à #�˜’ð	$ô ' x´³¼»¼ÓOˆØ*:ˆÔ'Ü��~Ô&Ü�tÔØÐØ	”×#Ñ#Ò	#Ü$›ˆÜ��}Ô%Ü�tÔØÐØ	”×)Ñ)Ò	)Ü˜T“Nˆ	àˆØ˜Ò'Ü˜d“O‰EØ˜.Ò(Ü˜T“N‰EØ˜.Ò(Ü˜T“N‰EØÐ*Ò*ä˜T“N‰EØ˜,Ò&ä˜4“.ˆCØœ,Ò&Ð\Ð*VÐWZÐV[Ð(\Ó\Ð&ØˆEä Ó%‰DàGÐ;¸I¸;ÐGÓG�5Ü$ U¨I¸DÔAˆÜ��xÔ Ü�tÔØˆØ	”×!Ñ!Ò	!Ü˜u dÓ+ˆ
Ü$ T›?ÐÜ˜JÐ9IÔJˆÜ��vÔÙÑ$5Ø×#Ñ#Ð$8¸'À6Ç;Á;ÐPV×P]ÑP]Ô^Ü�tÔØˆØ	”—‘Ò	Ü˜e TÓ*Ð*à�cÓˆuùòO ;ùò4 Sùò ;ùò 6ùò <s   Å V;ÉW ËWÍW
ÎWc                ó<   — t        | t        «      r| j                  S y rÖ   )rÌ   r€   r  ©r†  s    r‘   Ústringify_type_namerä  J  s   € Ü�#”{Ô#Ø�x‰xˆØr“   c                ó²   — t        | t        «      r| j                  dk(  r| j                  S t        | t        «      r| j
                  dk(  ry | j
                  S y )Nr¿  r¬   )rÌ   rz   Úbase_type_nameÚliteral_valuer€   r  rã  s    r‘   Úextract_arg_namerè  P  sK   € Ü�#Ô(Ô)¨c×.@Ñ.@ÀNÒ.RØ× Ñ Ð Ü	�CœÔ	%Ø�8‰8�vÒØØ�x‰xˆØr“   c                óD  — t        | |«      }t        |t        «       t        |«      }t	        |«      D �cg c]  }t        | |«      ‘Œ }}t        |t        «       t        |«      }g }t	        |«      D ]W  }t        |«      }|t        k(  rd}	n|t        k(  rt        |«      }	n
J d|› �«       ‚t        | |«      }
|j                  |	|
f«       ŒY t        |«      }t        t        j                  «      }t        ||«       t        |«       |sD| j!                  t"        j$                  j&                  |j(                  |j*                  dd¬«       |S d}d}t        t        j,                  «      }|}d}t/        |«      D ]d  \  }}|dk(  r|}d}Œ|dk(  rt1        |«      }d}Œ#| j!                  t"        j2                  j&                  |j(                  |j*                  dd¬«       Œf |D �]  \  }	}
|	d	k(  ra|�S|rQ| j!                  t"        j4                  j7                  |«      j&                  |j(                  |j*                  dd¬«       t1        |
«      }Œm|	d
k(  rZ||urS|rQ| j!                  t"        j8                  j7                  |«      j&                  |j(                  |j*                  dd¬«       |
}ŒÌ| j!                  t"        j:                  j7                  |	«      j&                  |j(                  |j*                  dd¬«       �Œ t=        |||«      }t?        ||«       |S c c}w )zDRead Call in type context (Arg/DefaultArg/VarArg/KwArg constructor).NFz!Unexpected tag for keyword name: Try  r£   r   r    r  rô   ) rË   rÛ   r   r  rÝ   r   r   r   rÅ  rš   rä  rt   r   Ú
from_errorrù   r×   r›   r	   ÚARG_CONSTRUCTOR_NAME_EXPECTEDr7  r–   r—   Úspecial_formÚ	enumeraterè  ÚARG_CONSTRUCTOR_TOO_MANY_ARGSÚMULTIPLE_VALUES_FOR_NAME_KWARGÚformatÚMULTIPLE_VALUES_FOR_TYPE_KWARGÚARG_CONSTRUCTOR_UNEXPECTED_ARGru   rú   )rÑ   rÒ   Úcallee_typerb  rã   rÒ  Ún_kwargsÚkwargsÚtag_kwÚkw_nameÚkw_valueÚconstructorÚinvalidr  Úname_set_from_positionalÚdefault_typer†  Útyp_set_from_positionalr.  rl  Úcall_args                        r‘   rÑ  rÑ  Z  s   € ä˜E 4Ó(€Kô ˆt”XÔÜ˜4Ó €FÜ,1°&«MÖ: qŒI�e˜TÕ"Ð:€DÐ:ô ˆt”XÔÜ˜TÓ"€HØ€FÜ�8‹_ò 	+ˆÜ˜$“ˆØ”\Ò!Ø‰GØ”{Ò"Ü# DÓ)‰GàFÐ=¸f¸XÐFÓF�5Ü˜U DÓ)ˆØ�‰�w Ð)Õ*ð	+ô & kÓ2€Kä”i×*Ñ*Ó+€GÜˆT�7ÔÜ�4ÔáØ�‰Ü×:Ñ:×@Ñ@Ø�L‰LØ�N‰NØØð 	ô 	
ð ˆð €DØ$ÐÜœ9×1Ñ1Ó2€LØ€CØ#Ðô ˜D“/ò ‰ˆˆ3Ø�Š6ØˆCØ&*Ñ#Ø�!ŠVÜ# CÓ(ˆDØ'+Ñ$à�O‰OÜ ×>Ñ>×DÑDØ—‘Ø—‘ØØð õ ðð" $ó Ñˆ�Ø�fÒØÐÑ$<Ø—‘Ü$×CÑC×JÑJÈ;ÓW×]Ñ]Ø—L‘LØ—N‘NØ Øð  ô ô $ HÓ-‰DØ˜ÒØ˜,Ñ&Ñ+BØ—‘Ü$×CÑC×JÑJÈ;ÓW×]Ñ]Ø—L‘LØ—N‘NØ Øð  ô ð ‰Cà�O‰OÜ ×?Ñ?×FÑFÀwÓO×UÑUØ—‘Ø—‘ØØð ö ð-ô<    T¨;Ó7€HÜ˜( GÔ,Ø€Oùòu ;s   µLc                ó  — t        |«      }|t        j                  k(  rst        |«      }|rt	        | |«      }nd }t        |«      }|r#t        |«      }t        |«      }t        ||«       nd }t        ||«      }t        ||«       t        |«       |S |t        j                  k(  rQt        |«      }	t        |	«      D �
cg c]  }
t	        | |«      ‘Œ }}
t        |«      }t        ||«       t        |«       |S |t        j                  k(  r0t        | |«      }t!        |«      }t        ||«       t        |«       |S |t        j"                  k(  r@t        |«      }|t$        k(  rd }n|dk(  }t'        |«      }t        ||«       t        |«       |S |t        j(                  k(  rQt        |«      }	t        |	«      D �
cg c]  }
t	        | |«      ‘Œ }}
t+        |«      }t        ||«       t        |«       |S |t        j,                  k(  rVt        |«      }|r#t        |«      }t        |«      }t        ||«       nd }t/        |«      }t        ||«       t        |«       |S |t        j0                  k(  r±t        |«      }	g }g }t        |	«      D ]<  }
t        | |«      }t	        | |«      }|j3                  |«       |j3                  |«       Œ> t        |«      }|r#t        |«      }t        |«      }t        ||«       nd }t5        |||«      }t        ||«       t        |«       |S |t        j6                  k(  rÆt9        t:        t        | |«      «      }t        |«      }t        |«      D �
cg c]  }
t	        | |«      ‘Œ }}
t        |«      }g }g } t        |«      D ];  }
t        |«      }t	        | |«      }|j3                  |«       | j3                  |«       Œ= t=        |||| «      }!t        ||!«       t        |«       |!S J d|› �«       ‚c c}
w c c}
w c c}
w )Nr    zUnknown pattern tag: )r   r
   Ú
AS_PATTERNr   r#  r   rI   rù   ri   r×   Ú
OR_PATTERNr   rÝ   rm   ÚVALUE_PATTERNrø   rq   ÚSINGLETON_PATTERNr   ro   ÚSEQUENCE_PATTERNrn   ÚSTARRED_PATTERNrp   ÚMAPPING_PATTERNrš   rl   ÚCLASS_PATTERNr   rR   rj   )"rÑ   rÒ   rÙ   Úhas_patternrV  r°  Úname_strr  Ú
as_patternrà   rã   rS  Ú
or_patternrü   Úvalue_patternÚsingleton_tagr7  Úsingleton_patternÚsequence_patternÚstarred_patternrÙ  r{  rž  Úhas_restÚrest_strÚrestÚmapping_patternÚ	class_refÚn_positionalÚpositionalsr�  Úkeyword_keysÚkeyword_valuesÚclass_patterns"                                     r‘   r#  r#  ¾  sÑ  € Ü
�4‹.€CØ
Œe×ÑÒÜ “oˆÙÜ" 5¨$Ó/‰GàˆGÜ˜T“?ˆÙÜ “~ˆHÜ˜HÓ%ˆDÜ�T˜4Õ àˆDÜ˜w¨Ó-ˆ
Ü��zÔ"Ü�tÔØÐØ	”× Ñ Ò	 Ü�T‹NˆÜ7<¸Q³xÖ@°!”L ¨Õ-Ð@ˆÐ@Ü˜xÓ(ˆ
Ü��zÔ"Ü�tÔØÐØ	”×#Ñ#Ò	#Ü˜u dÓ+ˆÜ$ TÓ*ˆÜ��}Ô%Ü�tÔØÐØ	”×'Ñ'Ò	'Ü  ›ˆØœLÒ(Ø‰Eð " QÑ&ˆEÜ,¨UÓ3ÐÜ�Ð(Ô)Ü�tÔØ Ð Ø	”×&Ñ&Ò	&Ü�T‹NˆÜ7<¸Q³xÖ@°!”L ¨Õ-Ð@ˆÐ@Ü*¨8Ó4ÐÜ�Ð'Ô(Ü�tÔØÐØ	”×%Ñ%Ò	%Ü˜T“?ˆÙÜ “~ˆHÜ˜HÓ%ˆDÜ�T˜4Õ àˆDÜ(¨Ó.ˆÜ��Ô'Ü�tÔØÐØ	”×%Ñ%Ò	%Ü�T‹NˆØˆØˆÜ�q“ò 	!ˆAÜ! %¨Ó.ˆCÜ  ¨Ó-ˆEØ�K‰K˜ÔØ�M‰M˜%Õ ð		!ô
 ˜T“?ˆÙÜ “~ˆHÜ˜HÓ%ˆDÜ�T˜4Õ àˆDÜ(¨¨v°tÓ<ˆÜ��Ô'Ü�tÔØÐØ	”×#Ñ#Ò	#Üœ¤/°%¸Ó">Ó?ˆ	Ü “~ˆÜ:?ÀÓ:MÖN°Q”| E¨4Õ0ÐNˆÐNÜ˜d“^ˆ
ØˆØˆÜ�zÓ"ò 	)ˆAÜ˜4“.ˆCÜ  ¨Ó-ˆEØ×Ñ Ô$Ø×!Ñ! %Õ(ð		)ô
 % Y°¸\È>ÓZˆÜ��}Ô%Ü�tÔØÐà3Ð-¨c¨UÐ3Ó3ˆuùò] Aùò0 AùòP Os   Â=P Æ7PÍ"P
c                óÆ  — t        |t        j                  «       t        |t        «       t	        |«      }t        |«      }|dk(  r&t        g |¬«      }t        ||«       t        |«       |S t        | ||«      }t        |«       t        ||¬«      }|d   j                  |_
        |d   j                  |_        |d   j                  |_        |d   j                  |_        |S ©Nr   )Úis_unreachabler†   )rÛ   r
   ÚBLOCKr   r  r   r%   rù   r×   rå   r–   r—   rÎ   rÏ   )rÑ   rÒ   rà   r  r¾   r(  s         r‘   rþ   rþ   $  s¾   € Üˆt”U—[‘[Ô!Üˆt”XÔÜ�dÓ€AÜ˜t“_€NØˆA‚vä�" ^Ô4ˆÜ��qÔÜ�tÔØˆô ˜E 4¨Ó+ˆÜ�tÔÜ�! NÔ3ˆØ�1‘—‘ˆŒØ�Q‘4—;‘;ˆŒØ�r‘U—^‘^ˆŒ
Ø˜‘u×'Ñ'ˆŒØˆr“   c                ó´  — t        |t        j                  «       t        |t        «       t	        |«      }t        |«      }|dk(  rd }nt        |«      D �cg c]  }t        | |«      ‘Œ }}t        ||¬«      }|d   j                  |_	        |d   j                  |_
        |d   j                  |_        |d   j                  |_        t        |«       |S c c}w r  )rÛ   r
   r  r   r  r   rÝ   rÞ   r%   r–   r—   rÎ   rÏ   r×   )rÑ   rÒ   rà   r  r¾   r.  r(  s          r‘   r  r  ;  s³   € Üˆt”U—[‘[Ô!Üˆt”XÔÜ�dÓ€AÜ˜t“_€NØˆA‚vØ‰ä27¸³(Ö;¨QŒ^˜E 4Õ(Ð;ˆÐ;Ü�! NÔ3ˆØ�1‘—‘ˆŒØ�Q‘4—;‘;ˆŒØ�r‘U—^‘^ˆŒ
Ø˜‘u×'Ñ'ˆŒÜ�4ÔØ€Hùò <s   ÁC)ú+ú-Ú*ú@ú/ú%z**z<<z>>ú|ú^ú&z//Úbin_opsÚandÚorÚbool_ops)
z==z!=ú<z<=ú>z>=Úiszis notÚinznot inÚcmp_ops)ú~Únotr   r!  Ú	unary_opsc                óP!  — t        |«      }|t        j                  k(  r/t        |«      }t	        |«      }t        ||«       t        |«       |S |t        j                  k(  rŽt        | |«      }t        |«      }t        ||«      }t        |t        «      r@t        |j                  t        «      r&|j                  j                  dk(  rt        ||«      }n|}t        ||«       t        |«       |S |t        j                  k(  �rt        | |«      }	t!        | |«      }
t#        |t$        «       t'        |«      }t)        |«      D �cg c]  }t*        t'        |«         ‘Œ }}t#        |t,        «       t'        |«      }g }t)        |«      D ]U  }t        |«      }|t.        k(  r|j1                  d «       Œ)|t2        k(  r|j1                  t5        |«      «       ŒMJ d|› �«       ‚ t        |	|
||«      }t        ||«       t        |«       |S |t        j6                  k(  r=t9        t        |«      «      }t;        |«      |_        t        ||«       t        |«       |S |t        j>                  k(  r�t        | |«      }t#        |t$        «       t'        |«      }t)        |«      D �cg c]  }t@        t'        |«         ‘Œ }}t!        | |«      }tC        |«      tC        |«      k(  sJ ‚tE        ||g|z   «      }t        ||«       t        |«       |S |t        jF                  k(  r-tI        tK        |«      «      }t        ||«       t        |«       |S |t        jL                  k(  r¡t        | |«      }t        | |«      }tO        ||«      }t        |tP        «      s,t        |tR        «      rDtU        d„ |jV                  D «       «      r(| jY                  dd|jZ                  |j\                  «       t        ||«       t        |«       |S |t        j^                  k(  r0t!        | |«      }ta        |«      }t        ||«       t        |«       |S |t        jb                  k(  r0t!        | |«      }tS        |«      }t        ||«       t        |«       |S |t        jd                  k(  r¬tf        tK        |«         }t!        | |«      }tC        |«      dk\  sJ ‚|d   x}}|dd d…   D ]S  }ti        |||«      }|jZ                  |_-        |j\                  |_.        |jj                  |_5        |jl                  |_6        ŒU t        ||«       t        |«       |S |t        jn                  k(  rCtp        tK        |«         }t        | |«      } ts        || «      }t        ||«       t        |«       |S |t        jt                  k(  rˆtv        tK        |«         }t        | |«      }t        | |«      }!ti        |||!«      }"|jZ                  |"_-        |j\                  |"_.        |!jj                  |"_5        |!jl                  |"_6        t        |«       |"S |t        jx                  k(  r­tK        |«      }#g }$t)        |#«      D ]w  }t;        |«      }%|%r7tK        |«      }&t)        |&«      D ]  }'|$j1                  t{        | |«      «       Œ ŒGt9        t        |«      «      }t        ||«       |$j1                  |«       Œy t}        ||$d	¬
«      }t        |«       |S |t        j~                  k(  r<t�        | |«      }(tƒ        |(«      }t        ||«       t…        |(|«       t        |«       |S |t        j†                  k(  r¬t#        |t,        «       t'        |«      })g }*t)        |)«      D ]<  }t;        |«      }+|+r|*j1                  t        | |«      «       Œ,|*j1                  d «       Œ> t!        | |«      }t‰        t‹        |*|«      «      }t�        |«      }t        ||«       t        |«       |S |t        jŽ                  k(  r1t‘        t“        t”        j–                  «      d	¬«      },t        |«       |,S |t        j˜                  k(  rJt        | |«      }-t        | |«      }.t        | |«      }/t›        |.|-|/«      }t        ||«       t        |«       |S |t        jœ                  k(  rwt;        |«      }0|0rt        | |«      nd }1t;        |«      }2|2rt        | |«      nd }3t;        |«      }4|4rt        | |«      nd }5tŸ        |1|3|5«      }t        ||«       t        |«       |S |t        j                   k(  r%t�        | |«      }t        ||«       t        |«       |S |t        j¢                  k(  r@t;        |«      }6|6rt        | |«      }7nd }7t¥        |7«      }t        ||«       t        |«       |S |t        j¦                  k(  r0t!        | |«      }t©        |«      }t        ||«       t        |«       |S |t        jª                  k(  r#t­        «       }t        ||«       t        |«       |S |t        j®                  k(  �rtK        |«      }#g }8t)        |#«      D ]ž  }t;        |«      r`t        | |«      }t        |«      }t;        |«      rt        |«      }9nd }9t;        |«      rt±        | |«      }:nd }:|8j1                  |||9|:f«       Œnt9        t        |«      «      }t        ||«       |8j1                  |«       Œ  t³        |8«      }t;        |«      |_        t        ||«       | jY                  dd|jZ                  |j\                  d	¬«       t        |«       |S |t        j´                  k(  rût·        | |«      \  };}<t¹        | |«      }=|<r°t»        |;D �>cg c]3  }>|>j¼                  r|>j¼                  nt“        t”        j¾                  «      ‘Œ5 c}>|;D �>cg c]  }>|>jÀ                  ‘Œ c}>|;D �>cg c]&  }>|>jÂ                  rd n|>jÄ                  j                  ‘Œ( c}>t“        t”        j¾                  «      tÆ        «      }?nd }?tÉ        |;|=«      }|?|_e        t        ||«       t        |«       |S |t        jÌ                  k(  �rt;        |«      }+|+rt        | |«      }@nd }@t        | |«      }7tK        |«      }At)        |A«      D �cg c]  }t        | |«      ‘Œ }B}t)        A«      D �cg c]  }t        | |«      ‘Œ }C}t)        A«      D �cg c]  }t!        | |«      ‘Œ }D}t)        A«      D �cg c]  }t;        |«      ‘Œ }E}tÏ        @|7BCD|E«      }t        ||«       |@€(| jY                  dd|jZ                  |j\                  «       t        |«       |S |t        jÐ                  k(  r<t�        | |«      }(tÓ        |(«      }t        ||«       t…        |(|«       t        |«       |S |t        jÔ                  k(  r/t        |«      }7t×        |7«      }t        ||«       t        |«       |S |t        jØ                  k(  rkt        | |«      }Ft        | |«      }7t        |Ft        «      st	        d«      }G|GjÛ                  F«       |G}FtÝ        F|7«      }t        ||«       t        |«       |S |t        jÞ                  k(  r?t#        |tà        «       tã        |«      }7tå        |7«      }Ht        ||H«       t        |«       |HS |t        jæ                  k(  r0t        | |«      }ItQ        |I«      }t        ||«       t        |«       |S |t        jè                  k(  r0t        | |«      }7të        |7«      }t        ||«       t        |«       |S |t        jì                  k(  r0t        | |«      }7tï        |7«      }t        ||«       t        |«       |S |t        jð                  k(  rdt#        |tà        «       tã        |«      }Jt#        |tà        «       tã        |«      }Któ        tõ        |J|K«      «      }t        ||«       t        |«       |S |t        jö                  k(  r:t        |«      }LtI        tù        |Ld¬«      «      }t        ||«       t        |«       |S J |«       ‚c c}w c c}w c c}>w c c}>w c c}>w c c}w c c}w c c}w c c}w )NÚsuperzUnexpected tag for arg_name: c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wrÖ   )rÌ   rW   )rp  Úits     r‘   rr  z"read_expression.<locals>.<genexpr>�  s   è ø€ ÒC°”J˜r¤8×,ÑCùs   ‚rÂ  r©  é   r†   éþÿÿÿT)Úset_has_surrogates)Úno_rhsz	t-strings)rs  é   rœ   úUnpacking in comprehensions©rs  é   Ú r   )Úbase)}r   r
   Ú	NAME_EXPRr   rI   rù   r×   ÚMEMBER_EXPRrø   rG   rÌ   r(   Úcalleer  rZ   Ú	CALL_EXPRr÷   rÛ   r   r  rÝ   r   r   r   rš   r   rÅ  ÚSTR_EXPRrY   r   Úhas_surrogatesÚCOMPARISON_EXPRr1  rz  r*   ÚINT_EXPRrB   r   Ú
INDEX_EXPRrA   rW   r^   ru  rÕ  r¨   r–   r—   Ú	LIST_EXPRrE   Ú
TUPLE_EXPRÚBOOL_OP_EXPRr,  rL   rÎ   rÏ   Ú
UNARY_EXPRr4  ra   ÚOP_EXPRr)  ÚFSTRING_EXPRÚread_fstring_itemÚbuild_fstring_joinÚLIST_COMPREHENSIONÚread_generator_exprrD   rú   Ú	DICT_EXPRr   r  r1   Ú	TEMP_NODEr\   rt   r   rì  ÚCONDITIONAL_EXPRr,   Ú
SLICE_EXPRrV   ÚGENERATOR_EXPRÚ
YIELD_EXPRre   ÚSET_EXPRrU   ÚELLIPSIS_EXPRr3   ÚTSTRING_EXPRÚread_fstring_itemsr[   ÚLAMBDA_EXPRrm  rþ   rv   r'  rŒ  r€  rk  ra  r‡   rC   rô   ÚDICT_COMPREHENSIONr2   ÚSET_COMPREHENSIONrT   Ú
BYTES_EXPRr'   ÚASSIGNMENT_EXPRÚset_liner"   Ú
FLOAT_EXPRr   Úread_float_barer7   Ú	STAR_EXPRÚYIELD_FROM_EXPRrf   Ú
AWAIT_EXPRr$   ÚCOMPLEX_EXPRr+   ÚcomplexÚBIG_INT_EXPRr®   )MrÑ   rÒ   rÙ   ÚsÚneÚeÚattrÚmÚresultrE  rÒ  Ún_kindsrã   Ú	arg_kindsÚn_namesÚ	arg_namesÚceÚseÚleftÚn_opsÚopsÚcomparatorsrü   ÚierB  r=  rÕ  rÓ  rI  r{  ÚlastrÛ  ÚoperandÚrightÚoÚnpartsÚfitemsr¾   rà   r.  Ú	generatorÚn_keysrÙ  Úhas_keyÚtempÚif_exprÚcondÚ	else_exprÚ	has_beginÚbegin_indexÚhas_endÚ	end_indexÚ
has_strideÚstrider6  r7  ÚtitemsÚconvÚformat_specrc  rd  r*  rl  r†  rž  Ún_generatorsÚindicesÚ	sequencesÚ	condlistsr	  rO  ÚplaceholderÚfeÚwrapped_exprÚrealÚimagÚstrvalsM                                                                                r‘   rø   rø   S  sj  € ä
�4‹.€Cà
Œe�o‰oÒÜ�T‹NˆÜ�a‹[ˆÜ��rÔÜ�tÔØˆ	Ø	”×!Ñ!Ò	!Ü˜E 4Ó(ˆÜ˜‹~ˆÜ�q˜$Óˆä�aœÔ"¤z°!·(±(¼HÔ'EÈ!Ï(É(Ï-É-Ð[bÒJbÜ!*¨4°Ó!3‰FàˆFÜ��vÔÜ�tÔØˆØ	”—‘Ó	Ü  ¨Ó-ˆÜ# E¨4Ó0ˆä�4œÔ"Ü Ó%ˆÜ=BÀ7»^ÖL¸”Yœ}¨TÓ2Ó3ÐLˆ	ÐLä�4œÔ"Ü Ó%ˆØ&(ˆ	Ü�w“ò 	DˆAÜ˜4“.ˆCØ”lÒ"Ø× Ñ  Õ&ØœÒ#Ø× Ñ ¤¨tÓ!4Õ5àCÐ =¸c¸UÐCÓC�uð	Dô �f˜d I¨yÓ9ˆÜ��rÔÜ�tÔØˆ	Ø	”—‘Ò	Ü”X˜d“^Ó$ˆÜ% d›OˆÔÜ��rÔÜ�tÔØˆ	Ø	”×%Ñ%Ò	%Ü˜u dÓ+ˆÜ�4œÔ"Ü˜dÓ#ˆÜ5:¸5³\ÖB°Œw”} TÓ*Ó+ÐBˆÐBÜ*¨5°$Ó7ˆÜ�3‹xœ3˜{Ó+Ò+Ð+Ð+Ü˜c D 6¨KÑ#7Ó8ˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü”X˜d“^Ó$ˆÜ��rÔÜ�tÔØˆ	Ø	”× Ñ Ò	 Ü˜u dÓ+ˆÜ  tÓ,ˆÜ˜˜uÓ%ˆä�uœhÔ'Ü˜%¤Ô+ÜÑC°u·{±{ÔCÔCà×#Ñ#Ð$8¸'À5Ç:Á:ÈuÏ|É|Ô\Ü��tÔÜ�tÔØˆØ	”—‘Ò	Ü$ U¨DÓ1ˆÜ˜‹ˆÜ��tÔÜ�tÔØˆØ	”× Ñ Ò	 Ü$ U¨DÓ1ˆÜ�eÓˆÜ��qÔÜ�tÔØˆØ	”×"Ñ"Ò	"Ü”h˜t“nÑ%ˆÜ% e¨TÓ2ˆô �6‹{˜aÒÐÐØ˜r™
Ð"ˆ�Ø˜"˜&˜b˜&‘>ò 	0ˆCÜ˜B  VÓ,ˆFØŸ(™(ˆFŒKØŸJ™JˆFŒMØ"Ÿm™mˆFŒOØ $§¡ˆFÕð	0ô 	��vÔÜ�tÔØˆØ	”× Ñ Ò	 Ü”x “~Ñ&ˆÜ! %¨Ó.ˆÜ˜˜WÓ%ˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü”X˜d“^Ñ$ˆÜ˜u dÓ+ˆÜ  tÓ,ˆÜ�2�t˜UÓ#ˆà—‘ˆŒØ—;‘;ˆŒØ—^‘^ˆŒ
Ø×'Ñ'ˆŒÜ�tÔØˆØ	”×"Ñ"Ò	"ô ˜$“ˆØˆÜ�v“ò 		!ˆAÜ˜$“ˆAÙÜ˜T“N�Ü˜q›ò B�AØ—M‘MÔ"3°E¸4Ó"@ÕAñBô œH T›NÓ+�Ü˜˜qÔ!Ø—‘˜aÕ ð		!ô " $¨À4ÔHˆÜ�tÔØˆØ	”×(Ñ(Ò	(Ü'¨¨tÓ4ˆ	Ü  Ó+ˆÜ��tÔÜ˜i¨Ô.Ü�tÔØˆØ	”—‘Ò	Ü�4œÔ"Ü˜tÓ$ˆØ(*ˆÜ�v“ò 	"ˆAÜ “oˆGÙØ—‘œO¨E°4Ó8Õ9à—‘˜DÕ!ð	"ô & e¨TÓ2ˆÜ”S˜˜vÓ&Ó'ˆÜ˜‹ˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Üœ¤	× 6Ñ 6Ó7ÀÔEˆÜ�tÔØˆØ	”×&Ñ&Ò	&Ü! %¨Ó.ˆÜ˜u dÓ+ˆÜ# E¨4Ó0ˆ	Ü˜t W¨iÓ8ˆÜ��tÔÜ�tÔØˆØ	”× Ñ Ò	 Ü˜d“Oˆ	Ù6?”o e¨TÔ2ÀTˆÜ˜D“/ˆÙ4;”O E¨4Ô0Àˆ	Ü˜t“_ˆ
Ù1;” ¨Ô-ÀˆÜ˜ i°Ó8ˆÜ��tÔÜ�tÔØˆØ	”×$Ñ$Ò	$Ü" 5¨$Ó/ˆÜ��tÔÜ�tÔØˆØ	”× Ñ Ò	 Ü˜d“Oˆ	ÙÜ# E¨4Ó0‰EàˆEÜ˜ÓˆÜ��tÔÜ�tÔØˆØ	”—‘Ò	Ü$ U¨DÓ1ˆÜ�u‹~ˆÜ��tÔÜ�tÔØˆØ	”×#Ñ#Ò	#Ü‹~ˆÜ��tÔÜ�tÔØˆØ	”×"Ñ"Ó	"Ü˜$“ˆØ[]ˆÜ�v“ò 	!ˆAÜ˜ŒÜ# E¨4Ó0�Ü˜T“N�Ü˜T”?Ü# D›>‘Dà�DÜ˜T”?ä"4°U¸DÓ"A‘Kà"&�KØ—‘˜q ! T¨;Ð7Õ8äœH T›NÓ+�Ü˜˜qÔ!Ø—‘˜aÕ ð#	!ô$ ˜vÓ&ˆÜ'¨›oˆÔÜ��tÔØ×ÑØ˜ $§)¡)¨T¯[©[È4ð 	 ô 	
ô 	�tÔØˆØ	”×!Ñ!Ò	!Ü,¨U°DÓ9Ñˆ	�7Ü˜% Ó&ˆáÜð  )öàð ,/×+>Ò+>�C×'Ò'ÄGÌI×LaÑLaÓDbÑbòð &/Ö/˜c�—“Ò/ØHQÖRÀ˜Ÿš‘¨3¯<©<×+<Ñ+<Ñ<ÒRÜœ	×-Ñ-Ó.Üó	‰Cð ˆCä˜) TÓ*ˆØˆŒ	Ü��tÔÜ�tÔØˆØ	”×(Ñ(Ó	(Ü˜D“/ˆÙÜ! %¨Ó.‰CàˆCÜ  tÓ,ˆÜ “~ˆÜ9>¸|Ó9LÖM°A”? 5¨$Õ/ÐMˆÐMÜ;@ÀÓ;NÖO°a”_ U¨DÕ1ÐOˆ	ÐOÜ@EÀlÓ@SÖT¸1Ô)¨%°Õ6ÐTˆ	ÐTÜ-2°<Ó-@ÖA¨”I˜d•OÐAˆÐAÜ& s¨E°7¸IÀyÐRZÓ[ˆÜ��tÔØˆ;Ø×#Ñ#Ð$AÀ7ÈDÏIÉIÐW[×WbÑWbÔcÜ�tÔØˆØ	”×'Ñ'Ò	'Ü'¨¨tÓ4ˆ	Ü 	Ó*ˆÜ��tÔÜ˜i¨Ô.Ü�tÔØˆØ	”× Ñ Ò	 Ü˜“ˆÜ˜ÓˆÜ��tÔÜ�tÔØˆØ	”×%Ñ%Ò	%Ü  ¨Ó-ˆÜ  tÓ,ˆÜ˜&¤(Ô+ô
 # 2›,ˆKØ× Ñ  Ô(Ø ˆFÜ˜f eÓ,ˆÜ��tÔÜ�tÔØˆØ	”× Ñ Ò	 Ü�4œÔ'Ü Ó%ˆÜ�uÓˆÜ��rÔÜ�tÔØˆ	Ø	”—‘Ò	Ü& u¨dÓ3ˆÜ˜Ó%ˆÜ��tÔÜ�tÔØˆØ	”×%Ñ%Ò	%Ü  tÓ,ˆÜ˜UÓ#ˆÜ��tÔÜ�tÔØˆØ	”× Ñ Ò	 Ü  tÓ,ˆÜ˜ÓˆÜ��tÔÜ�tÔØˆØ	”×"Ñ"Ò	"Ü�4œÔ'Ü˜tÓ$ˆÜ�4œÔ'Ü˜tÓ$ˆÜœ7 4¨Ó.Ó/ˆÜ��tÔÜ�tÔØˆØ	”×"Ñ"Ò	"Ü˜$“ˆÜ”S˜ aÔ(Ó)ˆÜ��rÔÜ�tÔØˆ	à�cÓˆuùòS
 Mùò6 CùòLùò 0ùÚRùò( NùÚOùÚTùÚAs?   ÅAA;ÊAB î8ABïAB

ï'+ABò9ABóABó=ABôAB#c                ó~   — t        |«      }t        |«      D �cg c]  }t        | |«      ‘Œ }}t        ||«      S c c}w rÖ   )r   rÝ   rR  rS  )rÑ   rÒ   rà   rã   rÕ  s        r‘   r_  r_  »  s<   € Ü�‹€AÜ5:¸1³XÖ>°Ô˜u dÕ+Ð>€EÐ>Ü˜d EÓ*Ð*ùò ?s   ™:c                óB  — t        |«      }t        |«      dk(  rŒ|d   }|rwt        |t        «      r|}nTt        |t        «      rt        |j
                  t        «      sJ ‚|j
                  j                  }t        |t        «      sJ ‚t        | «      |_	        t        | |«       |S t        |«      }t        d«      }t        |d«      }t	        ||gt        gd g«      }|rt        | «      |_	        t        | |«       t        ||«       t        ||«       t        ||«       |S )Nr    r   rA  Újoin)Úcollapse_consecutive_str_itemsrz  rÌ   rY   r(   rE  rG   rü   r   rH  rù   rE   r   Úset_line_column)	rÒ   rÕ  r;  rü   rO  rÒ  Ústr_exprÚmemberÚcalls	            r‘   rS  rS  Á  sý   € ô +¨5Ó1€EÜ
ˆ5ƒz�Q‚Ø�Q‰xˆÙÜ˜$¤Ô(Ø‘ä! $¬Ô1´jÀÇÁÌjÔ6YÐYÐYð Ÿ™×)Ñ)�Ü! &¬'Ô2Ð2Ð2Ü$-¨d£OˆFÔ!Ü��tÔØˆÜ�E‹?€DÜ�r‹{€HÜ˜ &Ó)€FÜ�F˜T˜F¤W I°¨vÓ6€DÙÜ"+¨D£/ˆÔÜˆT�4ÔÜ�D˜$ÔÜ�H˜dÔ#Ü�F˜DÔ!Ø€Kr“   c                ó4  — t        | «      dk  r| S | d   }|g}| dd  D ]w  }t        |t        «      rRt        |t        «      rB|xj                  |j                  z  c_        |j                  |_        |j
                  |_        Œe|j                  |«       |}Œy |S )Nr    r   )rz  rÌ   rY   r7  rÎ   rÏ   rš   )rÕ  r  Ú	new_itemsÚitems       r‘   r¢  r¢  à  s�   € Ü
ˆ5ƒz�Q‚ØˆØ�‰8€DØ�€IØ�a�b�	ò ˆÜ�dœGÔ$¬°D¼'Ô)BØ�JŠJ˜$Ÿ*™*Ñ$�JØ ŸM™MˆDŒMØ"Ÿo™oˆD�Oà×Ñ˜TÔ"Ø‰Dðð Ðr“   c                ó  — t        |«      }|t        k(  r"t        t        |«      «      }t	        ||«       |S |t
        j                  k(  rªt        | |«      }t        |«      }|rt        |«      }d|z   dz   }nd}t        |«      }|rt        | |«      }	nt        d«      }	t        t        |«      d«      }
t        |
|«       t        |
||	gt        t        gd d g«      }t        ||«       t        |«       |S t!        d|› �«      ‚)Nú{z:{}}z{:{}}rA  rð  zUnexpected tag )r   r   rY   rÅ  rù   r
   ÚFSTRING_INTERPOLATIONrø   r   r   r_  rG   r£  r(   r   r×   rì   )rÑ   rÒ   rÓ  r¤  rü   Úhas_convÚcÚfmtÚhas_specÚspecr¥  r¦  s               r‘   rR  rR  ð  sø   € Ü�‹€AØŒKÒÜœ=¨Ó.Ó/ˆÜ��xÔ ØˆØ	
Œe×)Ñ)Ò	)Ü˜u dÓ+ˆô ˜T“?ˆÙÜ˜“ˆAØ˜‘'˜FÑ"‰CàˆCô ˜T“?ˆÙÜ% e¨TÓ2‰Dä˜2“;ˆDäœG C›L¨(Ó3ˆÜ˜ Ô%Ü˜  t ¬w¼Ð.@À4ÈÀ,ÓOˆÜ˜˜dÔ#Ü�tÔØˆä˜?¨1¨#Ð.Ó/Ð/r“   c                óH   — |j                   | _         |j                  | _        y rÖ   )r–   r—   ©rO  Úsrcs     r‘   r£  r£    s   € Ø—(‘(€F„KØ—J‘J€F…Mr“   c                óŒ   — |j                   | _         |j                  | _        |j                  | _        |j                  | _        y rÖ   )r–   r—   rÎ   rÏ   r³  s     r‘   rú   rú     s/   € Ø—(‘(€F„KØ—J‘J€F„MØ—l‘l€F„OØŸ™€FÕr“   c                óˆ   — t        |t        «       t        |«      }t        |«      D �cg c]  }t	        | |«      ‘Œ c}S c c}w rÖ   )rÛ   r   r  rÝ   rø   )rÑ   rÒ   rà   r.  s       r‘   r÷   r÷     s5   € Üˆt”XÔÜ�dÓ€AÜ27¸³(Ö;¨QŒO˜E 4Õ(Ò;Ð;ùÒ;s   ©?c                óô  — t        | |«      }t        |t        «      r(| j                  dd|j                  |j
                  «       t        |«      }t        |«      D �cg c]  }t        | |«      ‘Œ }}t        |«      D �cg c]  }t        | |«      ‘Œ }}t        |«      D �cg c]  }t        | |«      ‘Œ }}t        |«      D �cg c]  }t        |«      ‘Œ }}t        |||||«      S c c}w c c}w c c}w c c}w )zSHelper function to read comprehension data (shared by Generator, ListComp, SetComp)r>  r?  )rø   rÌ   rW   r¨   r–   r—   r   rÝ   r÷   r   r:   )	rÑ   rÒ   Ú	left_exprr•  rã   r–  r—  r˜  r	  s	            r‘   rU  rU  $  sà   € ä  tÓ,€IÜ�)œXÔ&Ø×ÑØ)¨7°I·N±NÀI×DTÑDTô	
ô ˜D“>€LÜ5:¸<Ó5HÖI°Œ˜u dÕ+ÐI€GÐIÜ7<¸\Ó7JÖK°!” ¨Õ-ÐK€IÐKÜ<AÀ,Ó<OÖP°qÔ% e¨TÕ2ÐP€IÐPÜ).¨|Ó)<Ö= A”	˜$•Ð=€HÐ=Ü˜ G¨Y¸	À8ÓLÐLùò	 JùÚKùÚPùÚ=s   ÁC&Á?C+Â!C0ÃC5c                ó¸   — t        | t        «       t        | «      }||_        t        | «      }||_        |t        | «      z   |_        |t        | «      z   |_        y rÖ   )rÛ   r   r  r–   r—   rÎ   rÏ   )rÒ   r½   r–   r—   s       r‘   rù   rù   3  sP   € Üˆt”XÔÜ˜Ó€DØ€D„IÜ˜4Ó €FØ€D„KØœ=¨Ó.Ñ.€D„MØœ}¨TÓ2Ñ2€D…Or“   c                ór  — t        | j                  «      dk(  rg | j                  d   _        | j                  rt        | j                  j                  «      dk(  r\t        | j                  j                  d   t        «      r#t        | j                  j                  d   «       yg | j                  _        yyy)z§Remove contents from IfStmt.

    Needed to still be able to check the conditions after the contents
    have been merged with the surrounding function overloads.
    r    r   N)rz  r*  r0  rÌ   r<   Ústrip_contents_from_if_stmt©rä   s    r‘   r»  r»  =  s„   € ô ˆ4�9‰9ƒ~˜ÒØˆ�	‰	�!‰ÔØ‡~‚~œ#˜dŸn™n×1Ñ1Ó2°aÒ7Ü�d—n‘n×)Ñ)¨!Ñ,¬fÔ5Ü'¨¯©×(;Ñ(;¸AÑ(>Õ?à"$ˆD�N‰NÕð	 8€~r“   c                óB  — t        | t        «      syt        | j                  «      dk(  r%t        | j                  d   j                  «      dk(  sy| j                  r"t        | j                  j                  «      dk(  ryt        | j                  j                  d   «      S )z`Check stmt to make sure it is a stripped IfStmt.

    See also: strip_contents_from_if_stmt
    Fr    r   T)rÌ   r<   rz  r*  r0  Úis_stripped_if_stmtr¼  s    r‘   r¾  r¾  L  sz   € ô
 �dœFÔ#Øä�—	‘	‹N˜aÒ¤C¨¯	©	°!©×(9Ñ(9Ó$:¸aÒ$?àà�>Š>œS §¡×!4Ñ!4Ó5¸Ò:àô ˜tŸ~™~×2Ñ2°1Ñ5Ó6Ð6r“   c                óˆ   — | j                  t        j                  j                  |j                  |j
                  dd¬«       y)zIReport an error when overloads cannot be merged due to unknown condition.Fry  r£   N)r›   r	   ÚFAILED_TO_MERGE_OVERLOADSr7  r–   r—   )rÑ   r½   s     r‘   Úfail_merge_overloadrÁ  `  s6   € à	‡O�OÜ×2Ñ2×8Ñ8Ø�	‰	Ø�‰ØØð õ r“   c                ó`  — t        | j                  d   j                  «      dk(  r\t        | j                  d   j                  d   t        t        f«      s¨|�*t        | j                  d   j                  d   t
        «      s|t        | j                  d   j                  «      dkD  rVt        | j                  d   j                  d   t        «      r,t        d„ | j                  d   j                  dd D «       «      syt        t        t
        z  t        z  | j                  d   j                  d   «      j                  }| j                  �| j                  j                  r|S t        | j                  j                  «      dk(  r©t        | j                  j                  d   t        t
        t        f«      r(| j                  j                  d   j                  |k(  r|S t        | j                  j                  d   t        «      r(t        | j                  j                  d   |«      |k(  r|S y)zsCheck if IfStmt contains only overloads with the same name.
    Return overload_name if found, None otherwise.
    r   r    Nr†   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrÖ   )r¾  )rp  r5  s     r‘   rr  z-check_ifstmt_for_overloads.<locals>.<genexpr>|  s   è ø€ ÒS°Ô# G×,ÑSùs   ‚)rz  r*  rÌ   r/   rM   r9   Úallr   r  r0  r  r<   Úcheck_ifstmt_for_overloads)rä   Úcurrent_overload_nameÚoverload_names      r‘   rÅ  rÅ  k  s´  € ô 	ˆD�I‰I�a‰L×ÑÓ !Ò#ä�t—y‘y ‘|×(Ñ(¨Ñ+¬iÔ9JÐ-KÔLØ$Ð0Ü˜4Ÿ9™9 Q™<×,Ñ,¨QÑ/´Ô9äˆt�y‰y˜‰|× Ñ Ó! AÒ%Ü�t—y‘y ‘|×(Ñ(¨Ñ,Ô.?Ô@ÜÑS¸D¿I¹IÀa¹L×<MÑ<MÈcÈrÐ<RÔSÔSàäœ¤WÑ,Ô/@Ñ@À$Ç)Á)ÈAÁ,×BSÑBSÐTVÑBWÓX×]Ñ]€MØ‡~�~Ð §¡×!>Ò!>ØÐä
ˆ4�>‰>×ÑÓ 1Ò$ô �t—~‘~×*Ñ*¨1Ñ-´	¼7ÔDUÐ/VÔWØ—‘×#Ñ# AÑ&×+Ñ+¨}Ò<à Ð ä�t—~‘~×*Ñ*¨1Ñ-¬vÔ6Ü*¨4¯>©>×+>Ñ+>¸qÑ+AÐCXÓYØòð !Ð àr“   c                ó,  — t        | |«       | j                  €| j                  d   j                  du ry| j                  �3| j                  d   j                  du r| j                  j                  du rd| fS | j                  j                  r| j                  d   dfS | j                  d   j                  du rXt	        | j                  j                  d   t
        «      r#t        | j                  j                  d   |«      S | j                  dfS d| fS )zùReturn block from IfStmt that will get executed.

    Return
        0 -> A block if sure that alternative blocks are unreachable.
        1 -> An IfStmt if the reachability of it can't be inferred,
             i.e. the truth value is unknown.
    Nr   T©NNF)rr   r0  r*  r  rÌ   r<   Ú&get_executable_if_block_with_overloads)rä   rŒ   s     r‘   rÊ  rÊ  •  sõ   € ô ' t¨WÔ5Ø‡~�~Ð $§)¡)¨A¡,×"=Ñ"=ÀÑ"Eàà�‰ÐØ�9‰9�Q‰<×&Ñ&¨%Ñ/Ø�N‰N×)Ñ)¨UÑ2ð �TˆzÐØ‡~�~×$Ò$à�y‰y˜‰|˜TÐ!Ð!Ø‡y�y��|×"Ñ" dÑ*ô �d—n‘n×)Ñ)¨!Ñ,¬fÔ5Ü9¸$¿.¹.×:MÑ:MÈaÑ:PÐRYÓZÐZØ�~‰~˜tÐ#Ð#Ø�ˆ:Ðr“   c           	     ó 	  — g }g }d}d}d}d}d}d}	g }
|D �]È  }d}d}d}t        |t        «      r't        ||«      }|�t        || j                  «      \  }}|�»t        |t
        t        f«      r¥|j                  |k(  r–|�|
j                  |«       |�Bt        |t        «      r|j                  |j                  «       n|j                  |«       d\  }}|	rt        | |	«       d}	|j                  |«       t        |t        «      sŒñ|j                  }Œþ|��3t        |t        «      �r"||k(  �r||k7  �r|
j                  |«       |€|�t        | |«       �ŒA|�Bt        |t        «      r|j                  |j                  «       n|j                  |«       d\  }}t        |j                  d   t        «      r]|
j                  t        t        t           |j                  dd «      «       |j                  |j                  d   j                  «       �Œÿ|j                  t        t
        t        z  |j                  d   «      «       �Œ4|�|j                  |«       |}d\  }}d}	|r8||k(  r3|j!                  «       }t        |t        «      sJ ‚|
j                  |«       |r'|
r%|
D ]  }t#        |«       |j                  |«       Œ  g }
t%        |«      dk(  r|j                  |d   «       n(t%        |«      dkD  r|j                  t        |«      «       d}t        |t
        «      r&t'        |j                  «      s|g}|j                  }�Œ6t        |t        «      rn|�lg }|}|}d}|�^|
j                  t        t        t           |j                  dd «      «       t        t
        t        z  t        z  |j                  d   «      }|}	�Œ´g }d}|j                  |«       �ŒË |r%|
r#|
D ]  }t#        |«       |j                  |«       Œ  t%        |«      dk(  r|j                  |d   «       |S t%        |«      dkD  r|j                  t        |«      «       |S |�|j                  |«       |S |�|j                  |«       |S )z‘Merge consecutive function overloads into OverloadedFuncDef nodes.

    Also handles conditional overloads (overloads inside if statements).
    NrÉ  r†   r   r    )rÌ   r<   rÅ  rÊ  rŒ   r/   r9   r  rš   rM   ÚextendrÕ  rÁ  r*  r   r   Úpopr»  rz  r…   )rÑ   ÚstmtsrÓ   Úcurrent_overloadrÆ  Úlast_unconditional_func_defÚlast_if_stmtÚlast_if_overloadÚlast_if_stmt_overload_nameÚlast_if_unknown_truth_valueÚskipped_if_stmtsrä   Úif_overload_nameÚif_block_with_overloadÚif_unknown_truth_valueÚpoppedr5  s                    r‘   rß   rß   ¶  sµ  € ð
 €CØ+-ÐØ(,ÐØ.2ÐØ"&€LØGKÐØ-1ÐØ15ÐØ%'ÐØó s!ˆØ'+ÐØ/3ÐØ04ÐÜ�dœFÔ#ä9¸$Ð@UÓVÐØÐ+ä:¸4ÀÇÁÓOñ ?Ð&Ð(>ð
 "Ð-Ü˜4¤)¬WÐ!5Ô6Ø—	‘	Ð2Ò2àÐ'Ø ×'Ñ'¨Ô5ØÐ+ô Ð.Ô0AÔBØ$×+Ñ+Ð,<×,BÑ,BÕCà$×+Ñ+Ð,<Ô=Ø1;Ñ.�Ð.Ù*Ü# EÐ+FÔGØ.2Ð+Ø×#Ñ# DÔ)Ü˜$¤Õ(ð /3¯i©iÑ+à!Ñ-Ü˜4¤Õ(Ø Ð$9Ó9Ø+Ð/DÓDð ×#Ñ# DÔ)Ø%Ð-Ø)Ð5Ü'¨Ð/EÔFÙØÐ+ô Ð.Ô0AÔBØ$×+Ñ+Ð,<×,BÑ,BÕCà$×+Ñ+Ð,<Ô=Ø1;Ñ.�Ð.ÜÐ0×5Ñ5°bÑ9Ô;LÔMØ ×'Ñ'¬¬T´&©\Ð;Q×;VÑ;VÐWZÐXZÐ;[Ó(\Ô]Ø ×'Ñ'Ð(>×(CÑ(CÀBÑ(G×(MÑ(MÖNà ×'Ñ'¬¬Y¼Ñ-@ÐBX×B]ÑB]Ð^_ÑB`Ó(aÖbàÐ'Ø—
‘
˜<Ô(Ø-BÐ*Ø1;Ñ.�Ð.Ø.2Ð+áÐ$9Ð=WÒ$Wð Ÿ™›�Ü! &¬&Ô1Ð1Ð1Ø ×'Ñ'¨Ô/ÙÑ$4ð  0ò (�GÜ/°Ô8Ø—J‘J˜wÕ'ð(ð $&Ð ÜÐ#Ó$¨Ò)Ø—
‘
Ð+¨AÑ.Õ/ÜÐ%Ó&¨Ò*Ø—
‘
Ô,Ð-=Ó>Ô?ð +/Ð'Ü˜$¤	Ô*Ô3CÀDÇIÁIÔ3NØ$( 6Ð Ø(,¯	©	Ò%Ü˜D¤&Ô)Ð.>Ð.JØ#%Ð Ø(8Ð%Ø#�Ø-1Ð*Ø)Ð5Ø$×+Ñ+¬D´´f±Ð?U×?ZÑ?ZÐ[^Ð\^Ð?_Ó,`ÔaÜ'+Ü!¤GÑ+Ô.?Ñ?ÐAW×A\ÑA\Ð]_ÑA`ó(Ð$ð /EÒ+à#%Ð Ø(,Ð%Ø—
‘
˜4Ö ðgs!ñj Ñ,ð (ò 	 ˆGÜ'¨Ô0Ø�J‰J�wÕð	 ô ÐÓ Ò!Ø�
‰
Ð# AÑ&Ô'ð €Jô 
ÐÓ	 Ò	"Ø�
‰
Ô$Ð%5Ó6Ô7ð
 €Jð	 
Ð	%Ø�
‰
Ð#Ô$ð €Jð 
Ð	!Ø�
‰
�<Ô Ø€Jr“   c                ór  — | sg S t        | «      }t        |t        «       t        |«      }g }t	        |«      D �]{  }t        |«      }|t        k(  r]t        |«      }t        |«      }t        |«      }|rt        |«      }	nd}	t        ||	fg«      }
t        ||
«       |j                  |
«       Œu|t        k(  r¨t        |«      }t        |«      }t        |t        «       t        |«      }g }t	        |«      D ];  }t        |«      }t        |«      }|rt        |«      }	nd}	|j                  ||	f«       Œ= t        |||«      }
t        ||
«       |j                  |
«       �Œ&|t        k(  rAt        |«      }t        |«      }t!        ||«      }
t        ||
«       |j                  |
«       �Œpt#        d|› �«      ‚ |S )z;Deserialize import metadata from bytes into mypy AST nodes.Nz#Unexpected tag in import metadata: )r   rÛ   r   r  rÝ   r   r   r   r   r   r=   r  rš   r   r@   r   r>   rì   )rÀ   rÒ   Ú	n_importsÚimportsrã   rÙ   r  r8  r;  r<  rä   Úmodulerv  r:  s                 r‘   Údeserialize_importsrÞ  J  s¤  € áØˆ	ä�lÓ#€Däˆt”XÔÜ˜dÓ#€Ià "€Gä�9Óó 0JˆÜ�t‹nˆà”/Ò!Ü˜D“>ˆDÜ “~ˆHä" 4›ˆJÙÜ! $›‘à�ô ˜D &˜>Ð*Ó+ˆDÜ)¨$°Ô5Ø�N‰N˜4Õ àÔ'Ò'Ü˜d“^ˆFÜ “~ˆHä�tœXÔ&Ü# DÓ)ˆGØ24ˆEä˜7“^ò -�Ü “~�Ü& t›_�
ÙÜ% d›^‘Fà!�FØ—‘˜d F˜^Õ,ð-ô ˜f h°Ó6ˆDÜ)¨$°Ô5Ø�N‰N˜4Ö àÔ&Ò&Ü˜d“^ˆFÜ “~ˆHä˜V XÓ.ˆDÜ)¨$°Ô5Ø�N‰N˜4Ö ô ÐBÀ3À%ÐHÓIÐIða0Jðd €Nr“   c                ó€   — t        | |«       t        | «      }|dz  dk7  |_        |dz  dk7  |_        |dz  dk7  |_        y )Nr    r   r9  é   )rù   r   Úis_top_levelr  Úis_mypy_only)rÒ   rä   Úflagss      r‘   r  r  ‹  sL   € ÜˆT�4Ôô �T‹N€Eð  ™¨!Ñ+€DÔØ  4™<¨AÑ-€DÔØ ™¨!Ñ+€DÕr“   )NF)
rº   r­   rŒ   rh   r»   ústr | bytes | Noner¼   rª   r«   z.tuple[MypyFile, list[ParseError], TypeIgnores])rÍ   r­   r–   r®   r—   r®   rÎ   r®   rÏ   r®   rŒ   rh   r«   ry   )rÒ   r   r«   r¬   )rÒ   r   rÙ   r   r«   r¬   )rÑ   r‰   rÒ   r   rà   r®   r«   úlist[Statement])
rº   r­   rŒ   rh   r»   rä  r¼   rª   r«   zZtuple[bytes, list[ParseError], TypeIgnores, bytes, bool, bool, str, list[tuple[int, str]]])rÑ   r‰   rÒ   r   r«   rX   )rÑ   r‰   rÒ   r   r«   ztuple[list[Argument], bool])
rÑ   r‰   rv  úlist[TypeParam]r–   r®   r—   r®   r«   r¬   )rÑ   r‰   rÒ   r   r«   ræ  )rÑ   r‰   rÒ   r   r«   r9   )rÑ   r‰   rÒ   r   r«   r)   )r*  r%   r«   ú
str | None)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«   rk   )rÑ   r‰   rÒ   r   r«   r%   )rÑ   r‰   rÒ   r   r«   zBlock | None)rÑ   r‰   rÒ   r   r«   r4   )rÒ   r   rÕ  úlist[Expression]r;  rª   r«   r4   )rÕ  rè  r«   rè  )rO  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ä   rX   r«   rª   )rÑ   r‰   r½   r<   r«   r¬   rÖ   )rä   r<   rÆ  rç  r«   rç  )rä   r<   rŒ   rh   r«   z"tuple[Block | None, IfStmt | None])rÑ   r‰   rÎ  rå  r«   rå  )rÀ   Úbytesr«   zlist[ImportBase])rÒ   r   rä   zImport | ImportFrom | ImportAllr«   r¬   )ËÚ__doc__Ú
__future__r   r´   Útypingr   r   rÉ   Úlibrt.internalr   rg  r   r  r   rÅ  Úmypyr	   r
   r   Ú
mypy.cacher   r   r   r   r   r   r   r   r   r   r   r   r   Úmypy.errorsr   Ú
mypy.nodesr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   Úmypy.optionsrh   Úmypy.patternsri   rj   rk   rl   rm   rn   ro   rp   rq   Úmypy.reachabilityrr   Úmypy.sharedparsers   Ú
mypy.typesrt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   Ú	mypy.utilrƒ   r„   r…   r   rÄ  r®   r­   ÚTypeIgnoresr‡   Ú__annotations__r‰   rÅ   rÔ   r×   rÛ   rå   r·   rÞ   rm  rw  r~  r„  r  r  r’  r  r  rË   rä  rè  rÑ  r#  rþ   r  r)  r,  r1  r4  rø   r_  rS  r¢  rR  r£  rú   r÷   rU  rù   r»  r¾  rÁ  rÅ  rÊ  rß   rÞ  r  r²   r“   r‘   ú<module>rú     s£  ðòõ$ #ã 	ß ã ÷ñ ÷ 0Ñ /÷÷ ÷ ÷ ñ õ" %÷O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ O÷ Oõ` !÷
÷ 
õ 
õ AÝ 9÷÷ ÷ ÷ ñ ÷" LÑ Kà�5˜˜d 3™i˜Ñ(Ñ)€ñ "Ð"2°B¸Ó;€�Ó ;÷$ñ $ðT "&Ø!&ð	.!Øð.!àð.!ð ð.!ð ð	.!ð
 4ó.!ðbØðØðØ),ðØ8;ðØILðØW^ðàóó"%ó5ó	ð "&Ø!&ð	1Øð1àð1ð ð1ð ð	1ð
 `ó1óhUóp,ð^RØðRØ.ðRØ69ðRØCFðRà	óRð#Øð#Ø.ð#Ø69ð#ØCFð#à	ó#ó ó8<ó~.óbó6ór4ônJóZóóaóHc4óLó.ò$ W€ˆÓ VØ˜$�-€ˆ%Ó ÚS€ˆÓ SÚ)€	ˆ5Ó )óeóP+ð KPðØ
ðØ-ðØCGðàóó>ó 0óDó
'ó<óMó3ó%ó7ó(ð 7;ð'Ø
ð'Ø)3ð'àó'ðTØ
ðØ"ðà'óóBQóh>ôB,r“   