ó
    úÞ j’î  ã                  óî  • S r SSKJr  SSKrSSKJr  SSKJr  SSKJ	r	J
r
  SSKrSSKJr  SSKJrJr  SS	KJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2  SS
K3J4r4  SSK5J6r6J7r7J8r8J9r9J:r:J;r;J<r<  SSK=J>r>  SSK?J@r@  SSKAJBrB  SSKCJDrD  SSKEJFrF  SSKGJHrH  SSKJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrPJQrQJRrR  SSKSJTrT  SSKUJVrV  SSKWJXrY  SSKZJ[r[  SSK\J]r]  Sr^Sr_Sr`SraSrbSrcSrdSreS rfS!rg1 S"krh\hS#1-
  ri\]" \Y5      rjS$rkS%rXSLS& jrl " S' S(\:5      rm " S) S*5      rnSMS+ jro " S, S-5      rp " S. S/5      rq " S0 S15      rr " S2 S3\F5      rs " S4 S55      rtSNS6 jru\" S7S8S95      rv\" S:S;S95      rw\" S<S=S95      rx\" S>S?S95      ry\" S@SAS95      rz\" S@SBS95      r{\" S@SCS95      r|SOSD jr}SPSE jr~SQSF jr        SRSG jr€SQSH jr�SSSI jr‚   ST                 SUSJ jjrƒSVSK jr„g)Wz^This module includes classes and functions designed specifically for use with the mypy plugin.é    )ÚannotationsN)ÚIterator)ÚConfigParser)ÚAnyÚCallable)Ú	ErrorCode)Úexpand_typeÚexpand_type_by_instance) Ú	ARG_NAMEDÚARG_NAMED_OPTÚARG_OPTÚARG_POSÚ	ARG_STAR2Ú	INVARIANTÚMDEFÚArgumentÚAssignmentStmtÚBlockÚCallExprÚClassDefÚContextÚ	DecoratorÚDictExprÚEllipsisExprÚ
ExpressionÚFuncDefÚIfStmtÚJsonDictÚ
MemberExprÚNameExprÚPassStmtÚPlaceholderNodeÚRefExprÚ	StatementÚStrExprÚSymbolTableNodeÚTempNodeÚ	TypeAliasÚTypeInfoÚVar)ÚOptions)ÚCheckerPluginInterfaceÚClassDefContextÚDynamicClassDefContextÚMethodContextÚPluginÚReportConfigContextÚSemanticAnalyzerPluginInterface)Údeserialize_and_fixup_type)Úset_callable_name)Úmake_wildcard_trigger)Ústate)ÚTypeTranslator)Úmap_type_from_supertype)
ÚAnyTypeÚCallableTypeÚInstanceÚNoneTypeÚTypeÚ	TypeOfAnyÚTypeTypeÚTypeVarTypeÚ	UnionTypeÚget_proper_type)Úfill_typevars)Úget_unique_redefinition_name)Ú__version__)Ú_fields)Úparse_mypy_versionúpydantic-mypyzpydantic-mypy-metadatazpydantic.main.BaseModelzpydantic.main.create_modelz#pydantic_settings.main.BaseSettingszpydantic.root_model.RootModelz5pydantic._internal._model_construction.ModelMetaclasszpydantic.fields.Fieldzpydantic.dataclasses.dataclassú.pydantic.functional_validators.model_validator>   ú*pydantic.functional_serializers.serializerú.pydantic.deprecated.class_validators.validatorú.pydantic.functional_validators.field_validatorrI   ú0pydantic.functional_serializers.model_serializerú3pydantic.deprecated.class_validators.root_validatorrM   Úbuiltinsé   c                ó   • [         $ )a  `version` is the mypy version string.

We might want to use this to print a warning if the mypy version being used is
newer, or especially older, than we expect (or need).

Args:
    version: The mypy version string.

Return:
    The Pydantic mypy plugin type.
)ÚPydanticPlugin)Úversions    ÚG/var/www/html/gaurav/venv/lib/python3.13/site-packages/pydantic/mypy.pyÚpluginrU   q   s
   € ô Ðó    c                  ó€   ^ • \ rS rSrSrSU 4S jjrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSS jrSrU =r$ )rR   é€   zThe Pydantic mypy plugin.c                ó‚   >• [        U5      U l        U R                  R                  5       U l        [        TU ]  U5        g ©N)ÚPydanticPluginConfigÚplugin_configÚto_dataÚ_plugin_dataÚsuperÚ__init__)ÚselfÚoptionsÚ	__class__s     €rT   r`   ÚPydanticPlugin.__init__ƒ   s4   ø€ Ü1°'Ó:ˆÔØ ×.Ñ.×6Ñ6Ó8ˆÔÜ‰Ñ˜Õ!rV   c                óÒ   • U R                  U5      nU(       aO  [        UR                  [        5      (       a0  UR                  R	                  [
        5      (       a  U R                  $ g)zUpdate Pydantic model class.N)Úlookup_fully_qualifiedÚ
isinstanceÚnoder)   Úhas_baseÚBASEMODEL_FULLNAMEÚ$_pydantic_model_class_maker_callback)ra   ÚfullnameÚsyms      rT   Úget_base_class_hookÚ"PydanticPlugin.get_base_class_hookˆ   sJ   € à×)Ñ)¨(Ó3ˆÞ”:˜cŸh™h¬×1Ñ1à�x‰x× Ñ Ô!3×4Ñ4Ø×@Ñ@Ð@ØrV   c                ó0   • U[         :X  a  U R                  $ g)z,Update Pydantic `ModelMetaclass` definition.N)ÚMODEL_METACLASS_FULLNAMEÚ)_pydantic_model_metaclass_marker_callback©ra   rl   s     rT   Úget_metaclass_hookÚ!PydanticPlugin.get_metaclass_hook‘   s   € àÔ/Ó/Ø×AÑAÐAØrV   c                ó<   • UR                  S5      (       a  [        $ g)z-Adjust return type of `from_orm` method call.z	.from_ormN)ÚendswithÚfrom_attributes_callbackrs   s     rT   Úget_method_hookÚPydanticPlugin.get_method_hook—   s   € à×Ñ˜[×)Ñ)Ü+Ð+ØrV   c                ó0   • U[         :X  a  U R                  $ g)zARecognize `create_model()` calls as dynamic BaseModel subclasses.N)ÚCREATE_MODEL_FULLNAMEÚ_pydantic_create_model_callbackrs   s     rT   Úget_dynamic_class_hookÚ%PydanticPlugin.get_dynamic_class_hook�   s   € àÔ,Ó,Ø×7Ñ7Ð7ØrV   c                ó   • U R                   $ )zZReturn all plugin config data.

Used by mypy to determine if cache needs to be discarded.
)r^   )ra   Úctxs     rT   Úreport_config_dataÚ!PydanticPlugin.report_config_data£   s   € ð
 × Ñ Ð rV   c                ó�   • [        UR                  UR                  UR                  U R                  5      nUR                  5         g rZ   )ÚPydanticModelTransformerÚclsÚreasonÚapir\   Ú	transform)ra   r�   Útransformers      rT   rk   Ú3PydanticPlugin._pydantic_model_class_maker_callbackª   s0   € Ü.¨s¯w©w¸¿
