Ë
    /æj{   ã                  ó–  — d Z ddlmZ ddlZddlZddlmZmZ ddl	m
Z
 ddlmZmZ ddlmZ ddlmZmZmZmZ dd	lmZ dd
lmZmZmZmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z'm(Z( ddl)m*Z* ddl+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6m7Z7 er"ddl8m9Z9 ddl:m;Z;m<Z< ddl=m>Z> ddl?m@Z@mAZA ddlBmCZC  G d„ de3«      ZD ejŠ                  d d ¬!«       G d"„ d#«      «       ZF ejŠ                  d d ¬!«       G d$„ d%«      «       ZGd>d&„ZHe
d?d'„«       ZI	 	 	 	 	 	 	 	 	 	 d@d(„ZJdAdBd*„ZK	 	 	 	 	 	 dCd+„ZL	 	 	 	 	 	 dDd,„ZMdEd-„ZNh d.£ZOh d/£ZPe
dFd0„«       ZQddd1œ	 	 	 	 	 	 	 	 	 	 	 dGd2„ZR	 	 	 	 	 	 	 	 	 	 dHd3„ZSed4œ	 	 	 	 	 	 	 	 	 	 	 dId5„ZTddd6œ	 	 	 	 	 	 	 	 	 dJd7„ZU	 	 	 	 	 	 	 	 	 	 dKd8„ZVdLd9„ZWdLd:„ZX	 	 	 	 dMd;„ZYdd)d<œ	 	 	 	 	 	 	 	 	 	 	 dNd=„ZZy)OzmPrivate logic related to fields (the `Field()` function and `FieldInfo` class), and arguments to `Annotated`.é    )ÚannotationsN)ÚCallableÚMapping)Úcache)Ú	ParameterÚismethoddescriptor)ÚPattern)ÚTYPE_CHECKINGÚAnyÚTypeVarÚcast)ÚPydanticUndefined)ÚTypeFormÚTypeIsÚget_argsÚ
get_origin)Útyping_objects)ÚAnnotationSource)ÚPydanticDeprecatedSince211)ÚPydanticUserErroré   )ÚAliasGeneratoré   )Ú	_genericsÚ_typing_extra)ÚConfigWrapper)Úextract_docstrings_from_cls)Úimport_cached_base_modelÚimport_cached_field_info)Ú
NsResolver)ÚRepresentation)Úcan_be_positionalÚget_first_not_noneÚsmart_deepcopy©ÚBaseMetadata)Ú	FieldInfoÚModelPrivateAttr)Ú	BaseModel)ÚPydanticDataclassÚStandardDataclass)ÚDecoratorInfosc                  ó   — e Zd ZdZdZy)ÚPydanticMetadataz0Base class for annotation markers like `Strict`.© N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r/   ó    ú]/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/pydantic/_internal/_fields.pyr.   r.   '   s
   „ Ù:à�Ir5   r.   T)ÚslotsÚkw_onlyc                  ó"   — e Zd ZU ded<   ded<   y)ÚPydanticExtraInfozTypeForm[Any]Ú
annotationÚboolÚcompleteN)r0   r1   r2   Ú__annotations__r/   r5   r6   r:   r:   -   s   … àÓØ„Nr5   r:   c                  ód   — e Zd ZU dZded<   	 ded<   	 ded<   	 ded	<   	 ded
<   	 ded<   	 ded<   y)ÚModelNamespaceInfoah  Information gathered by inspecting the namespace of a model class before it is created.

    Decisions requiring the (possibly unevaluatable at class creation time) annotations (such as
    whether a sunder-named attribute is a private attribute or a class variable) are deferred to
    `collect_model_fields()`, where evaluated annotations are available.
    zdict[str, ModelPrivateAttr]Úprivate_attributeszset[str]Úignored_namesútuple[type[Any], ...]Úignored_typesz	list[str]Úprivate_candidatesÚfield_candidatesÚbase_field_namesr<   Úmodel_config_assignedN)r0   r1   r2   r3   r>   r/   r5   r6   r@   r@   3   sL   … ñð 4Ó3ØlàÓØLà(Ó(Økà!Ó!ð,ð  ÓØ[àÓØ/àÓØGr5   r@   c                 ó"   —  t        «       | «      S )z¿Create a new `_PydanticGeneralMetadata` class with the given metadata.

    Args:
        **metadata: The metadata to add.

    Returns:
        The new `_PydanticGeneralMetadata` class.
    )Ú_general_metadata_cls)Úmetadatas    r6   Úpydantic_general_metadatarL   S   s   € ð #Ô Ó" 8Ó,Ð,r5   c                 ó2   — ddl m}   G d„ dt        | «      }|S )zCDo it this way to avoid importing `annotated_types` at import time.r   r%   c                  ó   — e Zd ZdZdd„Zy)ú7_general_metadata_cls.<locals>._PydanticGeneralMetadataz,Pydantic general metadata like `max_digits`.c                ó   — || _         y ©N)Ú__dict__)ÚselfrK   s     r6   Ú__init__z@_general_metadata_cls.<locals>._PydanticGeneralMetadata.__init__g   s	   € Ø$ˆD�Mr5   N)rK   r   )r0   r1   r2   r3   rT   r/   r5   r6   Ú_PydanticGeneralMetadatarO   d   s
   „ Ù:ô	%r5   rU   )Úannotated_typesr&   r.   )r&   rU   s     r6   rJ   rJ   _   s   € õ -ô%Ô#3°\ô %ð $Ð#r5   c                óÜ  — t        «       }| D �]\  }d}t        |t        «      r|j                  |«      d u}n!t        |t        «      r|j                  |«      }|sŒN|D ]I  }t        ||«      sŒt        ||«      r|t        |di «      v rŒ,t        d|›dt        ||«      › d|›d�«      ‚ g }| D ]k  }	t        |	t        «      r2|	j                  |«      rŒ%|j                  d|	j                  ›d�«       ŒE|j                  |	«      rŒW|j                  d	|	› d	�«       Œm d
