§
    ªeîie  ã                   ój  — d Z ddl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 ddlmZ dd	lmZ dd
lmZmZ ddlmZmZ ddlmZ erddlmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ de¦  «        Z!dS )z4This module contains classes related to unique gifs.é    N)ÚSequence)ÚTYPE_CHECKINGÚFinal)Ú	constants)ÚChat)ÚSticker)ÚTelegramObject)Úenum)Úde_json_optionalÚparse_sequence_arg)Úextract_tzinfo_from_defaultsÚfrom_timestamp)ÚJSONDict)ÚBotc                   óh   ‡ — e Zd ZdZdZddœdedededee         d	ed
ee         dedz  fˆ fd„Z	ˆ xZ
S )ÚUniqueGiftColorsa4  This object contains information about the color scheme for a user's name, message replies
    and link previews based on a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`model_custom_emoji_id`, :attr:`symbol_custom_emoji_id`,
    :attr:`light_theme_main_color`, :attr:`light_theme_other_colors`,
    :attr:`dark_theme_main_color`, and :attr:`dark_theme_other_colors` are equal.

    .. versionadded:: 22.6

    Args:
        model_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's model.
        symbol_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's symbol.
        light_theme_main_color (:obj:`int`): Main color used in light themes; RGB format.
        light_theme_other_colors (Sequence[:obj:`int`]): List of 1-3 additional colors used in
            light themes; RGB format. |sequenceclassargs|
        dark_theme_main_color (:obj:`int`): Main color used in dark themes; RGB format.
        dark_theme_other_colors (Sequence[:obj:`int`]): List of 1-3 additional colors used in dark
            themes; RGB format. |sequenceclassargs|

    Attributes:
        model_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's model.
        symbol_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's symbol.
        light_theme_main_color (:obj:`int`): Main color used in light themes; RGB format.
        light_theme_other_colors (Tuple[:obj:`int`]): Tuple of 1-3 additional colors used in
            light themes; RGB format.
        dark_theme_main_color (:obj:`int`): Main color used in dark themes; RGB format.
        dark_theme_other_colors (Tuple[:obj:`int`]): Tuple of 1-3 additional colors used in dark
            themes; RGB format.
    )Údark_theme_main_colorÚdark_theme_other_colorsÚlight_theme_main_colorÚlight_theme_other_colorsÚmodel_custom_emoji_idÚsymbol_custom_emoji_idN©Ú
api_kwargsr   r   r   r   r   r   r   c                óR  •— t          ¦   «                              |¬¦  «         || _        || _        || _        t          |¦  «        | _        || _        t          |¦  «        | _        | j        | j        | j        | j        | j        | j        f| _	        |  
                    ¦   «          d S ©Nr   )ÚsuperÚ__init__r   r   r   r   r   r   r   Ú	_id_attrsÚ_freeze)	Úselfr   r   r   r   r   r   r   Ú	__class__s	           €úX/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/telegram/_uniquegift.pyr   zUniqueGiftColors.__init__P   s«   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/Ø*?ˆÔ"Ø+AˆÔ#Ø+AˆÔ#Ý9KØ$ñ:
ô :
ˆÔ%ð +@ˆÔ"Ý8JÐKbÑ8cÔ8cˆÔ$ð Ô&ØÔ'ØÔ'ØÔ)ØÔ&ØÔ(ð
ˆŒð 	�Š‰Œˆˆˆó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__ÚstrÚintr   r   r   Ú__classcell__©r"   s   @r#   r   r   '   s­   ø€ € € € € ðð ð>€Ið$ '+ðð ð à"ðð !$ðð !$ð	ð
 #+¨3¤-ðð  #ðð "*¨#¤ðð ˜t‘Oðð ð ð ð ð ð ð ð ð r$   r   c                   ó|   ‡ — e Zd ZdZdZ	 dddœdededededz  d	edz  f
