U
    h`                    @   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rddlmZmZmZmZmZmZmZmZmZmZmZ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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#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(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/d0 d0eZ-G d1d2 d2eZ.G d3d4 d4eZ/G d5d6 d6eZ0G d7d8 d8eZ1G d9d: d:eZ2G d;d< d<eZ3G d=d> d>eZ4G d?d@ d@eZ5G dAdB dBeZ6G dCdD dDeZ7G dEdF dFeZ8G dGdH dHeZ9G dIdJ dJeZ:G dKdL dLeZ;G dMdN dNeZ<G dOdP dPeZ=G dQdR dReZ>G dSdT dTeZ?G dUdV dVeZ@G dWdX dXeZAG dYdZ dZeZBG d[d\ d\eZCG d]d^ d^eZDG d_d` d`eZEG dadb dbeZFG dcdd ddeZGG dedf dfeZHG dgdh dheZIG didj djeZJG dkdl dleZKG dmdn dneZLG dodp dpeZMG dqdr dreZNG dsdt dteZOG dudv dveZPG dwdx dxeZQG dydz dzeZRG d{d| d|eZSG d}d~ d~eZTG dd deZUG dd deZVG dd deZWG dd deZXG dd deZYG dd deZZdS )zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeChannelAdminLogEventsFilterTypeChannelParticipantsFilterTypeChatAdminRightsTypeChatBannedRightsTypeEmojiStatusTypeInputChannelTypeInputChatPhotoTypeInputCheckPasswordSRPTypeInputGeoPointTypeInputMessageTypeInputPeerTypeInputStickerSetTypeInputUserc                   @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )CheckSearchPostsFloodRequestiqV"l   L Nqueryc                 C   s
   || _ dS )zJ
        :returns SearchPostsFlood: Instance of SearchPostsFlood.
        Nr   )selfr    r   B/tmp/pip-unpacked-wheel-t5wbaijj/telethon/tl/functions/channels.py__init__   s    z%CheckSearchPostsFloodRequest.__init__c                 C   s   d| j dS )Nr   )_r   r   r   r   r   r   to_dict   s    z$CheckSearchPostsFloodRequest.to_dictc                 C   sP   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
| | jfS )N    s   qV"<IFr      )joinstructpackr   serialize_bytesr   r   r   r   _bytes   s
    ""z#CheckSearchPostsFloodRequest._bytesc                 C   s(   |  }|d@ r| }nd }| |dS )Nr#   r   )read_inttgread_string)clsreaderflags_queryr   r   r   from_reader$   s
    
z(CheckSearchPostsFloodRequest.from_reader)N)__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDr   strr   r    r(   classmethodr/   r   r   r   r   r      s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )CheckUsernameRequesti,   gk r   channelusernamec                 C   s   || _ || _dS z?
        :returns Bool: This type has no constructors.
        Nr9   r   r:   r;   r   r   r   r   3   s    zCheckUsernameRequest.__init__c                    s   | || jI d H | _d S Nget_input_channelget_input_entityr:   r   clientutilsr   r   r   resolve:   s    zCheckUsernameRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr7   r   r:   r;   
isinstancer:   r   r    r;   r   r   r   r   r    =   s    zCheckUsernameRequest.to_dictc                 C   s   d d| j | | jfS )Nr!   s   ,r$   r:   r(   r'   r;   r   r   r   r   r(   D   s
    
zCheckUsernameRequest._bytesc                 C   s   |  }| }| ||dS Nr9   tgread_objectr*   r+   r,   _channel	_usernamer   r   r   r/   K   s    z CheckUsernameRequest.from_readerNr0   r1   r2   r3   r4   r5   r   rE   r    r(   r6   r/   r   r   r   r   r7   /   s   r7   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 )ConvertToGigagroupRequestii)   * r   r:   c                 C   s
   || _ dS 
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        NrS   r   r:   r   r   r   r   V   s    z"ConvertToGigagroupRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   \   s    z!ConvertToGigagroupRequest.resolvec                 C   s"   dt | jtr| j n| jdS )NrQ   r   r:   rH   r:   r   r    r   r   r   r   r    _   s    z!ConvertToGigagroupRequest.to_dictc                 C   s   d d| j fS )Nr!   s   i)r$   r:   r(   r   r   r   r   r(   e   s    z ConvertToGigagroupRequest._bytesc                 C   s   |  }| |dS NrS   rL   r+   r,   rN   r   r   r   r/   k   s    z%ConvertToGigagroupRequest.from_readerNr0   r1   r2   r3   r4   r   rE   r    r(   r6   r/   r   r   r   r   rQ   R   s   rQ   c                   @   sl   e Zd ZdZdZdeeee ee ee ee ed ee ee d	ddZ	dd	 Z
d
d Zedd ZdS )CreateChannelRequestl   g " rR   Nr   	titleabout	broadcast	megagroup
for_importforum	geo_pointaddress
ttl_periodc
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS rT   r_   )
r   r`   ra   rb   rc   rd   re   rf   rg   rh   r   r   r   r   u   s    zCreateChannelRequest.__init__c                 C   sB   d| j | j| j| j| j| jt| jtr0| j	 n| j| j
| jd
S )Nr^   )
r   r`   ra   rb   rc   rd   re   rf   rg   rh   )r`   ra   rb   rc   rd   re   rH   rf   r   r    rg   rh   r   r   r   r   r       s    zCreateChannelRequest.to_dictc                 C   s  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtdddtd| jd ksp| jdkrtdnd| jd ks| jdkrdndB | jd ks| jdkrdnd	B | j	d ks| j	dkrdnd
B | j d ks| j dkrdndB | jd ks| jdkrdndB | j
d ks| j
dkrdndB | | j| | j| j d ksP| j dkrTdn| j  | jd kst| jdkrxdn
| | j| j
d ks| j
dkrdntd| j
fS )NFzNgeo_point, address parameters must all be False-y (like None) or all me True-yr!   s   g r"   r   r#                   <i)rf   rg   AssertionErrorr$   r%   r&   rb   rc   rd   re   rh   r'   r`   ra   r(   r   r   r   r   r(      s    P

$&(zCreateChannelRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }| }|d@ rZ| }	nd }	|d@ rp| }
nd }
|d@ r|  }nd }| |||||||	|
|d	S )Nr#   ri   rj   rk   rl   rm   r_   )r)   boolr*   rL   )r+   r,   r-   
_broadcastZ
_megagroupZ_for_importZ_forum_titleZ_about
_geo_point_addressZ_ttl_periodr   r   r   r/      s"    


z CreateChannelRequest.from_reader)NNNNNNN)r0   r1   r2   r3   r4   r5   r   rp   intr   r    r(   r6   r/   r   r   r   r   r^   q   s   <r^   c                   @   s^   e Zd ZdZdZddeee ee eed dddZd	d
 Z	dd Z
dd Zedd ZdS )CreateForumTopicRequestl   $h rR   Nr   r   r:   r`   
icon_coloricon_emoji_id	random_idsend_asc                 C   sF   || _ || _|| _|| _|dk	r$|ntjtdddd| _|| _	dS )rU   Nrj   bigTsigned)
r:   r`   rx   ry   ru   
from_bytesosurandomrz   r{   )r   r:   r`   rx   ry   rz   r{   r   r   r   r      s    $z CreateForumTopicRequest.__init__c                    s>   | || jI d H | _| jr:||| jI d H | _d S r>   )r@   rA   r:   r{   get_input_peerrB   r   r   r   rE      s    zCreateForumTopicRequest.resolvec              	   C   sL   dt | jtr| j n| j| j| j| j| jt | jtrB| j n| jdS )Nrv   )r   r:   r`   rx   ry   rz   r{   )	rH   r:   r   r    r`   rx   ry   rz   r{   r   r   r   r   r       s    zCreateForumTopicRequest.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B | jd ksV| jdkrZdndB | j | | j	| jd ks| jdkrdntd	| j| jd ks| jdkrdntd
| jtd
| j
| jd ks| jdkrdn| j fS )Nr!   s   $r"   Fr   r#   rj   rl   rn   <q)r$   r%   r&   rx   ry   r{   r:   r(   r'   r`   rz   r   r   r   r   r(      s    Z
$$ zCreateForumTopicRequest._bytesc           	      C   sv   |  }| }| }|d@ r*|  }nd }|d@ r@| }nd }| }|d@ r^| }nd }| ||||||dS )Nr#   rj   rl   rw   )r)   rL   r*   	read_long)	r+   r,   r-   rN   rr   Z_icon_color_icon_emoji_idZ
_random_idZ_send_asr   r   r   r/      s    