dj                  |«      › t        |«      dk(  rdnd› �}
t        j                  d|›d|›d|›d|
› d�	t         d¬«       �Œ_ y )NFÚ__pydantic_fields__úField z conflicts with member z of protected namespace ú.zre.compile(ú)ú'ú(z, r   z,)z in z$ conflicts with protected namespace zX.

You may be able to solve this by setting the 'protected_namespaces' configuration to é   ©Ú
stacklevel)r   Ú
isinstancer	   ÚmatchÚstrÚ
startswithÚhasattrÚ
issubclassÚgetattrÚ
ValueErrorÚappendÚpatternÚjoinÚlenÚwarningsÚwarnÚUserWarning)Úprotected_namespacesÚann_nameÚbasesÚcls_namer)   Úprotected_namespaceÚns_violationÚbÚvalid_namespacesÚpnÚvalid_namespaces_strs              r6   Ú_check_protected_namespacesrz   m   s²  € ô )Ó*€Ià3ó  ÐØˆÜÐ)¬7Ô3Ø.×4Ñ4°XÓ>ÀdÐJ‰LÜÐ+¬SÔ1Ø#×.Ñ.Ð/BÓCˆLâØò �Ü˜1˜hÕ'Ü& q¨)Ô4¸ÄWÈQÐPeÐgiÓEjÒ9jÜ(Ø$ X LÐ0GÌÐPQÐS[ÓH\ÐG]Ø6Ð7JÐ6MÈQðPóð ðð /1Ð Ø.ò ?�BÜ! "¤gÔ.Ø!Ÿx™x¨Õ1Ø,×3Ñ3°kÀ"Ç*Á*ÀÈqÐ4QÕRà'×2Ñ2°2Õ6Ø,×3Ñ3°a¸°t¸1°IÕ>ð?ð *+¨4¯9©9Ð5EÓ+FÐ*GÔPSÐTdÓPeÐijÒPjÉÐpsÐGtÐ'uÐ$ä—‘Ø˜X˜L¨¨X¨LÐ8\Ð]pÐ\sð tlð mAð  lBð  BCðDäØ ÷	ñ7 r5   Fc                ó†   — t        | |¬«      }|j                  «       D ]!  \  }}|j                  �Œ||v sŒ||   |_        Œ# y )N©Úuse_inspect)r   ÚitemsÚdescription)ÚclsÚfieldsr}   Úfields_docsrq   Ú
field_infos         r6   Ú_update_fields_from_docstringsr„   ˜   sH   € Ü-¨c¸{ÔK€KØ &§¡£ò ;Ñˆ�*Ø×!Ñ!Ñ)¨h¸+Ò.EØ%0°Ñ%:ˆJÕ"ñ;r5   c                ó”   — |j                   €< | ||«      }t        |t        «      st        d| › d|j                  › �«      ‚||_         y y )Nzfield_title_generator ú must return str, not )Útitlera   rc   Ú	TypeErrorÚ	__class__)Útitle_generatorÚ
field_namerƒ   r‡   s       r6   Ú*_apply_field_title_generator_to_field_inforŒ   Ÿ   sV   € ð
 ×ÑÐÙ 
¨JÓ7ˆÜ˜%¤Ô%ÜÐ4°_Ð4EÐE[Ð\a×\kÑ\kÐ[lÐmÓnÐnà ˆ
Õð  r5   c                óª  — |j                   �4|j                   dk  s%|j                  �|j                  �|j                  �€d\  }}}t	        | t
        «      r| j                  |«      \  }}}n>t        | «      r3 | |«      }t	        |t        «      st        d| › d|j                  › �«      ‚|j                   �|j                   dk  rd|_         |j                   dk(  r)t        ||«      |_        t        ||«      |_        ||_        |j                  €||_        |j                  €t        ||«      |_        |j                  €t        ||«      |_        yyy)av  Apply an alias generator to aliases on a `FieldInfo` instance if appropriate.

    Args:
        alias_generator: A callable that takes a string and returns a string, or an `AliasGenerator` instance.
        field_name: The name of the field from which to generate the alias.
        field_info: The `FieldInfo` instance to which the alias generator is (maybe) applied.
    Nr   )NNNzalias_generator r†   )Úalias_priorityÚaliasÚvalidation_aliasÚserialization_aliasra   r   Úgenerate_aliasesÚcallablerc   rˆ   r‰   r#   )Úalias_generatorr‹   rƒ   r�   r�   r‘   s         r6   Ú$_apply_alias_generator_to_field_infor•   ¬   sh  € ð 	×!Ñ!Ð)Ø×$Ñ$¨Ò)Ø×ÑÐ#Ø×&Ñ&Ð.Ø×)Ñ)Ñ1à7GÑ4ˆÐÐ!4ä�o¤~Ô6Ø;J×;[Ñ;[Ð\fÓ;gÑ8ˆEÐ#Ñ%8Ü�oÔ&Ù# JÓ/ˆEÜ˜e¤SÔ)ÜÐ"2°?Ð2CÐCYÐZ_×ZiÑZiÐYjÐ kÓlÐlð
 ×$Ñ$Ð,°
