grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026§ € ~&¦â�ªãó¦—dZddlmZddlZddlZddlZddlmZmZddlmZmZm Z gd¢Z dZ dZ dZ dZd „Zd „Zd „Zd „Zd „Zd„Zeefd„Zeefd„ZdS)zPseudo terminal utilities.é)ÚselectN)ÚcloseÚwaitpid)ÚsetrawÚ tcgetattrÚ tcsetattr)ÚopenptyÚforkÚspawnéécó — tj¦«S#ttf$rYnwxYwt ¦«\}}t |¦«}||fS)zdopenpty() -> (master_fd, slave_fd) Open a pty master/slave pair, using os.openpty() if possible.)Úosr ÚAttributeErrorÚOSErrorÚ_open_terminalÚ slave_open)Ú master_fdÚ slave_nameÚslave_fds ú*/opt/alt/python311/lib64/python3.11/pty.pyr r s`€ð ÝŒz‰|Œ|ÐøÝ �GÐ $ð ð ð Ø ˆð øøøå*Ñ,Ô,Ñ€Iˆzݘ*Ñ%Ô%€HØ �hÐ Ðs ‚•)¨)cóÒ— tj¦«\}}tj|¦«}tj|¦«||fS#tt f$rYnwxYwt ¦«S)z›master_open() -> (master_fd, slave_name) Open a pty master and return the fd, and the filename of the slave end. Deprecated, use openpty() instead.)rr Úttynamerrrr)rrrs rÚ master_openr&sx€ð %Ý œj™lœlш �8õ”Z Ñ)Ô)ˆ Ý Œ�ÑÔÐØ˜*Ð$Ð$øõ �GÐ $ð ð ð Ø ˆð øøøõ Ñ Ô Ðs‚AÁAÁAcóÀ—dD]M}dD]H}d|z|z} tj|tj¦«}n#t$rYŒ7wxYw|d|z|zfccSŒNtd¦«‚)z1Open pty master and return (master_fd, tty_name).ÚpqrstuvwxyzPQRSTÚ0123456789abcdefz/dev/ptyz/dev/ttyzout of pty devices)rÚopenÚO_RDWRr)ÚxÚyÚpty_nameÚfds rrr6sž€à ð,ð,ˆØ#ð ,ð ,ˆAØ! A‘~¨Ñ)ˆHð Ý”W˜X¥r¤yÑ1Ô1��øÝð ð ð Ø�ð øøøà˜  Q™¨Ñ*Ð+Ð +Ð +Ð +Ð +Ð +ð  ,õ Ð&Ñ 'Ô 'Ð's ’2² ?¾?cóÔ—tj|tj¦«} ddlm}m}n#t $r|cYSwxYw |||d¦«|||d¦«n#t$rYnwxYw|S)z©slave_open(tty_name) -> slave_fd Open the pty slave and acquire the controlling terminal, returning opened filedescriptor. Deprecated, use openpty() instead.r)ÚioctlÚI_PUSHÚptemÚldterm)rrrÚfcntlr%r&Ú ImportErrorr)Útty_nameÚresultr%r&s rrrBs°€õ ŒW�X�rœyÑ )Ô )€FðØ'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'øÝ ðððØˆ ˆ ˆ ðøøøð Ø ˆˆf�f˜fÑ%Ô%Ð%Ø ˆˆf�f˜hÑ'Ô'Ð'Ð'øÝ ð ð ð Ø ˆð øøøà €Ms¡*ª 9¸9½AÁ A%Á$A%có— tj¦«\}}|tkr% tj¦«n#t$rYnwxYw||fS#t tf$rYnwxYwt ¦«\}}tj¦«}|tkrßtj¦«tj|¦«tj |t¦«tj |t¦«tj |t¦«|tkrtj|¦«tj tjt¦«tj¦«}tj|¦«ntj|¦«||fS)zdfork() -> (pid, master_fd) Fork and make the child a session leader with a controlling terminal.)rÚforkptyÚCHILDÚsetsidrrr r rÚdup2Ú STDIN_FILENOÚ STDOUT_FILENOÚ STDERR_FILENOrrr)Úpidr#rrÚtmp_fds rr r Tse€ð Ý”*‘,”,‰ˆˆRð •%Š<ˆ<ð Ý” ‘ ” � � øÝð ð ð à�ð øøøð�Bˆwˆøõ �GÐ $ð ð ð Ø ˆð øøøõ"™)œ)Ñ€IˆxÝ Œ'‰)Œ)€CØ �e‚|€|å Œ ‰ Œ ˆ Ý Œ�ÑÔÐõ Œ��,Ñ'Ô'Ð'Ý Œ��-Ñ(Ô(Ð(Ý Œ��-Ñ(Ô(Ð(Ø •mÒ #Ð #Ý ŒH�XÑ Ô Ð õ”�œ¥MÑ2Ô2µB´IÑ>Ô>ˆÝ Œ�ÑÔÐÐå Œ�ÑÔÐð � ˆ>Ðs ‚A ¤8¸ AÁAÁ A ÁA có,—tj|d¦«S)zDefault read function.i)rÚread)r#s rÚ_readr9|s€å Œ7�2�tÑ Ô Ðócó—tj|¦«rZtj|d¦« t|||¬¦«tj|d¦«n#tj|d¦«wxYwdSd}|tk}|t k}d}d} g}g} |r-t |¦«|kr| t¦«|r(t |¦«|kr| |¦«|r-t |¦«dkr|  t ¦«t |¦«dkr|  |¦«t|| g¦«\}} } t | vr8 tj t |¦«} || d…}n#t$rd}YnwxYw||vr( ||¦«} n#t$rd} YnwxYw| sdS|| z }|| vrtj ||¦«} || d…}|r#t|vr|t¦«} | sd}n|| z }�Œ€) z�Parent copy loop. Copies pty master -> standard output (master_read) standard input -> pty master (stdin_read)F)Ú master_readÚ stdin_readTNir:r r) rÚ get_blockingÚ set_blockingÚ_copyr2r3ÚlenÚappendrÚwriter) rr<r=Úhigh_waterlevelÚ stdin_availÚ stdout_availÚi_bufÚo_bufÚrfdsÚwfdsÚ_xfdsÚnÚdatas rr@r@€sx€õ  „�yÑ!Ô!ð õ Œ˜  5Ñ)Ô)Ð)ð -Ý �)¨ÀÐ LÑ LÔ LÐ Lõ ŒO˜I tÑ ,Ô ,Ð ,Ð ,ø�BŒO˜I tÑ ,Ô ,Ð ,Ð ,øøøØˆØ€OØ�|Ò+€KØ¥ Ò-€LØ €EØ €Eð*ØˆØˆØ ð &�3˜u™:œ:¨Ò7Ð7Ø �KŠK� Ñ %Ô %Ð %Ø ð #�C ™JœJ¨Ò8Ð8Ø �KŠK˜ Ñ "Ô "Ð "Ø ð '�C ™JœJ¨šN˜NØ �KŠK� Ñ &Ô &Ð &Ý ˆu‰:Œ:˜Š>ˆ>Ø �KŠK˜ Ñ "Ô "Ð "å" 4¨¨rÑ2Ô2шˆd�Eå ˜DÐ Ð ð %Ý”H�]¨EÑ2Ô2�ؘa˜b˜bœ ��øÝð %ð %ð %Ø$� � � ð %øøøð ˜Ð Ð ð Ø"�{ 9Ñ-Ô-��øÝð ð ð Ø���ð øøøàð Ø�à �T‰MˆEà ˜Ð Ð Ý”˜ EÑ*Ô*ˆAؘ!˜"˜"”IˆEà ð �<¨4Ð/Ð/Ø�:�lÑ+Ô+ˆDØð Ø#� � à˜‘ �ñU*s/«AÁA*Å$FÆ FÆFÆ F'Æ' F6Æ5F6cód—t|¦«td¦«kr|f}tjd|¦«t¦«\}}|tkrt j|dg|¢RŽ tt¦«}tt¦«d}n#tj $rd}YnwxYw t|||¦«|r tttj|¦«n(#|r!tttj|¦«wwxYwt|¦«t!|d¦«dS)zCreate a spawned process.Úz pty.spawnrTFr )ÚtypeÚsysÚauditr r/rÚexeclprr2rÚttyÚerrorr@rÚ TCSAFLUSHrr)Úargvr<r=r5rÚmodeÚrestores rr r Ás2€å ˆD�z„z•T˜"‘X”XÒÐØˆwˆÝ„Iˆk˜4Ñ Ô Ð å‘V”V�N€CˆØ �e‚|€|Ý Œ �$�q”'Ð!˜DÐ!Ð!Ð!Ð!ðÝ�Ñ&Ô&ˆÝ�|ÑÔÐØˆˆøÝ Œ9ðððØˆˆˆðøøøð9Ý ˆi˜ jÑ1Ô1Ð1à ð 9Ý •l¥C¤M°4Ñ 8Ô 8Ð 8øøð ð 9Ý •l¥C¤M°4Ñ 8Ô 8Ð 8Ð 8ð 9øøøõ ˆ)ÑÔÐÝ �3˜‰?Œ?˜1Ô ÐsÁ.*BÂB-Â,B-Â1C%Ã%%D )Ú__doc__rrrQrTrrrrrÚ__all__r2r3r4r/r rrrr r9r@r ©r:rúr]s-ðØ Ð ðÐÐÐÐÐØ € € € Ø € € € Ø € € € ðÐÐÐÐÐÐÐØ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à &Ð &Ð &€à€ Ø€ Ø€ à €ð ð ð ðððð (ð (ð (ðððð$&ð&ð&ðPððð"'°5ð?ð?ð?ð?ðB"¨eððððððr: