o
    %if}                     @  s*  U d Z ddlmZ ddlmZmZmZmZm	Z	m
Z
mZmZ ddlmZmZmZ ddlmZ ddlmZ er;ddlmZ d	Zeeeeed
e	d df Zded< eeef Zded< eegef Z eeegd
f eee
e gd
f f Z!ded< ed Z"G dd deddZ#ede$dZ%dddZ&ee'Z(d
S )z"Configuration for Pydantic models.    )annotations)TYPE_CHECKINGAnyCallableDictListTypeTypeVarUnion)Literal	TypeAlias	TypedDict   )getattr_migration)AliasGenerator)GenerateSchema)
ConfigDictwith_configN	JsonValueJsonDictr   JsonSchemaExtraCallable)allowignoreforbidc                   @  s  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< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded < 	 d!ed"< 	 d#ed$< 	 d%ed&< 	 ded'< 	 ded(< 	 d)ed*< 	 ded+< 	 ded,< 	 d-ed.< 	 d/ed0< 	 ded1< 	 d2ed3< 	 ded4< 	 d5ed6< 	 ded7< 	 ded8< 	 d9ed:< d;S )<r   z/A TypedDict for configuring Pydantic behaviour.z
str | Nonetitleboolstr_to_lowerstr_to_upperstr_strip_whitespaceintstr_min_lengthz
int | Nonestr_max_lengthzExtraValues | Noneextrafrozenpopulate_by_nameuse_enum_valuesvalidate_assignmentarbitrary_types_allowedfrom_attributesloc_by_aliasz,Callable[[str], str] | AliasGenerator | Nonealias_generatorztuple[type, ...]ignored_typesallow_inf_nanz)JsonDict | JsonSchemaExtraCallable | Nonejson_schema_extraz&dict[type[object], JsonEncoder] | Nonejson_encodersstrictz0Literal['always', 'never', 'subclass-instances']revalidate_instanceszLiteral['iso8601', 'float']ser_json_timedeltazLiteral['utf8', 'base64']ser_json_byteszLiteral['null', 'constants']ser_json_inf_nanvalidate_defaultvalidate_returnztuple[str, ...]protected_namespaceshide_input_in_errorsdefer_buildzdict[str, object] | Noneplugin_settingsztype[_GenerateSchema] | Noneschema_generator+json_schema_serialization_defaults_requiredz,Literal['validation', 'serialization', None]json_schema_mode_overridecoerce_numbers_to_strz"Literal['rust-regex', 'python-re']regex_enginevalidation_error_causeuse_attribute_docstringsz%bool | Literal['all', 'keys', 'none']cache_stringsN)__name__
__module____qualname____doc____annotations__ rG   rG   H/var/www/html/corbot_env/lib/python3.10/site-packages/pydantic/config.pyr      s   
 F	 '36:
~	K+	&6% 
#r   F)total_TypeT)boundconfigreturnCallable[[_TypeT], _TypeT]c                   s   d fdd}|S )a$  Usage docs: https://docs.pydantic.dev/2.7/concepts/config/#configuration-with-dataclass-from-the-standard-library-or-typeddict

    A convenience decorator to set a [Pydantic configuration](config.md) on a `TypedDict` or a `dataclass` from the standard library.

    Although the configuration can be set using the `__pydantic_config__` attribute, it does not play well with type checkers,
    especially with `TypedDict`.

    !!! example "Usage"

        ```py
        from typing_extensions import TypedDict

        from pydantic import ConfigDict, TypeAdapter, with_config

        @with_config(ConfigDict(str_to_lower=True))
        class Model(TypedDict):
            x: str

        ta = TypeAdapter(Model)

        print(ta.validate_python({'x': 'ABC'}))
        #> {'x': 'abc'}
        ```
    TypedDictClassrJ   rM   c                  s
    | _ | S )N)__pydantic_config__)rO   rL   rG   rH   inner  s   zwith_config.<locals>.innerN)rO   rJ   rM   rJ   rG   )rL   rR   rG   rQ   rH   r     s   r   )rL   r   rM   rN   ))rE   
__future__r   _annotationstypingr   r   r   r   r   r   r	   r
   typing_extensionsr   r   r   
_migrationr   aliasesr   _internal._generate_schemar   _GenerateSchema__all__r   floatstrr   r   rF   r   JsonEncoderr   ExtraValuesr   typerJ   r   rB   __getattr__rG   rG   rG   rH   <module>   s:    ("       0
!