Ë
    zñ�jl  ã                   óô   — d Z ddl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mZ ddlmZ  edd	«      \  ZZ edd	«      D � cg c]
  }  e	| «      ‘Œ c} \  ZZ e	d
«      edz  z   Zedz  Z G d„ d«      Zyc c} w )z�
Standard SSH key exchange ("kex" if you wanna sound cool).  Diffie-Hellman of
1024 bit key halves, using a known "p" prime and "g" generator.
é    N)Úsha1)Úutil)Úmax_byteÚ	zero_byteÚbyte_chrÚ	byte_mask)ÚMessage)ÚSSHExceptioné   é    é   é   é   c                   ó@   — e Zd ZdZdZdZeZd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zy
)Ú	KexGroup1lE   ÿÿÿÿ8Ê{3If?ñE yéZô3¢Vý58nÛoP·eõ?a-ûÓtBLèûy3W[�<‘p¨6m5ÂÝPøß&aÌF!Í33*¾w& ãAR‘M;L}. c|&A“@”h\Š&&#-D¨v‡dÿÿÿÿ é   zdiffie-hellman-group1-sha1c                 ó<   — || _         d| _        d| _        d| _        y )Nr   )Ú	transportÚxÚeÚf)Úselfr   s     úT/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/paramiko/kex_group1.pyÚ__init__zKexGroup1.__init__1   s   € Ø"ˆŒØˆŒØˆŒØˆ�ó    c                 ó8  — | j                  «        | j                  j                  rPt        | j                  | j
                  | j                  «      | _        | j                  j                  t        «       y t        | j                  | j
                  | j                  «      | _
        t        «       }|j                  t        «       |j                  | j                  «       | j                  j                  |«       | j                  j                  t         «       y )N)Ú_generate_xr   Úserver_modeÚpowÚGr   ÚPr   Ú_expect_packetÚ_MSG_KEXDH_INITr   r	   Úadd_byteÚc_MSG_KEXDH_INITÚ	add_mpintÚ_send_messageÚ_MSG_KEXDH_REPLY)r   Úms     r   Ú	start_kexzKexGroup1.start_kex7   s±   € Ø×ÑÔØ�>‰>×%Ò%ä˜Ÿ™ §¡¨¯©Ó0ˆDŒFØ�N‰N×)Ñ)¬/Ô:Øä�T—V‘V˜TŸV™V T§V¡VÓ,ˆŒÜ‹IˆØ	�
‰
Ô#Ô$Ø	�‰�D—F‘FÔØ�‰×$Ñ$ QÔ'Ø�‰×%Ñ%Ô&6Õ7r   c                 óú   — | j                   j                  r|t        k(  r| j                  |«      S | j                   j                  s|t        k(  r| j                  |«      S d}t        |j                  |«      «      ‚)Nz*KexGroup1 asked to handle packet type {:d})r   r   r#   Ú_parse_kexdh_initr(   Ú_parse_kexdh_replyr
   Úformat)r   Úptyper)   Úmsgs       r   Ú
parse_nextzKexGroup1.parse_nextF   sf   € Ø�>‰>×%Ò%¨5´OÒ+CØ×)Ñ)¨!Ó,Ð,Ø—‘×+Ò+°Ô:JÒ1JØ×*Ñ*¨1Ó-Ð-Ø:ˆÜ˜3Ÿ:™: eÓ,Ó-Ð-r   c                 óÂ   — 	 t        j                  d«      }t        |d   d«      |dd  z   }|d d t        k7  r|d d t        k7  rnŒDt        j                  |«      | _        y )Né   é€   r   r   r   )ÚosÚurandomr   Úb7fffffffffffffffÚb0000000000000000r   Úinflate_longr   )r   Úx_bytess     r   r   zKexGroup1._generate_xP   si   € ð Ü—j‘j “oˆGÜ ¨¡
¨DÓ1°G¸A¸B°KÑ?ˆGà˜˜�Ô0Ò0Ø˜B˜Q�KÔ#4Ò4àð ô ×"Ñ" 7Ó+ˆ�r   c                 ó¶  — |j                  «       }|j                  «       | _        | j                  dk  s| j                  | j                  dz
  kD  rt	        d«      ‚|j                  «       }t        | j                  | j                  | j                  «      }t        «       }|j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  «       |j                  |«       |j!                  | j"                  «       |j!                  | j                  «       |j!                  |«       | j                  j%                  || j'                  |j)                  «       «      j+                  «       «       | j                  j-                  ||«       | j                  j/                  «        y )Nr3   zServer kex "f" is out of range)Ú