×0IÑ0IÈQÒ0NØ()ˆJÔ%ð ×$Ñ$¨Ò)Ü-?Ð@SÐUZÓ-[ˆJÔ*Ü*<Ð=MÈuÓ*UˆJÔ'Ø$ˆJÔð ×ÑÐ#Ø$ˆJÔØ×)Ñ)Ð1Ü-?Ð@SÐUZÓ-[ˆJÔ*Ø×&Ñ&Ð.Ü*<Ð=MÈuÓ*UˆJÕ'ð /ð9 2r5   c                óž   — |j                   xs | j                   }|�t        |||«       | j                  �t        | j                  ||«       yy)ap  Update the `FieldInfo` instance from the configuration set on the model it belongs to.

    This will apply the title and alias generators from the configuration.

    Args:
        config_wrapper: The configuration from the model.
        field_name: The field name the `FieldInfo` instance is attached to.
        field_info: The `FieldInfo` instance to update.
    N)Úfield_title_generatorrŒ   r”   r•   )Úconfig_wrapperr‹   rƒ   r—   s       r6   Úupdate_field_from_configr™   Þ   sS   € ð '×<Ñ<ÒdÀ×@dÑ@dÐØÐ(Ü2Ð3HÈ*ÐV`ÔaØ×%Ñ%Ð1Ü,¨^×-KÑ-KÈZÐYcÕdð 2r5   >   ÚcopyÚdictÚjsonÚ_iterÚ_calculate_keysÚ_copy_and_set_values>
   ÚschemaÚfrom_ormÚvalidateÚ	constructÚ	parse_objÚ	parse_rawÚ
_get_valueÚ
parse_fileÚschema_jsonÚupdate_forward_refsc                 ó€   ‡ ‡‡— t        «       Š t        ˆ ˆfd„t        D «       «      t        ˆ ˆfd„t        D «       «      fS )a]  IDs of the deprecated `BaseModel` methods (and the underlying functions of the deprecated classmethods).

    These are used to check if an assigned field value is one of the deprecated methods by identity.
    The `BaseModel` class (and thus the methods) stays alive for the lifetime of the process, so the
    IDs are guaranteed to be stable.
    c              3  óT   •K  — | ]  }t        ‰|d «      xŠ€Œt        ‰«      –— Œ! y ­wrQ   ©rg   Úid)Ú.0ÚnameÚ
BaseModel_Úmethods     €€r6   ú	<genexpr>z4_deprecated_base_model_method_ids.<locals>.<genexpr>	  s0   øè ø€ ò 
ØÌ'ÐR\Ð^bÐdhÓJiÐ@iÀÑ?vŒBˆv�Jñ
ùs   ƒ(˜(c              3  óh   •K  — | ])  }t        t        ‰|d «      dd «      xŠ�t        ‰«      –— Œ+ y ­w)NÚ__func__r¬   )r®   r¯   r°   Úfuncs     €€r6   r²   z4_deprecated_base_model_method_ids.<locals>.<genexpr>  s:   øè ø€ ò 
àÜ¤¨
°D¸$Ó ?ÀÈTÓRÐR�Ð_ô ˆt�Hñ
ùs   ƒ/2)r   Ú	frozensetÚ_deprecated_method_namesÚ_deprecated_classmethod_names)r°   rµ   r±   s   @@@r6   Ú!_deprecated_base_model_method_idsr¹   ÿ   sC   ú€ ô *Ó+€Jäô 
Ü#;ô
ó 	
ô 	ô 
ä5ô
ó 	
ð		ð 	r5   )Útypevars_mapÚnamespace_infoc               ó  ‡(— t        «       }ddlmŠ(m} | j                  }i }t        |«      D ]#  }	t        |	dd«      x}
sŒ|j                  |
«       Œ% t        j                  | |¬«      }t        j                  | «      }i }|��d|v rt        dd¬«      ‚d	|v r|j                  st        d
d¬«      ‚|j                  D ]]  }|j                  |«      }|�t        j                  |d   «      rŒ/t!        d || j"                  |   ¬«      «      ||<   t%        | |«       Œ_ |j&                  D ]h  }||v rŒ||j(                  v rt        d|›d�d¬«      ‚| j"                  |   }t+        ||«      rt        d|›d�d¬«      ‚t        d|› d|›d|› d�d¬«      ‚ i }t-        «       \  }}t/        «       }|j1                  «       D �]ý  \  }\  }}|d	k(  rŒt3        |j4                  ||| j6                  ¬«       t        j                  |«      r|j9                  |«       ŒZt;        |«      s½|�¹t=        |«      r®||v rª||vr¦||j>                  vr˜||j@                  vrŠ||jB                  vr|t        |dd«      dk7  rld}tE        jF                  tI        |«      «      r"tK        |«      ^}}tM        ˆ(fd„|D «       d«      }|€t!        d |«       «      }|jO                  | |«       |||<   �Œ"t        | |tP        «      }|tP        ur/tS        |«      |v st        |dd«      x}�tS        |«      |v rtP        }| jT                  r|dk7  rt        d|›d�d¬«      ‚|D ]·  }	tW        |	|«      sŒ||vrŒt        | d i «      j                  d!«      }|	|u rŒ6tY        jZ                  |	«      rtY        j                  |	«      nd"D �ch c]  }|j\                  ’Œ }}||v rŒ~t_        j`                  d#|› d$| jb                  › d%|	jb                  › d&�td        d'¬(«       Œ¹ |tP        u rd||v s||vr4|jg                  |th        jj                  ¬)«      } || _6        |�s"d*| _7        �n||   jq                  «       }!|rts        |!||d+¬,«      } nô|!} nñt+        ||«      rGtu        |jv                  «      r2|jv                  jy                  d| «      }"|"|_;        |"|jz                  d-<   |j}                  ||th        jj                  ¬)«      } || _?        || _6        |sd*| _7        nWd.| j€                  v rI| jƒ                  «       s9t_        j`                  d/|›d0|›d1|›d2�t„        d'¬3«       |j9                  |«       �Œ˜	 t%        | |«       | j"                  d4   }#||#jˆ                  v rt‹        d|›d5| j6                  ›d6�«      ‚| ||<   | jn                  s�Œñt�        ||| «       �Œ  |jŽ                  rt‘        | |«       d}$d7|v rŠd}%d7|vr|D ]  }	t        |	d8d«      }%|%€Œ n |%�=|r8|%j’                  r,t•        t—        j˜                  |%jš                  |«      d+¬9«      }$n0|%}$n-|d7   \  }&}'|'rt—        j˜                  |&|«      }&t•        |&|'¬9«      }$||$||fS c c}w # t†        $ r Y �Œw xY w):aZ  Collect the fields, class variables names and private attributes of a nascent Pydantic model.

    The fields collection process is *lenient*, meaning it won't error if string annotations
    fail to evaluate. If this happens, the original annotation (and assigned value, if any)
    is stored on the created `FieldInfo` instance.

    The `rebuild_model_fields()` should be called at a later point (e.g. when rebuilding the model),
    and will make use of these stored attributes.

    Args:
        cls: BaseModel or dataclass.
        config_wrapper: The config wrapper instance.
        ns_resolver: Namespace resolver to use when getting model annotations.
        typevars_map: A dictionary mapping type variables to their concrete types.
        namespace_info: The result of inspecting the class namespace before the class was created.

    Returns:
        A four-tuple containing the model fields, the `PydanticExtraInfo` instance if the `__pydantic_extra__` annotation is set,
        the class variables names, and the private attributes discovered from the namespace and annotations.

    Raises:
        NameError: If there is a conflict between a field name and protected namespaces.
        PydanticUserError: If there is a field other than `root` in `RootModel`, or if one of
            the namespace checks performed with `namespace_info` fails.
    r   )r(   ÚPrivateAttrrX   N)Úns_resolverÚ__root__zUTo define root models, use `pydantic.RootModel` rather than a field called '__root__'©ÚcodeÚmodel_configz``model_config` cannot be used as a model field name. Use `model_config` for model configuration.zmodel-config-invalid-field-namer   r(   )ÚdefaultrY   zŒ defined on a base class was overridden by a non-annotated attribute. All field definitions, including overrides, require a type annotation.zmodel-field-overriddenz requires a type annotationzmodel-field-missing-annotationz)A non-annotated attribute was detected: `z = z3`. All model fields require a type annotation; if `z‘` is not meant to be a field, you may be able to resolve this error by annotating it as a `ClassVar` or updating `model_config['ignored_types']`.)rp   rq   rr   rs   r1   Ú	functoolsc              3  ó<   •K  — | ]  }t        |‰«      sŒ|–— Œ y ­wrQ   )ra   )r®   Úvr(   s     €r6   r²   z'collect_model_fields.<locals>.<genexpr>›  s   øè ø€ Ò(`¨qÄ