z#CreateForumTopicRequest.from_reader)NNNN)r0   r1   r2   r3   r4   r5   r   ru   r   rE   r    r(   r6   r/   r   r   r   r   rv      s   &rv   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 )DeactivateAllUsernamesRequesti]$
r8   r   rS   c                 C   s
   || _ dS r<   rS   rV   r   r   r   r      s    z&DeactivateAllUsernamesRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z%DeactivateAllUsernamesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rW   rX   r   r   r   r   r      s    z%DeactivateAllUsernamesRequest.to_dictc                 C   s   d d| j fS )Nr!   s   ]$
rY   r   r   r   r   r(   
  s    z$DeactivateAllUsernamesRequest._bytesc                 C   s   |  }| |dS rZ   r[   r\   r   r   r   r/     s    z)DeactivateAllUsernamesRequest.from_readerNr]   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 )DeleteChannelRequestl   "  rR   r   rS   c                 C   s
   || _ dS rT   rS   rV   r   r   r   r     s    zDeleteChannelRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE      s    zDeleteChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rW   rX   r   r   r   r   r    #  s    zDeleteChannelRequest.to_dictc                 C   s   d d| j fS )Nr!   s   rY   r   r   r   r   r(   )  s    zDeleteChannelRequest._bytesc                 C   s   |  }| |dS rZ   r[   r\   r   r   r   r/   /  s    z DeleteChannelRequest.from_readerNr]   r   r   r   r   r     s   r   c                   @   sP   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 )DeleteHistoryRequestl   GU7 rR   Nr   r:   max_idfor_everyonec                 C   s   || _ || _|| _dS rT   r   )r   r:   r   r   r   r   r   r   9  s    zDeleteHistoryRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   A  s    zDeleteHistoryRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr   )r   r:   r   r   )rH   r:   r   r    r   r   r   r   r   r   r    D  s
    zDeleteHistoryRequest.to_dictc              	   C   sB   d dtd| jd ks | jdkr$dnd| j td| jfS )Nr!   s   Gr"   Fr   r#   rn   )r$   r%   r&   r   r:   r(   r   r   r   r   r   r(   L  s    "zDeleteHistoryRequest._bytesc                 C   s2   |  }t|d@ }| }|  }| |||dS )Nr#   r   r)   rp   rL   )r+   r,   r-   Z_for_everyonerN   _max_idr   r   r   r/   T  s
    z DeleteHistoryRequest.from_reader)Nr0   r1   r2   r3   r4   ru   r   rp   r   rE   r    r(   r6   r/   r   r   r   r   r   5  s   r   c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )DeleteMessagesRequestl   N}	 l   n@ r   r:   idc                 C   s   || _ || _dS )zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        Nr   r   r:   r   r   r   r   r   b  s    zDeleteMessagesRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   i  s    zDeleteMessagesRequest.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:   r   rH   r:   r   r    r   r   r   r   r   r    l  s    zDeleteMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr!   s   N   ĵrn   c                 s   s   | ]}t d |V  qdS rn   Nr%   r&   .0xr   r   r   	<genexpr>w  s     z/DeleteMessagesRequest._bytes.<locals>.<genexpr>r$   r:   r(   r%   r&   lenr   r   r   r   r   r(   s  s      zDeleteMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS Nr   rL   r)   rangeappendr+   r,   rN   _idr   _xr   r   r   r/   z  s    z!DeleteMessagesRequest.from_readerNr0   r1   r2   r3   r4   r   ru   r   rE   r    r(   r6   r/   r   r   r   r   r   ^  s   r   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 )DeleteParticipantHistoryRequestiDu6I,r   r   r:   participantc                 C   s   || _ || _dS zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        Nr   r   r:   r   r   r   r   r     s    z(DeleteParticipantHistoryRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r>   r@   rA   r:   r   r   rB   r   r   r   rE     s    z'DeleteParticipantHistoryRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr   r   r:   r   rH   r:   r   r    r   r   r   r   r   r      s    z'DeleteParticipantHistoryRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   Du6r$   r:   r(   r   r   r   r   r   r(     s
    z&DeleteParticipantHistoryRequest._bytesc                 C   s   |  }|  }| ||dS Nr   r[   r+   r,   rN   _participantr   r   r   r/     s    z+DeleteParticipantHistoryRequest.from_readerNr]   r   r   r   r   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteTopicHistoryRequesti-_C4r   r   r:   
top_msg_idc                 C   s   || _ || _dS r   r   )r   r:   r   r   r   r   r     s    z"DeleteTopicHistoryRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z!DeleteTopicHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r:   r   )rH   r:   r   r    r   r   r   r   r   r      s    z!DeleteTopicHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr!   s   -_C4rn   )r$   r:   r(   r%   r&   r   r   r   r   r   r(     s
    z DeleteTopicHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr   rL   r)   )r+   r,   rN   Z_top_msg_idr   r   r   r/     s    z%DeleteTopicHistoryRequest.from_readerNr0   r1   r2   r3   r4   ru   r   rE   r    r(   r6   r/   r   r   r   r   r     s   r   c                   @   sL   e Zd ZdZdZdddedddZd	d
 Zdd Zdd Z	e
dd ZdS )EditAdminRequestl   	y& rR   r   r   r   r:   user_idadmin_rightsrankc                 C   s   || _ || _|| _|| _dS rT   r   )r   r:   r   r   r   r   r   r   r     s    zEditAdminRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r>   r@   rA   r:   get_input_userr   rB   r   r   r   rE     s    zEditAdminRequest.resolvec                 C   sZ   dt | jtr| j n| jt | jtr2| j n| jt | jtrL| j n| j| jdS )Nr   )r   r:   r   r   r   )rH   r:   r   r    r   r   r   r   r   r   r   r      s    zEditAdminRequest.to_dictc              	   C   s.   d d| j | j | j | | jfS )Nr!   s   <)r$   r:   r(   r   r   r'   r   r   r   r   r   r(     s    
zEditAdminRequest._bytesc                 C   s0   |  }|  }|  }| }| ||||dS )Nr   rK   )r+   r,   rN   _user_idZ_admin_rightsZ_rankr   r   r   r/     s
    zEditAdminRequest.from_readerNrP   r   r   r   r   r     s   			r   c                   @   sJ   e Zd ZdZdZddddddZd	d
 Zdd Zdd Ze	dd Z
dS )EditBannedRequestl   M- rR   r   r   r   r:   r   banned_rightsc                 C   s   || _ || _|| _dS rT   r   )r   r:   r   r   r   r   r   r     s    zEditBannedRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r>   r   rB   r   r   r   rE     s    zEditBannedRequest.resolvec                 C   sV   dt | jtr| j n| jt | jtr2| j n| jt | jtrL| j n| jdS )Nr   )r   r:   r   r   )rH   r:   r   r    r   r   r   r   r   r   r    	  s
    zEditBannedRequest.to_dictc                 C   s$   d d| j | j | j fS )Nr!   s   )r$   r:   r(   r   r   r   r   r   r   r(     s    zEditBannedRequest._bytesc                 C   s&   |  }|  }|  }| |||dS )Nr   r[   )r+   r,   rN   r   Z_banned_rightsr   r   r   r/     s    zEditBannedRequest.from_readerNr]   r   r   r   r   r     s   r   c                   @   sJ   e Zd ZdZdZddddddZd	d
 Zdd Zdd Ze	dd Z
