File: //opt/alt/python38/lib/python3.8/site-packages/click/__pycache__/_winconsole.cpython-38.pyc
U
�Wn � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm Z m
Z
d dlmZmZm
Z
mZmZmZmZmZmZmZmZ zd dlmZ ejZejZW n ek
r� dZY nX d dlmZmZ ee�ZejZejZej Z ej!Z!ej"Z"ee�dejf�Z#eee�eee
��dej$f�Z%ed�Z&ed �Z'ed
�Z(d Z)dZ*d Z+dZ,d
Z-d Z.dZ/dZ0dZ1dZ2G dd� dej3�Z4edk�r~dZ5n
d+dd�Z5G dd� de j6�Z7G dd� de7�Z8G dd� de7�Z9G dd� de:�Z;dd� Z<d d!� Z=d"d#� Z>e
�r�d$d%� Z?e?� Z@d&d'� ZAe<e=e>d(�ZBd)d*� ZCdS ),� N)�_NonClosingTextIOWrapper� text_type�PY2)�byref�POINTER�c_int�c_char�c_char_p�c_void_p� py_object� c_ssize_t�c_ulong�windll�WINFUNCTYPE)� pythonapi)�LPWSTR�LPCWSTR�GetCommandLineW�CommandLineToArgvWi����i����i�� � i� � � i� c @ sj e Zd Zdefdefdefdefdefdefdefdefd efd
efdefgZ e
rfe �dd
ed f� dS )� Py_buffer�buf�obj�len�itemsize�readonly�ndim�format�shape�strides�
suboffsetsZinternal���Z
smalltabler N)�__name__�
__module__�__qualname__r
r r r r � c_ssize_pZ_fields_r �insert� r* r* �/_winconsole.pyr @ s �r Fc C sT t � }|rtnt}tt| �t|�|� zt|j }|� |j
�W �S tt|�� X d S �N)r �PyBUF_WRITABLE�PyBUF_SIMPLE�PyObject_GetBufferr r �PyBuffer_Releaser r Zfrom_addressr )r �writabler �flagsZbuffer_typer* r* r+ �
get_bufferX s
r3 c @ s e Zd Zdd� Zdd� ZdS )�_WindowsConsoleRawIOBasec C s
|| _ d S r, )�handle)�selfr5 r* r* r+ �__init__e s z!_WindowsConsoleRawIOBase.__init__c C s t j�| � dS �NT)�io� RawIOBase�isatty�r6 r* r* r+ r; h s z_WindowsConsoleRawIOBase.isattyN)r% r&