+
    O×i-  ã                   óÐ   € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^RIHtHt ^RI	H
t
HtHtHtHtHtHtHt ^RIHtHtHt ]P,                  ! ]4      t ! R R]4      t ! R R	]]4      tR# )
é    N)ÚDict)ÚChannelErrorÚProtocolChannel)ÚJsonDictÚ
JsonObjectÚget_boolÚget_enumÚget_intÚ
get_objectÚget_strÚget_strv)ÚSubprocessProtocolÚSubprocessTransportÚ
WindowSizec                   ó6   a € ] tR t^t o RtV 3R lR ltRtV tR# )ÚSocketStreamChannelÚstreamc                óT   <€ V ^8„  d   QhRS[ P                  RS[RS[ P                  /# ©é   ÚloopÚoptionsÚreturn)ÚasyncioÚAbstractEventLoopr   Ú	Transport)ÚformatÚ__classdict__s   "€Ú9/usr/lib/python3/dist-packages/cockpit/channels/stream.pyÚ__annotate__Ú SocketStreamChannel.__annotate__   s/   ø€ ÷  ñ  ©7×+DÑ+Dð  Ézð  Ñ^e×^oÑ^oñ  ó    c              ƒ  ó¶  a "  € R V9   d   RV9   d   \        RRR7      h R V9   d3   \        VR 4      pRV 2pVP                  V 3R lV4      G Rj  x€L
 w  rVMVRV9   dC   \        VR4      p\        VRR	4      pR
V RV 2pVP	                  V 3R lW‡4      G Rj  x€L
 w  rVM\        RRR7      h\
        P                  RV4       S P                  4        \        T\        P                  4      '       g   Q hT#  L§ L`  \         dO   p	\
        P                  RXT	4       \        T	\        4      '       d   Rp
MRp
\        T
\        T	4      R7      T	hRp	?	ii ; i5i)ÚunixÚportúprotocol-errorz-cannot specify both "port" and "unix" options©ÚmessagezUnix socket c                  ó   <€ S # ©N© ©Úselfs   €r   Ú<lambda>Ú6SocketStreamChannel.create_transport.<locals>.<lambda>   s   ø€ Ér"   NÚaddressÚ	localhostzTCP socket Ú:c                  ó   <€ S # r*   r+   r,   s   €r   r.   r/   '   s   ø€ ÁDr"   z7no "port" or "unix" or other address option for channelz$SocketStreamChannel: connected to %sz0SocketStreamChannel: connecting to %s failed: %sú	not-foundÚ
terminated)r   r   Úcreate_unix_connectionr
   Úcreate_connectionÚloggerÚdebugÚOSErrorÚinfoÚ