dS )EditCreatorRequestl   Mq rR   r   r   r   r:   r   passwordc                 C   s   || _ || _|| _dS rT   r   )r   r:   r   r   r   r   r   r   %  s    zEditCreatorRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r>   r   rB   r   r   r   rE   -  s    zEditCreatorRequest.resolvec                 C   sV   dt | jtr| j n| jt | jtr2| j n| jt | jtrL| j n| jdS )Nr   )r   r:   r   r   )rH   r:   r   r    r   r   r   r   r   r   r    1  s
    zEditCreatorRequest.to_dictc                 C   s$   d d| j | j | j fS )Nr!   s   8)r$   r:   r(   r   r   r   r   r   r   r(   9  s    zEditCreatorRequest._bytesc                 C   s&   |  }|  }|  }| |||dS )Nr   r[   )r+   r,   rN   r   Z	_passwordr   r   r   r/   A  s    zEditCreatorRequest.from_readerNr]   r   r   r   r   r   !  s   r   c                   @   sb   e Zd ZdZdZddeee ee ee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )EditForumTopicRequestl   !i rR   Nr   r:   topic_idr`   ry   closedhiddenc                 C   s(   || _ || _|| _|| _|| _|| _dS rT   r   )r   r:   r   r`   ry   r   r   r   r   r   r   M  s    zEditForumTopicRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   X  s    zEditForumTopicRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nr   )r   r:   r   r`   ry   r   r   )	rH   r:   r   r    r   r`   ry   r   r   r   r   r   r   r    [  s    zEditForumTopicRequest.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B | jd krPdndB | jd krbdnd	B | j td
| j	| jd ks| jdkrdn
| 
| j| jd ks| jdkrdntd| j| jd krdn| jrdnd| jd krdn| jrdndfS )Nr!   s   r"   Fr   r#   ri   rl   rj   rn   r      ur   7y)r$   r%   r&   r`   ry   r   r   r:   r(   r   r'   r   r   r   r   r(   f  s    b"$zEditForumTopicRequest._bytesc           	      C   s   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|d@ rV| }nd }|d@ rl| }nd }| ||||||dS )Nr#   ri   rl   rj   r   )r)   rL   r*   r   tgread_bool)	r+   r,   r-   rN   	_topic_idrr   r   _closedZ_hiddenr   r   r   r/   r  s     



z!EditForumTopicRequest.from_reader)NNNN)r0   r1   r2   r3   r4   ru   r   r5   rp   r   rE   r    r(   r6   r/   r   r   r   r   r   I  s   *r   c                   @   sJ   e Zd ZdZdZddedddZdd	 Zd
d Zdd Z	e
dd ZdS )EditLocationRequestim?Xr8   r   r   r:   rf   rg   c                 C   s   || _ || _|| _dS r<   r   )r   r:   rf   rg   r   r   r   r     s    zEditLocationRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zEditLocationRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr   )r   r:   rf   rg   )rH   r:   r   r    rf   rg   r   r   r   r   r      s
    zEditLocationRequest.to_dictc                 C   s&   d d| j | j | | jfS )Nr!   s   m?X)r$   r:   r(   rf   r'   rg   r   r   r   r   r(     s    
zEditLocationRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr   rK   )r+   r,   rN   rs   rt   r   r   r   r/     s    zEditLocationRequest.from_readerNrP   r   r   r   r   r     s   r   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 )EditPhotoRequestl   W\b rR   r   r   r:   photoc                 C   s   || _ || _dS rT   r   )r   r:   r   r   r   r   r     s    zEditPhotoRequest.__init__c                    s,   | || jI d H | _|| j| _d S r>   )r@   rA   r:   Zget_input_chat_photor   rB   r   r   r   rE     s    zEditPhotoRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr   )r   r:   r   )rH   r:   r   r    r   r   r   r   r   r      s    zEditPhotoRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   W.)r$   r:   r(   r   r   r   r   r   r(     s
    zEditPhotoRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   r[   )r+   r,   rN   Z_photor   r   r   r/     s    zEditPhotoRequest.from_readerNr]   r   r   r   r   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )EditTitleRequestimVrR   r   r:   r`   c                 C   s   || _ || _dS rT   r   )r   r:   r`   r   r   r   r     s    zEditTitleRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zEditTitleRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r:   r`   )rH   r:   r   r    r`   r   r   r   r   r      s    zEditTitleRequest.to_dictc                 C   s   d d| j | | jfS )Nr!   s   mV)r$   r:   r(   r'   r`   r   r   r   r   r(     s
    
zEditTitleRequest._bytesc                 C   s   |  }| }| ||dS )Nr   rK   )r+   r,   rN   rr   r   r   r   r/     s    zEditTitleRequest.from_readerNrP   r   r   r   r   r     s   r   c                   @   sV   e Zd ZdZdZddeee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )ExportMessageLinkRequestl   -L l   D= Nr   r:   r   groupedthreadc                 C   s   || _ || _|| _|| _dS )zP
        :returns ExportedMessageLink: Instance of ExportedMessageLink.
        Nr   )r   r:   r   r   r   r   r   r   r     s    z!ExportMessageLinkRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z ExportMessageLinkRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr   )r   r:   r   r   r   )rH   r:   r   r    r   r   r   r   r   r   r   r    	  s    z ExportMessageLinkRequest.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B | j td| jfS )	Nr!   s   ?r"   Fr   r#   ri   rn   )r$   r%   r&   r   r   r:   r(   r   r   r   r   r   r(     s    >zExportMessageLinkRequest._bytesc                 C   s@   |  }t|d@ }t|d@ }| }|  }| ||||dS )Nr#   ri   r   r   )r+   r,   r-   Z_grouped_threadrN   r   r   r   r   r/     s    z$ExportMessageLinkRequest.from_reader)NNr   r   r   r   r   r     s   		r   c                
   @   s`   e Zd ZdZdZddeeeeed eed  ddd	Z	d
d Z
dd Zdd Zedd ZdS )GetAdminLogRequesti3ivQNr   r
   r   r:   qr   min_idlimitevents_filteradminsc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zQ
        :returns channels.AdminLogResults: Instance of AdminLogResults.
        Nr   )r   r:   r   r   r   r   r   r   r   r   r   r   )  s    zGetAdminLogRequest.__init__c                    sV   | || jI d H | _| jrRg }| jD ] }||||I d H  q*|| _d S r>   )r@   rA   r:   r   r   r   r   rC   rD   Z_tmpr   r   r   r   rE   5  s    
zGetAdminLogRequest.resolvec              	   C   sh   dt | jtr| j n| j| j| j| j| jt | jtrB| j n| j| j	d krTg ndd | j	D dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   rH   r   r    r   r   r   r   
<listcomp>G  s     z.GetAdminLogRequest.to_dict.<locals>.<listcomp>)r   r:   r   r   r   r   r   r   )
rH   r:   r   r    r   r   r   r   r   r   r   r   r   r   r    >  s    zGetAdminLogRequest.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B | j | | j| jd ksj| jdkrndn| j | jd ks| jdkrdn.d dtd	t	| jd d
d | jD ftd| j
td| jtd	| jf	S )Nr!   s   3r"   Fr   r#   ri   r   rn   c                 s   s   | ]}|  V  qd S r>   r(   r   r   r   r   r   Q  s     z,GetAdminLogRequest._bytes.<locals>.<genexpr>r   )r$   r%   r&   r   r   r:   r(   r'   r   r   r   r   r   r   r   r   r   r(   J  s    >
 FzGetAdminLogRequest._bytesc              	   C   s   |  }| }| }|d@ r*| }nd }|d@ rh|   g }t|  D ]}| }|| qNnd }| }	| }
|  }| |||	|
|||dS )Nr#   ri   r   )r)   rL   r*   r   r   r   )r+   r,   r-   rN   _qZ_events_filterZ_adminsr   r   r   Z_min_id_limitr   r   r   r/   W  s"    
zGetAdminLogRequest.from_reader)NN)r0   r1   r2   r3   r4   r5   ru   r   r   r   rE   r    r(   r6   r/   r   r   r   r   r   %  s   (	r   c                   @   sP   e Zd ZdZdZdee ee ee dddZdd Zd	d
 Z	e
dd ZdS )GetAdminedPublicChannelsRequestl   6`q    K3 Nby_locationcheck_limitfor_personalc                 C   s   || _ || _|| _dS zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        Nr   )r   r   r   r   r   r   r   r   t  s    z(GetAdminedPublicChannelsRequest.__init__c                 C   s   d| j | j| jdS )Nr   )r   r   r   r   r   r   r   r   r   r    |  s
    z'GetAdminedPublicChannelsRequest.to_dictc              	   C   sf   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B | jd ksV| jdkrZdndB fS )	Nr!   s   6r"   Fr   r#   ri   rl   )r$   r%   r&   r   r   r   r   r   r   r   r(     s    Zz&GetAdminedPublicChannelsRequest._bytesc                 C   s:   |  }t|d@ }t|d@ }t|d@ }| |||dS )Nr#   ri   rl   r   )r)   rp   )r+   r,   r-   Z_by_locationZ_check_limitZ_for_personalr   r   r   r/     s
    z+GetAdminedPublicChannelsRequest.from_reader)NNN)r0   r1   r2   r3   r4   r   rp   r   r    r(   r6   r/   r   r   r   r   r   p  s    r   c                   @   sL   e Zd ZdZdZded dddZdd	 Zd
d Zdd Z	e
dd ZdS ) GetChannelRecommendationsRequestiB%r   Nr   rS   c                 C   s
   || _ dS r   rS   rV   r   r   r   r     s    z)GetChannelRecommendationsRequest.__init__c                    s$   | j r ||| j I d H | _ d S r>   )r:   r@   rA   rB   r   r   r   rE     s    z(GetChannelRecommendationsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rW   rX   r   r   r   r   r      s    z(GetChannelRecommendationsRequest.to_dictc                 C   sN   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| j fS )Nr!   s   B%r"   Fr   r#   )r$   r%   r&   r:   r(   r   r   r   r   r(     s
    " z'GetChannelRecommendationsRequest._bytesc                 C   s(   |  }|d@ r| }nd }| |dS )Nr#   rS   )r)   rL   )r+   r,   r-   rN   r   r   r   r/     s
    
z,GetChannelRecommendationsRequest.from_reader)N)r0   r1   r2   r3   r4   r   r   rE   r    r(   r6   r/   r   r   r   r   r     s   r   c                   @   sJ   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd ZdS )GetChannelsRequestik
r   r   r   c                 C   s
   || _ dS r   r   )r   r   r   r   r   r     s    zGetChannelsRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r>   )r   r   r@   rA   r   r   r   r   rE     s    
zGetChannelsRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   r   r   r   r   r   r     s     z.GetChannelsRequest.to_dict.<locals>.<listcomp>)r   r   r   r   r   r   r   r      s    zGetChannelsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr!   s   k
r   rn   c                 s   s   | ]}|  V  qd S r>   r   r   r   r   r   r     s     z,GetChannelsRequest._bytes.<locals>.<genexpr>)r$   r%   r&   r   r   r   r   r   r   r(     s      zGetChannelsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr   )r)   r   rL   r   )r+   r,   r   r   r   r   r   r   r/     s    zGetChannelsRequest.from_readerNr0   r1   r2   r3   r4   r   r   rE   r    r(   r6   r/   r   r   r   r   r     s   r   c                   @   sZ   e Zd ZdZdZddee eeeee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetForumTopicsRequesti`   >: Nr   r:   offset_date	offset_idoffset_topicr   r   c                 C   s(   || _ || _|| _|| _|| _|| _dS zI
        :returns messages.ForumTopics: Instance of ForumTopics.
        Nr   )r   r:   r   r   r   r   r   r   r   r   r     s    zGetForumTopicsRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zGetForumTopicsRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nr   )r   r:   r   r   r   r   r   )	rH   r:   r   r    r   r   r   r   r   r   r   r   r   r      s    zGetForumTopicsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn
| | j| | jtd| j	td| j
td| jfS )Nr!   s   `r"   Fr   r#   rn   )r$   r%   r&   r   r:   r(   r'   Zserialize_datetimer   r   r   r   r   r   r   r   r(     s    ""
zGetForumTopicsRequest._bytesc           	      C   sZ   |  }| }|d@ r"| }nd }| }|  }|  }|  }| ||||||dS )Nr#   r   )r)   rL   r*   Ztgread_date)	r+   r,   r-   rN   r   Z_offset_date
_offset_idZ_offset_topicr   r   r   r   r/     s    
z!GetForumTopicsRequest.from_reader)N)r0   r1   r2   r3   r4   r   r	   ru   r5   r   rE   r    r(   r6   r/   r   r   r   r   r     s   "r   c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetForumTopicsByIDRequestl   a r   r   r:   topicsc                 C   s   || _ || _dS r   r   )r   r:   r   r   r   r   r     s    z"GetForumTopicsByIDRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   &  s    z!GetForumTopicsByIDRequest.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:   r   )rH   r:   r   r    r   r   r   r   r   r    )  s    z!GetForumTopicsByIDRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr!   s   r   rn   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r   r   4  s     z3GetForumTopicsByIDRequest._bytes.<locals>.<genexpr>)r$   r:   r(   r%   r&   r   r   r   r   r   r   r(   0  s      z GetForumTopicsByIDRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )Nr   r   )r+   r,   rN   Z_topicsr   r   r   r   r   r/   7  s    z%GetForumTopicsByIDRequest.from_readerNr   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 )GetFullChannelRequesti	jsi	QZ"r   rS   c                 C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        NrS   rV   r   r   r   r   G  s    zGetFullChannelRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   M  s    zGetFullChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rW   rX   r   r   r   r   r    P  s    zGetFullChannelRequest.to_dictc                 C   s   d d| j fS )Nr!   s   	jsrY   r   r   r   r   r(   V  s    zGetFullChannelRequest._bytesc                 C   s   |  }| |dS rZ   r[   r\   r   r   r   r/   \  s    z!GetFullChannelRequest.from_readerNr]   r   r   r   r   r   C  s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetGroupsForDiscussionRequestl   xSk r   c                 C   s   ddiS )Nr   r   r   r   r   r   r   r    f  s     z%GetGroupsForDiscussionRequest.to_dictc                 C   s
   d dS )Nr!   )s   xr$   r   r   r   r   r(   k  s    z$GetGroupsForDiscussionRequest._bytesc                 C   s   |  S r>   r   r+   r,   r   r   r   r/   p  s    z)GetGroupsForDiscussionRequest.from_readerN	r0   r1   r2   r3   r4   r    r(   r6   r/   r   r   r   r   r   b  s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetInactiveChannelsRequesti1l   W c                 C   s   ddiS )Nr   r  r   r   r   r   r   r    y  s     z"GetInactiveChannelsRequest.to_dictc                 C   s
   d dS )Nr!   )s   1r  r   r   r   r   r(   ~  s    z!GetInactiveChannelsRequest._bytesc                 C   s   |  S r>   r   r  r   r   r   r/     s    z&GetInactiveChannelsRequest.from_readerNr  r   r   r   r   r  u  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetLeftChannelsRequestl   l r   offsetc                 C   s
   || _ dS r   r  )r   r  r   r   r   r     s    zGetLeftChannelsRequest.__init__c                 C   s   d| j dS )Nr  )r   r  r  r   r   r   r   r      s    zGetLeftChannelsRequest.to_dictc                 C   s   d dtd| jfS )Nr!   s   Arn   )r$   r%   r&   r  r   r   r   r   r(     s    zGetLeftChannelsRequest._bytesc                 C   s   |  }| |dS )Nr  )r)   )r+   r,   _offsetr   r   r   r/     s    z"GetLeftChannelsRequest.from_readerN)r0   r1   r2   r3   r4   ru   r   r    r(   r6   r/   r   r   r   r   r    s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetMessageAuthorRequestl    Y iwy-r   r   c                 C   s   || _ || _dS )zD
        :returns User: Instance of either UserEmpty, User.
        Nr   r   r   r   r   r     s    z GetMessageAuthorRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zGetMessageAuthorRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr	  r   r   r   r   r   r   r      s    zGetMessageAuthorRequest.to_dictc                 C   s    d d| j td| jfS )Nr!   s   r"   )r$   r:   r(   r%   r&   r   r   r   r   r   r(     s
    zGetMessageAuthorRequest._bytesc                 C   s    |  }|jdd}| ||dS )NFr}   r   r   )r+   r,   rN   r   r   r   r   r/     s    z#GetMessageAuthorRequest.from_readerNr   r   r   r   r   r	    s   r	  c                   @   sL   e Zd ZdZdZded dddZdd	 Zd
