U
    ;g                  
   @   sV  d dl Z e eZzd dlZed eeeedddZeeeedddZdeee	e	edd	d
Z
deee	e	edddZeeedddZW n ek
rP   d dlZed eeeedddZeeeedddZdeee	e	eddd
Z
deee	e	edddZeeedddZeeeeedddZeee	e	edddZY nX dS )    NzUsing TgCrypto)datakeyivreturnc                 C   s   t | ||S N)tgcryptoige256_encryptr   r   r    r
   S/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/pyrogram/crypto/aes.pyr      s    r   c                 C   s   t | ||S r   )r   ige256_decryptr	   r
   r
   r   r   !   s    r   )r   r   r   stater   c                 C   s   t | |||ptdS N   )r   ctr256_encrypt	bytearrayr   r   r   r   r
   r
   r   r   %   s    r   c                 C   s   t | |||ptdS r   )r   ctr256_decryptr   r   r
   r
   r   r   )   s    r   )abr   c                 C   s&   t t | dt |dA t| dS Nbigintto_bytes
from_byteslenr   r   r
   r
   r   xor-   s
    r   zTgCrypto is missing! Pyrogram will work the same, but at a much slower speed. More info: https://docs.pyrogram.org/topics/speedupsc                 C   s   t | ||dS )NTiger	   r
   r
   r   r   =   s    c                 C   s   t | ||dS )NFr   r	   r
   r
   r   r   A   s    c                 C   s   t | |||ptdS r   ctrr   r   r
   r
   r   r   E   s    c                 C   s   t | |||ptdS r   r!   r   r
   r
   r   r   I   s    c                 C   s&   t t | dt |dA t| dS r   r   r   r
   r
   r   r   M   s
    )r   r   r   encryptr   c           	         s   t |}|d d }|dd  } fddtdt dD  |rzt D ]*\}}t|t||| } |< |}qLn4t D ]*\}}t|t||| } |< |}qd S )N   c                    s   g | ]} ||d   qS )r$   r
   ).0ir   r
   r   
<listcomp>[   s     zige.<locals>.<listcomp>r       )	pyaesAESranger   	enumerater   r#   Zdecryptjoin)	r   r   r   r#   cipherZiv_1Ziv_2r&   chunkr
   r'   r   r    U   s    
r    c           
      C   s   t |}t| }||}tdt| dD ]}tdtt| | dD ]}|||   ||d  N  < |d  d7  < |d dkrd|d< |d dkrHtdddD ]<}	z||	  d7  < W  qW q tk
r   d||	< Y qX q||}qHq,|S )Nr   r$   r      )r*   r+   r   r#   r,   r   min
ValueError)
r   r   r   r   r/   outr0   r&   jkr
   r
   r   r"   i   s$    


r"   )N)N)N)N)logging	getLogger__name__logr   infobytesr   r   r   r   r   r   ImportErrorr*   warningboolr    r"   r
   r
   r
   r   <module>   s*   