ˆ fd
„Z	e
ddedddd fˆ fd„¦   «         Zˆ xZS )ÚUniqueGiftModelaø  This object describes the model of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`name`, :attr:`sticker` and :attr:`rarity_per_mille` are equal.

    .. versionadded:: 22.1

    Args:
        name (:obj:`str`): Name of the model.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded. Always ``0`` for crafted gifts.
        rarity (:obj:`str`, optional): Rarity of the model if it is a crafted model.
            Currently, can be :tg-const:`telegram.constants.UniqueGiftModelRarity.UNCOMMON`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.RARE`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.EPIC`,
            or :tg-const:`telegram.constants.UniqueGiftModelRarity.LEGENDARY`.

            .. versionadded:: 22.7

    Attributes:
        name (:obj:`str`): Name of the model.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded. Always ``0`` for crafted gifts.
        rarity (:obj:`str`): Optional. Rarity of the model if it is a crafted model.
            Currently, can be :tg-const:`telegram.constants.UniqueGiftModelRarity.UNCOMMON`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.RARE`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.EPIC`,
            or :tg-const:`telegram.constants.UniqueGiftModelRarity.LEGENDARY`.

            .. versionadded:: 22.7
    )ÚnameÚrarityÚrarity_per_milleÚstickerNr   r0   r3   r2   r1   r   c                ó  •— t          ¦   «                              |¬¦  «         || _        || _        || _        t          j        t          j        ||¦  «        | _	        | j        | j        | j        f| _
        |                      ¦   «          d S r   )r   r   r0   r3   r2   r
   Ú
get_memberr   ÚUniqueGiftModelRarityr1   r   r    )r!   r0   r3   r2   r1   r   r"   s         €r#   r   zUniqueGiftModel.__init__›   sv   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/àˆŒ	Ø 'ˆŒØ%5ˆÔå"&¤/µ)Ô2QÐSYÐ[aÑ"bÔ"bˆŒàœ) T¤\°4Ô3HÐIˆŒà�Š‰Œˆˆˆr$   ÚdataÚbotú
Bot | NoneÚreturnc                 óÌ   •— |                       |¦  «        }t          |                     d¦  «        t          |¦  «        |d<   t	          ¦   «                              ||¬¦  «        S ©ú,See :meth:`telegram.TelegramObject.de_json`.r3   ©r7   r8   ©Ú_parse_datar   Úgetr   r   Úde_json©Úclsr7   r8   r"   s      €r#   rB   zUniqueGiftModel.de_json°   óQ   ø€ ð �Š˜tÑ$Ô$ˆå*¨4¯8ª8°IÑ+>Ô+>ÅÈÑMÔMˆˆY‰å‰wŒw�Š D¨cˆÑ2Ô2Ð2r$   ©N©r%   r&   r'   r(   r)   r*   r   r+   r   r   ÚclassmethodrB   r,   r-   s   @r#   r/   r/   q   så   ø€ € € € € ð ð  ðD€Ið "ðð '+ðð ð àðð ðð ð	ð
 �d‘
ðð ˜t‘Oðð ð ð ð ð ð* ð3ð 3˜8ð 3¨,ð 3ÐBSð 3ð 3ð 3ð 3ð 3ñ „[ð3ð 3ð 3ð 3ð 3r$   r/   c            
       ón   ‡ — e Zd ZdZdZddœdededededz  fˆ fd	„Z	e
dd
edddd fˆ fd„¦   «         Zˆ xZS )ÚUniqueGiftSymbolak  This object describes the symbol shown on the pattern of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`name`, :attr:`sticker` and :attr:`rarity_per_mille` are equal.

    .. versionadded:: 22.1

    Args:
        name (:obj:`str`): Name of the symbol.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded.

    Attributes:
        name (:obj:`str`): Name of the symbol.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded.

    )r0   r2   r3   Nr   r0   r3   r2   r   c                óÐ   •— t          ¦   «                              |¬¦  «         || _        || _        || _        | j        | j        | j        f| _        |                      ¦   «          d S r   )r   r   r0   r3   r2   r   r    )r!   r0   r3   r2   r   r"   s        €r#   r   zUniqueGiftSymbol.__init__Ö   s\   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/ØˆŒ	Ø 'ˆŒØ%5ˆÔàœ) T¤\°4Ô3HÐIˆŒà�Š‰Œˆˆˆr$   r7   r8   r9   r:   c                 óÌ   •— |                       |¦  «        }t          |                     d¦  «        t          |¦  «        |d<   t	          ¦   «                              ||¬¦  «        S r<   r?   rC   s      €r#   rB   zUniqueGiftSymbol.de_jsonç   rE   r$   rF   rG   r-   s   @r#   rJ   rJ   º   sÌ   ø€ € € € € ðð ð*€Ið '+ðð ð àðð ðð ð	ð ˜t‘Oðð ð ð ð ð ð" ð3ð 3˜8ð 3¨,ð 3ÐBTð 3ð 3ð 3ð 3ð 3ñ „[ð3ð 3ð 3ð 3ð 3r$   rJ   c                   óH   ‡ — e Zd ZdZdZddœdedededed	edz  f
ˆ fd
„Zˆ xZS )ÚUniqueGiftBackdropColorsa"  This object describes the colors of the backdrop of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`center_color`, :attr:`edge_color`, :attr:`symbol_color`,
    and :attr:`text_color` are equal.

    .. versionadded:: 22.1

    Args:
        center_color (:obj:`int`): The color in the center of the backdrop in RGB format.
        edge_color (:obj:`int`): The color on the edges of the backdrop in RGB format.
        symbol_color (:obj:`int`): The color to be applied to the symbol in RGB format.
        text_color (:obj:`int`): The color for the text on the backdrop in RGB format.

    Attributes:
        center_color (:obj:`int`): The color in the center of the backdrop in RGB format.
        edge_color (:obj:`int`): The color on the edges of the backdrop in RGB format.
        symbol_color (:obj:`int`): The color to be applied to the symbol in RGB format.
        text_color (:obj:`int`): The color for the text on the backdrop in RGB format.

    )Úcenter_colorÚ