d Zdd Z	e
dd ZdS )GetMessagesRequestl   #[    ^h) r   r   r   c                 C   s   || _ || _dS z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        Nr   r   r   r   r   r     s    zGetMessagesRequest.__init__c                    sD   | || jI d H | _g }| jD ]}||| q$|| _d S r>   )r@   rA   r:   r   r   Zget_input_messager   r   r   r   rE     s
    
zGetMessagesRequest.resolvec                 C   s>   dt | jtr| j n| j| jd kr*g ndd | jD dS )Nr
  c                 S   s"   g | ]}t |tr| n|qS r   r   r   r   r   r   r     s     z.GetMessagesRequest.to_dict.<locals>.<listcomp>r   r   r   r   r   r   r      s    zGetMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr!   s   #r   rn   c                 s   s   | ]}|  V  qd S r>   r   r   r   r   r   r     s     z,GetMessagesRequest._bytes.<locals>.<genexpr>r   r   r   r   r   r(     s      zGetMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}|  }|| q | ||dS r   r   r   r   r   r   r/     s    zGetMessagesRequest.from_readerNr   r   r   r   r   r
    s   r
  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 )GetParticipantRequestl   lVA iXfr   r   r   c                 C   s   || _ || _dS )zW
        :returns channels.ChannelParticipant: Instance of ChannelParticipant.
        Nr   r   r   r   r   r     s    zGetParticipantRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r>   r   rB   r   r   r   rE     s    zGetParticipantRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  r   r   r   r   r   r   r      s    zGetParticipantRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   lr   r   r   r   r   r(   
  s
    zGetParticipantRequest._bytesc                 C   s   |  }|  }| ||dS r   r[   r   r   r   r   r/     s    z!GetParticipantRequest.from_readerNr]   r   r   r   r   r    s   r  c                   @   sN   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 )GetParticipantsRequestiwl   dnL r   r   r:   filterr  r   hashc                 C   s"   || _ || _|| _|| _|| _dS )z
        :returns channels.ChannelParticipants: Instance of either ChannelParticipants, ChannelParticipantsNotModified.
        Nr  )r   r:   r  r  r   r  r   r   r   r     s
    zGetParticipantsRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   &  s    zGetParticipantsRequest.resolvec                 C   sH   dt | jtr| j n| jt | jtr2| j n| j| j| j| jdS )Nr  )r   r:   r  r  r   r  )rH   r:   r   r    r  r  r   r  r   r   r   r   r    )  s    zGetParticipantsRequest.to_dictc                 C   s@   d d| j | j td| jtd| jtd| jfS )Nr!   s   wrn   r   )	r$   r:   r(   r  r%   r&   r  r   r  r   r   r   r   r(   3  s    zGetParticipantsRequest._bytesc                 C   s:   |  }|  }| }| }| }| |||||dS )Nr  )rL   r)   r   )r+   r,   rN   Z_filterr  r   _hashr   r   r   r/   =  s    z"GetParticipantsRequest.from_readerNr   r   r   r   r   r    s   


r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )GetSendAsRequestl   ?$O i!8Nr   peerfor_paid_reactionsc                 C   s   || _ || _dS )zI
        :returns channels.SendAsPeers: Instance of SendAsPeers.
        Nr  )r   r  r  r   r   r   r   K  s    zGetSendAsRequest.__init__c                    s   | || jI d H | _d S r>   )r   rA   r  rB   r   r   r   rE   R  s    zGetSendAsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r   r  r  )rH   r  r   r    r  r   r   r   r   r    U  s    zGetSendAsRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr!   s   ?r"   Fr   r#   )r$   r%   r&   r  r  r(   r   r   r   r   r(   \  s
    "zGetSendAsRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nr#   r  r   )r+   r,   r-   Z_for_paid_reactionsZ_peerr   r   r   r/   c  s    zGetSendAsRequest.from_reader)Nr0   r1   r2   r3   r4   r   rp   r   rE   r    r(   r6   r/   r   r   r   r   r  G  s   r  c                   @   sL   e Zd ZdZdZded dddZdd	 Zd
d Zdd Z	e
dd ZdS )InviteToChannelRequestl   T= i=r   r   r:   usersc                 C   s   || _ || _dS )zK
        :returns messages.InvitedUsers: Instance of InvitedUsers.
        Nr  )r   r:   r  r   r   r   r   p  s    zInviteToChannelRequest.__init__c                    sP   | || jI d H | _g }| jD ] }||||I d H  q$|| _d S r>   )r@   rA   r:   r  r   r   r   r   r   r   rE   w  s
    
