Ë
    dQêj  ã                   óN   — d dl Z d dlZ d dlZd dlZd dlZddlmZ  G d„ de«      Zy)é    Né   )ÚConfigExceptionc                   ó   — e Zd ZdZd„ Zdd„Zy)ÚExecProvidera,  
    Implementation of the proposal for out-of-tree client authentication providers
    as described here --
    https://github.com/kubernetes/community/blob/master/contributors/design-proposals/auth/kubectl-exec-plugins.md

    Missing from implementation:

    * TLS cert support
    * caching
    c                 ó”  — dD ]  }||vsŒt        d|z  «      ‚ |d   | _        |d   g| _        |j                  d«      r| j                  j	                  |d   «       t
        j                  j                  «       | _        |j                  d«      r7i }|d   D ]  }|d   }|d   }|||<   Œ | j                  j                  |«       y y )	N)ÚcommandÚ
apiVersionz)exec: malformed request. missing key '%s'r	   r   ÚargsÚenvÚnameÚvalue)
r   Úapi_versionr
   Úsafe_getÚextendÚosÚenvironÚcopyr   Úupdate)ÚselfÚexec_configÚkeyÚadditional_varsÚitemr   r   s          úh/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/aio/config/exec_provider.pyÚ__init__zExecProvider.__init__#   sá   € Ø,ò 	IˆCØ˜+Ò%Ü%ØAÀCÑGóIð Ið	Ið ' |Ñ4ˆÔØ  Ñ+Ð,ˆŒ	Ø×Ñ Ô'Ø�I‰I×Ñ˜[¨Ñ0Ô1Ü—:‘:—?‘?Ó$ˆŒØ×Ñ Ô&Ø ˆOØ# EÑ*ò .�Ø˜F‘|�Ø˜W™�Ø(-� Ò%ð.ð �H‰H�O‰O˜OÕ,ð 'ó    Nc              ƒ   ó   K  — t        t        j                  «       «      j                  dk(  rt	        d«      ‚| j
                  ddt        j                  j                  «       idœ}|r||d   d<   t        j                  |«      | j                  d<   t        j                  | j                  | j                  d t        j                  j                  t        j                  j                  d	œŽ}|ƒ d {  –—† }|j                  j!                  «       ƒ d {  –—† }|j"                  j!                  «       ƒ d {  –—† }|j%                  «       ƒ d {  –—† }|d
k7  r*d|z  }|j'                  «       }|r|d|z  z  }t	        |«      ‚	 t        j(                  |«      }	dD ]  }||	vsŒt	        d|z  «      ‚ |	d   | j
                  k7  rt	        d|	d   ›d| j
                  ›�«      ‚|	d   S 7 Œó7 ŒÓ7 Œ³7 Œ�# t*        $ r}
t	        d|
z  «      ‚d }
~
ww xY w­w)NÚ_WindowsSelectorEventLoopzLexec: _WindowsSelectorEventLoop does NOT support subprocesses, see README.mdÚExecCredentialÚinteractive)r	   ÚkindÚspecr"   ÚresponseÚKUBERNETES_EXEC_INFO)r   ÚstdinÚstdoutÚstderrr   zexec: process returned %dz. %sz)exec: failed to decode process output: %s)r	   r!   Ústatusz*exec: malformed response. missing key '%s'r	   zexec: plugin api version z does not match r(   )ÚtypeÚasyncioÚget_event_loopÚ__name__r   r   Úsysr&   ÚisattyÚjsonÚdumpsr   Úcreate_subprocess_execr
   Ú
subprocessÚPIPEÚreadr'   ÚwaitÚstripÚloadsÚ
ValueError)r   Úprevious_responseÚkubernetes_exec_infoÚcmd_execÚprocr&   r'   Ú	exit_codeÚmsgÚdataÚder   s               r   ÚrunzExecProvider.run5   s	  è ø€ ä”×&Ñ&Ó(Ó)×2Ñ2Ð6QÒQÜ!Ø^óð ð
 ×*Ñ*Ø$àœsŸz™z×0Ñ0Ó2ðñ 
Ðñ Ø7HÐ  Ñ(¨Ñ4Ü+/¯:©:Ð6JÓ+Kˆ�‰Ð'Ñ(ä×1Ñ1°4·9±9Ø6:·h±hØ8<Ü9@×9KÑ9K×9PÑ9PÜ9@×9KÑ9K×9PÑ9Pò	Rˆð
 �~ˆà—{‘{×'Ñ'Ó)×)ˆØ—{‘{×'Ñ'Ó)×)ˆØŸ)™)›+×%ˆ	à˜Š>Ø-°	Ñ9ˆCØ—\‘\“^ˆFÙØ�v ‘Ñ&�Ü! #Ó&Ð&ð	BÜ—:‘:˜fÓ%ˆDð 4ò 	JˆCØ˜$ŠÜ%ØBÀSÑHóJð Jð	Jð �Ñ ×!1Ñ!1Ò1Ý!à�lÓ# T×%5Ò%5ð7ó8ð 8ð �H‰~Ðð3 øà)øØ)øØ%ùô ò 	BÜ!Ø;¸bÑ@óBð Bûð	Büss   ‚C1HÃ3G'Ã4!HÄG)Ä!HÄ7G+Ä8HÅG-Å3HÆG/ Æ	HÆ#AHÇ)HÇ+HÇ-HÇ/	HÇ8HÈHÈH)N)r,   Ú
__module__Ú__qualname__Ú__doc__r   rA   © r   r   r   r      s   „ ñ	ò-ô$0r   r   )	r*   Úasyncio.subprocessr/   r   r-   Úconfig_exceptionr   Úobjectr   rE   r   r   ú<module>rI      s'   ðó Û Û Û 	Û 
å -ôN�6õ Nr   