
    i                         d 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 erddlmZ  eddd	
          Z G d de          ZdS )z3Common base class for media objects with thumbnails    )TYPE_CHECKINGOptionalTypeTypeVar)_BaseMedium)	PhotoSize)JSONDict)BotThumbedMT_co_BaseThumbedMediumT)bound	covariantc                        e Zd ZdZdZ	 	 ddddededee         dee         d	ee	         f
 fd
Z
edee         dee	         dddee         f fd            Z xZS )r   a  
    Base class for objects representing the various media file types that may include a thumbnail.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`file_unique_id` is equal.

    Args:
        file_id (:obj:`str`): Identifier for this file, which can be used to download
            or reuse the file.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        file_size (:obj:`int`, optional): File size.
        thumbnail (:class:`telegram.PhotoSize`, optional): Thumbnail as defined by sender.

            .. versionadded:: 20.2

    Attributes:
        file_id (:obj:`str`): File identifier.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        file_size (:obj:`int`): Optional. File size.
        thumbnail (:class:`telegram.PhotoSize`): Optional. Thumbnail as defined by sender.

            .. versionadded:: 20.2

    )	thumbnailN)
api_kwargsfile_idfile_unique_id	file_sizer   r   c                `    t                                          ||||           || _        d S )N)r   r   r   r   )super__init__r   )selfr   r   r   r   r   	__class__s         h/var/www/html/crypto-bot/backend/venv/lib/python3.11/site-packages/telegram/_files/_basethumbedmedium.pyr   z_BaseThumbedMedium.__init__A   s?     	)!	 	 	
 	
 	
 /8    clsdatabotr
   returnc                    |                      |          }|sdS t          |                    d          t                    s+t          j        |                    d          |          |d<   i }|                    d          |                    d          |d<   t                                          |||          S )z,See :meth:`telegram.TelegramObject.de_json`.Nr   thumb)r   r   r   )_parse_data
isinstancegetr   de_jsonpopr   _de_json)r   r   r   r   r   s       r   r%   z_BaseThumbedMedium.de_jsonS   s    
 t$$ 	4 $((;//;; 	N ) 1$((;2G2G M MD
 88G("&((7"3"3JwwwTszJJJr   )NN)__name__
__module____qualname____doc__	__slots__strr   intr   r	   r   classmethodr   r   r%   __classcell__)r   s   @r   r   r   !   s        : I $()-8 *.8 8 88 8 C=	8
 I&8 X&8 8 8 8 8 8$ K,K'/'9K@EK	,	K K K K K [K K K K Kr   N)r+   typingr   r   r   r   telegram._files._basemediumr   telegram._files.photosizer   telegram._utils.typesr	   telegramr
   r   r    r   r   <module>r7      s   & : 9 9 9 9 9 9 9 9 9 9 9 9 9 3 3 3 3 3 3 / / / / / / * * * * * *  w~-ATRRRFK FK FK FK FK FK FK FK FK FKr   