zInviteToChannelRequest.resolvec                 C   s>   dt | jtr| j n| j| jd kr*g ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r   r   r   r   r   r   r     s     z2InviteToChannelRequest.to_dict.<locals>.<listcomp>)r   r:   r  )rH   r:   r   r    r  r   r   r   r   r      s    zInviteToChannelRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr!   s   T=r   rn   c                 s   s   | ]}|  V  qd S r>   r   r   r   r   r   r     s     z0InviteToChannelRequest._bytes.<locals>.<genexpr>)r$   r:   r(   r%   r&   r   r  r   r   r   r   r(     s      zInviteToChannelRequest._bytesc                 C   sD   |  }|  g }t| D ]}|  }|| q | ||dS )Nr  r   )r+   r,   rN   Z_usersr   r   r   r   r   r/     s    z"InviteToChannelRequest.from_readerNr   r   r   r   r   r  l  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 )JoinChannelRequesti$$rR   r   rS   c                 C   s
   || _ dS rT   rS   rV   r   r   r   r     s    zJoinChannelRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zJoinChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  rW   rX   r   r   r   r   r      s    zJoinChannelRequest.to_dictc                 C   s   d d| j fS )Nr!   s   $$rY   r   r   r   r   r(     s    zJoinChannelRequest._bytesc                 C   s   |  }| |dS rZ   r[   r\   r   r   r   r/     s    zJoinChannelRequest.from_readerNr]   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 )LeaveChannelRequestl   *mp rR   r   rS   c                 C   s
   || _ dS rT   rS   rV   r   r   r   r     s    zLeaveChannelRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zLeaveChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  rW   rX   r   r   r   r   r      s    zLeaveChannelRequest.to_dictc                 C   s   d d| j fS )Nr!   s   6rY   r   r   r   r   r(     s    zLeaveChannelRequest._bytesc                 C   s   |  }| |dS rZ   r[   r\   r   r   r   r/     s    zLeaveChannelRequest.from_readerNr]   r   r   r   r   r    s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadHistoryRequestl   7I  r8   r   r:   r   c                 C   s   || _ || _dS r<   r  )r   r:   r   r   r   r   r     s    zReadHistoryRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zReadHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r   r:   r   )rH   r:   r   r    r   r   r   r   r   r      s    zReadHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr!   s   7Irn   )r$   r:   r(   r%   r&   r   r   r   r   r   r(     s
    zReadHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )r+   r,   rN   r   r   r   r   r/     s    zReadHistoryRequest.from_readerNr   r   r   r   r   r    s   r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )ReadMessageContentsRequestl   8\kU r8   r   r   c                 C   s   || _ || _dS r<   r   r   r   r   r   r     s    z#ReadMessageContentsRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z"ReadMessageContentsRequest.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   r   r   r   r   r      s    z"ReadMessageContentsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr!   s   8ܵr   rn   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r   r     s     z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>r   r   r   r   r   r(     s      z!ReadMessageContentsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r   r   r   r   r   r   r/     s    z&ReadMessageContentsRequest.from_readerNr   r   r   r   r   r    s   r  c                   @   sT   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 )ReorderPinnedForumTopicsRequestiP)rR   Nr   r:   orderforcec                 C   s   || _ || _|| _dS rT   r!  )r   r:   r"  r#  r   r   r   r   &  s    z(ReorderPinnedForumTopicsRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   .  s    z'ReorderPinnedForumTopicsRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )Nr   )r   r:   r"  r#  )rH   r:   r   r    r"  r#  r   r   r   r   r    1  s
    z'ReorderPinnedForumTopicsRequest.to_dictc                 C   s\   d dtd| jd ks | jdkr$dnd| j dtdt| jd d	d
 | jD fS )Nr!   s   P)r"   Fr   r#   r   rn   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r   r   >  s     z9ReorderPinnedForumTopicsRequest._bytes.<locals>.<genexpr>)r$   r%   r&   r#  r:   r(   r   r"  r   r   r   r   r(   9  s    "  z&ReorderPinnedForumTopicsRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nr#   r!  )r)   rp   rL   r   r   )r+   r,   r-   Z_forcerN   _orderr   r   r   r   r   r/   A  s    z+ReorderPinnedForumTopicsRequest.from_reader)N)r0   r1   r2   r3   r4   r   ru   r   rp   r   rE   r    r(   r6   r/   r   r   r   r   r   "  s   r   c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )ReorderUsernamesRequestl   mh r8   r   r:   r"  c                 C   s   || _ || _dS r<   r&  )r   r:   r"  r   r   r   r   T  s    z ReorderUsernamesRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   [  s    zReorderUsernamesRequest.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:   r"  )rH   r:   r   r    r"  r   r   r   r   r    ^  s    zReorderUsernamesRequest.to_dictc                    s>   d d j dtdt jd  fdd jD fS )Nr!   s   \r   rn   c                 3   s   | ]}  |V  qd S r>   )r'   r   r   r   r   r   i  s     z1ReorderUsernamesRequest._bytes.<locals>.<genexpr>)r$   r:   r(   r%   r&   r   r"  r   r   r   r   r(   e  s      zReorderUsernamesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )Nr&  )rL   r)   r   r*   r   )r+   r,   rN   r$  r   r   r   r   r   r/   l  s    z#ReorderUsernamesRequest.from_readerN)r0   r1   r2   r3   r4   r   r5   r   rE   r    r(   r6   r/   r   r   r   r   r%  P  s   r%  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )"ReportAntiSpamFalsePositiveRequestl   &P r8   r   r:   msg_idc                 C   s   || _ || _dS r<   r(  )r   r:   r)  r   r   r   r   |  s    z+ReportAntiSpamFalsePositiveRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z*ReportAntiSpamFalsePositiveRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr'  )r   r:   r)  )rH   r:   r   r    r)  r   r   r   r   r      s    z*ReportAntiSpamFalsePositiveRequest.to_dictc                 C   s    d d| j td| jfS )Nr!   s   Prn   )r$   r:   r(   r%   r&   r)  r   r   r   r   r(     s
    z)ReportAntiSpamFalsePositiveRequest._bytesc                 C   s   |  }| }| ||dS )Nr(  r   )r+   r,   rN   Z_msg_idr   r   r   r/     s    z.ReportAntiSpamFalsePositiveRequest.from_readerNr   r   r   r   r   r'  x  s   r'  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ReportSpamRequestl   h r8   r   r   r:   r   r   c                 C   s   || _ || _|| _dS r<   r+  )r   r:   r   r   r   r   r   r     s    zReportSpamRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r>   r   rB   r   r   r   rE     s    zReportSpamRequest.resolvec                 C   sV   dt | jtr| j n| jt | jtr2| j n| j| jd krDg n| jd d  dS )Nr*  )r   r:   r   r   )rH   r:   r   r    r   r   r   r   r   r   r      s
    zReportSpamRequest.to_dictc                 C   sB   d d| j | j dtdt| jd dd | jD fS )Nr!   s   Jr   rn   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r   r     s     z+ReportSpamRequest._bytes.<locals>.<genexpr>)r$   r:   r(   r   r%   r&   r   r   r   r   r   r   r(     s      zReportSpamRequest._bytesc                 C   sN   |  }|  }|  g }t| D ]}| }|| q(| |||dS )Nr+  r   )r+   r,   rN   r   r   r   r   r   r   r   r/     s    zReportSpamRequest.from_readerNr   r   r   r   r   r*    s   r*  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS ) RestrictSponsoredMessagesRequestl   5 rR   r   r:   
restrictedc                 C   s   || _ || _dS rT   r-  )r   r:   r.  r   r   r   r     s    z)RestrictSponsoredMessagesRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z(RestrictSponsoredMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr,  )r   r:   r.  )rH   r:   r   r    r.  r   r   r   r   r      s    z(RestrictSponsoredMessagesRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   r   r   )r$   r:   r(   r.  r   r   r   r   r(     s
    z'RestrictSponsoredMessagesRequest._bytesc                 C   s   |  }| }| ||dS )Nr-  rL   r   )r+   r,   rN   Z_restrictedr   r   r   r/     s    z,RestrictSponsoredMessagesRequest.from_readerNr0   r1   r2   r3   r4   rp   r   rE   r    r(   r6   r/   r   r   r   r   r,    s   r,  c                	   @   s`   e Zd ZdZdZdedeeee ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )SearchPostsRequestl   Mre r  Nr   offset_rateoffset_peerr   r   hashtagr   allow_paid_starsc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r  r2  )r   r3  r4  r   r   r5  r   r6  r   r   r   r     s    zSearchPostsRequest.__init__c                    s   | || jI d H | _d S r>   )r   rA   r4  rB   r   r   r   rE     s    zSearchPostsRequest.resolvec              	   C   s:   d| j t| jtr| j n| j| j| j| j| j| j	dS )Nr1  )r   r3  r4  r   r   r5  r   r6  )
r3  rH   r4  r   r    r   r   r5  r   r6  r   r   r   r   r      s    zSearchPostsRequest.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B | jd ksV| jdkrZdndB | jd kst| jdkrxdn
| | j| jd ks| jdkrdn
| | jtd	| j| j	 td	| j
td	| j| jd ks| jdkrdntd
| jf	S )Nr!   s   Mr"   Fr   r#   ri   rl   rn   r   )r$   r%   r&   r5  r   r6  r'   r3  r4  r(   r   r   r   r   r   r   r(   
  s    Z""$zSearchPostsRequest._bytesc           
   	   C   s   |  }|d@ r| }nd }|d@ r0| }nd }|  }| }|  }|  }|d@ rf| }	nd }	| |||||||	dS )Nr#   ri   rl   r2  )r)   r*   rL   r   )
r+   r,   r-   Z_hashtagr.   Z_offset_rateZ_offset_peerr   r   Z_allow_paid_starsr   r   r   r/     s    


