a
´i½4 ã @ sÞ d dl Z d dlZd dlZd dlmZ d dlmZ g d¢ZG dd„ dƒZdd d
„Z dd„ Z
e d
ej¡j
Zdd„ Zdd„ ZedkrÚeejƒdkršeeƒ ƒ n@ejd Zeeƒ�Zeeeeƒƒ W d ƒ n1 sÐ0 Y dS )é N)Údeque)ÚStringIO)ÚshlexÚsplitÚquoteÚjoinc @ sn e Zd Zddd„Zedd„ ƒZdd„ Zdd d
„Zdd„ Zd
d„ Z dd„ Z
dd„ Zddd„Zdd„ Z
dd„ ZdS )r NFc C s t |tƒrt|ƒ}|d ur(|| _|| _ntj| _d | _|| _|rHd | _nd| _d| _ d| _
| jrn| j
d7 _
d| _d| _d| _
d| _d | _d
| _tƒ | _d| _d| _d| _tƒ | _d | _|sÄd}n|d
u rÐd}|| _|�rtƒ | _| j
d7 _
| j
t |¡¡}| j
|¡| _
d S )NÚ ú#Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u| ßà áâãäåæçèéêëìÃîïðñòóôõöøùúûüýþÿÀÃ�ÂÃÄÅÆÇÈÉÊËÌÃ�ÃŽÃ�Ã�ÑÒÓÔÕÖØÙÚÛÜÃ�Þz
Fz'"ú\ú"ú é r Tz();<>|&z~-./*?=)Ú
isinstanceÚstrr ÚinstreamÚinfileÚsysÚstdinÚposixÚeofÚ
commentersÚ wordcharsÚ
whitespaceÚwhitespace_splitÚquotesÚescapeÚ
escapedquotesÚstater ÚpushbackÚlinenoÚdebugÚtokenÚ filestackÚsourceÚ_punctuation_charsÚ_pushback_charsÚ maketransÚdictÚfromkeysÚ translate)Úselfr r r Úpunctuation_charsÚt© r- ú/usr/lib64/python3.9/shlex.pyÚ__init__ sJ
zshlex.__init__c C s | j S ©N)r$ ©r* r- r- r. r+ D s zshlex.punctuation_charsc C s* | j dkrtdt|ƒ ƒ | j |¡ d S )Nr
zshlex: pushing token )r ÚprintÚreprr Ú
appendleft)r* Útokr- r- r. Ú
push_tokenH s
zshlex.push_tokenc C sp t |tƒrt|ƒ}| j | j| j| jf¡ || _|| _d| _| jrl|d ur\t d| jf ƒ nt d| jf ƒ d S )Nr
zshlex: pushing to file %szshlex: pushing to stream %s)
r r r r" r4 r r r r r2 )r* Ú newstreamÚnewfiler- r- r. Úpush_sourceN s
zshlex.push_sourcec C sD | j ¡ | j ¡ \| _| _ | _| jr:td| j | jf ƒ d| _d S )Nzshlex: popping to %s, line %dr ) r Úcloser" Úpopleftr r r r2 r r1 r- r- r. Ú
pop_source\ s
ÿzshlex.pop_sourcec C sÔ | j r.| j ¡ }| jdkr*tdt|ƒ ƒ |S | ¡ }| jd urz|| jkrz| | ¡ ¡}|rp|\}}| ||¡ | ¡ }q@|| j
kr¢| js�| j
S | ¡ | ¡ }qz| jdkrÐ|| j
krÈtdt|ƒ ƒ ntdƒ |S )Nr
zshlex: popping token z
shlex: token=zshlex: token=EOF)
r r; r r2 r3 Ú
read_tokenr# Ú
sourcehookr9 Ú get_tokenr r" r<