§
    Ètºfé  ã                   ó´   — d Z ddlZddlmZmZmZ ddlmZmZ ddl	m
Z
  G d„ dej        ¦  «        Z G d„ d	ej        ¦  «        Z G d
„ dej        ¦  «        ZdS )zJ
Accesses the key agent for user authentication.

Maintainer: Paul Swartz
é    N)ÚagentÚchannelÚkeys)ÚprotocolÚreactor)ÚLoggerc                   ó:   — e Zd Z e¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚSSHAgentClientc                 óR   — t           j                             | ¦  «         g | _        d S ©N)r   r
   Ú__init__Úblobs©Úselfs    úY/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/conch/client/agent.pyr   zSSHAgentClient.__init__   s$   € ÝÔ×%Ò% dÑ+Ô+Ð+ØˆŒ
ˆ
ˆ
ó    c                 óZ   — |                       ¦   «                              | j        ¦  «        S r   )ÚrequestIdentitiesÚaddCallbackÚ_cbPublicKeysr   s    r   ÚgetPublicKeyszSSHAgentClient.getPublicKeys   s%   € Ø×%Ò%Ñ'Ô'×3Ò3°DÔ4FÑGÔGÐGr   c                 óz   — | j                              dt          |¦  «        ¬¦  «         d„ |D ¦   «         | _        d S )Nzgot {num_keys} public keys)Únum_keysc                 ó   — g | ]
}|d          ‘ŒS )r   © )Ú.0Úxs     r   ú
<listcomp>z0SSHAgentClient._cbPublicKeys.<locals>.<listcomp>   s   € Ð-Ð-Ð-˜q�a˜”dÐ-Ð-Ð-r   )Ú_logÚdebugÚlenr   )r   Úblobcomms     r   r   zSSHAgentClient._cbPublicKeys   s:   € ØŒ	�ŠÐ4½sÀ8¹}¼}ˆÑMÔMÐMØ-Ð- HÐ-Ñ-Ô-ˆŒ
ˆ
ˆ
r   c                 ó‚   — | j         r7t          j                             | j                              d¦  «        ¦  «        S dS )zj
        Return a L{Key} from the first blob in C{self.blobs}, if any, or
        return L{None}.
        r   N)r   r   ÚKeyÚ
fromStringÚpopr   s    r   ÚgetPublicKeyzSSHAgentClient.getPublicKey    s7   € ð
 Œ:ð 	:Ý”8×&Ò& t¤z§~¢~°aÑ'8Ô'8Ñ9Ô9Ð9Øˆtr   N)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r'   r   r   r   r
   r
      s^   € € € € € Øˆ6‰8Œ8€Dðð ð ðHð Hð Hð.ð .ð .ðð ð ð ð r   r
   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚSSHAgentForwardingChannelc                 ó  ‡ — t          j        t          t          ¦  «        }|                     t
          j        d         ¦  «        }|                     ‰ j        ¦  «         | 	                    ˆ fd„¦  «         d‰ _
        d S )NÚSSH_AUTH_SOCKc                 ó,   •— ‰                      ¦   «         S r   )ÚloseConnection)r   r   s    €r   ú<lambda>z7SSHAgentForwardingChannel.channelOpen.<locals>.<lambda>/   s   ø€ ˜t×2Ò2Ñ4Ô4€ r   Ú )r   ÚClientCreatorr   ÚSSHAgentForwardingLocalÚconnectUNIXÚosÚenvironr   Ú_cbGotLocalÚ
addErrbackÚbuf)r   ÚspecificDataÚccÚds   `   r   ÚchannelOpenz%SSHAgentForwardingChannel.channelOpen+   sj   ø€ ÝÔ#¥GÕ-DÑEÔEˆØ�NŠN�2œ: oÔ6Ñ7Ô7ˆØ	�Š�dÔ&Ñ'Ô'Ð'Ø	�ŠÐ4Ð4Ð4Ð4Ñ5Ô5Ð5ØˆŒˆˆr   c                 ób   — || _         | j         j        j        | _        | j        | j         _        d S r   )ÚlocalÚ	transportÚwriteÚdataReceived)r   r@   s     r   r8   z%SSHAgentForwardingChannel._cbGotLocal2   s+   € ØˆŒ
Ø œJÔ0Ô6ˆÔØ"&¤*ˆŒ
ÔÐÐr   c                 ó&   — | xj         |z  c_         d S r   )r:   )r   Údatas     r   rC   z&SSHAgentForwardingChannel.dataReceived7   s   € ØˆŒ�DÑˆŒˆˆr   c                 óX   — | j         r"| j                              ¦   «          d | _         d S d S r   )r@   r0   r   s    r   Úclosedz SSHAgentForwardingChannel.closed:   s5   € ØŒ:ð 	ØŒJ×%Ò%Ñ'Ô'Ð'ØˆDŒJˆJˆJð	ð 	r   N)r(   r)   r*   r>   r8   rC   rG   r   r   r   r,   r,   *   sP   € € € € € ðð ð ð-ð -ð -ð
ð ð ðð ð ð ð r   r,   c                   ó   — e Zd ZdS )r4   N)r(   r)   r*   r   r   r   r4   r4   @   s   € € € € € Ø€Dr   r4   )Ú__doc__r6   Útwisted.conch.sshr   r   r   Útwisted.internetr   r   Útwisted.loggerr   r
   Ú
SSHChannelr,   ÚProtocolr4   r   r   r   ú<module>rO      só   ðð
ð ð 
€	€	€	à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø !Ð !Ð !Ð !Ð !Ð !ðð ð ð ð �UÔ)ñ ô ð ð0ð ð ð ð  Ô 2ñ ô ð ð,	ð 	ð 	ð 	ð 	˜hÔ/ñ 	ô 	ð 	ð 	ð 	r   