È1ÐN^Õ@_¬Ñ(`ùs   ƒ•r´   ÚrootzUnexpected field with name z4; only 'root' is allowed as a field of a `RootModel`Ú__pydantic_generic_metadata__Úoriginr/   zField name "z" in "z"" shadows an attribute in parent "ú"é   r_   ©Ú_sourceFT)r¾   rº   ÚlenientrÃ   ÚfinalzAnnotation z= is marked as final and has a default value. Pydantic treats zz as a class variable, but it will be considered as a normal field in V3 to be aligned with dataclasses. If you still want zV to be considered as a class variable, annotate it as: `ClassVar[<type>] = <default>.`)Úcategoryr`   Ú__pydantic_decorators__z
 of class zf overrides symbol of same name in a parent class. This override with a computed_field is incompatible.Ú__pydantic_extra__Ú__pydantic_extra_info__©r;   r=   )Nr   r�   r(   r½   Ú	__bases__Úreversedrg   Úupdater   Úget_model_type_hintsÚsafe_get_annotationsr   rH   rE   ÚgetÚis_classvar_annotationr   rR   ÚdelattrrF   rG   ra   r¹   Úsetr~   rz   rp   r0   ÚaddÚis_valid_field_nameÚis_valid_privateattr_namerA   rB   rD   r   Úis_annotatedr   r   ÚnextÚ__set_name__r   r­   Ú__pydantic_root_model__re   ÚdataclassesÚis_dataclassr¯   rm   rn   r2   ro   Úfrom_annotationr   ÚCLASSÚ_original_annotationÚ	_completeÚ_copyÚ_recreate_field_infor   rÃ   Ú__get__Ú_attributes_setÚfrom_annotated_attributeÚ_original_assignmentÚ_qualifiersÚis_requiredr   ÚAttributeErrorÚcomputed_fieldsrˆ   r™   Úuse_attribute_docstringsr„   r=   r:   r   Úreplace_typesr;   ))r€   r˜   r¾   rº   r»   Ú
