U
    hw                     @   s   d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ erdddlmZmZ G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZdS )zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeInputPeerTypeInputUserc                   @   sR   e Zd ZdZdZddeee  dddZdd	 Z	d
d Z
dd Zedd ZdS )ApplyBoostRequestiF}k   jZ Nr
   peerslotsc                 C   s   || _ || _dS )zB
        :returns premium.MyBoosts: Instance of MyBoosts.
        Nr   )selfr   r    r   A/tmp/pip-unpacked-wheel-c81u5j2r/telethon/tl/functions/premium.py__init__   s    zApplyBoostRequest.__init__c                    s   | || jI d H | _d S Nget_input_peerget_input_entityr   r   clientutilsr   r   r   resolve   s    zApplyBoostRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   )_r   r   )
isinstancer   r   to_dictr   r   r   r   r   r      s    zApplyBoostRequest.to_dictc                 C   s|   d dtd| jd ks | jdkr$dnd| jd ks<| jdkr@dn.d dtdt| jd d	d
 | jD f| j fS )N    s   F}k<IFr      s   ĵ<ic                 s   s   | ]}t d |V  qdS )r$   N)structpack).0xr   r   r   	<genexpr>&   s     z+ApplyBoostRequest._bytes.<locals>.<genexpr>)joinr%   r&   r   lenr   _bytesr    r   r   r   r,   "   s    "FzApplyBoostRequest._bytesc                 C   sZ   |  }|d@ rB|   g }t|  D ]}|  }|| q(nd }| }| ||dS )Nr#   r   )read_intrangeappendtgread_object)clsreaderflagsZ_slotsr   _x_peerr   r   r   from_reader*   s    zApplyBoostRequest.from_reader)N)__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDr   r   intr   r   r   r,   classmethodr6   r   r   r   r   r      s   r   c                   @   sR   e Zd ZdZdZddeeee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetBoostsListRequesti`v`齨5"Nr
   r   offsetlimitgiftsc                 C   s   || _ || _|| _|| _dS zF
        :returns premium.BoostsList: Instance of BoostsList.
        Nr@   )r   r   rA   rB   rC   r   r   r   r   ?   s    zGetBoostsListRequest.__init__c                    s   | || jI d H | _d S r   r   r   r   r   r   r   H   s    zGetBoostsListRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr>   )r   r   rA   rB   rC   )r   r   r   r   rA   rB   rC   r    r   r   r   r   K   s    zGetBoostsListRequest.to_dictc              
   C   sL   d dtd| jd ks | jdkr$dnd| j | | jtd| jfS )Nr!   s   `v`r"   Fr   r#   r$   )	r*   r%   r&   rC   r   r,   Zserialize_bytesrA   rB   r    r   r   r   r,   T   s    "
zGetBoostsListRequest._bytesc                 C   s<   |  }t|d@ }| }| }|  }| ||||dS )Nr#   r@   )r-   boolr0   Ztgread_string)r1   r2   r3   Z_giftsr5   _offsetZ_limitr   r   r   r6   ]   s    z GetBoostsListRequest.from_reader)N)r7   r8   r9   r:   r;   strr<   r   rE   r   r   r   r,   r=   r6   r   r   r   r   r>   ;   s   			r>   c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetBoostsStatusRequestia/l   6 r
   r   c                 C   s
   || _ dS )zJ
        :returns premium.BoostsStatus: Instance of BoostsStatus.
        NrI   )r   r   r   r   r   r   l   s    zGetBoostsStatusRequest.__init__c                    s   | || jI d H | _d S r   r   r   r   r   r   r   r   s    zGetBoostsStatusRequest.resolvec                 C   s"   dt | jtr| j n| jdS )NrH   )r   r   )r   r   r   r   r    r   r   r   r   u   s    zGetBoostsStatusRequest.to_dictc                 C   s   d d| j fS )Nr!   s   a/)r*   r   r,   r    r   r   r   r,   {   s    zGetBoostsStatusRequest._bytesc                 C   s   |  }| |dS )NrI   r0   )r1   r2   r5   r   r   r   r6      s    z"GetBoostsStatusRequest.from_readerNr7   r8   r9   r:   r;   r   r   r   r,   r=   r6   r   r   r   r   rH   h   s   rH   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetMyBoostsRequestiJ{r   c                 C   s   ddiS )Nr   rL   r   r    r   r   r   r      s     zGetMyBoostsRequest.to_dictc                 C   s
   d dS )Nr!   )s   J{)r*   r    r   r   r   r,      s    zGetMyBoostsRequest._bytesc                 C   s   |  S r   r   )r1   r2   r   r   r   r6      s    zGetMyBoostsRequest.from_readerN)	r7   r8   r9   r:   r;   r   r,   r=   r6   r   r   r   r   rL      s   rL   c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )GetUserBoostsRequestiM9r?   r
   r   r   user_idc                 C   s   || _ || _dS rD   rN   )r   r   rO   r   r   r   r      s    zGetUserBoostsRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r   )r   r   r   Zget_input_userrO   r   r   r   r   r      s    zGetUserBoostsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )NrM   )r   r   rO   )r   r   r   r   rO   r    r   r   r   r      s    zGetUserBoostsRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   M9)r*   r   r,   rO   r    r   r   r   r,      s
    zGetUserBoostsRequest._bytesc                 C   s   |  }|  }| ||dS )NrN   rJ   )r1   r2   r5   Z_user_idr   r   r   r6      s    z GetUserBoostsRequest.from_readerNrK   r   r   r   r   rM      s   rM   )__doc__Ztl.tlobjectr   r   typingr   r   r   r   osr%   r	   Ztl.typesr
   r   r   r>   rH   rL   rM   r   r   r   r   <module>   s   .-