
    ;Si                     |   d Z ddlZddlZddlZddlZ	 ddlZddlZddlZ ej                  e
      Zd Z	  e       ZesdZdZy ej(                  d      Z ej(                  d      ZdZ G d dej0                        Zd	 Zd
 Zy# e$ r Y uw xY w# e$ r%Zej!                  d ee      e       dZY dZ[ydZ[ww xY w)zM
Helper module around the system's libssl library if available for IGE mode.
    Nc                  n   t         j                  j                  d      } t        j                  dk(  rt	        j
                         \  }}}|j                  d      ^}}}t        |      dkD  st        |      dk(  rot        |      dkD  rat         j                  j                  d      xs@ t         j                  j                  d      xs t         j                  j                  d      } | st        d	      	 t         j                  j                  |       }|S # t        $ r Y nw xY w	 t         j                  j                  j                  }n2# t        $ r& t        j                   j#                  d
      dddg}Y nw xY w|D ]  }	t        j                   j%                  |	      s#t        j&                  |	      D ]j  \  }
}}| |v st        j                   j)                  t        j                   j+                  |
|             } t         j                  j                  |       c c S   t        d| z        )Nssldarwin.
      z	libssl.46z	libssl.44z	libssl.42zno library called "ssl" foundz~/libz/usr/local/libz/libz/usr/libz1no absolute path for "%s" and cannot load by name)ctypesutilfind_librarysysplatformmac_versplitintOSErrorcdllLoadLibrarymacholibdyldDEFAULT_LIBRARY_FALLBACKAttributeErrorospath
expanduserisdirwalkrealpathjoin)librelease_version_info_machinevermajor_libsslpathsr   rootfiless               [/var/www/OnlineNewsSite/project/venv/lib/python3.12/site-packages/telethon/crypto/libssl.py_find_ssl_libr+      s   
++
"
"5
)C
 ||x+3+;+;+=( s+UQ s8b=CHNs5zB((5 6((56((5 
 566((-   	
$$== 
GGw'	

  	Q77=="$''$- 8a%< ''**277<<c+BCC!;;223778	Q ICOPPs$   8D 	D%$D%)$E ,E=<E=z#Failed to load SSL library: %s (%s)   r   c                   Z    e Zd ZdZdej
                  dedz   z  z  fdej                  fgZy)AES_KEYz$Helper class representing an AES keyrd_key   r,   roundsN)	__name__
__module____qualname____doc__r	   c_uint32	AES_MAXNRc_uint_fields_     r*   r.   r.   [   s2    2v!y1}*=>?v}}%
r;   r.   c           	         t               }t        j                  dt        |      z        }t        j                  t        |      z  | }t        j                  t        |      z  | }t        j
                  t        |             }t        j                  t        |       z  |  }t        j                  t        |       z         }t        j                  ||t        j                  |             t        j                  t        j                  |      t        j                  |      |t        j                  |      t        j                  |      t               t        |      S N   )r.   r	   c_intlenc_ubytec_size_t_libsslAES_set_decrypt_keybyrefAES_ige_encryptAES_DECRYPTbytes)cipher_textkeyivaes_keykey_lenin_lenin_ptrout_ptrs           r*   decrypt_igerQ   b   s    ),,q3s8|,~~C(3/nns2w&,[!12..3{#33kB>>C$447##C&,,w2GHLL LL!LL!LL	
 W~r;   c           	         t               }t        j                  dt        |      z        }t        j                  t        |      z  | }t        j                  t        |      z  | }t        j
                  t        |             }t        j                  t        |       z  |  }t        j                  t        |       z         }t        j                  ||t        j                  |             t        j                  t        j                  |      t        j                  |      |t        j                  |      t        j                  |      t               t        |      S r=   )r.   r	   r?   r@   rA   rB   rC   AES_set_encrypt_keyrE   rF   AES_ENCRYPTrH   )
plain_textrJ   rK   rL   rM   rN   rO   rP   s           r*   encrypt_igerV   x   s    ),,q3s8|,~~C(3/nns2w&,Z1..3z?2Z@>>C
O36##C&,,w2GHLL LL!LL!LL	
 W~r;   )r5   r	   ctypes.utilr   r   ctypes.macholib.dyldImportErrorloggingr   	getLoggerr2   __log__r+   rC   r   einfotyperQ   rV   r?   rT   rG   r7   	Structurer.   r:   r;   r*   <module>ra      s       
	  	
'

H
%5QpoG KK &,,q/K&,,q/KI
&"" 
,]  		D   LL6QCG	s(   B B BBB;B66B;