zSearchPostsRequest.from_reader)NNN)r0   r1   r2   r3   r4   ru   r   r5   r   rE   r    r(   r6   r/   r   r   r   r   r1    s   (r1  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )%SetBoostsToUnblockRestrictionsRequestl   sZ rR   r   r:   boostsc                 C   s   || _ || _dS rT   r8  )r   r:   r9  r   r   r   r   2  s    z.SetBoostsToUnblockRestrictionsRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   9  s    z-SetBoostsToUnblockRestrictionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr7  )r   r:   r9  )rH   r:   r   r    r9  r   r   r   r   r    <  s    z-SetBoostsToUnblockRestrictionsRequest.to_dictc                 C   s    d d| j td| jfS )Nr!   s   9rn   )r$   r:   r(   r%   r&   r9  r   r   r   r   r(   C  s
    z,SetBoostsToUnblockRestrictionsRequest._bytesc                 C   s   |  }| }| ||dS )Nr8  r   )r+   r,   rN   Z_boostsr   r   r   r/   J  s    z1SetBoostsToUnblockRestrictionsRequest.from_readerNr   r   r   r   r   r7  .  s   r7  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 )SetDiscussionGroupRequesti+X@r8   r   rb   groupc                 C   s   || _ || _dS r<   r;  )r   rb   r<  r   r   r   r   U  s    z"SetDiscussionGroupRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r>   )r@   rA   rb   r<  rB   r   r   r   rE   \  s    z!SetDiscussionGroupRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr:  )r   rb   r<  )rH   rb   r   r    r<  r   r   r   r   r    `  s    z!SetDiscussionGroupRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   +X@)r$   rb   r(   r<  r   r   r   r   r(   g  s
    z SetDiscussionGroupRequest._bytesc                 C   s   |  }|  }| ||dS )Nr;  r[   )r+   r,   rq   _groupr   r   r   r/   n  s    z%SetDiscussionGroupRequest.from_readerNr]   r   r   r   r   r:  Q  s   r:  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 )SetEmojiStickersRequesti0<r8   r   r   r:   