edge_colorÚsymbol_colorÚ
text_colorNr   rO   rP   rQ   rR   r   c                óê   •— t          ¦   «                              |¬¦  «         || _        || _        || _        || _        | j        | j        | j        | j        f| _        |                      ¦   «          d S r   )r   r   rO   rP   rQ   rR   r   r    )r!   rO   rP   rQ   rR   r   r"   s         €r#   r   z!UniqueGiftBackdropColors.__init__  sk   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/Ø!-ˆÔØ)ˆŒØ!-ˆÔØ)ˆŒàÔ+¨T¬_¸dÔ>OÐQUÔQ`ÐaˆŒà�Š‰Œˆˆˆr$   )	r%   r&   r'   r(   r)   r+   r   r   r,   r-   s   @r#   rN   rN   ñ   s‘   ø€ € € € € ðð ð,€Ið '+ðð ð àðð ðð ð	ð
 ðð ˜t‘Oðð ð ð ð ð ð ð ð ð r$   rN   c            
       ón   ‡ — e Zd ZdZdZddœdededededz  fˆ fd	„Z	e
dd
edddd fˆ fd„¦   «         Zˆ xZS )ÚUniqueGiftBackdropaX  This object describes the backdrop of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`name`, :attr:`colors`, and :attr:`rarity_per_mille` are equal.

    .. versionadded:: 22.1

    Args:
        name (:obj:`str`): Name of the backdrop.
        colors (:class:`telegram.UniqueGiftBackdropColors`): Colors of the backdrop.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this backdrop
            for every ``1000`` gifts upgraded.

    Attributes:
        name (:obj:`str`): Name of the backdrop.
        colors (:class:`telegram.UniqueGiftBackdropColors`): Colors of the backdrop.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this backdrop
            for every ``1000`` gifts upgraded.

    )Úcolorsr0   r2   Nr   r0   rV   r2   r   c                óÐ   •— t          ¦   «                              |¬¦  «         || _        || _        || _        | j        | j        | j        f| _        |                      ¦   «          d S r   )r   r   r0   rV   r2   r   r    )r!   r0   rV   r2   r   r"   s        €r#   r   zUniqueGiftBackdrop.__init__?  s\   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/ØˆŒ	Ø06ˆŒØ%5ˆÔàœ) T¤[°$Ô2GÐHˆŒà�Š‰Œˆˆˆr$   r7   r8   r9   r:   c                 óÌ   •— |                       |¦  «        }t          |                     d¦  «        t          |¦  «        |d<   t	          ¦   «                              ||¬¦  «        S )r=   rV   r>   )r@   r   rA   rN   r   rB   rC   s      €r#   rB   zUniqueGiftBackdrop.de_jsonP  sS   ø€ ð �Š˜tÑ$Ô$ˆå)¨$¯(ª(°8Ñ*<Ô*<Õ>VÐX[Ñ\Ô\ˆˆX‰å‰wŒw�Š D¨cˆÑ2Ô2Ð2r$   rF   )r%   r&   r'   r(   r)   r*   rN   r+   r   r   rH   rB   r,   r-   s   @r#   rU   rU   #  sÌ   ø€ € € € € ðð ð*€Ið '+ðð ð àðð )ðð ð	ð ˜t‘Oðð ð ð ð ð ð" ð3ð 3˜8ð 3¨,ð 3ÐBVð 3ð 3ð 3ð 3ð 3ñ „[ð3ð 3ð 3ð 3ð 3r$   rU   c                   ó¼   ‡ — e Zd ZdZdZ	 	 	 	 	 dddœdedededed	ed
ede	de
dz  dedz  dedz  dedz  dedz  dedz  fˆ fd„Zeddedddd fˆ fd„¦   «         Zˆ xZS )Ú
UniqueGifta©  This object describes a unique gift that was upgraded from a regular gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`base_name`, :attr:`name`, :attr:`number`, :class:`model`,
    :attr:`symbol`, and :attr:`backdrop` are equal.

    .. versionadded:: 22.1

    .. versionchanged:: 22.7
        :attr:`gift_id` is now a positional argument.

    Args:
        gift_id (:obj:`str`): Identifier of the regular gift from which the gift was upgraded.

            .. versionadded:: 22.6
        base_name (:obj:`str`): Human-readable name of the regular gift from which this unique
            gift was upgraded.
        name (:obj:`str`): Unique name of the gift. This name can be used
            in ``https://t.me/nft/...`` links and story areas.
        number (:obj:`int`): Unique number of the upgraded gift among gifts upgraded from the
            same regular gift.
        model (:class:`UniqueGiftModel`): Model of the gift.
        symbol (:class:`UniqueGiftSymbol`): Symbol of the gift.
        backdrop (:class:`UniqueGiftBackdrop`): Backdrop of the gift.
        publisher_chat (:class:`telegram.Chat`, optional): Information about the chat that
            published the gift.

            .. versionadded:: 22.4
        is_premium (:obj:`bool`, optional): :obj:`True`, if the original regular gift was
            exclusively purchaseable by Telegram Premium subscribers.

            .. versionadded:: 22.6
        is_from_blockchain (:obj:`bool`, optional): :obj:`True`, if the gift is assigned from the
            TON blockchain and can't be resold or transferred in Telegram.

            .. versionadded:: 22.6
        colors (:class:`telegram.UniqueGiftColors`, optional): The color scheme that can be used
            by the gift's owner for the chat's name, replies to messages and link previews; for
            business account gifts and gifts that are currently on sale only.

            .. versionadded:: 22.6
        is_burned (:obj:`bool`, optional): :obj:`True`, if the gift was used to craft another
            gift and isn't available anymore.

            .. versionadded:: 22.7

    Attributes:
        gift_id (:obj:`str`): Identifier of the regular gift from which the gift was upgraded.

            .. versionadded:: 22.6
        base_name (:obj:`str`): Human-readable name of the regular gift from which this unique
            gift was upgraded.
        name (:obj:`str`): Unique name of the gift. This name can be used
            in ``https://t.me/nft/...`` links and story areas.
        number (:obj:`int`): Unique number of the upgraded gift among gifts upgraded from the
            same regular gift.
        model (:class:`telegram.UniqueGiftModel`): Model of the gift.
        symbol (:class:`telegram.UniqueGiftSymbol`): Symbol of the gift.
        backdrop (:class:`telegram.UniqueGiftBackdrop`): Backdrop of the gift.
        publisher_chat (:class:`telegram.Chat`): Optional. Information about the chat that
            published the gift.

            .. versionadded:: 22.4
        is_premium (:obj:`bool`): Optional. :obj:`True`, if the original regular gift was
            exclusively purchaseable by Telegram Premium subscribers.

            .. versionadded:: 22.6
        is_from_blockchain (:obj:`bool`): Optional. :obj:`True`, if the gift is assigned from the
            TON blockchain and can't be resold or transferred in Telegram.

            .. versionadded:: 22.6
        colors (:class:`telegram.UniqueGiftColors`): Optional. The color scheme that can be used
            by the gift's owner for the chat's name, replies to messages and link previews; for
            business account gifts and gifts that are currently on sale only.

            .. versionadded:: 22.6
        is_burned (:obj:`bool`): Optional. :obj:`True`, if the gift was used to craft another
            gift and isn't available anymore.

            .. versionadded:: 22.7
    )ÚbackdropÚ	base_namerV   Úgift_idÚ	is_burnedÚis_from_blockchainÚ
