Ë
    S>{i§  ã                  ó<  — d Z ddlmZ ddlmZmZ ddlmZmZm	Z	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 dd
lmZmZ er1ddlmZ ddlmZ  edeef¬«       G d„ dej<                  «      «       Znej<                  ZdZ  ed«      Z! G d„ dee	e!   e¬«      Z"y)z%RootModel class and type definitions.é    )Úannotations)ÚcopyÚdeepcopy)ÚTYPE_CHECKINGÚAnyÚGenericÚLiteralÚTypeVar)ÚPydanticUndefined)ÚSelfÚdataclass_transformé   )ÚPydanticUserError)Ú_model_constructionÚ_repr)Ú	BaseModelÚ_object_setattr)ÚField)ÚPrivateAttrF)Úkw_only_defaultÚfield_specifiersc                  ó   — e Zd Zy)Ú_RootModelMetaclassN)Ú__name__Ú
__module__Ú__qualname__© ó    úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pydantic/root_model.pyr   r      s   „ ØCFr   r   )Ú	RootModelÚRootModelRootTypec                  óü   ‡ — e Zd ZU dZdZdZdZded<   ˆ fd„Ze	fdd„Z
de
_        eddˆ fd„«       Zdd	„Zdd
„Zdd„Zddd„Zer+dddddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdˆ fd„Zdd„Zˆ xZS )r    a»  !!! abstract "Usage Documentation"
        [`RootModel` and Custom Root Types](../concepts/models.md#rootmodel-and-custom-root-types)

    A Pydantic `BaseModel` for the root object of the model.

    Attributes:
        root: The root object of the model.
        __pydantic_root_model__: Whether the model is a RootModel.
        __pydantic_private__: Private fields in the model.
        __pydantic_extra__: Extra fields in the model.

    TNr!   Úrootc                óx   •— | j                   j                  d«      }|�t        dd¬«      ‚t        ‰| �  di |¤Ž y )NÚextraz<`RootModel` does not support setting `model_config['extra']`zroot-model-extra)Úcoder   )Úmodel_configÚgetr   ÚsuperÚ__init_subclass__)ÚclsÚkwargsr%   Ú	__class__s      €r   r*   zRootModel.__init_subclass__4   sD   ø€ Ø× Ñ ×$Ñ$ WÓ-ˆØÐÜ#ØNÐUgôð ô 	‰Ñ!Ñ+ FÓ+r   c               óp   — d}|r|t         urt        d«      ‚|}| j                  j                  || ¬«       y )NTz_"RootModel.__init__" accepts either a single positional argument or arbitrary keyword arguments)Úself_instance)r   Ú
ValueErrorÚ__pydantic_validator__Úvalidate_python)Úselfr#   ÚdataÚ__tracebackhide__s       r   Ú__init__zRootModel.__init__<   sD   € Ø ÐÙØÔ,Ñ,Ü Øuóð ð ˆDØ×#Ñ#×3Ñ3°DÈÐ3ÕMr   c                ó&   •— t         ‰| �  ||¬«      S )aS  Create a new model using the provided root object and update fields set.

        Args:
            root: The root object of the model.
            _fields_set: The set of fields to be updated.

        Returns:
            The new model.

        Raises:
            NotImplemented: If the model is not a subclass of `RootModel`.
        )r#   Ú_fields_set)r)   Úmodel_construct)r+   r#   r8   r-   s      €r   r9   zRootModel.model_constructH   s   ø€ ô ‰wÑ&¨D¸kÐ&ÓJÐJr   c                ó4   — | j                   | j                  dœS )N©Ú__dict__Ú__pydantic_fields_set__r;   ©r3   s    r   Ú__getstate__zRootModel.__getstate__X   s   € àŸ™Ø'+×'CÑ'Cñ
ð 	
r   c                óD   — t        | d|d   «       t        | d|d   «       y )Nr=   r<   )r   )r3   Ústates     r   Ú__setstate__zRootModel.__setstate__^   s&   € Ü˜Ð7¸Ð?XÑ9YÔZÜ˜˜j¨%°
Ñ*;Õ<r   c                ó¾   — t        | «      }|j                  |«      }t        |dt        | j                  «      «       t        |dt        | j
                  «      «       |S )z$Returns a shallow copy of the model.r<   r=   )ÚtypeÚ__new__r   r   r<   r=   )r3   r+   Úms      r   Ú__copy__zRootModel.__copy__b   sK   € ä�4‹jˆØ�K‰K˜ÓˆÜ˜˜:¤t¨D¯M©MÓ':Ô;Ü˜Ð4´d¸4×;WÑ;WÓ6XÔYØˆr   c                óÂ   — t        | «      }|j                  |«      }t        |dt        | j                  |¬«      «       t        |dt        | j                  «      «       |S )z!Returns a deep copy of the model.r<   )Úmemor=   )rD   rE   r   r   r<   r   r=   )r3   rI   r+   rF   s       r   Ú__deepcopy__zRootModel.__deepcopy__j   sO   € ä�4‹jˆØ�K‰K˜ÓˆÜ˜˜:¤x°·±ÀDÔ'IÔJô 	˜Ð4´d¸4×;WÑ;WÓ6XÔYØˆr   ÚpythonF)ÚmodeÚincludeÚexcludeÚcontextÚby_aliasÚexclude_unsetÚexclude_defaultsÚexclude_noneÚexclude_computed_fieldsÚ