get_stringÚ	get_mpintr   r!   r
   Ú
get_binaryr   r   r	   Úaddr   Úlocal_versionÚremote_versionÚlocal_kex_initÚremote_kex_initÚ
add_stringr&   r   Ú_set_K_HÚ	hash_algoÚasbytesÚdigestÚ_verify_keyÚ_activate_outbound)r   r)   Úhost_keyÚsigÚKÚhms         r   r-   zKexGroup1._parse_kexdh_replya   s;  € à—<‘<“>ˆØ—‘“ˆŒØ�F‰F�QŠJ˜DŸF™F T§V¡V¨a¡ZÒ/ÜÐ?Ó@Ð@Ø�l‰l‹nˆÜ�—‘˜Ÿ™ §¡Ó'ˆô ‹YˆØ
�‰Ø�N‰N×(Ñ(Ø�N‰N×)Ñ)Ø�N‰N×)Ñ)Ø�N‰N×*Ñ*ô		
ð 	�‰�hÔØ
�‰�T—V‘VÔØ
�‰�T—V‘VÔØ
�‰�QŒØ�‰×Ñ  4§>¡>°"·*±*³,Ó#?×#FÑ#FÓ#HÔIØ�‰×"Ñ" 8¨SÔ1Ø�‰×)Ñ)Õ+r   c                 óü  — |j                  «       | _        | j                  dk  s| j                  | j                  dz
  kD  rt        d«      ‚t	        | j                  | j
                  | j                  «      }| j                  j                  «       j                  «       }t        «       }|j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  «       |j                  |«       |j!                  | j                  «       |j!                  | j"                  «       |j!                  |«       | j%                  |j                  «       «      j'                  «       }| j                  j)                  ||«       | j                  j                  «       j+                  || j                  j,                  «      }t        «       }|j/                  t0        «       |j                  |«       |j!                  | j"                  «       |j                  |«       | j                  j3                  |«       | j                  j5                  «        y )Nr3   zClient kex "e" is out of range)r=   r   r!   r
   r   r   r   Úget_server_keyrG   r	   r?   rA   r@   rC   rB   rD   r&   r   rF   rH   rE   Úsign_ssh_dataÚhost_key_typer$   Úc_MSG_KEXDH_REPLYr'   rJ   )r   r)   rM   ÚkeyrN   ÚHrL   s          r   r,   zKexGroup1._parse_kexdh_initz   s­  € à—‘“ˆŒØ�F‰F�QŠJ˜DŸF™F T§V¡V¨a¡ZÒ/ÜÐ?Ó@Ð@Ü�—‘˜Ÿ™ §¡Ó'ˆØ�n‰n×+Ñ+Ó-×5Ñ5Ó7ˆô ‹YˆØ
�‰Ø�N‰N×)Ñ)Ø�N‰N×(Ñ(Ø�N‰N×*Ñ*Ø�N‰N×)Ñ)ô		
ð 	�‰�cÔØ
�‰�T—V‘VÔØ
�‰�T—V‘VÔØ
�‰�QŒØ�N‰N˜2Ÿ:™:›<Ó(×/Ñ/Ó1ˆØ�‰×Ñ  1Ô%à�n‰n×+Ñ+Ó-×;Ñ;Øˆt�~‰~×+Ñ+ó
ˆô ‹IˆØ	�
‰
Ô$Ô%Ø	�‰�SÔØ	�‰�D—F‘FÔØ	�‰�SÔØ�‰×$Ñ$ QÔ'Ø�‰×)Ñ)Õ+r   N)Ú__name__Ú
__module__Ú__qualname__r!   r    Únamer   rF   r   r*   r1   r   r-   r,   © r   r   r   r   (   s7   „ ð 	K€AØ	€Aà'€DØ€Iòò8ò.ò,ò",ó2!,r   r   )Ú__doc__r5   Úhashlibr   Úparamikor   Úparamiko.commonr   r   r   r   Úparamiko.messager	   Úparamiko.ssh_exceptionr
   Úranger#   r(   r%   rS   r7   r8   r   )Úcs   0r   ú<module>rc      s„   ðñ&ó
 
Ý å ß DÓ DÝ $Ý /ñ %*¨"¨b£MÑ !€Ð!Ù<AÀ"Àb»MÖ&J°q¡x°¥{Ò&JÑ #Ð Ð#á˜T“N X°¡\Ñ1Ð Ø ‘MÐ ÷s,ò s,ùò 'Ks   ÁA5