FieldInfo_r½   rr   Úparent_fields_lookupÚbaseÚmodel_fieldsÚ
type_hintsÚcls_annotationsrA   Úvar_nameÚhintÚvaluer�   Údeprecated_method_idsÚdeprecated_classmethod_func_idsÚ
class_varsrq   Úann_typeÚ	evaluatedÚprivate_attrÚ_rK   Úassigned_valueÚassigned_funcÚgeneric_originÚfieldÚdataclass_fieldsrƒ   Úparent_field_inforÃ   Ú
decoratorsÚpydantic_extra_infoÚparent_extra_infoÚannr=   r(   s)                                           @r6   Úcollect_model_fieldsr    sœ  ø€ ôB *Ó+€Jç6à�M‰M€EØ13ÐÜ˜“ò 6ˆÜ" 4Ð)>ÀÓEÐEˆ<ÑEØ ×'Ñ'¨Õ5ð6ô ×3Ñ3°CÀ[ÔQ€Jô $×8Ñ8¸Ó=€Oà68ÐàÑ!Ø˜Ñ(ä#ØgÐnrôð ð ˜_Ñ,°^×5YÒ5YÜ#ØrØ6ôð ð
 '×9Ñ9ò 		'ˆHð —>‘> (Ó+ˆDØˆ|¤=×#GÑ#GÈÈQÉÕ#Pô 04Ð4FÉÐ\_×\hÑ\hÐiqÑ\rÔHsÓ/tÐ" 8Ñ,Ü˜˜XÕ&ð		'ð '×7Ñ7ò 	ˆHØ˜?Ñ*ØØ˜>×:Ñ:Ñ:Ü'Ø˜X˜Lð )]ð ^à1ôð ð
 —L‘L Ñ*ˆEÜ˜% Ô,Ü'Ø˜X˜LÐ(CÐDÐKkôð ô (Ø?À¸zÈÈUÈIð V,Ø,4¨:ð 6jðkð :ô	ð ð	ð, $&€Fä=^Ó=`Ñ:ÐÐ:ä›5€JØ+5×+;Ñ+;Ó+=ó fKÑ'ˆÑ'�8˜YØ�~Ò%ð ä#Ø!/×!DÑ!DØØØ—\‘\õ		
ô ×/Ñ/°Ô9Ø�N‰N˜8Ô$Øä" 8Ô,àÐ*Ü-¨hÔ7Ø Ñ/ØÐ$6Ñ6Ø N×$EÑ$EÑEØ N×$@Ñ$@Ñ@Ø N×$@Ñ$@Ñ@Ü˜H l°DÓ9¸[ÒHð 9=�Ü!×.Ñ.¬z¸(Ó/CÔDÜ#+¨HÓ#5�L�A˜Ü#'Ó(`°HÔ(`ÐbfÓ#g�LØÐ'Ü#'Ð(:¹K»MÓ#J�LØ×)Ñ)¨#¨xÔ8Ø/;Ð" 8Ñ,Ùä   hÔ0AÓBˆØÔ!2Ñ2äˆ~ÓÐ"7Ñ7ô #*¨.¸*ÀdÓ"KÐK�ÐXÜ�}Ó%Ð)HÑHô /ˆNà×&Ò&¨8°vÒ+=Ü#Ø-¨h¨\Ð9mÐnØôð ð
 ò 	ˆDÜ�t˜XÕ&Ø ?Ñ2àô ")¨Ð.MÈrÓ!R×!VÑ!VÐW_Ó!`�Ø˜>Ñ)àô JU×IaÑIaÐbfÔIg¬[×-?Ñ-?ÀÔ-EÐmoö$Ø#(�E—J“Jð$Ð ð $ð Ð/Ñ/ð ä—‘Ø" 8 *¨F°3×3CÑ3CÐ2Dð EØ×)Ñ)Ð*¨!ð-äØ ö	ð+	ð8 Ô.Ñ.Ø˜?Ñ*¨hÐ>RÑ.Rð (×7Ñ7¸ÔJZ×J`ÑJ`Ð7Óa�
Ø2:�
Ô/Ú Ø+0�JÖ(ð
 %9¸Ñ$B×$HÑ$HÓ$JÐ!ñ  Ü!5Ø)°{ÐQ]Ðgkô"‘Jð "3‘Jô ˜.¨*Ô5Ô:LÈ^×McÑMcÔ:dð )×0Ñ0×8Ñ8¸¸sÓC�Ø)0�Ô&Ø<C�×.Ñ.¨yÑ9à#×<Ñ<¸XÀ~Ô_o×_uÑ_uÐ<ÓvˆJð /=ˆJÔ+Ø.6ˆJÔ+ÙØ',�
Õ$Ø˜J×2Ñ2Ñ2¸:×;QÑ;QÔ;SÜ—‘Ø! ( Ð-jÐksÐjvð w"à"* ð  .DðEô 8à õð —‘˜xÔ(Ùð
Ü˜˜XÔ&ð &)§\¡\Ð2KÑ%Lˆ
Ø�z×1Ñ1Ñ1ÜØ˜˜ J¨s¯|©|Ð.>ð ?Gð Góð ð &ˆˆxÑà×Ôä$ ^°X¸zÖJðMfKðP ×.Ò.Ü& s¨FÔ3à48ÐØ˜zÑ)Ø6:ÐØ Ñ6ð ò �Ü$+¨DÐ2KÈTÓ$RÐ!Ø$Ñ0Ùðð
 Ð(ñ Ð 1× :Ò :ä&7Ü(×6Ñ6Ð7H×7SÑ7SÐUaÓbØ!ô'Ñ#ð
 '8Ñ#à&Ð';Ñ<‰MˆC�Ùä×-Ñ-¨c°<Ó@�Ü"3ØØ!ô#Ðð
 Ð&¨
Ð4FÐFÐFùòE$øô\ "ò Úðús   Î0Y-ÕY2Ù2	Y?Ù>Y?c          	     ól  — i }| j                   d   }|j                  | «      5  | j                  j                  «       D ]¨  \  }}|j                  r|||<   Œ|j
                  }|�a|j                  j                  |«      x}	�D|j                  |«      5  t        j                  |	j
                  g|j                  ¢­Ž }ddd«       t        |||d|¬«      }
