3 KYsx @ sv d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlZyd dlZW n e k r d dlZY nX d dlmZmZ ddlmZ e jj ZejdpejdZerdZddlmZ nd Ze jd d kZerdd Zn(d d ZG dd deZG dd deZ d\a!a"dd Z#G dd de$Z%dd Z&dd Z'G dd de(Z)G dd de)Z*dS ) N)STDIN_FILENOCHILD )whichsolarissunosF) _fork_ptyT c C s t | gS )N)bytes)i r /usr/lib/python3.6/ptyprocess.py_byte( s r c C s t | S )N)chr)r r r r r + s c @ s e Zd ZdS )FileNotFoundErrorN)__name__ __module____qualname__r r r r r . s r c @ s e Zd ZdS )TimeoutErrorN)r r r r r r r r / s r c C s t dk rtdk rdS ynddlm} m} ytjj }W n tk rR tj j }Y nX t tj|d | }t tj|d | }W n\ tt tttjfk r yddlm}m} || }}W n tk r d\}}Y nX Y nX t|at|a dS ) zkSet constants _EOF and _INTR. This avoids doing potentially costly operations on module load. Nr )VEOFVINTR )CEOFCINTRr )r r )_EOF_INTRtermiosr r sys __stdin__fileno ValueError __stdout__ord tcgetattrImportErrorOSErrorIOErrorerrorr r r )r r fdZintreofr r r r r _make_eof_intr3 s$ r+ c @ s e Zd ZdZdS )PtyProcessErrorz%Generic error class for this package.N)r r r __doc__r r r r r, T s r, c C s d}yt j| }W nT t jk rf } z6|jd tjkrTt|jd d|jd |f W Y d d }~X nX |r|d t jB |d<