stickersetc                 C   s   || _ || _dS r<   r?  r   r:   r@  r   r   r   r   y  s    z SetEmojiStickersRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zSetEmojiStickersRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr>  r   r:   r@  rH   r:   r   r    r@  r   r   r   r   r      s    zSetEmojiStickersRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   0<r$   r:   r(   r@  r   r   r   r   r(     s
    zSetEmojiStickersRequest._bytesc                 C   s   |  }|  }| ||dS Nr?  r[   r+   r,   rN   Z_stickersetr   r   r   r/     s    z#SetEmojiStickersRequest.from_readerNr]   r   r   r   r   r>  u  s   r>  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 )SetStickersRequestl   $U r8   r   r   r?  c                 C   s   || _ || _dS r<   r?  rA  r   r   r   r     s    zSetStickersRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zSetStickersRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )NrG  rB  rC  r   r   r   r   r      s    zSetStickersRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   rD  r   r   r   r   r(     s
    zSetStickersRequest._bytesc                 C   s   |  }|  }| ||dS rE  r[   rF  r   r   r   r/     s    zSetStickersRequest.from_readerNr]   r   r   r   r   rG    s   rG  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleAntiSpamRequestihrR   r   r:   enabledc                 C   s   || _ || _dS rT   rI  r   r:   rJ  r   r   r   r     s    zToggleAntiSpamRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zToggleAntiSpamRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrH  r   r:   rJ  rH   r:   r   r    rJ  r   r   r   r   r      s    zToggleAntiSpamRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   hr   r   r$   r:   r(   rJ  r   r   r   r   r(     s
    zToggleAntiSpamRequest._bytesc                 C   s   |  }| }| ||dS NrI  r/  r+   r,   rN   _enabledr   r   r   r/     s    z!ToggleAntiSpamRequest.from_readerNr0  r   r   r   r   rH    s   rH  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleAutotranslationRequestirR   r   rI  c                 C   s   || _ || _dS rT   rI  rK  r   r   r   r     s    z%ToggleAutotranslationRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z$ToggleAutotranslationRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrR  rL  rM  r   r   r   r   r      s    z$ToggleAutotranslationRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   r   r   rN  r   r   r   r   r(     s
    z#ToggleAutotranslationRequest._bytesc                 C   s   |  }| }| ||dS rO  r/  rP  r   r   r   r/     s    z(ToggleAutotranslationRequest.from_readerNr0  r   r   r   r   rR    s   rR  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleForumRequesti4W?rR   r   r:   rJ  tabsc                 C   s   || _ || _|| _dS rT   rT  )r   r:   rJ  rU  r   r   r   r     s    zToggleForumRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zToggleForumRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrS  )r   r:   rJ  rU  )rH   r:   r   r    rJ  rU  r   r   r   r   r      s
    zToggleForumRequest.to_dictc                 C   s,   d d| j | jrdnd| jr$dndfS )Nr!   s   4W?r   r   )r$   r:   r(   rJ  rU  r   r   r   r   r(     s    zToggleForumRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrT  r/  )r+   r,   rN   rQ  Z_tabsr   r   r   r/      s    zToggleForumRequest.from_readerNr0  r   r   r   r   rS    s   rS  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleJoinRequestRequesti)LrR   r   rI  c                 C   s   || _ || _dS rT   rI  rK  r   r   r   r   ,  s    z!ToggleJoinRequestRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   3  s    z ToggleJoinRequestRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrV  rL  rM  r   r   r   r   r    6  s    z ToggleJoinRequestRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   )Lr   r   rN  r   r   r   r   r(   =  s
    zToggleJoinRequestRequest._bytesc                 C   s   |  }| }| ||dS rO  r/  rP  r   r   r   r/   D  s    z$ToggleJoinRequestRequest.from_readerNr0  r   r   r   r   rV  (  s   rV  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleJoinToSendRequestl   I rR   r   rI  c                 C   s   || _ || _dS rT   rI  rK  r   r   r   r   O  s    z ToggleJoinToSendRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   V  s    zToggleJoinToSendRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrW  rL  rM  r   r   r   r   r    Y  s    zToggleJoinToSendRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   r   r   rN  r   r   r   r   r(   `  s
    zToggleJoinToSendRequest._bytesc                 C   s   |  }| }| ||dS rO  r/  rP  r   r   r   r/   g  s    z#ToggleJoinToSendRequest.from_readerNr0  r   r   r   r   rW  K  s   rW  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleParticipantsHiddenRequestiTxnjrR   r   rI  c                 C   s   || _ || _dS rT   rI  rK  r   r   r   r   r  s    z(ToggleParticipantsHiddenRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   y  s    z'ToggleParticipantsHiddenRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrX  rL  rM  r   r   r   r   r    |  s    z'ToggleParticipantsHiddenRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   Txnjr   r   rN  r   r   r   r   r(     s
    z&ToggleParticipantsHiddenRequest._bytesc                 C   s   |  }| }| ||dS rO  r/  rP  r   r   r   r/     s    z+ToggleParticipantsHiddenRequest.from_readerNr0  r   r   r   r   rX  n  s   rX  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )TogglePreHistoryHiddenRequestl   L9wU rR   r   rI  c                 C   s   || _ || _dS rT   rI  rK  r   r   r   r     s    z&TogglePreHistoryHiddenRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    z%TogglePreHistoryHiddenRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrY  rL  rM  r   r   r   r   r      s    z%TogglePreHistoryHiddenRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   Lr   r   rN  r   r   r   r   r(     s
    z$TogglePreHistoryHiddenRequest._bytesc                 C   s   |  }| }| ||dS rO  r/  rP  r   r   r   r/     s    z)TogglePreHistoryHiddenRequest.from_readerNr0  r   r   r   r   rY    s   rY  c                   @   sT   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 )ToggleSignaturesRequestiTArR   Nr   r:   signatures_enabledprofiles_enabledc                 C   s   || _ || _|| _dS rT   r[  )r   r:   r\  r]  r   r   r   r     s    z ToggleSignaturesRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zToggleSignaturesRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrZ  )r   r:   r\  r]  )rH   r:   r   r    r\  r]  r   r   r   r   r      s
    zToggleSignaturesRequest.to_dictc              	   C   sR   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B | j fS )Nr!   s   TAr"   Fr   r#   ri   )r$   r%   r&   r\  r]  r:   r(   r   r   r   r   r(     s
    >zToggleSignaturesRequest._bytesc                 C   s6   |  }t|d@ }t|d@ }| }| |||dS )Nr#   ri   r[  r   )r+   r,   r-   Z_signatures_enabledZ_profiles_enabledrN   r   r   r   r/     s
    z#ToggleSignaturesRequest.from_reader)NNr  r   r   r   r   rZ    s   rZ  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleSlowModeRequestl   [ rR   r   r:   secondsc                 C   s   || _ || _dS rT   r_  )r   r:   r`  r   r   r   r     s    zToggleSlowModeRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE     s    zToggleSlowModeRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr^  )r   r:   r`  )rH   r:   r   r    r`  r   r   r   r   r      s    zToggleSlowModeRequest.to_dictc                 C   s    d d| j td| jfS )Nr!   s   rn   )r$   r:   r(   r%   r&   r`  r   r   r   r   r(     s
    zToggleSlowModeRequest._bytesc                 C   s   |  }| }| ||dS )Nr_  r   )r+   r,   rN   Z_secondsr   r   r   r/     s    z!ToggleSlowModeRequest.from_readerNr   r   r   r   r   r^    s   r^  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Z	dd Z
edd ZdS )ToggleUsernameRequestiAPr8   r   r:   r;   activec                 C   s   || _ || _|| _dS r<   rb  )r   r:   r;   rc  r   r   r   r   	  s    zToggleUsernameRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   	  s    zToggleUsernameRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nra  )r   r:   r;   rc  )rH   r:   r   r    r;   rc  r   r   r   r   r    	  s
    zToggleUsernameRequest.to_dictc                 C   s*   d d| j | | j| jr"dndfS )Nr!   s   APr   r   )r$   r:   r(   r'   r;   rc  r   r   r   r   r(   	  s    
zToggleUsernameRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nrb  )rL   r*   r   )r+   r,   rN   rO   _activer   r   r   r/   	  s    z!ToggleUsernameRequest.from_readerN)r0   r1   r2   r3   r4   r5   rp   r   rE   r    r(   r6   r/   r   r   r   r   ra    s   ra  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS ) ToggleViewForumAsMessagesRequestl   ;q. rR   r   rI  c                 C   s   || _ || _dS rT   rI  rK  r   r   r   r   *	  s    z)ToggleViewForumAsMessagesRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   1	  s    z(ToggleViewForumAsMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nre  rL  rM  r   r   r   r   r    4	  s    z(ToggleViewForumAsMessagesRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr!   s   8r   r   rN  r   r   r   r   r(   ;	  s
    z'ToggleViewForumAsMessagesRequest._bytesc                 C   s   |  }| }| ||dS rO  r/  rP  r   r   r   r/   B	  s    z,ToggleViewForumAsMessagesRequest.from_readerNr0  r   r   r   r   re  &	  s   re  c                   @   sZ   e Zd ZdZdZddee ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )UpdateColorRequestl   q6T1 rR   Nr   r:   for_profilecolorbackground_emoji_idc                 C   s   || _ || _|| _|| _dS rT   rg  )r   r:   rh  ri  rj  r   r   r   r   M	  s    zUpdateColorRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   V	  s    zUpdateColorRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nrf  )r   r:   rh  ri  rj  )rH   r:   r   r    rh  ri  rj  r   r   r   r   r    Y	  s    zUpdateColorRequest.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B | jd ksV| jdkrZdndB | j | jd ks|| jdkrdntd	| j| jd ks| jdkrdntd
| jfS )Nr!   s   q6r"   Fr   ri   rl   r#   rn   r   )r$   r%   r&   rh  ri  rj  r:   r(   r   r   r   r   r(   b	  s    Z$$zUpdateColorRequest._bytesc                 C   sX   |  }t|d@ }| }|d@ r.|  }nd }|d@ rD| }nd }| ||||dS )Nri   rl   r#   rg  r)   rp   rL   r   )r+   r,   r-   Z_for_profilerN   Z_colorZ_background_emoji_idr   r   r   r/   k	  s    

zUpdateColorRequest.from_reader)NNN)r0   r1   r2   r3   r4   r   rp   ru   r   rE   r    r(   r6   r/   r   r   r   r   rf  I	  s   "			rf  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 )UpdateEmojiStatusRequestl   fa rR   r   r   r:   emoji_statusc                 C   s   || _ || _dS rT   rm  )r   r:   rn  r   r   r   r   	  s    z!UpdateEmojiStatusRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   	  s    z UpdateEmojiStatusRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nrl  )r   r:   rn  )rH   r:   r   r    rn  r   r   r   r   r    	  s    z UpdateEmojiStatusRequest.to_dictc                 C   s   d d| j | j fS )Nr!   s   )r$   r:   r(   rn  r   r   r   r   r(   	  s
    zUpdateEmojiStatusRequest._bytesc                 C   s   |  }|  }| ||dS )Nrm  r[   )r+   r,   rN   Z_emoji_statusr   r   r   r/   	  s    z$UpdateEmojiStatusRequest.from_readerNr]   r   r   r   r   rl  |	  s   rl  c                   @   sP   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 )UpdatePaidMessagesPriceRequesti{2KrR   Nr   r:   send_paid_messages_starsbroadcast_messages_allowedc                 C   s   || _ || _|| _dS rT   rp  )r   r:   rq  rr  r   r   r   r   	  s    z'UpdatePaidMessagesPriceRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   	  s    z&UpdatePaidMessagesPriceRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nro  )r   r:   rq  rr  )rH   r:   r   r    rq  rr  r   r   r   r   r    	  s
    z&UpdatePaidMessagesPriceRequest.to_dictc              	   C   sB   d dtd| jd ks | jdkr$dnd| j td| jfS )Nr!   s   {2Kr"   Fr   r#   r   )r$   r%   r&   rr  r:   r(   rq  r   r   r   r   r(   	  s    "z%UpdatePaidMessagesPriceRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nr#   rp  rk  )r+   r,   r-   Z_broadcast_messages_allowedrN   Z_send_paid_messages_starsr   r   r   r/   	  s
    z*UpdatePaidMessagesPriceRequest.from_reader)Nr   r   r   r   r   ro  	  s   ro  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Z	dd Z
edd ZdS )UpdatePinnedForumTopicRequesti&-lrR   r   r:   r   pinnedc                 C   s   || _ || _|| _dS rT   rt  )r   r:   r   ru  r   r   r   r   	  s    z&UpdatePinnedForumTopicRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   	  s    z%UpdatePinnedForumTopicRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nrs  )r   r:   r   ru  )rH   r:   r   r    r   ru  r   r   r   r   r    	  s
    z%UpdatePinnedForumTopicRequest.to_dictc                 C   s,   d d| j td| j| jr$dndfS )Nr!   s   &-lrn   r   r   )r$   r:   r(   r%   r&   r   ru  r   r   r   r   r(   	  s    z$UpdatePinnedForumTopicRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nrt  )rL   r)   r   )r+   r,   rN   r   Z_pinnedr   r   r   r/   	  s    z)UpdatePinnedForumTopicRequest.from_readerN)r0   r1   r2   r3   r4   ru   rp   r   rE   r    r(   r6   r/   r   r   r   r   rs  	  s   rs  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )UpdateUsernameRequesti޳5r8   r   r9   c                 C   s   || _ || _dS r<   r9   r=   r   r   r   r   	  s    zUpdateUsernameRequest.__init__c                    s   | || jI d H | _d S r>   r?   rB   r   r   r   rE   	  s    zUpdateUsernameRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrv  rF   rG   r   r   r   r   r    	  s    zUpdateUsernameRequest.to_dictc                 C   s   d d| j | | jfS )Nr!   s   ޳5rI   r   r   r   r   r(   
  s
    
zUpdateUsernameRequest._bytesc                 C   s   |  }| }| ||dS rJ   rK   rM   r   r   r   r/   
  s    z!UpdateUsernameRequest.from_readerNrP   r   r   r   r   rv  	  s   rv  )[__doc__Ztl.tlobjectr   r   typingr   r   r   r   r   r%   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   rQ   r^   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r
  r  r  r  r  r  r  r  r  r   r%  r'  r*  r,  r1  r7  r:  r>  rG  rH  rR  rS  rV  rW  rX  rY  rZ  r^  ra  re  rf  rl  ro  rs  rv  r   r   r   r   <module>   s   <"#EA)($#,((B'$#,K$&(9(#-$/%-#(.(#-#C#$####'####(#'#3#)'