round_tripÚwarningsÚserialize_as_anyc                ó   — y)a  This method is included just to get a more accurate return type for type checkers.
            It is included in this `if TYPE_CHECKING:` block since no override is actually necessary.

            See the documentation of `BaseModel.model_dump` for more details about the arguments.

            Generally, this method will have a return type of `RootModelRootType`, assuming that `RootModelRootType` is
            not a `BaseModel` subclass. If `RootModelRootType` is a `BaseModel` subclass, then the return
            type will likely be `dict[str, Any]`, as `model_dump` calls are recursive. The return type could
            even be something different, in the case of a custom serializer.
            Thus, `Any` is used here to catch all of these cases.
            Nr   )r3   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   s                r   Ú
model_dumpzRootModel.model_dumpv   s   € ð6 r   c                ó¸   •— t        |t        «      st        S | j                  d   j                  |j                  d   j                  k(  xr t
        ‰| �  |«      S ©Nr#   )Ú
isinstancer    ÚNotImplementedÚ__pydantic_fields__Ú
annotationr)   Ú__eq__)r3   Úotherr-   s     €r   r`   zRootModel.__eq__“   sW   ø€ Ü˜%¤Ô+Ü!Ð!Ø×'Ñ'¨Ñ/×:Ñ:¸e×>WÑ>WØñ?
ç
‰*ñò /ä™™¨Ó.ð	/r   c              #  ó,   K  — d| j                   f–— y ­wr[   )r#   r>   s    r   Ú__repr_args__zRootModel.__repr_args__š   s   è ø€ Ø�d—i‘iÐÓùs   ‚)r#   r!   ÚreturnÚNone)N)r#   r!   r8   zset[str] | Nonerd   r   )rd   údict[Any, Any])rA   rf   rd   re   )rd   r   )rI   zdict[int, Any] | Nonerd   r   )rL   zLiteral['json', 'python'] | strrM   r   rN   r   rO   zdict[str, Any] | NonerP   zbool | NonerQ   ÚboolrR   rg   rS   rg   rT   rg   rU   rg   rV   z'bool | Literal['none', 'warn', 'error']rW   rg   rd   r   )ra   r   rd   rg   )rd   z_repr.ReprArgs)r   r   r   Ú__doc__Ú__pydantic_root_model__Ú__pydantic_private__Ú__pydantic_extra__Ú__annotations__r*   r   r6   Ú__pydantic_base_init__Úclassmethodr9   r?   rB   rG   rJ   r   rY   r`   rc   Ú__classcell__)r-   s   @r   r    r        s!  ø… ñð #ÐØÐØÐà
Óô,ð 5Fô Nð '+€HÔ#àõKó ðKó
ó=óôñ ð
 5=ØØØ-1Ø$(Ø"'Ø%*Ø!&Ø,1Ø$Ø@DØ%*ñ	ð 2ð	ð ð		ð
 ð	ð +ð	ð "ð	ð  ð	ð #ð	ð ð	ð &*ð	ð ð	ð >ð	ð #ð	ð ó	õ:/÷ r   r    )Ú	metaclassN)#rh   Ú
__future__r   Ú_annotationsr   r   Útypingr   r   r   r	   r
   Úpydantic_corer   Útyping_extensionsr   r   Ú r   Ú	_internalr   r   Úmainr   r   Úfieldsr   ÚPydanticModelFieldr   ÚPydanticModelPrivateAttrÚModelMetaclassr   Ú__all__r!   r    r   r   r   ú<module>r~      s�   ðÙ +å 2ç ß @Õ @å +ß 7å ß 1ß ,áÝ3Ý?ñ
 ¨ÐBTÐVnÐAoÔpÜFÐ1×@Ñ@ÓFó qÙFà-×<Ñ<Ðà
€áÐ/Ó0Ð ô{ �	˜7Ð#4Ñ5ÐATö { r   