t        |||
«       |
||<   Œª | j                  �Ž| j                  j                  sxt        j                  | j                  j                  g|j                  ¢­Ž }t        j                   ||«      }t        j                  |g|j                  ¢­Ž }t#        |d¬«      }n| j                  }ddd«       ||fS # 1 sw Y   ŒßxY w# 1 sw Y   |fS xY w)a^  Rebuild the (already present) model fields by trying to reevaluate annotations.

    This function should be called whenever a model with incomplete fields is encountered.

    Returns:
        A two-tuple, the first element being the rebuilt fields, the second element being
        the rebuild `PydanticExtraInfo` instance, if available.

    Raises:
        NameError: If one of the annotations failed to evaluate.

    Note:
        This function *doesn't* mutate the model fields in place, as it can be called during
        schema generation, where you don't want to mutate other model's fields.
    rÉ   NF)r¾   rº   rÎ   r;   TrÔ   )rÈ   ÚpushrX   r~   rê   ré   rÚ   r   Ú	eval_typeÚtypes_namespacerì   r™   rÓ   r=   r;   r   rö   r:   )r€   r˜   r¾   rº   Úrebuilt_fieldsrÉ   Úf_namerƒ   r;   Úorigin_fieldÚ	new_fieldr  Úrebuilt_extra_infos                r6   Úrebuild_model_fieldsr  G  sÙ  € ð, ,.€NØ×.Ñ.¨xÑ8€FØ	×	Ñ	˜#Ó	ñ 1=Ø"%×"9Ñ"9×"?Ñ"?Ó"Aò 	3ÑˆF�JØ×#Ò#Ø)3�˜vÒ&à'×<Ñ<�
ØÐ%¸6×;UÑ;U×;YÑ;YÐZ`Ó;aÐ+a¨<Ð*nð %×)Ñ)¨&Ó1ñ Ü%2×%<Ñ%<Ø(×=Ñ=ð&à(×8Ñ8ò&˜
÷ô
 1ØØ +Ø!-Ø!Ø)ô�	ô )¨¸ÀÔKØ)2�˜vÒ&ð=	3ð@ ×&Ñ&Ð2¸3×;VÑ;V×;_Ò;_ä×)Ñ)Ø×+Ñ+×6Ñ6ðà×,Ñ,òˆCô ×)Ñ)¨#¨|Ó<ˆCÜ×)Ñ)Øðà×,Ñ,òˆCô "3ØØô"Ñð
 "%×!<Ñ!<Ð÷c1=ðf Ð-Ð-Ð-÷Cð ú÷%1=ðf Ð-Ð-Ð-ús%   £A/F'Â+FÂ=CF'ÆF$Æ F'Æ'F3)r;   c               ó²  — t        «       }|t        u r| j                  }| j                  }|rDt	        j
                  | j                  |«      }t        j                  |g|j                  ¢­Ž \  }}nXt        j                  |g|j                  ¢­Ž }t	        j
                  ||«      }t        j                  |g|j                  ¢­Ž }d}| j                  x}	t        u r"|j                  |t        j                  ¬«      }
n)|j                  ||	t        j                  ¬«      }
|	|
_
        ||
_        |
j                  �|
j                  n||
_        |sd|
_        |
S )NTrÌ   F)r   r   ré   r   r   rö   r   Útry_eval_typer  r  rð   rç   r   rè   rï   rê   )rƒ   r¾   rº   rÎ   r;   r÷   Úexisting_descr  r  Úassignr  s              r6   rì   rì   •  sU  € ô *Ó+€JàÔ&Ñ&Ø×4Ñ4ˆ
à×*Ñ*€MÙÜ×%Ñ% j×&EÑ&EÀ|ÓTˆÜ&×4Ñ4Øð
à×(Ñ(ò
‰ˆ‰Yô ×%Ñ%Øð
à×(Ñ(ò
ˆô ×%Ñ% c¨<Ó8ˆÜ×%Ñ%Øð
à×(Ñ(ò
ˆð ˆ	à×1Ñ1Ð1ˆÔ6GÑGØ×.Ñ.¨sÔ<L×<RÑ<RÐ.ÓS‰	à×7Ñ7¸¸VÔM]×McÑMcÐ7Ódˆ	Ø)/ˆ	Ô&Ø%(€IÔ"à5>×5JÑ5JÐ5V˜I×1Ò1Ð\i€IÔÙØ#ˆ	ÔàÐr5   )r¾   rº   c          
     ól  — t        «       }i }|xs
 t        «       }| j                  }t        | j                  «      D �]  }t        j                  |«      sŒ|j                  |«      5  |j                  «       D �]Ò  \  }}	t        j                  |«      }
||
vrŒ!|j                  \  }}t        j                  |	j                  ||«      \  }}t        j                  |«      rŒj|	j                  s9|	j                   t
        j"                  u r|	j$                  t
        j"                  u rŒ¯t'        |	j                   |«      r|	j                   j(                  r+|	j                   j                  du rt+        d|› d�d¬«      ‚�Œ|j-                  ||	j                   t.        j0                  ¬«      }|	j                   |_        n)|j-                  ||	t.        j0                  ¬«      }|	|_        |sd|_        ||_        |||<   t9        |||«       |j                   t:        us�Œ£t'        t=        | ||«      |«      s�Œ¼t?        | ||j                   «       �ŒÕ 	 ddd«       �Œ |r&|jA                  «       D ]  }|jC                  |«       Œ |jD                  rtG        | |tI        | d«       ¬	«       |S # 1 sw Y   �ŒwxY w)
a|  Collect the fields of a dataclass.

    Args:
        cls: dataclass.
        config_wrapper: The config wrapper instance.
        ns_resolver: Namespace resolver to use when getting dataclass annotations.
            Defaults to an empty instance.
        typevars_map: A dictionary mapping type variables to their concrete types.

    Returns:
        The dataclass fields.
    FzDataclass field zD has init=False and init_var=True, but these are mutually exclusive.zclashing-init-and-init-varrÀ   rÌ   NÚ__is_pydantic_dataclass__r|   )%r   r    Ú__dataclass_fields__rÖ   Ú__mro__rå   ræ   r  r~   r   rÙ   r  r  ÚtyperÛ   ÚinitrÃ   ÚMISSINGÚdefault_factoryra   Úinit_varr   rï   r   Ú	DATACLASSrð   rê   ré   r™   r   rg   ÚsetattrÚvaluesÚapply_typevars_maprõ   r„   re   )r€   r˜   r¾   rº   r÷   r�   r  rù   rq   Údataclass_fieldÚ	base_annsÚglobalnsÚlocalnsr  r  rƒ   r
  s                    r6   Úcollect_dataclass_fieldsr1  Å  s´  € ô& *Ó+€Jà#%€FØÒ-¤£€KØ×/Ñ/Ðô
 ˜Ÿ™Ó%ó ;?ˆÜ×'Ñ'¨Ô-Øà×Ñ˜dÓ#ñ 7	?Ø-=×-CÑ-CÓ-Eó 6?Ñ)�˜/Ü)×>Ñ>¸tÓD�	à 9Ñ,ð à$/×$?Ñ$?Ñ!�˜'Ü&3×&AÑ&AÀ/×BVÑBVÐX`ÐbiÓ&jÑ#�˜)ä ×7Ñ7¸ÔAØð (×,Ò,Ø'×/Ñ/´;×3FÑ3FÑFØ'×7Ñ7¼;×;NÑ;NÑNð ä˜o×5Ñ5°zÔBØ&×.Ñ.×7Ò7Ø*×2Ñ2×7Ñ7¸5Ñ@Ü"3Ø"2°8°*ð  =Að  !BØ%Aô#ð ñ !Ø!+×!DÑ!DØ  /×"9Ñ"9ÔCS×C]ÑC]ð "Eó "�Jð 7F×6MÑ6M�JÕ3à!+×!DÑ!DØ  /Ô;K×;UÑ;Uð "Eó "�Jð 7F�JÔ3á Ø+0�JÔ(Ø6>�JÔ3à#-��xÑ Ü(¨¸À:ÔNà×%Ñ%Ô->Ó>Ä:Ü˜C ¨:Ó6¸
