o
    Zzj¨  ã                   @   sL   d dl mZ d dlmZ G dd„ deƒZG dd„ deƒZG dd„ deƒZd	S )
é    )ÚTelegramObject)ÚJSONDictc                       sv   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B dedB dedB dedB dedB f‡ fdd„Z‡  ZS )ÚPersonalDetailsa®  
    This object represents personal details.

    Args:
        first_name (:obj:`str`): First Name.
        middle_name (:obj:`str`): Optional. First Name.
        last_name (:obj:`str`): Last Name.
        birth_date (:obj:`str`): Date of birth in DD.MM.YYYY format.
        gender (:obj:`str`): Gender, male or female.
        country_code (:obj:`str`): Citizenship (ISO 3166-1 alpha-2 country code).
        residence_country_code (:obj:`str`): Country of residence (ISO 3166-1 alpha-2 country
            code).
        first_name_native (:obj:`str`): First Name in the language of the user's country of
            residence.
        middle_name_native (:obj:`str`): Optional. Middle Name in the language of the user's
            country of residence.
        last_name_native (:obj:`str`): Last Name in the language of the user's country of
            residence.

    Attributes:
        first_name (:obj:`str`): First Name.
        middle_name (:obj:`str`): Optional. First Name.
        last_name (:obj:`str`): Last Name.
        birth_date (:obj:`str`): Date of birth in DD.MM.YYYY format.
        gender (:obj:`str`): Gender, male or female.
        country_code (:obj:`str`): Citizenship (ISO 3166-1 alpha-2 country code).
        residence_country_code (:obj:`str`): Country of residence (ISO 3166-1 alpha-2 country
            code).
        first_name_native (:obj:`str`): First Name in the language of the user's country of
            residence.
        middle_name_native (:obj:`str`): Optional. Middle Name in the language of the user's
            country of residence.
        last_name_native (:obj:`str`): Last Name in the language of the user's country of
            residence.
    )
Ú
birth_dateÚcountry_codeÚ
first_nameÚfirst_name_nativeÚgenderÚ	last_nameÚlast_name_nativeÚmiddle_nameÚmiddle_name_nativeÚresidence_country_codeN©Ú
api_kwargsr   r
   r   r	   r   r   r   r   r   r   r   c                   sV   t ƒ j|d� || _|| _|	| _|| _|| _|| _|| _|| _	|| _
|
| _|  ¡  d S ©Nr   )ÚsuperÚ__init__r   r
   r   r   r	   r   r   r   r   r   Ú_freeze)Úselfr   r
   r   r	   r   r   r   r   r   r   r   ©Ú	__class__© úR/var/www/kodo/tsheker/venv/lib/python3.10/site-packages/telegram/_passport/data.pyr   K   s   zPersonalDetails.__init__)NNNN©	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Ústrr   r   Ú__classcell__r   r   r   r   r      s@    $õóþýüûúùø	÷
öõór   c                       sL   e Zd ZdZdZddœdedededed	ed
ededB f‡ fdd„Z‡  ZS )ÚResidentialAddressaï  
    This object represents a residential address.

    Args:
        street_line1 (:obj:`str`): First line for the address.
        street_line2 (:obj:`str`): Optional. Second line for the address.
        city (:obj:`str`): City.
        state (:obj:`str`): Optional. State.
        country_code (:obj:`str`): ISO 3166-1 alpha-2 country code.
        post_code (:obj:`str`): Address post code.

    Attributes:
        street_line1 (:obj:`str`): First line for the address.
        street_line2 (:obj:`str`): Optional. Second line for the address.
        city (:obj:`str`): City.
        state (:obj:`str`): Optional. State.
        country_code (:obj:`str`): ISO 3166-1 alpha-2 country code.
        post_code (:obj:`str`): Address post code.
    )Úcityr   Ú	post_codeÚstateÚstreet_line1Ústreet_line2Nr   r&   r'   r#   r%   r   r$   r   c                   s>   t ƒ j|d� || _|| _|| _|| _|| _|| _|  ¡  d S r   )	r   r   r&   r'   r#   r%   r   r$   r   )r   r&   r'   r#   r%   r   r$   r   r   r   r   r   ˆ   s   zResidentialAddress.__init__r   r   r   r   r   r"   j   s&    ÷þýüûúù	÷r"   c                       s<   e Zd ZdZdZddœdedededB f‡ fdd	„Z‡  ZS )
ÚIdDocumentDataah  
    This object represents the data of an identity document.

    Args:
        document_no (:obj:`str`): Document number.
        expiry_date (:obj:`str`): Optional. Date of expiry, in DD.MM.YYYY format.

    Attributes:
        document_no (:obj:`str`): Document number.
        expiry_date (:obj:`str`): Optional. Date of expiry, in DD.MM.YYYY format.
    )Údocument_noÚexpiry_dateNr   r)   r*   r   c                   s&   t ƒ j|d� || _|| _|  ¡  d S r   )r   r   r)   r*   r   )r   r)   r*   r   r   r   r   r   ®   s   zIdDocumentData.__init__r   r   r   r   r   r(   Ÿ   s    ûþýûr(   N)Útelegram._telegramobjectr   Útelegram._utils.typesr   r   r"   r(   r   r   r   r   Ú<module>   s
   Q5