is_premiumÚmodelr0   ÚnumberÚpublisher_chatÚsymbolNr   r]   r\   r0   rb   ra   rd   r[   rc   r_   r`   rV   r^   r   c                ór  •— t          ¦   «                              |¬¦  «         || _        || _        || _        || _        || _        || _        || _        || _	        |	| _
        |
| _        || _        || _        | j        | j        | j        | j        | j        | j        f| _        |                      ¦   «          d S r   )r   r   r]   r\   r0   rb   ra   rd   r[   rc   r_   r`   rV   r^   r   r    )r!   r]   r\   r0   rb   ra   rd   r[   rc   r_   r`   rV   r^   r   r"   s                 €r#   r   zUniqueGift.__init__¼  s²   ø€ õ" 	‰Œ×Ò JÐÑ/Ô/Ð/Ø#ˆŒØ'ˆŒØˆŒ	Ø!ˆŒØ&+ˆŒ
Ø(.ˆŒØ,4ˆŒØ+9ˆÔØ/AˆÔØ'1ˆŒØ/5ˆŒØ&/ˆŒð ŒNØŒIØŒKØŒJØŒKØŒMð
ˆŒð 	�Š‰Œˆˆˆr$   r7   r8   r9   r:   c                 ó,  •— |                       |¦  «        }t          |                     d¦  «        t          |¦  «        |d<   t          |                     d¦  «        t          |¦  «        |d<   t          |                     d¦  «        t
          |¦  «        |d<   t          |                     d¦  «        t          |¦  «        |d<   t          |                     d¦  «        t          |¦  «        |d<   t          ¦   «          	                    ||¬¦  «        S )r=   ra   rd   r[   rc   rV   r>   )
r@   r   rA   r/   rJ   rU   r   r   r   rB   rC   s      €r#   rB   zUniqueGift.de_jsonæ  sà   ø€ ð �Š˜tÑ$Ô$ˆå(¨¯ª°'Ñ):Ô):½OÈSÑQÔQˆˆW‰Ý)¨$¯(ª(°8Ñ*<Ô*<Õ>NÐPSÑTÔTˆˆX‰Ý+¨D¯HªH°ZÑ,@Ô,@ÕBTÐVYÑZÔZˆˆZÑÝ!1°$·(²(Ð;KÑ2LÔ2LÍdÐTWÑ!XÔ!XˆÐÑÝ)¨$¯(ª(°8Ñ*<Ô*<Õ>NÐPSÑTÔTˆˆX‰å‰wŒw�Š D¨cˆÑ2Ô2Ð2r$   ©NNNNNrF   )r%   r&   r'   r(   r)   r*   r+   r/   rJ   rU   r   Úboolr   r   r   rH   rB   r,   r-   s   @r#   rZ   rZ   Z  sT  ø€ € € € € ðPð Pðd€Ið0 '+Ø*.Ø"&Ø*.Ø!%ð(ð '+ð(ð (ð (àð(ð ð(ð ð	(ð
 ð(ð ð(ð !ð(ð %ð(ð ˜t™ð(ð ! 4™Kð(ð ˜4‘Kð(ð ! 4Ñ'ð(ð ˜$‘;ð(ð ˜t‘Oð(ð (ð (ð (ð (ð (ðT ð
3ð 
3˜8ð 
3¨,ð 
3À,ð 
3ð 
3ð 
3ð 
3ð 
3ñ „[ð
3ð 
3ð 
3ð 
3ð 
3r$   rZ   c                   ó¤  ‡ — e Zd ZU dZej        j        Zee         e	d<   	 ej        j
        Z
ee         e	d<   	 ej        j        Zee         e	d<   	 ej        j        Zee         e	d<   	 ej        j        Zee         e	d<   	 dZ	 	 	 	 	 ddd	œd
edededz  dedz  dej        dz  dedz  dedz  dedz  fˆ fd„Zeddedddd fˆ fd„¦   «         Zˆ xZS )ÚUniqueGiftInfoa�  Describes a service message about a unique gift that was sent or received.

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

    .. versionadded:: 22.1

    .. versionremoved:: 22.7
        Removed argument and attribute ``last_resale_star_count`` deprecated since Bot API 9.3.

    Args:
        gift (:class:`UniqueGift`): Information about the gift.
        origin (:obj:`str`): Origin of the gift. Currently, either :attr:`UPGRADE` for gifts
            upgraded from regular gifts, :attr:`TRANSFER` for gifts transferred from other users
            or channels, :attr:`RESALE` for gifts bought from other users,
            :attr:`GIFTED_UPGRADE` for upgrades purchased after the gift was sent, or :attr:`OFFER`
            for gifts bought or sold through gift purchase offers

            .. versionchanged:: 22.3
                The :attr:`RESALE` origin was added.
            .. versionchanged:: 22.6
                Bot API 9.3 added the :attr:`GIFTED_UPGRADE` and :attr:`OFFER` origins.
        owned_gift_id (:obj:`str`, optional) Unique identifier of the received gift for the
            bot; only present for gifts received on behalf of business accounts.
        transfer_star_count (:obj:`int`, optional): Number of Telegram Stars that must be paid
            to transfer the gift; omitted if the bot cannot transfer the gift.
        last_resale_currency (:obj:`str`, optional): For gifts bought from other users, the
            currency in which the payment for the gift was done. Currently, one of ``XTR`` for
            Telegram Stars or ``TON`` for toncoins.

            .. versionadded:: 22.6
        last_resale_amount (:obj:`int`, optional): For gifts bought from other users, the price
            paid for the gift in either Telegram Stars or nanotoncoins.

            .. versionadded:: 22.6
        next_transfer_date (:obj:`datetime.datetime`, optional): Date when the gift can be
            transferred. If it's in the past, then the gift can be transferred now.
            |datetime_localization|

            .. versionadded:: 22.3

    Attributes:
        gift (:class:`UniqueGift`): Information about the gift.
        origin (:obj:`str`): Origin of the gift. Currently, either :attr:`UPGRADE` for gifts
            upgraded from regular gifts, :attr:`TRANSFER` for gifts transferred from other users
            or channels, :attr:`RESALE` for gifts bought from other users,
            :attr:`GIFTED_UPGRADE` for upgrades purchased after the gift was sent, or :attr:`OFFER`
            for gifts bought or sold through gift purchase offers

            .. versionchanged:: 22.3
                The :attr:`RESALE` origin was added.
            .. versionchanged:: 22.6
                Bot API 9.3 added the :attr:`GIFTED_UPGRADE` and :attr:`OFFER` origins.
        owned_gift_id (:obj:`str`) Optional. Unique identifier of the received gift for the
            bot; only present for gifts received on behalf of business accounts.
        transfer_star_count (:obj:`int`): Optional. Number of Telegram Stars that must be paid
            to transfer the gift; omitted if the bot cannot transfer the gift.
        last_resale_currency (:obj:`str`): Optional. For gifts bought from other users, the
            currency in which the payment for the gift was done. Currently, one of ``XTR`` for
            Telegram Stars or ``TON`` for toncoins.

            .. versionadded:: 22.6
        last_resale_amount (:obj:`int`): Optional. For gifts bought from other users, the price
            paid for the gift in either Telegram Stars or nanotoncoins.

            .. versionadded:: 22.6
        next_transfer_date (:obj:`datetime.datetime`): Optional. Date when the gift can be
            transferred. If it's in the past, then the gift can be transferred now.
            |datetime_localization|

            .. versionadded:: 22.3
    ÚGIFTED_UPGRADEÚOFFERÚRESALEÚTRANSFERÚUPGRADE)ÚgiftÚlast_resale_amountÚlast_resale_currencyÚnext_transfer_dateÚoriginÚowned_gift_idÚtransfer_star_countNr   rp   rt   ru   rv   rs   rr   rq   r   c                ó8  •— t          ¦   «                              |¬¦  «         || _        t          j        t
          j        ||¦  «        | _        || _        || _	        || _
        || _        || _        | j        | j        f| _        |                      ¦   «          d S r   )r   r   rp   r
   r5   r   ÚUniqueGiftInfoOriginrt   ru   rv   rs   rr   rq   r   r    )
r!   rp   rt   ru   rv   rs   rr   rq   r   r"   s
            €r#   r   zUniqueGiftInfo.__init__\  s‰   ø€ õ 	‰Œ×Ò JÐÑ/Ô/Ð/à $ˆŒ	Ýœ?­9Ô+IÈ6ÐSYÑZÔZˆŒà)6ˆÔØ/BˆÔ Ø7IˆÔØ0DˆÔ!Ø.@ˆÔàœ) T¤[Ð1ˆŒà�Š‰Œˆˆˆr$   r7   r8   r9   r:   c                 ó8  •— |                       |¦  «        }t          |¦  «        }t          |                     d¦  «        t          |¦  «        |d<   t          |                     d¦  «        |¬¦  «        |d<   t          ¦   «                              ||¬¦  «        S )r=   rp   rs   )Útzinfor>   )r@   r   r   rA   rZ   r   r   rB   )rD   r7   r8   Ú
loc_tzinfor"   s       €r#   rB   zUniqueGiftInfo.de_jsonw  sŒ   ø€ ð �Š˜tÑ$Ô$ˆå1°#Ñ6Ô6ˆ
Ý'¨¯ª°Ñ(8Ô(8½*ÀcÑJÔJˆˆV‰Ý%3Ø�HŠHÐ)Ñ*Ô*°:ð&
ñ &
ô &
ˆÐ!Ñ"õ ‰wŒw�Š D¨cˆÑ2Ô2Ð2r$   rg   rF   )r%   r&   r'   r(   r   rx   rk   r   r*   Ú__annotations__rl   rm   rn   ro   r)   rZ   r+   ÚdtmÚdatetimer   r   rH   rB   r,   r-   s   @r#   rj   rj   ô  sÅ  ø€ € € € € € ðGð GðR "+Ô!?Ô!N€N�E˜#”JÐNÐNÑNðð "Ô6Ô<€Eˆ5�Œ:Ð<Ð<Ñ<ðð #Ô7Ô>€FˆE�#ŒJÐ>Ð>Ñ>ðð %Ô9ÔB€Hˆe�CŒjÐBÐBÑBØCØ#Ô8Ô@€GˆU�3ŒZÐ@Ð@Ñ@ØBð€Ið %)Ø*.Ø26Ø+/Ø)-ðð '+ðð ð àðð ðð ˜T‘zð	ð
 ! 4™Zðð  œL¨4Ñ/ðð " D™jðð   $™Jðð ˜t‘Oðð ð ð ð ð ð6 ð
3ð 
3˜8ð 
3¨,ð 
3ÐBRð 
3ð 
3ð 
3ð 
3ð 
3ñ „[ð
3ð 
3ð 
3ð 
3ð 
3r$   rj   )"r(   r~   r}   Úcollections.abcr   Útypingr   r   Útelegramr   Útelegram._chatr   Útelegram._files.stickerr   Útelegram._telegramobjectr	   Útelegram._utilsr
   Útelegram._utils.argumentparsingr   r   Útelegram._utils.datetimer   r   Útelegram._utils.typesr   r   r   r/   rJ   rN   rU   rZ   rj   © r$   r#   ú<module>rŠ      sQ  ðð( ;Ð :à Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø  Ð  Ð  Ð  Ð  Ð  Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ *Ð *Ð *Ð *Ð *Ð *àð ØÐÐÐÐÐðGð Gð Gð Gð G�~ñ Gô Gð GðTF3ð F3ð F3ð F3ð F3�nñ F3ô F3ð F3ðR43ð 43ð 43ð 43ð 43�~ñ 43ô 43ð 43ðn/ð /ð /ð /ð /˜~ñ /ô /ð /ðd43ð 43ð 43ð 43ð 43˜ñ 43ô 43ð 43ðnW3ð W3ð W3ð W3ð W3�ñ W3ô W3ð W3ðtN3ð N3ð N3ð N3ð N3�^ñ N3ô N3ð N3ð N3ð N3r$   