öDô ˜C ¨:×+=Ñ+=Ö>ñm6?÷7	?ñ 7	?ð	;?ñz Ø—]‘]“_ò 	3ˆEð ×$Ñ$ \Õ2ð		3ð ×.Ò.Ü&ØØô $ CÐ)DÓEÐEõ	
ð €M÷S7	?ñ 7	?ús   Á'F2J)ÈJ)È4J)Ê)J3	c               ó(  — t        «       }i }|j                  | «      5  | j                  j                  «       D ]À  \  }}|j                  r|||<   Œ|j
                  }t        j                  |j                  g|j                  ¢­Ž }	t        j                  |	|«      }	|j                  |	|j                  t        j                  ¬«      }
|
j
                  �|
j
                  n||
_        t!        |||
«       |
||<   ŒÂ 	 ddd«       |S # 1 sw Y   |S xY w)aÆ  Rebuild the (already present) dataclass fields by trying to reevaluate annotations.

    This function should be called whenever a dataclass with incomplete fields is encountered.

    Raises:
        NameError: If one of the annotations failed to evaluate.

    Note:
        This function *doesn't* mutate the dataclass fields in place, as it can be called during
        schema generation, where you don't want to mutate other dataclass's fields.
    rÌ   N)r   r  rX   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  s              r6   Úrebuild_dataclass_fieldsr3  1  s  € ô$ *Ó+€Jà+-€NØ	×	Ñ	˜#Ó	ñ 3Ø"%×"9Ñ"9×"?Ñ"?Ó"Aò 	3ÑˆF�JØ×#Ò#Ø)3�˜vÒ&à *× 6Ñ 6�Ü#×-Ñ-Ø×3Ñ3ðà ×0Ñ0ò�ô  ×-Ñ-¨c°<Ó@�Ø&×?Ñ?ØØ×3Ñ3Ü,×6Ñ6ð @ó �	ð BK×AVÑAVÐAb¨	×(=Ò(=Ðhu�	Ô%Ü(¨¸ÀÔKØ)2�˜vÒ&ñ'	3÷3ð, Ð÷-3ð, Ðús   žCDÄDc                ó&   — | j                  d«       S )Nr  ©rd   ©r¯   s    r6   rß   rß   _  s   € Ø�‰˜sÓ#Ð#Ð#r5   c                óL   — | j                  d«      xr | j                  d«       S )Nr  Ú__r5  r6  s    r6   rà   rà   c  s"   € Ø�?‰?˜3ÓÒ=¨¯©¸Ó(=Ð$=Ð=r5   c                ó  — 	 t        j                  | «      }t	        |j
                  j                  «       «      }t        |«      dk(  xr/ t        |d   «      xr |d   j                  t        j                  u S # t        t        f$ r Y yw xY w)zMWhether the provided default factory callable has a validated data parameter.Fr   r   )r   Úsignature_no_evalrh   rˆ   ÚlistÚ
parametersr+  rl   r"   rÃ   r   Úempty)r'  Úsigr<  s      r6   Útakes_validated_data_argumentr?  g  s…   € ðÜ×-Ñ-¨oÓ>ˆô �c—n‘n×+Ñ+Ó-Ó.€Jäˆz‹?˜aÑÒqÔ$5°jÀ±mÓ$DÒqÈÐTUÉ×I^ÑI^Ôbk×bqÑbqÐIqÐqøô œ	Ð"ò ñ ðús   ‚A9 Á9BÂ
B)Úvalidated_dataÚcall_default_factoryc                ó˜   — |€t        | «      S |r6|r!t        d|«      }|€t        d«      ‚ ||«      S t        d|«      } |«       S t        S )zMResolve the default value using either a static default or a default_factory.zCallable[[dict[str, Any]], Any]zpThe default factory requires the 'validated_data' argument, which was not provided when calling 'get_default()'.zCallable[[], Any])r$   r   rh   r   )rÃ   r'  Ú-default_factory_takes_validated_data_argumentr@  rA  Úfacs         r6   Úresolve_default_valuerE  w  sh   € ð ÐÜ˜gÓ&Ð&ÙÙ8ÜÐ8¸/ÓJˆCØÐ%Ü ð Góð ñ �~Ó&Ð&äÐ*¨OÓ<ˆCÙ“5ˆLäÐr5   )rK   r   Úreturnr&   )rF  ztype[BaseMetadata])
rp   ztuple[str | Pattern[str], ...]rq   rc   rr   rC   rs   rc   rF  ÚNone)F)r€   z	type[Any]r�   údict[str, FieldInfo]r}   r<   rF  rG  )rŠ   zCallable[[str, FieldInfo], str]r‹   rc   rƒ   r'   )r”   z%Callable[[str], str] | AliasGeneratorr‹   rc   rƒ   r'   )r˜   r   r‹   rc   rƒ   r'   rF  rG  )rF  z%tuple[frozenset[int], frozenset[int]])r€   útype[BaseModel]r˜   r   r¾   r    rº   zMapping[TypeVar, Any] | Noner»   zModelNamespaceInfo | NonerF  z\tuple[dict[str, FieldInfo], PydanticExtraInfo | None, set[str], dict[str, ModelPrivateAttr]])
r€   rI  r˜   r   r¾   r    rº   úMapping[TypeVar, Any]rF  z5tuple[dict[str, FieldInfo], PydanticExtraInfo | None])rƒ   r'   r¾   r    rº   rJ  rÎ   r<   r;   r   rF  r'   )
r€   ztype[StandardDataclass]r˜   r   r¾   zNsResolver | Nonerº   zdict[Any, Any] | NonerF  rH  )
r€   ztype[PydanticDataclass]r˜   r   r¾   r    rº   rJ  rF  rH  )r¯   rc   rF  r<   )r'  z3Callable[[], Any] | Callable[[dict[str, Any]], Any]rF  z'TypeIs[Callable[[dict[str, Any]], Any]])rÃ   r   r'  z:Callable[[], Any] | Callable[[dict[str, Any]], Any] | NonerC  zbool | Noner@  zdict[str, Any] | NonerA  r<   rF  r   )[r3   Ú
__future__r   Ú_annotationsrå   rm   Úcollections.abcr   r   rÄ   r   Úinspectr   r   Úrer	   Útypingr
   r   r   r   Úpydantic_corer   Útyping_extensionsr   r   r   r   Útyping_inspectionr   Útyping_inspection.introspectionr   Úpydanticr   Úpydantic.errorsr   Úaliasesr   Ú r   r   Ú_configr   Ú_docs_extractionr   Ú_import_utilsr   r   Ú_namespace_utilsr    Ú_reprr!   Ú_utilsr"   r#   r$   rV   r&   r�   r'   r(   Úmainr)   Ú_dataclassesr*   r+   Ú_decoratorsr,   r.   Ú	dataclassr:   r@   rL   rJ   rz   r„   rŒ   r•   r™   r·   r¸   r¹   r  r  rì   r1  r3  rß   rà   r?  rE  r/   r5   r6   ú<module>rc     s:  ðÙ så 2ã Û ß -Ý ß 1Ý ß 4Ó 4å +ß DÓ DÝ ,Ý <å /Ý -å $ß &Ý "Ý 9ß MÝ (Ý !ß IÑ IáÝ,ç4Ý ßBÝ+ô�~ô ð €×Ñ˜T¨4Ô0÷ð ó 1ðð
 €×Ñ˜T¨4Ô0÷Hð Hó 1ðHó>	-ð ò
$ó ð
$ð(Ø8ð(àð(ð !ð(ð ð	(ð
 
ó(ôV;ð
!Ø4ð
!àð
!ð ó
!ð/VØ:ð/VØHKð/VØYbó/Vódeò" hÐ ò!Ð ð òó ðð2 26Ø04ñpGØ	ðpGà!ðpGð ðpGð
 /ðpGð .ðpGð bópGðf	K.Ø	ðK.ð "ðK.ð ð	K.ð
 (ðK.ð ;óK.ðh (ñ-Øð-àð-ð (ð-ð
 ð-ð ð-ð ó-ðh &*Ø*.ñiØ	 ðið "ðið #ð	ið
 (ðið óiðX+Ø	 ð+ð "ð+ð ð	+ð
 (ð+ð ó+ó\$ó>ðrØHðrà,órð* -1Ø!&ñàðð Pðð 4?ð	ð
 *ðð ðð 	ôr5   