isinstanceÚConnectionRefusedErrorÚstrÚclose_on_eofr   r   )r-   r   r   ÚpathÚlabelÚ	transportÚ_r%   ÚhostÚerrorÚproblems   f&&        r   Úcreate_transportÚ$SocketStreamChannel.create_transport   sa  øé € Ø�WÔ ¨7Ô!2ÜÐ/Ð9hÔiÐið	Gà˜Ô Ü˜w¨Ó/�Ø& t fÐ-�Ø%)×%@Ñ%@ÄÈtÓ%T×T‘�	˜1ð ˜7Ô"Ü˜w¨Ó/�Ü˜w¨	°;Ó?�Ø% d V¨1¨T¨FÐ3�à%)×%;Ñ%;¼LÈ$Ó%U×U‘�	˜1ä"Ð#3Ø+dôfð fô �L‰LÐ?ÀÔGð 	×ÑÔÜ˜)¤W×%6Ñ%6×7Ò7Ð7Ð7ØÐñ/  Uñ  Vøô ô 	GÜ�K‰KÐJÈEÐSXÔYÜ˜%Ô!7×8Ò8Ø%‘à&�Ü˜w´°E³
Ô;ÀÐFûð	GüsN   ƒE 1C= ÁC9ÁAC= ÂC;Â*C= Ã4EÃ9C= Ã;C= Ã=EÄA	EÅEÅEr+   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚpayloadrG   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s   ø‡ € Ø€G÷ ö  r"   r   c                   óp   a € ] tR t^9t o RtRtV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt	Rt
V tR# )ÚSubprocessStreamChannelr   Nc                ó   <€ V ^8„  d   QhRR/# )r   r   Nr+   )r   r   s   "€r   r    Ú$SubprocessStreamChannel.__annotate__=   s   ø€ ÷ ñ  ñ r"   c                ó&   € V P                  4        R # r*   )r?   r,   s   &r   Úprocess_exitedÚ&SubprocessStreamChannel.process_exited=   s   € Ø×ÑÖr"   c                ó    <€ V ^8„  d   QhRS[ /# )r   r   ©r   )r   r   s   "€r   r    rT   @   s   ø€ ÷ ñ ¡ñ r"   c                óÆ   € \        V P                  \        4      '       g   Q hR V P                  P                  4       /pV P                  P	                  4       pVe   W!R&   V# )zexit-statusr(   )r<   Ú
_transportr   Úget_returncodeÚ
get_stderr)r-   ÚargsÚstderrs   &  r   Ú_get_close_argsÚ'SubprocessStreamChannel._get_close_args@   sU   € Ü˜$Ÿ/™/Ô+>×?Ò?Ð?Ð?Ø'¨¯©×)GÑ)GÓ)IÐJˆØ—‘×+Ñ+Ó-ˆØÒØ$�‰OØˆr"   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r   r   NrY   )r   r   s   "€r   r    rT   H   s   ø€ ÷ 4ñ 4¡*ð 4°ñ 4r"   c                ó°   € \        VR \        R4      pVe@   \        V P                  \        4      '       g   Q hV P                  P                  V4       R# R# )ÚwindowN)r   r   r<   r[   r   Úset_window_size)r-   r   rd   s   && r   Ú
do_optionsÚ"SubprocessStreamChannel.do_optionsH   sG   € Ü˜G X¬z¸4Ó@ˆØÒÜ˜dŸo™oÔ/B×CÒCÐCÐCØ�O‰O×+Ñ+¨FÖ3ñ r"   c                ó@   <€ V ^8„  d   QhRS[ P                  RS[RS[/# r   )r   r   r   r   )r   r   s   "€r   r    rT   N   s)   ø€ ÷ !<ñ !<©7×+DÑ+Dð !<Ézð !<Ñ^qñ !<r"   c              ƒ  ó:  "  € \        VR 4      p\        VR. ROR4      p\        VRR4      p\        VRRR	7      p\	        VR
\
        R4      p\        VR. 4      pVR8X  d   \        P                  p	M(VR8X  d   \        P                  p	M\        P                  p	\        \        P                  4      p
 V
P                  \        R V 4       4      4        \!        YY6YzYYR7      pTP#                  4       pRT/T n        \&        P)                  RY<4       T#   \         d    \        RRR7      Rhi ; i  \*         d   p\        R4      ThRp?i\,         d   p\        R4      ThRp?i\.         d(   p\&        P1                  RY=4       \        R4      ThRp?ii ; i5i)ÚspawnÚerrÚoutÚignorer(   Ú	directoryÚ.ÚptyF)Údefaultrd   NÚenvironc              3   óD   "  € T F  qP                  R ^4      x € K  	  R# 5i)Ú=N)Úsplit)Ú.0Úes   & r   Ú	<genexpr>Ú;SubprocessStreamChannel.create_transport.<locals>.<genexpr>_   s   é € Ð=±W°ŸG™G C¨ŸO˜O³Wùs   ‚ r&   z+invalid "environ" option for stream channelr'   )rp   rd   ÚenvÚcwdr_   ÚpidzSpawned process args=%s pid=%ir4   zaccess-deniedzFailed to spawn %s: %szinternal-error)rl   rm   r(   )r   r	   r   r   r   r   Ú
subprocessÚSTDOUTÚDEVNULLÚPIPEÚdictÚosrr   ÚupdateÚ
ValueErrorr   r   Úget_pidÚ_ready_infor8   r9   ÚFileNotFoundErrorÚPermissionErrorr:   r;   )r-   r   r   r^   rk   r{   rp   rd   rr   r_   rz   rB   r|   rE   s   &&&           r   rG   Ú(SubprocessStreamChannel.create_transportN   sw  é € Ü˜ Ó)ˆÜ�w Ò'CÀYÓOˆÜ�g˜{¨CÓ0ˆÜ�w ¨uÔ5ˆÜ˜G X¬z¸4Ó@ˆÜ˜7 I¨rÓ2ˆà�%Œ<Ü×&Ñ&‰FØ�HŒ_Ü×'Ñ'‰Fä—_‘_ˆFä"¤2§:¡:Ó.ˆð	rØ�J‰J”tÑ=±WÓ=Ó=Ô>ð	<Ü+¨D¸ÈfÐcfÔvˆIØ×#Ñ#Ó%ˆCØ % s˜|ˆDÔÜ�L‰LÐ9¸4ÔEØÐøô ô 	rÜÐ/Ð9fÔgÐmqÐqð	rûô !ô 	7Ü˜{Ó+°Ð6ûÜô 	;Ü˜Ó/°UÐ:ûÜô 	<Ü�K‰KÐ0°$Ô>ÜÐ/Ó0°eÐ;ûð	<üs`   ‚B0FÂ3!D Ã?D2 ÄFÄD/Ä/FÄ2FÄ=E	Å	FÅFÅE#Å#FÅ0FÅ1"FÆFÆF)r†   ))rj   N)rI   rJ   rK   rL   rM   ÚrestrictionsrV   r`   rf   rG   rN   rO   rP   s   @r   rR   rR   9   s7   ø‡ € Ø€GØ%€L÷ð ÷ð ÷4ð 4÷!<ö !<r"   rR   )r   Úloggingr‚   r}   Útypingr   Úchannelr   r   Újsonutilr   r   r   r	   r
   r   r   r   Ú
transportsr   r   r   Ú	getLoggerrI   r8   r   rR   r+   r"   r   Ú<module>r‘      sT   ðó Û Û 	Û Ý ç 3ß g× gÓ gß LÑ Là	×	Ò	˜8Ó	$€ô#˜/ô #ôL6<˜oÐ/Aö 6<r"   