¹
ÀCÇGÁGÈT×M_ÑM_Ó`ˆØ×ÑÕrV   c                óô   • U R                   R                  (       a  gUR                  R                  R                  nU(       d   S5       e[        UR                  SS5      (       a  SUR                  l        gg)z»Reset dataclass_transform_spec attribute of ModelMetaclass.

Let the plugin handle it. This behavior can be disabled
if 'debug_dataclass_transform' is set to True', for testing purposes.
Nz-callback not passed from 'get_metaclass_hook'Údataclass_transform_spec)r\   Údebug_dataclass_transformr†   ÚinfoÚdeclared_metaclassÚgetattrÚtyper�   )ra   r�   Úinfo_metaclasss      rT   rr   Ú8PydanticPlugin._pydantic_model_metaclass_marker_callback®   sa   € ð ×Ñ×7×7ØØŸ™Ÿ™×8Ñ8ˆÞÐNÐNÓNˆ~Ü�>×&Ñ&Ð(BÀD×IÑIØ;?ˆN×ÑÕ8ð JrV   c                ó˜  • [         n[        UR                  R                  UR                  R                  5       Hà  u  p4US:X  d  M  [        U[        5      (       d  M$  UR                  c  M3  [        UR                  [        5      (       a  UR                  R                  nMj  [        UR                  [        5      (       d  M‹  [        UR                  R                  [        5      (       d  M¶  UR                  R                  R                  R                  nMâ     UR                  R                  U5      nUb  [        UR                  [        5      (       dB  UR                  R                  [         5      nUb  [        UR                  [        5      (       d  gUR                  n[        U5      n[        U[        5      (       d   eUR                  R!                  UR"                  XqR                  R$                  5      nUR&                  Ul        UR                  R)                  UR"                  [+        [,        U5      5        g)zFMake variables assigned from `create_model()` usable as types by mypy.Ú__base__N)rj   ÚzipÚcallÚ	arg_namesÚargsrg   r#   rh   r)   rl   r*   r’   r;   rˆ   Úlookup_fully_qualified_or_nonerC   Úbasic_new_typeinfoÚnameÚlineÚmetaclass_typeÚadd_symbol_table_noder&   r   )	ra   r�   Úbase_fullnameÚarg_nameÚarg_exprÚbase_symÚ	base_infoÚbase_instancer�   s	            rT   r}   Ú.PydanticPlugin._pydantic_create_model_callback»   s  € ô +ˆÜ"% c§h¡h×&8Ñ&8¸#¿(¹(¿-¹-Ö"HÑˆHØ˜:Õ%¬*°X¼w×*GÓ*GÈHÏMÉMÓLeÜ˜hŸm™m¬X×6Ñ6Ø$,§M¡M×$:Ñ$:’MÜ §¡¬s×3Ó3¼
À8Ç=Á=×CUÑCUÔW_×8`Ó8`Ø$,§M¡M×$6Ñ$6×$;Ñ$;×$DÑ$D’Mñ #Ið —7‘7×9Ñ9¸-ÓHˆØÑ¤:¨h¯m©m¼X×#FÑ#Fà—w‘w×=Ñ=Ô>PÓQˆHØÑ¤z°(·-±-Ä×'JÑ'JØà—M‘Mˆ	Ü% iÓ0ˆÜ˜-¬×2Ñ2Ð2Ð2à�w‰w×)Ñ)¨#¯(©(°MÇ8Á8Ç=Á=ÓQˆØ'×6Ñ6ˆÔà�‰×%Ñ% c§h¡h´ÄÀdÓ0KÕLrV   )r^   r\   ©rb   r+   ÚreturnÚNone)rl   Ústrr©   z(Callable[[ClassDefContext], None] | None)rl   r«   r©   z&Callable[[MethodContext], Type] | None)rl   r«   r©   z/Callable[[DynamicClassDefContext], None] | None)r�   r1   r©   údict[str, Any])r�   r-   r©   rª   )r�   r.   r©   rª   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r`   rn   rt   ry   r~   r‚   rk   rr   r}   Ú__static_attributes__Ú__classcell__©rc   s   @rT   rR   rR   €   s;   ø† Ù#÷"ô
ôôôô!ô ô@÷Mò MrV   rR   c                  óZ   • \ rS rSr% SrSrS\S'   S\S'   S\S'   S\S'   SS	 jrSS
 jrSr	g)r[   é×   a¿  A Pydantic mypy plugin config holder.

Attributes:
    init_forbid_extra: Whether to add a `**kwargs` at the end of the generated `__init__` signature.
    init_typed: Whether to annotate fields in the generated `__init__`.
    warn_required_dynamic_aliases: Whether to raise required dynamic aliases error.
    debug_dataclass_transform: Whether to not reset `dataclass_transform_spec` attribute
        of `ModelMetaclass` for testing purposes.
)Úinit_forbid_extraÚ
init_typedÚwarn_required_dynamic_aliasesrŽ   Úboolr·   r¸   r¹   rŽ   c                óð  • UR                   c  g [        UR                   5      nUbw  UR                  S0 5      R                  S0 5      nU R                   HD  nUR                  US5      n[	        U[
        5      (       d  [        SU 35      e[        XU5        MF     g [        5       nUR                  UR                   5        U R                   H$  nUR                  [        USS9n[        XU5        M&     g )NÚtoolrH   Fz/Configuration value must be a boolean for key: )Úfallback)Úconfig_fileÚ
parse_tomlÚgetÚ	__slots__rg   rº   Ú
ValueErrorÚsetattrr   ÚreadÚ
getbooleanÚCONFIGFILE_KEY)ra   rb   Útoml_configÚconfigÚkeyÚsettingr\   s          rT   r`   ÚPydanticPluginConfig.__init__í   sÛ   € Ø×ÑÑ&Øä  ×!4Ñ!4Ó5ˆØÑ"Ø —_‘_ V¨RÓ0×4Ñ4°_ÀbÓIˆFØ—~”~�Ø Ÿ*™* S¨%Ó0�Ü! '¬4×0Ñ0Ü$Ð'VÐWZÐV[Ð%\Ó]Ð]Ü˜ 7Ö+ò	 &ô )›NˆMØ×Ñ˜w×2Ñ2Ô3Ø—~”~�Ø'×2Ñ2´>À3ÐQVÐ2ÐW�Ü˜ 7Ö+ò &rV   c                óV   • U R                    Vs0 sH  o[        X5      _M     sn$ s  snf )z/Returns a dict of config names to their values.)rÁ   r‘   )ra   rÉ   s     rT   r]   ÚPydanticPluginConfig.to_data   s&   € à37·>²>ÓB±>¨C”W˜TÓ'Ò'±>ÑBÐBùÒBs   �&© Nr¨   ©r©   r¬   )
r­   r®   r¯   r°   r±   rÁ   Ú__annotations__r`   r]   r²   rÎ   rV   rT   r[   r[   ×   s3   ‡ ñð€Ið ÓØÓØ#'Ó'Ø#Ó#ô,÷&CrV   r[   c                ó>  • U R                   n[        U[        5      (       a  UR                  n[        U[        5      (       a,  [        UR
                  [        5      (       a  UR
                  nOa[        U[        5      (       a  UnOISU SUR                  R                   S3n[        X0R                  U R                  5        U R                  $ UR                   R                  R                  [        5      nUc  U R                  $ UR                   R!                  ["        5      (       d  U R                  $ UR                  S0 5      R                  S5      nUSLa5  [%        UR                   R&                  U R                  U R                  5        U R                  $ )z1Raise an error if from_attributes is not enabled.z
ctx.type: z
 (of type Ú)rÈ   Úfrom_attributesT)r’   rg   r?   Úitemr:   Úret_typer;   rc   r­   Úerror_unexpected_behaviorrˆ   ÚcontextÚdefault_return_typeÚmetadatarÀ   ÚMETADATA_KEYri   rj   Úerror_from_attributesr�   )r�   Úctx_typeÚ
model_typeÚdetailÚpydantic_metadatarÓ   s         rT   rx   rx     s=  € ð �x‰x€HÜ�(œH×%Ñ%Ø—=‘=ˆÜ�(œL×)Ñ)¬j¸×9JÑ9JÌH×.UÑ.UØ×&Ñ&‰
Ü	�Hœh×	'Ñ	'Ø‰
à˜h˜Z z°(×2DÑ2D×2MÑ2MÐ1NÈaÐPˆÜ! &¯'©'°3·;±;Ô?Ø×&Ñ&Ð&Ø"Ÿ™×0Ñ0×4Ñ4´\ÓBÐØÑ Ø×&Ñ&Ð&Ø�?‰?×#Ñ#Ô$6×7Ñ7à×&Ñ&Ð&Ø'×+Ñ+¨H°bÓ9×=Ñ=Ð>OÓP€OØ˜dÒ"Ü˜jŸo™o×2Ñ2°C·G±G¸S¿[¹[ÔIØ×"Ñ"Ð"rV   c                  óæ   • \ rS rSrSr                    SS jr                  SS jr  S         SS jjr S         SS jjrSS jr	\
SS j5       rSS	 jrS
rg)ÚPydanticModelFieldi  z5Based on mypy.plugins.dataclasses.DataclassAttribute.c                ó|   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        X�l        X l	        g rZ   )
r�   ÚaliasÚ	is_frozenÚhas_dynamic_aliasÚhas_defaultÚstrictrž   Úcolumnr’   r�   )ra   r�   rã   rä   rå   ræ   rç   rž   rè   r’   r�   s              rT   r`   ÚPydanticModelField.__init__"  s8   € ð Œ	ØŒ
Ø"ŒØ!2ÔØ&ÔØŒØŒ	ØŒØŒ	Ø�	rV   c	                óJ  • U R                  XXW5      n	U R                  c  UOU R                  n
U(       d  U
(       a  U R                  XSS9nO[        [        R
                  5      n[        U	USU(       a  [        S9$ U(       d  U R                  (       a  [        S9$ [        S9$ )zABased on mypy.plugins.dataclasses.DataclassAttribute.to_argument.NT)Úinclude_root_type)ÚvariableÚtype_annotationÚinitializerÚkind)Úto_varrç   r	   r9   r>   Úexplicitr   r   ræ   r   r   )ra   Úcurrent_infoÚtypedÚmodel_strictÚforce_optionalÚ	use_aliasrˆ   Úforce_typevars_invariantÚis_root_model_rootrì   rç   rí   s               rT   Úto_argumentÚPydanticModelField.to_argument:  s›   € ð —;‘;˜|°)ÓVˆà!%§¡Ñ!4‘¸$¿+¹+ˆÞ–FØ"×.Ñ.¨|ÐTXÐ.ÐY‰Oä%¤i×&8Ñ&8Ó9ˆOäØØ+Øæ!ô ñ	
ð 	
ö $2°T×5E×5E”-ñ
ð 	
ô LUñ
ð 	
rV   c                ó¼  • U(       aJ  [        U R                  [        5      (       a+  U R                  R                  5       n[        Ul        XPl        U R                  GbV  U R                  R                  Gb>  [        R                  " UR                  R                  5         [        U5      n[        U[        5      (       d   eU(       a5  UR                   H%  n[        U[        5      (       d  M  [        Ul        M'     [        U R                  U R                  R                  R                   U05      nU(       am  [        U[        5      (       aX  [#        UR                  5      (       a>  UR                  S   R                  n	U	c  UsSSS5        $ [%        X˜5      n
['        XŠ/5      nUsSSS5        $ U R                  $ ! , (       d  f       U R                  $ = f)zABased on mypy.plugins.dataclasses.DataclassAttribute.expand_type.NÚroot)rg   r’   r@   Úcopy_modifiedr   Úvariancer�   Ú	self_typer6   Ústrict_optional_setrb   Ústrict_optionalrC   r;   rš   r	   ÚidÚis_root_modelr
   rA   )ra   rò   rˆ   r÷   rë   Úmodified_typeÚfilled_with_typevarsÚargÚexpanded_typeÚ	root_typeÚexpanded_root_types              rT   r	   ÚPydanticModelField.expand_typeW  sn  € ö $ô
 ˜$Ÿ)™)¤[×1Ñ1Ø $§	¡	× 7Ñ 7Ó 9�Ü)2�Ô&Ø)”	à�9‰9Ò  T§Y¡Y×%8Ñ%8Ò%Dô
 ×*Ò*¨3¯;©;×+FÑ+FÕGÜ'4°\Ó'BÐ$ä!Ð"6¼×AÑAÐAÐAÞ+Ø3×8Ô8˜Ü% c¬;×7Ó7Ü+4˜CžLñ  9ô !,¨D¯I©I¸¿	¹	×8KÑ8K×8NÑ8NÐPdÐ7eÓ f�Þ$¬°MÄ8×)LÑ)LÔQ^Ð_l×_qÑ_q×QrÑQrð !.× 2Ñ 2°6Ñ :× ?Ñ ?�IØ Ñ(à,÷! HÑGô" *AÀÓ)ZÐ&Ü$-¨}Ð.QÓ$R�MØ$÷' HÑGð( �y‰yÐ÷) HÔGð( �y‰yÐús   Â"AGÃ2BGÆGÇ
Gc                ó’   • U(       a  U R                   b  U R                   nOU R                  n[        XPR                  XU5      5      $ )z<Based on mypy.plugins.dataclasses.DataclassAttribute.to_var.)rã   r�   r*   r	   )ra   rò   rˆ   rö   r÷   r�   s         rT   rð   ÚPydanticModelField.to_var„  s;   € ö ˜Ÿ™Ñ/Ø—:‘:‰Dà—9‘9ˆDä�4×)Ñ)¨,Ð=UÓVÓWÐWrV   c           
     ó  • U R                   (       d   eU R                  U R                  U R                  U R                  U R
                  U R                  U R                  U R                  U R                   R                  5       S.	$ )ú?Based on mypy.plugins.dataclasses.DataclassAttribute.serialize.)	r�   rã   rä   rå   ræ   rç   rž   rè   r’   )
r’   r�   rã   rä   rå   ræ   rç   rž   rè   Ú	serialize©ra   s    rT   r  ÚPydanticModelField.serialize“  sd   € à�y�yÐˆyà—I‘IØ—Z‘ZØŸ™Ø!%×!7Ñ!7Ø×+Ñ+Ø—k‘kØ—I‘IØ—k‘kØ—I‘I×'Ñ'Ó)ñ

ð 
	
rV   c                ól   • UR                  5       n[        UR                  S5      U5      nU " SXAS.UD6$ )úABased on mypy.plugins.dataclasses.DataclassAttribute.deserialize.r’   )r’   r�   rÎ   )Úcopyr3   Úpop)r†   r�   Údatarˆ   Útyps        rT   ÚdeserializeÚPydanticModelField.deserialize¢  s7   € ð �y‰y‹{ˆÜ(¨¯©°&Ó)9¸3Ó?ˆÙÐ/˜Ñ/¨$Ñ/Ð/rV   c                óò   • U R                   bY  [        R                  " UR                  R                  5         [        U R                   XR                  5      U l         SSS5        gg! , (       d  f       g= f)zhExpands type vars in the context of a subtype when an attribute is inherited
from a generic super type.
N)r’   r6   r   rb   r  r8   r�   )ra   Úsub_typerˆ   s      rT   Úexpand_typevar_from_subtypeÚ.PydanticModelField.expand_typevar_from_subtype©  sQ   € ð �9‰9Ñ Ü×*Ò*¨3¯;©;×+FÑ+FÕGÜ3°D·I±I¸xÏÉÓS�”	÷ HÐGð !ßGÕGús   ¸&A(Á(
A6)
rã   rè   ræ   rå   r�   rä   rž   r�   rç   r’   N)r�   r«   rã   z
str | Nonerä   rº   rå   rº   ræ   rº   rç   úbool | Nonerž   Úintrè   r  r’   úType | Noner�   r)   )rò   r)   ró   rº   rô   rº   rõ   rº   rö   rº   rˆ   r2   r÷   rº   rø   rº   r©   r   )FF)
rò   r)   rˆ   r2   r÷   rº   rë   rº   r©   r   ©F)
rò   r)   rˆ   r2   rö   rº   r÷   rº   r©   r*   ©r©   r   )r�   r)   r  r   rˆ   r2   r©   rá   )r  r)   rˆ   r2   r©   rª   )r­   r®   r¯   r°   r±   r`   rù   r	   rð   r  Úclassmethodr  r  r²   rÎ   rV   rT   rá   rá     sg  † Ù?ðàðð ðð ð	ð
  ðð ðð ðð ðð ðð ðð ôð0
àð
ð ð
ð ð	
ð
 ð
ð ð
ð -ð
ð #'ð
ð !ð
ð 
ô
ðB */Ø"'ð+àð+ð -ð+ð #'ð	+ð
  ð+ð 
õ+ðd */ðXàðXð -ðXð ð	Xð
 #'ðXð 
õXô
ð ó0ó ð0÷TrV   rá   c                  ó<   • \ rS rSrSrS r\SS j5       rS	S jrSr	g)
ÚPydanticModelClassVari²  z…Based on mypy.plugins.dataclasses.DataclassAttribute.

ClassVars are ignored by subclasses.

Attributes:
    name: the ClassVar name
c                ó   • Xl         g rZ   ©r�   )ra   r�   s     rT   r`   ÚPydanticModelClassVar.__init__»  s   € Ø�	rV   c                ó2   • UR                  5       nU " S0 UD6$ )r  rÎ   )r  )r†   r  s     rT   r  Ú!PydanticModelClassVar.deserialize¾  s   € ð �y‰y‹{ˆÙ‰{�T‰{ÐrV   c                ó   • SU R                   0$ )r  r�   r'  r  s    rT   r  ÚPydanticModelClassVar.serializeÄ  s   € ð �D—I‘Ið
ð 	
rV   r'  N)r  r   r©   r%  r"  )
r­   r®   r¯   r°   r±   r`   r#  r  r  r²   rÎ   rV   rT   r%  r%  ²  s%   † ñòð óó ð÷

rV   r%  c                  óª  • \ rS rSr% Sr1 SkrS\S'             SS jrSS jrSS jr	SS	 jr
      S S
 jrS!S jrS"S jr        S#S jrS$S jr          S%S jr          S%S jrS&S jrS'S(S jjr\S)S j5       r\S*S j5       r\S+S j5       r\S)S j5       r S'                 S,S jjrS-S jr\S.S j5       rSrg)/r…   iË  z¬Transform the BaseModel subclass according to the plugin settings.

Attributes:
    tracked_config_fields: A set of field configs that the plugin has to track their value.
>   ÚextraÚfrozenrç   Úalias_generatorrÓ   Úpopulate_by_nameÚvalidate_by_nameÚvalidate_by_aliaszset[str]Útracked_config_fieldsc                ó4   • Xl         X l        X0l        X@l        g rZ   )Ú_clsÚ_reasonÚ_apir\   )ra   r†   r‡   rˆ   r\   s        rT   r`   Ú!PydanticModelTransformer.__init__Ý  s   € ð Œ	ØŒØŒ	à*ÕrV   c                ó¦  • U R                   R                  n[        U5      nU R                  5       nU R	                  X25      u  pEUb  Uc  gU H  nUR
                  b  M    g   UR                  [        5      nU R                  XCXr5        U R                  XCXr5        U R                  X@R                  UR                  SL S9  U R                  5         U Vs0 sH  ofR                  UR                  5       _M     snU Vs0 sH  oˆR                  UR                  5       _M     snUR!                  5       S.UR"                  [$        '   gs  snf s  snf )aV  Configures the BaseModel subclass according to the plugin settings.

In particular:

* determines the model config and fields,
* adds a fields-aware signature for the initializer and construct methods
* freezes the class if frozen = True
* stores the fields, config, and if the class is settings in the mypy metadata for access by subclasses
FT)r/  )ÚfieldsÚ
class_varsrÈ   )r6  r�   r  Úcollect_configÚcollect_fields_and_class_varsr’   ri   ÚBASESETTINGS_FULLNAMEÚadd_initializerÚadd_model_construct_methodÚ
set_frozenr8  r/  Úadjust_decorator_signaturesr�   r  Úget_values_dictrÙ   rÚ   )	ra   r�   Úis_a_root_modelrÈ   r;  r<  ÚfieldÚis_settingsÚ	class_vars	            rT   r‰   Ú"PydanticModelTransformer.transformê  s,  € ð �y‰y�~‰~ˆÜ'¨Ó-ˆØ×$Ñ$Ó&ˆØ!×?Ñ?ÀÓXÑˆØ‰>˜ZÑ/àÛˆEØ�z‰zÓ!Ùñ ð —m‘mÔ$9Ó:ˆØ×Ñ˜V¨[ÔJØ×'Ñ'¨¸ÔUØ�‰˜§	¡	°&·-±-À4Ð2GˆÑHà×(Ñ(Ô*ñ CIÓIÁ&¸—z‘z 5§?¡?Ó#4Ò4Á&ÑIÙR\Ó]ÑR\ÀYŸ>™>¨9×+>Ñ+>Ó+@Ò@ÑR\Ñ]Ø×,Ñ,Ó.ñ'
ˆ�‰”lÑ#ð ùò JùÚ]s   Ã#E	Ä #Ec                ód  ^• U R                   R                  R                  R                  5        Hý  n[	        UR
                  [        5      (       d  M$  UR
                  R                  S   m[	        T[        5      (       d  MT  [	        TR                  [        5      (       d  Mu  TR                  R                  [        ;   d  M•  TR                  R                  [        :X  a/  [        U4S j[        TR                   5       5       5      (       a  Mâ  SUR
                  R"                  l        Mÿ     g)a—  When we decorate a function `f` with `pydantic.validator(...)`, `pydantic.field_validator`
or `pydantic.serializer(...)`, mypy sees `f` as a regular method taking a `self` instance,
even though pydantic internally wraps `f` with `classmethod` if necessary.

Teach mypy this by marking any function whose outermost decorator is a `validator()`,
`field_validator()` or `serializer()` call as a `classmethod`.
r   c              3  ó¤   >#   • U HF  u  pTR                   U   S :H  =(       a&    [        U[        5      =(       a    UR                  S:H  v •  MH     g7f)ÚmodeÚafterN)r™   rg   r%   Úvalue)Ú.0Úir  Ú	first_decs      €rT   Ú	<genexpr>ÚGPydanticModelTransformer.adjust_decorator_signatures.<locals>.<genexpr>   sL   øé € ð  á*C¡ ð &×/Ñ/°Ñ2°fÑ<×rÄÈCÔQXÓAY×rÐ^a×^gÑ^gÐkrÑ^rÔrÚ*Cùs   ƒAATN)r6  r�   ÚnamesÚvaluesrg   rh   r   Úoriginal_decoratorsr   Úcalleer    rl   Ú(IMPLICIT_CLASSMETHOD_DECORATOR_FULLNAMESÚMODEL_VALIDATOR_FULLNAMEÚanyÚ	enumeraterš   ÚfuncÚis_class)ra   rm   rQ  s     @rT   rC  Ú4PydanticModelTransformer.adjust_decorator_signatures  sÌ   ø€ ð —9‘9—>‘>×'Ñ'×.Ñ.Ö0ˆCÜ˜#Ÿ(™(¤I×.Ó.ØŸH™H×8Ñ8¸Ñ;�	ä˜y¬(×3Ó3Ü" 9×#3Ñ#3´X×>Ó>Ø!×(Ñ(×1Ñ1Ô5]Õ]ð "×(Ñ(×1Ñ1Ô5MÓMÜô  ä*3°I·N±NÔ*Có ÷ ó ð .2�C—H‘H—M‘MÖ*ò# 1rV   c           
     óê  • U R                   n[        5       nSnSnUR                  R                  5        H2  u  pVU R	                  XV5      nU(       d  M  SnUR                  U5        M4     SnUR                  R                   GHN  n[        U[        [        45      (       d  M!  [        U[        5      (       Ga9  UR                  S   n	[        U	[        5      (       a  U	R                  S:w  a  Mm  [        UR                  [        5      (       ac  [!        UR                  R"                  UR                  R$                  5       H)  u  p«U
c  M
  UR                  U R	                  X«SS95        M+     GO8[        UR                  [&        5      (       aa  UR                  R                   HG  u  pÍ[        U[(        5      (       d  M  UR                  U R	                  UR*                  U5      5        MI     O·[        U[        5      (       a¢  UR                  S:w  a  GM˜  UR                  R                   Hu  n[        U[        5      (       d  M  UR                  S   n	[        U	[        5      (       d  M@  UR                  U R	                  U	R                  UR                  5      5        Mw     U(       a  U R,                  R/                  SU5          OSnGMQ     U(       d  U(       ak  U(       ad  UR0                  (       aS  UR2                  (       dB  UR4                  (       d1  U R6                  R8                  (       a  [;        U R,                  U5        UR<                  R>                  S	S  H‡  n[@        URB                  ;  a  M  U R,                  RE                  [G        URH                  5      5        URB                  [@           S
   R                  5        H  u  nnURK                  UU5        M     M‰     U$ )zhCollects the values of the config attributes that are used by the plugin, accounting for parent classes.FTNr   Úmodel_config)Ú	lax_extraÚConfigzYSpecifying config in two places is ambiguous, use either Config attribute or class kwargsé   rÈ   )&r6  ÚModelConfigDataÚkeywordsÚitemsÚget_config_updateÚupdateÚdefsÚbodyrg   r   r   Úlvaluesr    r�   Úrvaluer   r—   r™   rš   r   r%   rN  r8  ÚfailÚhas_alias_generatorr2  r1  r\   r¹   Úerror_required_dynamic_aliasesr�   ÚmrorÚ   rÙ   Úadd_plugin_dependencyr5   rl   Ú
setdefault)ra   r†   rÈ   Úhas_config_kwargsÚhas_config_from_namespacer�   ÚexprÚconfig_dataÚstmtÚlhsr¢   r  Úkey_exprÚ
value_exprÚsubstmtr�   rN  s                    rT   r=  Ú'PydanticModelTransformer.collect_config)  sè  € à�i‰iˆÜ Ó"ˆà!ÐØ$)Ð!ð Ÿ,™,×,Ñ,Ö.‰JˆDØ×0Ñ0°Ó<ˆKßˆ{Ø$(Ð!Ø—‘˜kÖ*ñ	 /ð "&ˆØ—H‘H—M•MˆDÜ˜d¤^´XÐ$>×?Ñ?Ùä˜$¤×/Ò/Ø—l‘l 1‘o�Ü! #¤x×0Ñ0°C·H±HÀÓ4NÙä˜dŸk™k¬8×4Ñ4Ü),¨T¯[©[×-BÑ-BÀDÇKÁK×DTÑDTÖ)U™˜Ø#Ñ+Ù$ØŸ™ d×&<Ñ&<¸XÐVZÐ&<Ð&[Ö\ó *Vô   §¡¬X×6Ñ6Ø04·±×0AÔ0AÑ,˜Ü)¨(´G×<Ñ<Ù$ØŸ™ d×&<Ñ&<¸X¿^¹^ÈZÓ&XÖYñ 1Bøô
 ˜D¤(×+Ñ+Ø—9‘9 Ó(ÚØ#Ÿy™yŸ~œ~�GÜ% g¬~×>Ñ>Ù Ø!Ÿ/™/¨!Ñ,�CÜ% c¬8×4Ñ4Ù Ø—M‘M $×"8Ñ"8¸¿¹À7Ç>Á>Ó"RÖSñ  .ö !Ø—	‘	—‘ØoØôñ à(,Ó%ñM "öP Ö 9æØ×.×.Ø×0×0°F×4K×4KØ×&Ñ&×D×Dä.¨t¯y©y¸$Ô?à—H‘H—L‘L  Ó$ˆDÜ 4§=¡=Ó0Ùð �I‰I×+Ñ+Ô,AÀ$Ç-Á-Ó,PÔQØ#Ÿ}™}¬\Ñ:¸8ÑD×JÑJÖL‘��eØ×!Ñ! $¨Ö.ó  Mñ %ð ˆrV   c                ó:  • U R                   n0 n0 n[        UR                  R                  SS 5       GH‘  n[        UR
                  ;  a  M  U R                  R                  [        UR                  5      5        UR
                  [           S   R                  5        HÝ  u  px[        R                  XhU R                  5      n	U	R                  UR                  U R                  5        X”U'   UR                  R                  R                  U5      n
U
(       d  M}  U
R                   (       d  M�  [#        U
R                   [$        [&        45      (       a  M·  U R                  R)                  SU
R                   5        Mß     UR
                  [           S   R                  5        H  u  px[*        R                  U5      XW'   M     GM”     [-        5       n[-        5       nU R/                  UR0                  5       Hï  nU R3                  XÑU5      nUc  M  UR4                  S   n[#        U[6        5      (       d   e[#        U[        5      (       aZ  U(       a(  UR8                  S:w  a  [;        U R                  U5        M„  UR=                  UR8                  5        XäUR8                  '   M¯  [#        U[*        5      (       d  MÆ  UR=                  UR8                  5        XåUR8                  '   Mñ     [?        URA                  5       5      [?        URA                  5       5      4$ )zACollects the fields for the model, accounting for parent classes.rc  éÿÿÿÿr;  z7BaseModel field may only be overridden by another fieldr<  r   rü   )!r6  Úreversedr�   rp  rÚ   rÙ   r8  rq  r5   rl   rf  rá   r  r  rT  rÀ   rh   rg   r*   r"   rm  r%  ÚsetÚ%_get_assignment_statements_from_blockri  Ú$collect_field_or_class_var_from_stmtrk  r    r�   Ú error_extra_fields_on_root_modelÚaddÚlistrU  )ra   r`  r  r†   Úfound_fieldsÚfound_class_varsr�   r�   r  rF  Úsym_nodeÚcurrent_field_namesÚcurrent_class_vars_namesrw  Úmaybe_fieldrx  s                   rT   r>  Ú6PydanticModelTransformer.collect_fields_and_class_varsu  sY  € ð �i‰iˆð 79ˆØ=?ÐÜ˜SŸX™XŸ\™\¨!¨BÐ/×0ˆDô  4§=¡=Ó0Ùð �I‰I×+Ñ+Ô,AÀ$Ç-Á-Ó,PÔQà"Ÿm™m¬LÑ9¸(ÑC×IÑIÖK‘
�Ü*×6Ñ6°tÀ4Ç9Á9ÓM�ð
 ×1Ñ1°#·(±(¸D¿I¹IÔFØ%*˜TÑ"àŸ8™8Ÿ>™>×-Ñ-¨dÓ3�ß�8 §§¡´jÀÇÁÔQTÔVeÐPf×6gÓ6gØ—I‘I—N‘NØQØ Ÿ™öñ Lð  #Ÿm™m¬LÑ9¸,ÑG×MÑMÖO‘
�Ü)>×)JÑ)JÈ4Ó)PÐ Ó&ô Pñ5 1ô< ),«ÐÜ-0«UÐ Ø×>Ñ>¸s¿x¹xÖHˆDØ×CÑCÀDÐXhÓiˆKØÑ"Ùà—,‘,˜q‘/ˆCÜ˜c¤8×,Ñ,Ð,Ð,Ü˜+Ô'9×:Ñ:Þ  S§X¡X°Ó%7Ü4°T·Y±YÀÖEà'×+Ñ+¨C¯H©HÔ5Ø-8 §¡Ó*Ü˜KÔ)>×?Ó?Ø(×,Ñ,¨S¯X©XÔ6Ø-8 §¡Ó*ñ Iô" �L×'Ñ'Ó)Ó*¬DÐ1A×1HÑ1HÓ1JÓ,KÐKÐKrV   c              #  ó,  #   • UR                    H/  nUR                  (       a  M  U R                  U5       S h  v•N   M1     UR                  b@  UR                  R                  (       d$  U R                  UR                  5       S h  v•N   g g g  NV N	7frZ   )rj  Úis_unreachabler�  Ú	else_body)ra   rw  rj  s      rT   Ú,_get_assignment_statements_from_if_statementÚEPydanticModelTransformer._get_assignment_statements_from_if_statement¹  su   é € Ø—I”IˆDØ×&×&Ñ&Ø×EÑEÀdÓK×KÒKñ ð �>‰>Ñ%¨d¯n©n×.K×.KØ×AÑAÀ$Ç.Á.ÓQ×QÑQð /LÐ%ñ LáQùs'   ‚B¥B¹BºABÂBÂ	BÂBc              #  óÌ   #   • UR                    HN  n[        U[        5      (       a  Uv •  M  [        U[        5      (       d  M5  U R	                  U5       S h  v•N   MP     g  N	7frZ   )rj  rg   r   r   r�  )ra   Úblockrw  s      rT   r�  Ú>PydanticModelTransformer._get_assignment_statements_from_blockÀ  sL   é € Ø—J”JˆDÜ˜$¤×/Ñ/Ø”
Ü˜D¤&×)Ó)Ø×LÑLÈTÓR×RÒRò	 ñ Sùs   ‚>A$ÁA$ÁA"Á
A$c                ó	  • U R                   nUR                  S   n[        U[        5      (       a5  [        R
                  " UR                  5      (       a  UR                  S:X  a  gUR                  (       dÖ  [        UR                  [        5      (       a�  [        UR                  R                  [        5      (       af  [        UR                  R                  R                  [        5      (       a3  UR                  R                  R                  R                  [        ;   a  gUR                  U;   a  g[        U R                  U5        gUR                  S   n[        U[        5      (       d  g[        R
                  " UR                  5      (       a  UR                  S:X  a  gUR                  R                   R#                  UR                  5      nUc  gUR$                  n[        U[&        5      (       a  g[        U[(        5      (       a  U R                  R+                  SU5        g[        U[,        5      (       d  gUR.                  (       a  [1        UR                  5      $ [3        UR4                  5      n[        U[6        5      (       a6  UR4                  R                  S:X  a  U R                  R+                  SU5        U R9                  U5      n	U R;                  U5      n
UR4                  cŽ  UR<                  (       a}  UR>                  (       al  U R                  RA                  UR                  SS9nU(       a  X·l        O:U R                  R+                  S	U5        [C        [D        RF                  5      Ul        UR<                  (       a  U	(       a  [1        UR                  5      $ U RI                  U5      u  pÍU(       aS  URJ                  (       dB  URL                  (       d1  U RN                  RP                  (       a  [S        U R                  U5        U RU                  U5      nU RW                  XeR                  U5      n[Y        UR                  UU	U
UUURZ                  UR\                  UUR                  S
9
$ )a&  Get pydantic model field from statement.

Args:
    stmt: The statement.
    model_config: Configuration settings for the model.
    class_vars: ClassVars already known to be defined on the model.

Returns:
    A pydantic model field if it could find the field in statement. Otherwise, `None`.
r   r`  NzFType aliases inside BaseModel definitions are not supported at runtimezdataclasses.InitVarz%InitVar is not supported in BaseModelT)Úis_finalzGNeed type argument for Final[...] with non-literal default in BaseModel)
r�   rå   ræ   rç   rã   rä   rž   rè   r’   r�   )/r6  rk  rg   r    rF   Úis_valid_field_namer�   Ú
new_syntaxrl  r   rW  rl   ÚDECORATOR_FULLNAMESÚerror_untyped_fieldsr8  r�   rT  rÀ   rh   r"   r(   rm  r*   Úis_classvarr%  rB   r’   r;   Úget_has_defaultÚ
get_strictr–  Úis_inferredÚanalyze_simple_literal_typer9   r>   Ú
from_errorÚget_alias_infor2  r1  r\   r¹   ro  Úis_field_frozenÚ_infer_dataclass_attr_init_typerá   rž   rè   )ra   rw  r`  r<  r†   rx  rm   rh   Ú	node_typeræ   rç   r  rã   rå   rä   Ú	init_types                   rT   r‚  Ú=PydanticModelTransformer.collect_field_or_class_var_from_stmtÇ  s?  € ð �i‰iˆà�l‰l˜1‰oˆÜ˜#œx×(Ñ(´×0KÒ0KÈCÏHÉH×0UÑ0UÐY\×YaÑYaÐesÓYsØà��ä˜4Ÿ;™;¬×1Ñ1Ü˜tŸ{™{×1Ñ1´8×<Ñ<Ü˜tŸ{™{×1Ñ1×8Ñ8¼(×CÑCØ—K‘K×&Ñ&×-Ñ-×6Ñ6Ô:MÓMð
 à�x‰x˜:Ó%àô ! §¡¨DÔ1Øà�l‰l˜1‰oˆÜ˜#œx×(Ñ(Øä×*Ò*¨3¯8©8×4Ñ4¸¿¹ÀNÓ8RØà�h‰h�n‰n× Ñ  §¡Ó*ˆØ‰;ð à�x‰xˆÜ�dœO×,Ñ,ð
 ä�dœI×&Ñ&Ø�I‰I�N‰NØXØôð ä˜$¤×$Ñ$ð
 ð ××Ü(¨¯©Ó2Ð2ô $ D§I¡IÓ.ˆ	Ü�i¤×*Ñ*¨y¯~©~×/FÑ/FÐJ_Ó/_Ø�I‰I�N‰NØ7Øôð
 ×*Ñ*¨4Ó0ˆØ—‘ Ó&ˆà�8‰8Ñ §§°$×2B×2Bð —)‘)×7Ñ7¸¿¹ÈdÐ7ÐSˆCÞØ•	à—	‘	—‘Ø]Øôô $¤I×$8Ñ$8Ó9�”	à�=�=ž[ä(¨¯©Ó2Ð2à#'×#6Ñ#6°tÓ#<Ñ ˆæØ!×2×2°l×6S×6SØ×"Ñ"×@×@ä*¨4¯9©9°dÔ;Ø×(Ñ(¨Ó.ˆ	à×8Ñ8¸¿h¹hÈÓMˆ	Ü!Ø—‘Ø/Ø#ØØØØ—‘Ø—;‘;ØØ—‘ñ
ð 	
rV   c                ó‚  • UR                   nUR                  (       a  U$ [        UR                   5      n[        U[        5      (       d  U$ UR                   R                  S5      nU(       GaP  [        UR                  [        5      (       aý  UR                   R                  S5      nU(       d   eUR                   (       a+  [        [        UR                   UR                   U5      5      nO[        [        R                  5      $ [        U[        5      (       a8  UR                  [        [        [        /:X  a  [!        UR"                  S   U5      $ U R$                  R'                  SUR                   R(                   S3U5         U$ U R$                  R'                  SUR                   R(                   S3U5        U$ )zfInfer __init__ argument type for an attribute.

In particular, possibly use the signature of __set__.
Ú__set__rP   z(Unsupported signature for "__set__" in "Ú"zUnsupported "__set__" in ")r’   ÚimplicitrB   rg   r;   rÀ   rh   r   Úget_containing_type_infor8   r9   r>   Úunannotatedr:   Ú	arg_kindsr   r
   Ú	arg_typesr8  rm  r�   )	ra   rm   r�   r×   ÚdefaultÚtÚsetterÚ
super_infoÚsetter_types	            rT   r£  Ú8PydanticModelTransformer._infer_dataclass_attr_init_typeP  sP  € ð
 —(‘(ˆØ�<�<ØˆNÜ˜CŸH™HÓ%ˆô ˜!œX×&Ñ&ØˆNØ—‘—‘˜IÓ&ˆßÜ˜&Ÿ+™+¤w×/Ñ/ØŸV™V×<Ñ<¸YÓG�
Þ!Ð!�zØ—;—;Ü"1Ô2IÈ&Ï+É+ÐWX×W]ÑW]Ð_iÓ2jÓ"k‘Kä"¤9×#8Ñ#8Ó9Ð9Ü˜k¬<×8Ñ8¸[×=RÑ=RÜÜÜðWó >ô
 3°;×3HÑ3HÈÑ3KÈQÓOÐOà—I‘I—N‘NÐ%MÈaÏfÉfÏkÉkÈ]ÐZ[Ð#\Ð^eÕfð ˆð —	‘	—‘Ð!;¸A¿F¹F¿K¹K¸=ÈÐJÈGÔTàˆrV   c                ó&  • SU R                   R                  R                  ;   a3  U R                   R                  R                  S   R                  (       d  gU R                  R
                  n[        UR                  5      nUR                  =(       d    UR                  (       + =(       a    UR                  SLn[        UR                  =(       a    UR                  (       + 5      nU R                  UUUUUUUSS9n	U(       Ga‰  U R                  R                  [        5      R                   n
[#        U
[$        5      (       d   eSU
R                  ;   Ga8  U
R                  S   R                   n[#        U[&        5      (       d   eUGb  UR(                  b÷  UR(                  n[#        U[*        5      (       d   e[-        UR.                  5       H»  u  pÞUb,  UR1                  S5      (       d  UR1                  S5      (       d  M6  U R                  R3                  UR4                  U   5      nUb.  US;   a(  UR7                  [9        [:        R<                  5      5      n[?        Xï5      nU	RA                  [C        UUS[D        5      5        M½     U RG                  X5      (       dC  [?        S	5      nU	RA                  [C        U[I        [:        RJ                  5      S[L        5      5        [O        U R                  U R                   SU	[Q        5       S
9  g)z—Adds a fields-aware `__init__` method to the class.

The added `__init__` will be annotated with types vs. all `Any` depending on the plugin settings.
r`   NFT)ró   rô   Úrequires_dynamic_aliasesrö   rG  r  r÷   Ú__Ú_)Ú_cli_settings_sourceÚ_build_sourcesÚkwargs)rš   Úreturn_type))r6  r�   rT  Úplugin_generatedr\   r¸   rº   rç   r2  r1  r3  rn  Úget_field_argumentsr8  rf   r?  rh   rg   r)   r   r’   r:   r[  r™   Ú
startswithÚ	anal_typer®  ÚacceptÚChangeExplicitTypeOfAnyr>   Úfrom_omitted_genericsr*   Úappendr   r   Úshould_init_forbid_extrar9   rñ   r   Ú
add_methodr<   )ra   r;  rÈ   rG  r  ró   rô   rö   r¶  rš   Úbase_settings_nodeÚbase_settings_init_nodeÚ	func_typeÚarg_idxr¢   Úanalyzed_variable_typerì   Úvars                     rT   r@  Ú(PydanticModelTransformer.add_initializerv  s…  € ð ˜Ÿ™Ÿ™×-Ñ-Ó-°d·i±i·n±n×6JÑ6JÈ:Ñ6V×6g×6gØà×"Ñ"×-Ñ-ˆÜ˜FŸM™MÓ*ˆØ×0Ñ0×K°F×4KÑ4KÔL×vÐQW×QiÑQiÐqvÐQvˆ	Ü#'¨×(BÑ(B×(bÈ6×KbÑKbÔGbÓ#cÐ Ø×'Ñ'ØØØ%Ø%=ØØ#Ø'Ø%)ð (ð 	
ˆ÷ Ø!%§¡×!AÑ!AÔBWÓ!X×!]Ñ!]ÐÜÐ0´(×;Ñ;Ð;Ð;ØÐ/×5Ñ5Ô5Ø*<×*BÑ*BÀ:Ñ*N×*SÑ*SÐ'Ü!Ð"9¼7×CÑCÐCÐCØ*Ò6Ð;R×;WÑ;WÑ;cØ 7× <Ñ <�IÜ% i´×>Ñ>Ð>Ð>Ü-6°y×7JÑ7JÖ-KÑ)˜Ø#Ñ+¨x×/BÑ/BÀ4×/HÑ/HÐPX×PcÑPcÐdg×PhÑPhÙ$Ø15·±×1DÑ1DÀY×EXÑEXÐY`ÑEaÓ1bÐ.Ø1Ñ=À(ð Oó Cð 6L×5RÑ5RÜ 7¼	×8WÑ8WÓ Xó6Ð2ô $' xÓ#H˜ØŸ™¤H¨XÐ7MÈtÔU\Ó$]Ö^ñ .Lð" ×,Ñ,¨V×<Ñ<Ü�h“-ˆCØ�K‰Kœ ¤g¬i×.@Ñ.@Ó&AÀ4ÌÓSÔTä�4—9‘9˜dŸi™i¨¸$ÌHËJÓWrV   c                ó0  • U R                   R                  [         S3U R                   R                  [         S35      /5      n[        U[	        5       /5      n[        [        SU5      US[        5      n[        R                  " U R                   R                  R                  5         U R                  US[        UR                  5      SSUUS9nSSS5        U R                  X5      (       dC  [        S5      n	WR!                  [        U	[#        [$        R&                  5      S[(        5      5        U(       a  WU/-   OU/W-   n[+        U R                   U R,                  S	U[/        U R,                  R0                  5      SS
9  g! , (       d  f       Nº= f)zÌAdds a fully typed `model_construct` classmethod to the class.

Similar to the fields-aware __init__ method, but always uses the field names (not aliases),
and does not treat settings fields as optional.
z.setz.strÚ_fields_setNTF)ró   rô   r¶  rö   rG  r  r»  Úmodel_construct)rš   r¼  Úis_classmethod)r8  Ú
named_typeÚBUILTINS_NAMErA   r<   r   r*   r   r6   r   rb   r  r¾  rº   rç   rÅ  rÄ  r9   r>   rñ   r   rÆ  r6  rC   r�   )
ra   r;  rÈ   rG  r  Úset_strÚoptional_set_strÚfields_set_argumentrš   rÌ  s
             rT   rA  Ú3PydanticModelTransformer.add_model_construct_method¯  sU  € ð —)‘)×&Ñ&¬-¨¸Ð'=ÀÇ	Á	×@TÑ@TÔXeÐWfÐfjÐUkÓ@lÐ?mÓnˆÜ$ g¬x«zÐ%:Ó;ÐÜ&¤s¨=Ð:JÓ'KÐM]Ð_cÔelÓmÐÜ×&Ò& t§y¡y×'8Ñ'8×'HÑ'HÕIØ×+Ñ+ØØÜ! &§-¡-Ó0Ø).ØØ'Ø+ð ,ð ˆD÷ Jð ×,Ñ,¨V×<Ñ<Ü�h“-ˆCØ�K‰Kœ ¤g¬i×.@Ñ.@Ó&AÀ4ÌÓSÔTæ/<ˆtÐ*Ð+Ò+ÐCVÐBWÐZ^ÑB^ˆäØ�I‰IØ�I‰IØØÜ% d§i¡i§n¡nÓ5Øó	
÷! JÕIús   Â*)FÆ
Fc                óx  • U R                   R                  nU GH  nUR                  R                  UR                  5      nUb�  UR
                  n[        U[        5      (       a  U=(       d    UR                  Ul	        Mi  [        U[        5      (       a9  U R                  R                  (       d  U R                  R                  5         Mµ  M·  M¹  UR                  XBSS9nXGl        X7l	        UR                  S-   UR                  -   Ul        [#        [$        U5      UR                  UR                  '   GM      g)z—Marks all fields as properties so that attempts to set them trigger mypy errors.

This is the same approach used by the attrs and dataclasses plugins.
NF)rö   Ú.)r6  r�   rT  rÀ   r�   rh   rg   r*   rä   Úis_propertyr"   r8  Úfinal_iterationÚdeferrð   rl   Ú	_fullnamer&   r   )ra   r;  rˆ   r/  r�   rF  rˆ  rÌ  s           rT   rB  Ú#PydanticModelTransformer.set_frozen×  sÝ   € ð
 �y‰y�~‰~ˆÜˆEØ—z‘z—~‘~ e§j¡jÓ1ˆHØÑ#Ø—m‘m�Ü˜c¤3×'Ñ'Ø&,×&?°·±�C–OÜ ¤_×5Ñ5¸d¿i¹i×>W×>Wà—I‘I—O‘OÖ%ñ ?XÑ5ð —l‘l 4¸�lÐ>�Ø”Ø"(”Ø $§¡°Ñ 3°c·h±hÑ >�”Ü'6´t¸SÓ'A�—
‘
˜3Ÿ8™8Ô$ò# rV   c                ó*  • XR                   ;  a  gUS:X  aq  [        U[        5      (       a  UR                  S:H  nOC[        U[        5      (       a  UR
                  S:H  nOU(       d  [        XR                  U5        g[        US9$ US:X  a2  Sn[        U[        5      (       a  UR                  S:X  a  Sn[        US	9$ [        U[        5      (       a)  UR                  S
;   a  [        S0 XR                  S:H  0D6$ [        XR                  U5        g)zÀDetermines the config update due to a single kwarg in the ConfigDict definition.

Warns if a tracked config attribute is set to a value the plugin doesn't know how to interpret (e.g., an int)
Nr.  Úforbid)Úforbid_extrar0  Túbuiltins.NoneF)rn  )úbuiltins.Trueúbuiltins.Falserã  rÎ   )r4  rg   r%   rN  r   r�   Úerror_invalid_config_valuer8  rd  r    rl   )ra   r�   r  ra  rá  rn  s         rT   rg  Ú*PydanticModelTransformer.get_config_updateð  sî   € ð
 ×1Ñ1Ó1ØØ�7‹?Ü˜#œw×'Ñ'Ø"Ÿy™y¨HÑ4‘Ü˜C¤×,Ñ,Ø"Ÿx™x¨8Ñ3‘æ ô /¨t·Y±YÀÔDØÜ"°Ñ=Ð=ØÐ$Ó$Ø"&ÐÜ˜#œx×(Ñ(¨S¯\©\¸_Ó-LØ&+Ð#Ü"Ð7JÑKÐKÜ�cœ8×$Ñ$¨¯©Ð9\Ó)\Ü"ÑM d¯L©L¸OÑ,KÐ%LÑMÐMÜ" 4¯©°CÔ8ØrV   c                ó  • U R                   n[        U[        5      (       a  g[        U[        5      (       a·  [        UR                  [
        5      (       a˜  UR                  R                  [        :X  az  [        UR                  UR                  5       HU  u  p#Ub  US:X  a  UR                  [        Ls  $ US:X  d  M*  [        U[        5      =(       a    UR                  S:H  (       + s  $    g[        U[        5      (       + $ )zUReturns a boolean indicating whether the field defined in `stmt` is a required field.Fr¯  Údefault_factoryrâ  )rl  rg   r'   r   rW  r#   rl   ÚFIELD_FULLNAMEr—   rš   r™   rc   r   r    ©rw  ru  r  r�   s       rT   rœ  Ú(PydanticModelTransformer.get_has_default  sÀ   € ð �{‰{ˆÜ�dœH×%Ñ%àÜ�dœH×%Ñ%¬*°T·[±[Ä'×*JÑ*JÈtÏ{É{×OcÑOcÔguÓOuô
 ! §¡¨D¯N©NÖ;‘	�à‘< 4¨9Ó#4ØŸ=™=´Ð<Ò<ØÐ,Õ,Ü *¨3´Ó 9× ]¸c¿l¹lÈoÑ>]Ô^Ò^ñ <ð ä˜d¤LÓ1Ô1Ð1rV   c                ó”  • U R                   n[        U[        5      (       a§  [        UR                  [        5      (       aˆ  UR                  R
                  [        :X  aj  [        UR                  UR                  5       HF  u  p#US:w  a  M  [        U[        5      (       a$  UR
                  S:X  a    gUR
                  S:X  a    g  g   g)zEReturns a the `strict` value of a field if defined, otherwise `None`.rç   rã  Trä  FN)rl  rg   r   rW  r#   rl   ré  r—   rš   r™   r    rê  s       rT   r�  Ú#PydanticModelTransformer.get_strict)  s–   € ð �{‰{ˆÜ�dœH×%Ñ%¬*°T·[±[Ä'×*JÑ*JÈtÏ{É{×OcÑOcÔguÓOuÜ  §¡¨D¯N©NÖ;‘	�Ø˜8Ó#ÙÜ˜c¤8×,Ñ,Ø—|‘| Ó6Ù#ØŸ™Ð)9Ó9Ù$Ùñ <ð rV   c                ó  • U R                   n[        U[        5      (       a  g[        U[        5      (       a=  [        UR                  [
        5      (       a  UR                  R                  [        :X  d  gSUR                  ;   a)  UR                  UR                  R                  S5         nO:SUR                  ;   a)  UR                  UR                  R                  S5         nOg[        U[        5      (       a  UR                  S4$ g)zÿReturns a pair (alias, has_dynamic_alias), extracted from the declaration of the field defined in `stmt`.

`has_dynamic_alias` is True if and only if an alias is provided, but not as a string literal.
If `has_dynamic_alias` is True, `alias` will be None.
)NFÚvalidation_aliasrã   F)NT)rl  rg   r'   r   rW  r#   rl   ré  r™   rš   Úindexr%   rN  )rw  ru  r  s      rT   r¡  Ú'PydanticModelTransformer.get_alias_info9  sË   € ð �{‰{ˆÜ�dœH×%Ñ%àô �tœX×&Ñ&¬:°d·k±kÄ7×+KÑ+KÐPT×P[ÑP[×PdÑPdÔhvÓPvð à §¡Ó/Ø—)‘)˜DŸN™N×0Ñ0Ð1CÓDÑE‰CØ˜Ÿ™Ó&Ø—)‘)˜DŸN™N×0Ñ0°Ó9Ñ:‰Càä�cœ7×#Ñ#Ø—9‘9˜eÐ#Ð#àrV   c                ó¤  • U R                   n[        U[        5      (       a  g[        U[        5      (       a=  [        UR                  [
        5      (       a  UR                  R                  [        :X  d  g[        UR                  5       HB  u  p#US:X  d  M  UR                  U   n[        U[        5      =(       a    UR                  S:H  s  $    g)aL  Returns whether the field is frozen, extracted from the declaration of the field defined in `stmt`.

Note that this is only whether the field was declared to be frozen in a `<field_name> = Field(frozen=True)`
sense; this does not determine whether the field is frozen because the entire model is frozen; that is
handled separately.
Fr/  rã  )rl  rg   r'   r   rW  r#   rl   ré  r[  r™   rš   r    )rw  ru  rP  r¢   r  s        rT   r¢  Ú(PydanticModelTransformer.is_field_frozenW  s    € ð �{‰{ˆÜ�dœH×%Ñ%àô �tœX×&Ñ&¬:°d·k±kÄ7×+KÑ+KÐPT×P[ÑP[×PdÑPdÔhvÓPvð ä$ T§^¡^Ö4‰KˆAØ˜8Õ#Ø—i‘i ‘l�Ü! #¤xÓ0×T°S·\±\À_Ñ5TÒTñ 5ð rV   c	                ó  • U R                   R                  n	U V
s/ sH\  n
U(       a  U
R                  (       a  M  U
R                  U	UUU=(       d    UUU R                  UU=(       a    U
R
                  S:H  S9PM^     nn
U$ s  sn
f )z¸Helper function used during the construction of the `__init__` and `model_construct` method signatures.

Returns a list of mypy Argument instances for use in the generated signatures.
rü   )ró   rô   rõ   rö   rˆ   r÷   rø   )r6  r�   rå   rù   r8  r�   )ra   r;  ró   rô   rö   r¶  rG  r  r÷   r�   rF  Ú	argumentss               rT   r¾  Ú,PydanticModelTransformer.get_field_argumentsp  s�   € ð �y‰y�~‰~ˆñ  ó
ñ  �Þ %×"9Õ"9ó	ˆE×ÑØØØ)Ø7×F¸;Ø#Ø—I‘IØ)AØ#0×#I°U·Z±ZÀ6Ñ5Ið ó 	ñ  ð 	ð 
ð Ðùò
s   ›BºABc                óì   • UR                   (       d<  UR                  (       d+  U R                  U[        UR                  5      5      (       a  gUR
                  (       a  gU R                  R                  $ )a(  Indicates whether the generated `__init__` should get a `**kwargs` at the end of its signature.

We disallow arbitrary kwargs if the extra config setting is "forbid", or if the plugin config says to,
*unless* a required dynamic alias is present (since then we can't determine a valid signature).
FT)r2  r1  Úis_dynamic_alias_presentrº   rn  rá  r\   r·   )ra   r;  rÈ   s      rT   rÅ  Ú1PydanticModelTransformer.should_init_forbid_extra�  sT   € ð ×'×'¨6×+B×+BØ×,Ñ,¨V´T¸&×:TÑ:TÓ5U×VÑVØØ××ØØ×!Ñ!×3Ñ3Ð3rV   c                óz   • U  H  nUR                   (       d  M    g   U(       a  U  H  nUR                  b  M    g   g)z�Returns whether any fields on the model have a "dynamic alias", i.e., an alias that cannot be
determined during static analysis.
TF)rå   rã   )r;  rn  rF  s      rT   rø  Ú1PydanticModelTransformer.is_dynamic_alias_present�  s>   € ó
 ˆEØ×&×&Ñ&Ùñ ö Û�Ø—;‘;Ó&Ùñ  ð rV   )r8  r6  r7  r\   N)
r†   r   r‡   zExpression | Statementrˆ   r2   r\   r[   r©   rª   )r©   rº   )r©   rª   )r©   rd  )r`  rd  r  rº   r©   zJtuple[list[PydanticModelField] | None, list[PydanticModelClassVar] | None])rw  r   r©   úIterator[AssignmentStmt])r“  r   r©   rü  )rw  r   r`  rd  r<  z dict[str, PydanticModelClassVar]r©   z1PydanticModelField | PydanticModelClassVar | None)rm   r&   r�   r«   r×   r   r©   r   )
r;  úlist[PydanticModelField]rÈ   rd  rG  rº   r  rº   r©   rª   )r;  rý  rˆ   r2   r/  rº   r©   rª   r!  )r�   r«   r  r   ra  rº   r©   úModelConfigData | None)rw  r   r©   rº   )rw  r   r©   r  )rw  r   r©   ztuple[str | None, bool])r;  rý  ró   rº   rô   rº   rö   rº   r¶  rº   rG  rº   r  rº   r÷   rº   r©   úlist[Argument])r;  rý  rÈ   rd  r©   rº   )r;  rý  rn  rº   r©   rº   )r­   r®   r¯   r°   r±   r4  rÐ   r`   r‰   rC  r=  r>  r�  r�  r‚  r£  r@  rA  rB  rg  Ústaticmethodrœ  r�  r¡  r¢  r¾  rÅ  rø  r²   rÎ   rV   rT   r…   r…   Ë  s  ‡ ñò	'Ð˜8ó 	ð+àð+ð 'ð+ð -ð	+ð
 ,ð+ð 
ô+ô"ôH2ô6JðXBLØ+ðBLØ<@ðBLà	SôBLôHRôSðG
Ø"ðG
Ø2AðG
ØOoðG
à	:ôG
ôR$ðL7XØ.ð7XØ8Gð7XØVZð7XØkoð7Xà	ô7Xðr&
à(ð&
ð  ð&
ð ð	&
ð
 ð&
ð 
ô&
ôPBö2!ðF ó2ó ð2ð* óó ðð óó ðð: óó ððB */ðà(ðð ðð ð	ð
 ðð #'ðð ðð ðð #'ðð 
õô@4ð óó órV   r…   c                  ó:   ^ • \ rS rSrSrSU 4S jjrSS jrSrU =r$ )rÂ  i¬  z<A type translator used to change type of Any's, if explicit.c                ó.   >• Xl         [        TU ]	  5         g rZ   )Ú_type_of_anyr_   r`   )ra   Útype_of_anyrc   s     €rT   r`   Ú ChangeExplicitTypeOfAny.__init__¯  s   ø€ Ø'ÔÜ‰ÑÕrV   c                ót   • UR                   [        R                  :X  a  UR                  U R                  S9$ U$ )N)r  )r  r>   rñ   rý   r  )ra   r°  s     rT   Ú	visit_anyÚ!ChangeExplicitTypeOfAny.visit_any³  s0   € Ø�=‰=œI×.Ñ.Ó.Ø—?‘?¨t×/@Ñ/@�?ÐAÐAàˆHrV   )r  )r  r  r©   rª   )r°  r9   r©   r=   )	r­   r®   r¯   r°   r±   r`   r  r²   r³   r´   s   @rT   rÂ  rÂ  ¬  s   ø† ÙF÷÷ò rV   rÂ  c                  ór   • \ rS rSrSr        S	               S
S jjrSS jrSS jrSS jrSr	g)rd  iº  z(Pydantic mypy plugin model config class.Nc	                ód   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        g rZ   )rá  r/  rÓ   r1  r3  r2  rn  rç   )	ra   rá  r/  rÓ   r1  r3  r2  rn  rç   s	            rT   r`   ÚModelConfigData.__init__½  s2   € ð )ÔØŒØ.ÔØ 0ÔØ!2ÔØ 0ÔØ#6Ô Ø�rV   c                ót   • U R                   R                  5        VVs0 sH  u  pUc  M
  X_M     snn$ s  snnf )zvReturns a dict of Pydantic model config names to their values.

It includes the config if config value is not `None`.
)Ú__dict__rf  )ra   ÚkÚvs      rT   rD  ÚModelConfigData.get_values_dictÑ  s3   € ð
 "&§¡×!4Ñ!4Ô!6ÔHÑ!6™˜¸!“�’Ñ!6ÒHÐHùÓHs   ž4ª4c                ór   • Uc  gUR                  5       R                  5        H  u  p#[        XU5        M     g)z$Update Pydantic model config values.N)rD  rf  rÃ   )ra   rÈ   r  r  s       rT   rh  ÚModelConfigData.updateØ  s2   € à‰>ØØ×*Ñ*Ó,×2Ñ2Ö4‰DˆAÜ�D˜QÖò 5rV   c                ó6   • [        X5      c  [        XU5        gg)zFSet default value for Pydantic model config if config value is `None`.N)r‘   rÃ   )ra   rÉ   rN  s      rT   rr  ÚModelConfigData.setdefaultß  s   € ä�4ÓÑ%Ü�D˜uÕ%ð &rV   )rá  rÓ   r/  rn  r1  rç   r3  r2  )NNNNNNNN)rá  r  r/  r  rÓ   r  r1  r  r3  r  r2  r  rn  r  rç   r  rÏ   )rÈ   rþ  r©   rª   )rÉ   r«   rN  r   r©   rª   )
r­   r®   r¯   r°   r±   r`   rD  rh  rr  r²   rÎ   rV   rT   rd  rd  º  s‚   † Ù2ð %)Ø"Ø'+Ø(,Ø)-Ø(,Ø+/Ø"ðà!ðð ðð %ð	ð
 &ðð 'ðð &ðð )ðð õô(Iô ÷&rV   rd  c                ó,   • U R                  [        5      $ )zXReturn whether the type info is a root model subclass (or the `RootModel` class itself).)ri   ÚROOT_MODEL_FULLNAME)r�   s    rT   r  r  å  s   € à�=‰=Ô,Ó-Ð-rV   zpydantic-ormzInvalid from_attributes callÚPydanticzpydantic-configzInvalid config valuezpydantic-aliaszDynamic alias disallowedzpydantic-unexpectedzUnexpected behaviorzpydantic-fieldzUntyped field disallowedzInvalid Field defaultsz!Extra field on RootModel subclassc                ó6   • UR                  SU  S3U[        S9  g)zCEmits an error when the model does not have `from_attributes=True`.r©  z$" does not have from_attributes=True©ÚcodeN)rm  Ú	ERROR_ORM)Ú
model_namerˆ   r×   s      rT   rÛ   rÛ   ó  s   € à‡H�Hˆq��Ð@ÐAÀ7ÔQZ€HÒ[rV   c                ó6   • UR                  SU  S3U[        S9  g)z0Emits an error when the config value is invalid.zInvalid value for "Config.r©  r  N)rm  ÚERROR_CONFIG)r�   rˆ   r×   s      rT   rå  rå  ø  s   € à‡H�HÐ)¨$¨¨qÐ1°7Ä€HÒNrV   c                ó.   • U R                  SU[        S9  g)zfEmits required dynamic aliases error.

This will be called when `warn_required_dynamic_aliases=True`.
z#Required dynamic aliases disallowedr  N)rm  ÚERROR_ALIAS©rˆ   r×   s     rT   ro  ro  ý  s   € ð
 ‡H�HÐ2°GÄ+€HÒNrV   c                óN   • SnSU  S3nUSU S3-  nUR                  XB[        S9  g)z Emits unexpected behavior error.z6https://github.com/pydantic/pydantic/issues/new/choosez7The pydantic mypy plugin ran into unexpected behavior: Ú
z&Please consider reporting this bug at z so we can try to fix it!r  N)rm  ÚERROR_UNEXPECTED)rÞ   rˆ   r×   ÚlinkÚfull_messages        rT   rÖ   rÖ     s?   € ð
 D€DØLÈVÈHÐTVÐW€LØÐ<¸T¸FÐB[Ð\Ñ\€LØ‡H�Hˆ\Ô)9€HÒ:rV   c                ó.   • U R                  SU[        S9  g)z;Emits an error when there is an untyped field in the model.zUntyped fields disallowedr  N)rm  ÚERROR_UNTYPEDr!  s     rT   rš  rš    s   € à‡H�HÐ(¨'¼€HÒFrV   c                ó.   • U R                  SU[        S9  g)z]Emits an error when there is more than just a root field defined for a subclass of RootModel.z2Only `root` is allowed as a field of a `RootModel`r  N)rm  ÚERROR_EXTRA_FIELD_ROOT_MODELr!  s     rT   rƒ  rƒ    s   € à‡H�HÐAÀ7ÔQm€HÒnrV   c           	     óŠ  • UR                   nX(R                  ;   an  UR                  U   n	U	R                  (       aN  [        U	R                  [
        5      (       a/  UR                  R                  R                  U	R                  5        [        U [        5      (       a  U R                  S5      n
OU R                  S/ 5      n
U(       a;  U=(       d    [        [        U5      5      n[        [        S5      US[         S5      /nO0U=(       d    [        U5      n[        [        S5      US[         5      /nX³-   n/ / / pínU Hv  nUR"                  (       d   S5       eUR%                  UR"                  5        UR%                  UR&                  R(                  5        UR%                  UR*                  5        Mx     [-        XÎXÔX¦(       a  U/OSS9n[        X#[/        [1        5       /5      5      nUUl         [3        UU5      Ul        UUl        UR8                  S-   U-   Ul        UR<                  Ul        X(R                  ;   a1  [?        X(R                  5      nUR                  U   UR                  U'   U(       au  SUl         [        UUR4                  5      nUUl         UR:                  Ul        SUl!        [E        U[G        S	5      /U5      nUR<                  Ul        [I        [J        U5      n	O[I        [J        U5      n	SU	l        X˜R                  U'   URL                  R                  R                  R%                  U5        g)
zhVery closely related to `mypy.plugins.common.add_method_to_class`, with a few pydantic-specific changes.zbuiltins.functionr6  NTÚ__pydantic_self__z"All arguments must be fully typed.)Ú	variablesrÙ  r#  )'r�   rT  r½  rg   rh   r   ri  rj  Úremover2   rÒ  Únamed_generic_typer?   rC   r   r*   r   rí   rÄ  rì   r�   rï   r:   r   r!   r4   r’   r]  rl   rÝ  rž   rD   Úis_decoratedrÑ  r   r    r&   r   Údefn)rˆ   r†   r�   rš   r¼  rÿ   Útvar_defrÑ  r�   rm   Úfunction_typeÚfirstr®  r™   r­  r  Ú	signaturer\  Úr_namer  Údecs                        rT   rÆ  rÆ    s•  € ð �8‰8€Dð �z‰zÓØ�j‰j˜ÑˆØ××¤J¨s¯x©x¼×$AÑ$AØ�H‰H�M‰M× Ñ  §¡Ô*ä�#Ô6×7Ñ7ØŸ™Ð':Ó;‰à×.Ñ.Ð/BÀBÓGˆæØ×>¤¬-¸Ó*=Ó!>ˆ	Üœ#˜f›+ y°$¼ÀÓFÐG‰à×4¤¨tÓ!4ˆ	ô œ#Ð1Ó2°I¸tÄWÓMÐNˆØ‰<€Dà&(¨"¨b˜)€IÛˆØ×"×"ÐHÐ$HÓHÐ"Ø×Ñ˜×,Ñ,Ô-Ø×Ñ˜Ÿ™×*Ñ*Ô+Ø×Ñ˜Ÿ™Ö"ñ	 ô Ø˜i°mÕ]eÐPXÉzÐkoñ€Iô �4œu¤h£j \Ó2Ó3€DØ€D„IÜ! )¨TÓ2€D„IØ"€D„MØ—]‘] SÑ(¨4Ñ/€D„NØ—	‘	€D„Ið �z‰zÓä-¨d·J±JÓ?ˆØ!ŸZ™Z¨Ñ-ˆ�
‰
�6Ñö
 Ø ˆÔÜ��d—i‘iÓ ˆØˆŒØ—n‘nˆŒØˆÔÜ˜œx¨Ó6Ð7¸Ó;ˆØ—9‘9ˆŒÜœd CÓ(‰äœd DÓ)ˆØ€CÔØ‡J�JˆtÑà‡I�I‡N�N×Ñ×Ñ˜tÕ$rV   c                ó$  • U R                  S5      (       d  g[        R                  S:¼  a  SSKnO SSKn[        U S5       nUR                  U5      sSSS5        $ ! [
         a    SSKnUR                  SSS9   gf = f! , (       d  f       g= f)	z}Returns a dict of config keys to values.

It reads configs from toml file and returns `None` if the file is not a toml file.
z.tomlN)é   é   r   zJNo TOML parser installed, cannot read configuration from `pyproject.toml`.rP   )Ú
stacklevelÚrb)
rw   ÚsysÚversion_infoÚtomllibÚtomliÚImportErrorÚwarningsÚwarnÚopenÚload)r¾   Útoml_rB  Úrfs       rT   r¿   r¿   r  s„   € ð
 ×Ñ ×(Ñ(Øä
×Ñ˜7Ó"Üð	Û!ô 
ˆk˜4Ô	  BØ�z‰z˜"‹~÷ 
!Ñ	 øô ó 	Ûà�M‰MÐfÐstˆMÑuÙð		ú÷ 
!Õ	 ús   ²A ÁBÁA>Á=A>Â
B)rS   r«   r©   ztype[Plugin])r�   r/   r©   r=   )r�   r)   r©   rº   )r  r«   rˆ   r,   r×   r   r©   rª   )r�   r«   rˆ   r2   r×   r   r©   rª   )rˆ   r2   r×   r   r©   rª   )rÞ   r«   rˆ   z8CheckerPluginInterface | SemanticAnalyzerPluginInterfacer×   r   r©   rª   )rˆ   r,   r×   r   r©   rª   )NNF)rˆ   z8SemanticAnalyzerPluginInterface | CheckerPluginInterfacer†   r   r�   r«   rš   rÿ  r¼  r=   rÿ   r   r2  zTypeVarType | NonerÑ  rº   r©   rª   )r¾   r«   r©   zdict[str, Any] | None)…r±   Ú
__future__r   r=  Úcollections.abcr   Úconfigparserr   Útypingr   r   Ú
mypy.typesÚmypyÚmypy.errorcodesr   Úmypy.expandtyper	   r
   Ú
mypy.nodesr   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*   Úmypy.optionsr+   Úmypy.pluginr,   r-   r.   r/   r0   r1   r2   Úmypy.plugins.commonr3   Úmypy.semanalr4   Úmypy.server.triggerr5   Ú
mypy.stater6   Úmypy.type_visitorr7   Úmypy.typeopsr8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   Úmypy.typevarsrC   Ú	mypy.utilrD   Úmypy.versionrE   Úmypy_versionÚpydantic._internalrF   Úpydantic.versionrG   rÆ   rÚ   rj   r|   r?  r  rq   ré  ÚDATACLASS_FULLNAMErY  r™  rX  ÚMYPY_VERSION_TUPLErÓ  rU   rR   r[   rx   rá   r%  r…   rÂ  rd  r  r  r  r   r$  r(  ÚERROR_FIELD_DEFAULTSr*  rÛ   rå  ro  rÖ   rš  rƒ  rÆ  r¿   rÎ   rV   rT   Ú<module>rb     s�  ðÙ då "ã 
Ý $Ý %ß  ó Ý %ß @÷!÷ !÷ !÷ !÷ !÷ !÷ !÷ !ó !õD !÷÷ ñ õõ +Ý 5Ý Ý ,Ý 0÷÷ ÷ õ (Ý 2Ý 4å &Ý /à €Ø'€Ø.Ð Ø4Ð Ø=Ð Ø5Ð ØRÐ Ø(€Ø5Ð ØKÐ òÐ ð ,?ÐBtÐAuÑ+uÐ (ñ (¨Ó5Ð Ø€ð €ôôTM�Vô TM÷n+Cñ +Cô\#÷4PTñ PT÷f
ñ 
÷2^ñ ^ôB˜nô ÷(&ñ (&ôV.ñ
 �nÐ&DÀjÓQ€	ÙÐ*Ð,BÀJÓO€ÙÐ(Ð*DÀjÓQ€ÙÐ2Ð4IÈ:ÓVÐ ÙÐ*Ð,FÈ
ÓS€Ù Ð!1Ð3KÈZÓXÐ Ù(Ð)9Ð;^Ð`jÓkÐ ô\ô
Oô
Oð;Øð;ØNð;ØY`ð;à	ô;ôGô
oð "Ø#'Ø ðU%Ø	AðU%à	ðU%ð ðU%ð ð	U%ð
 ðU%ð ðU%ð !ðU%ð ðU%ð 
õU%õprV   