AlkantarClanX12

Your IP : 18.224.73.124


Current Path : /opt/alt/python310/lib64/python3.10/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/__pycache__/argparse.cpython-310.opt-2.pyc

o

6��f��@s	dZgd�ZddlZddlZddlZddlmZ	m
Z
dZdZdZ
dZd	Zd
ZdZGdd
�d
e�Zdd�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Zdd�ZGdd�de�ZGdd�de�ZGd d!�d!e�ZGd"d#�d#e�ZGd$d%�d%e�Z Gd&d'�d'e�Z!Gd(d)�d)e!�Z"Gd*d+�d+e!�Z#Gd,d-�d-e�Z$Gd.d/�d/e�Z%Gd0d1�d1e�Z&Gd2d3�d3e�Z'Gd4d5�d5e�Z(Gd6d7�d7e�Z)Gd8d9�d9e$�Z*Gd:d;�d;e�Z+Gd<d=�d=e�Z,Gd>d?�d?e�Z-Gd@dA�dAe-�Z.GdBdC�dCe.�Z/GdDdE�dEee-�Z0dS)Fz1.1)�ArgumentParser�
ArgumentError�ArgumentTypeError�BooleanOptionalAction�FileType�
HelpFormatter�ArgumentDefaultsHelpFormatter�RawDescriptionHelpFormatter�RawTextHelpFormatter�MetavarTypeHelpFormatter�	Namespace�Action�ONE_OR_MORE�OPTIONAL�PARSER�	REMAINDER�SUPPRESS�ZERO_OR_MORE�N)�gettext�ngettextz==SUPPRESS==�?�*�+zA...�...Z_unrecognized_argsc@�&eZdZ	dd�Zdd�Zdd�ZdS)�_AttributeHoldercCs�t|�j}g}i}|��D]	}|�t|��q
|��D]\}}|��r-|�d||f�q|||<q|r=|�dt|��d|d�|�fS)N�%s=%rz**%s�%s(%s)�, )�type�__name__�	_get_args�append�repr�_get_kwargs�isidentifier�join)�selfZ	type_name�arg_stringsZ	star_args�arg�name�value�r,�//opt/alt/python310/lib64/python3.10/argparse.py�__repr__ts

z_AttributeHolder.__repr__cCst|j���S�N)�list�__dict__�items�r'r,r,r-r$��z_AttributeHolder._get_kwargscCsgSr/r,r3r,r,r-r!��z_AttributeHolder._get_argsN)r �
__module__�__qualname__r.r$r!r,r,r,r-rks
rcCs6|durgSt|�tur|dd�Sddl}|�|�S�Nr)rr0�copy)r2r9r,r,r-�_copy_items�s
r:c@s�eZdZ				d:dd�Zdd�Zdd	�ZGd
d�de�Zdd
�Zdd�Z	dd�Z
dd�Zd;dd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�ZdS)<r��NcCs�|durddl}|��j}|d8}||_||_t|t|d|d��|_||_d|_	d|_
d|_|�|d�|_
|j
|_t�dtj�|_t�d�|_dS)Nrr;�z\s+z\n\n\n+)�shutil�get_terminal_size�columns�_prog�_indent_increment�min�max�_max_help_position�_width�_current_indent�_level�_action_max_length�_Section�
_root_section�_current_section�_re�compile�ASCII�_whitespace_matcher�_long_break_matcher)r'�progZindent_incrementZmax_help_position�widthr>r,r,r-�__init__�s"
�zHelpFormatter.__init__cCs"|j|j7_|jd7_dS�N��rGrBrHr3r,r,r-�_indent�szHelpFormatter._indentcCs"|j|j8_|jd8_dSrUrWr3r,r,r-�_dedent�szHelpFormatter._dedentc@seZdZddd�Zdd�ZdS)zHelpFormatter._SectionNcCs||_||_||_g|_dSr/)�	formatter�parent�headingr2)r'rZr[r\r,r,r-rT��
zHelpFormatter._Section.__init__cCs�|jdur
|j��|jj}|dd�|jD��}|jdur"|j��|s&dS|jtur=|jdur=|jj}d|d|jf}nd}|d||dg�S)NcSsg|]\}}||��qSr,r,)�.0�func�argsr,r,r-�
<listcomp>��z6HelpFormatter._Section.format_help.<locals>.<listcomp>�z%*s%s:
�
)	r[rZrX�_join_partsr2rYr\rrG)r'r&Z	item_helpZcurrent_indentr\r,r,r-�format_help�s



z"HelpFormatter._Section.format_helpr/)r r6r7rTrfr,r,r,r-rJ�s
rJcCs|jj�||f�dSr/)rLr2r")r'r_r`r,r,r-�	_add_item�szHelpFormatter._add_itemcCs0|��|�||j|�}|�|jg�||_dSr/)rXrJrLrgrf)r'r\Zsectionr,r,r-�
start_section�s
zHelpFormatter.start_sectioncCs|jj|_|��dSr/)rLr[rYr3r,r,r-�end_section�s
zHelpFormatter.end_sectioncCs,|tur|dur|�|j|g�dSdSdSr/)rrg�_format_text)r'�textr,r,r-�add_text�s�zHelpFormatter.add_textcCs*|tur||||f}|�|j|�dSdSr/)rrg�
_format_usage)r'�usage�actions�groups�prefixr`r,r,r-�	add_usage�s�zHelpFormatter.add_usagecCsv|jtur9|j}||�g}|�|�D]	}|�||��qttt|��}||j}t|j	|�|_	|�
|j|g�dSdSr/)�helpr�_format_action_invocation�_iter_indented_subactionsr"rD�map�lenrGrIrg�_format_action)r'�actionZget_invocationZinvocations�	subactionZinvocation_lengthZ
action_lengthr,r,r-�add_arguments


��zHelpFormatter.add_argumentcCs|D]}|�|�qdSr/)r{)r'roryr,r,r-�
add_argumentss�zHelpFormatter.add_argumentscCs.|j��}|r|j�d|�}|�d�d}|S)N�

rd)rKrfrQ�sub�strip)r'rsr,r,r-rfs

zHelpFormatter.format_helpcCsd�dd�|D��S)NrccSsg|]
}|r|tur|�qSr,)r)r^�partr,r,r-ra"s��z-HelpFormatter._join_parts.<locals>.<listcomp>)r&)r'Zpart_stringsr,r,r-re!s
�zHelpFormatter._join_partscs�|durtd�}|dur|t|jd�}n�|dur$|s$dt|jd�}n�|dur�dt|jd�}g}g}|D]}|jrA|�|�q6|�|�q6|j}	|	|||�}
d�dd�||
fD��}|j|j�t	|�t	|��kr�d}|	||�}|	||�}
t
�||�}t
�||
�}d�fdd	�	}t	|�t	|�d
�kr�dt	|�t	|�d}|r�||g|||�}|�|||��n<|r�||g|||�}n0|g}n,dt	|�}||}|||�}t	|�dkr�g}|�|||��|�|||��|g|}d�|�}d
||fS)Nzusage: �rRz%(prog)s� cSsg|]}|r|�qSr,r,)r^�sr,r,r-raB�z/HelpFormatter._format_usage.<locals>.<listcomp>z%\(.*?\)+(?=\s|$)|\[.*?\]+(?=\s|$)|\S+cs�g}g}|durt|�d}nt|�d}|D]-}|dt|��kr7|r7|�|d�|��g}t|�d}|�|�|t|�d7}q|rQ|�|d�|��|dura|dt|�d�|d<|S)NrVr�r)rwr"r&)�parts�indentrq�lines�lineZline_lenr���
text_widthr,r-�	get_linesVs"
z.HelpFormatter._format_usage.<locals>.get_linesg�?rVrdz%s%s

r/)
�_�dictrA�option_stringsr"�_format_actions_usager&rFrGrwrM�findall�extend)r'rnrorprqrR�	optionals�positionalsry�formatZaction_usageZpart_regexpZ	opt_usageZ	pos_usageZ	opt_partsZ	pos_partsr�r�r�r�r,r�r-rm&sX�




zHelpFormatter._format_usagec	Cst�}i}|D]�}|jstd|����z
|�|jd�}Wn	ty&Yqwt|j�}||}|||�|jkr�d}	|jD]}
|�|
�|
jturN|	d7}	q>||	}|jsy||vrc||d7<nd||<||vrt||d7<n+d||<n&|dkr�||vr�||d7<nd||<||vr�||d	7<nd	||<t	|d|�D]}d
||<q�qg}
t
|�D]�\}}
|
jtur�|
�d�|�|�d
kr�|�
|�q�|�|d�d
kr�|�
|d�q�|
j�s|�|
�}|�|
|�}|
|v�r|ddk�r|ddk�r|dd�}|
�|�q�|
jd}|
jdk�r|
��}n|�|
�}|�|
|�}d||f}|
j�s<|
|v�r<d
|}|
�|�q�t|dd�D]}||g|
||�<�qHd�dd�|
D��}d}d}t�d|d|�}t�d|d|�}t�d||fd|�}|��}|S)Nzempty group rrVz [�[�]z (�(�)�|����%s %s�[%s]T)�reverser�cSsg|]}|dur|�qSr/r,)r^�itemr,r,r-ra�rbz7HelpFormatter._format_actions_usage.<locals>.<listcomp>z[\[(]z[\])]z(%s) z\1� (%s)z%s *%src)�set�_group_actions�
ValueError�indexrw�addrsr�required�range�	enumerater"�get�popr��#_get_default_metavar_for_positional�_format_args�nargs�format_usage�!_get_default_metavar_for_optional�sortedr&rMr~r)r'rorp�
group_actionsZinserts�group�startZgroup_action_count�endZsuppressed_actions_countryZexposed_actions_count�ir��defaultr��
option_string�args_stringrk�open�closer,r,r-r��s��



�

�

�




z#HelpFormatter._format_actions_usagecCsFd|vr|t|jd�}t|j|jd�}d|j}|�|||�dS)Nz%(prog)r��r�r})r�rArDrFrG�
_fill_text)r'rkr�r�r,r,r-rj�s

zHelpFormatter._format_textc
CsDt|jd|j�}t|j|d�}||jd}|�|�}|js+|jd|f}d|}n t|�|kr?|jd||f}d|}d}n|jd|f}d|}|}|g}|jr�|j�	�r�|�
|�}	|	r�|�|	|�}
|�d|d|
df�|
dd�D]}|�d|d|f�qun
|�
d�s�|�d�|�|�D]
}|�|�|��q�|�|�S)	Nr;r�rcz%*s%s
z	%*s%-*s  rrVrd)rCrIrErDrFrGrtrsrwr�_expand_help�_split_linesr"�endswithrurxre)
r'ryZ
help_positionZ
help_widthZaction_widthZ
action_header�tupZindent_firstr�Z	help_textZ
help_linesr�rzr,r,r-rx�s<
�


�


zHelpFormatter._format_actioncCs�|js|�|�}|�||�d�\}|Sg}|jdkr!|�|j�n|�|�}|�||�}|jD]}|�d||f�q/d�|�S)NrVrr�r)	r�r��_metavar_formatterr�r�r�r�r"r&)r'ryr��metavarr�r�r�r,r,r-rt.s




z'HelpFormatter._format_action_invocationcsP|jdur	|j�n|jdurdd�|jD�}dd�|��n|��fdd�}|S)NcS�g|]}t|��qSr,��str)r^Zchoicer,r,r-raJr�z4HelpFormatter._metavar_formatter.<locals>.<listcomp>z{%s}�,cst�t�r�S�f|Sr/)�
isinstance�tuple)Z
tuple_size��resultr,r-r�Os

z0HelpFormatter._metavar_formatter.<locals>.format)r��choicesr&)r'ry�default_metavarZchoice_strsr�r,r�r-r�Fs

z HelpFormatter._metavar_formattercCs|�||�}|jdurd|d�}|S|jtkr d|d�}|S|jtkr;|d�}t|�dkr5d|}|Sd|}|S|jtkrHd|d�}|S|jtkrQd}|S|jtkr^d	|d�}|S|jtkrgd
}|Szdd�t	|j�D�}Wnt
ytd
�d�wd�|�||j�}|S)N�%srVr�r;z
[%s [%s ...]]z[%s ...]z%s [%s ...]rz%s ...rccSsg|]}d�qS)r�r,)r^r�r,r,r-ralsz.HelpFormatter._format_args.<locals>.<listcomp>zinvalid nargs valuer�)
r�r�rrrwr
rrrr��	TypeErrorr�r&)r'ryr�Zget_metavarr�r�Zformatsr,r,r-r�VsB

�
��
�
�
�	
��
�zHelpFormatter._format_argscCs�tt|�|jd�}t|�D]}||tur||=q
t|�D]}t||d�r-||j||<q|�d�durEd�dd�|dD��}||d<|�	|�|S)Nr�r r�rcSr�r,r��r^�cr,r,r-ra{r�z.HelpFormatter._expand_help.<locals>.<listcomp>)
r��varsrAr0r�hasattrr r�r&�_get_help_string)r'ry�paramsr*Zchoices_strr,r,r-r�rs��zHelpFormatter._expand_helpccsB�z|j}Wn
tyYdSw|��|�EdH|��dSr/)�_get_subactions�AttributeErrorrXrY)r'ryZget_subactionsr,r,r-rus�
�z'HelpFormatter._iter_indented_subactionscCs&|j�d|���}ddl}|�||�S)Nr�r)rPr~r�textwrapZwrap)r'rkrSr�r,r,r-r��szHelpFormatter._split_linescCs,|j�d|���}ddl}|j||||d�S)Nr�r)Zinitial_indentZsubsequent_indent)rPr~rr�Zfill)r'rkrSr�r�r,r,r-r��s�zHelpFormatter._fill_textcC�|jSr/)rs�r'ryr,r,r-r���zHelpFormatter._get_help_stringcCs
|j��Sr/)�dest�upperr�r,r,r-r���
z/HelpFormatter._get_default_metavar_for_optionalcCr�r/)r�r�r,r,r-r��r�z1HelpFormatter._get_default_metavar_for_positional)r;r<Nr/)r r6r7rTrXrY�objectrJrgrhrirlrrr{r|rfrermr�rjrxrtr�r�r�rur�r�r�r�r�r,r,r,r-r�s@
�
`q0

rc@�eZdZ	dd�ZdS)rcs d��fdd�|jdd�D��S)Nrcc3s�|]}�|VqdSr/r,)r^r��r�r,r-�	<genexpr>�s�z9RawDescriptionHelpFormatter._fill_text.<locals>.<genexpr>T)�keepends)r&�
splitlines)r'rkrSr�r,r�r-r��s z&RawDescriptionHelpFormatter._fill_textN)r r6r7r�r,r,r,r-r��rc@r�)r	cCs|��Sr/)r�)r'rkrSr,r,r-r���z!RawTextHelpFormatter._split_linesN)r r6r7r�r,r,r,r-r	�r�r	c@r�)rcCs>|j}d|jvr|jturttg}|js|j|vr|d7}|S)Nz
%(default)� (default: %(default)s))rsr�rrrr�r�)r'ryrsZdefaulting_nargsr,r,r-r��s

z.ArgumentDefaultsHelpFormatter._get_help_stringN)r r6r7r�r,r,r,r-r�r�rc@�eZdZ	dd�Zdd�ZdS)r
cC�|jjSr/�rr r�r,r,r-r��r�z:MetavarTypeHelpFormatter._get_default_metavar_for_optionalcCr�r/r�r�r,r,r-r��r�z<MetavarTypeHelpFormatter._get_default_metavar_for_positionalN)r r6r7r�r�r,r,r,r-r
�sr
cCsd|durdS|jrd�|j�S|jdtfvr|jS|jdtfvr#|jS|jr0dd�|j�dSdS)N�/�{r��})r�r&r�rr�r�)�argumentr,r,r-�_get_action_name�sr�c@r�)rcCst|�|_||_dSr/)r��
argument_name�message)r'r�r�r,r,r-rT�s

zArgumentError.__init__cCs(|jdurd}nd}|t|j|jd�S)Nz%(message)sz'argument %(argument_name)s: %(message)s)r�r�)r�r�r�)r'r�r,r,r-�__str__�s
�zArgumentError.__str__N)r r6r7rTr�r,r,r,r-r�src@seZdZ	dS)rN)r r6r7r,r,r,r-r�src@sBeZdZ									ddd�Zdd�Zdd�Zdd	d
�ZdS)
rNFcCs@||_||_||_||_||_||_||_||_|	|_|
|_	dSr/�
r�r�r��constr�rr�r�rsr��r'r�r�r�r�r�rr�r�rsr�r,r,r-rT;s
zAction.__init__c�gd�}�fdd�|D�S)Nr�c�g|]	}|t�|�f�qSr,��getattr�r^r*r3r,r-ra^�z&Action._get_kwargs.<locals>.<listcomp>r,�r'�namesr,r3r-r$QszAction._get_kwargscCs
|jdSr8�r�r3r,r,r-r�`r�zAction.format_usagecCsttd���)Nz.__call__() not defined)�NotImplementedErrorr��r'�parser�	namespace�valuesr�r,r,r-�__call__c�zAction.__call__�NNNNNFNNr/)r r6r7rTr$r�rr,r,r,r-rs5
�rcs<eZdZ						d	�fdd�	Zd
dd�Zdd�Z�ZS)rNFc	s~g}	|D]}
|	�|
�|
�d�rd|
dd�}
|	�|
�q|dur.|dur.|tur.|d7}t�j|	|d||||||d�	dS)N�--�--no-r;r�r)	r�r�r�r�rr�r�rsr�)r"�
startswithr�superrT)r'r�r�r�rr�r�rsr�Z_option_stringsr���	__class__r,r-rTgs(



�
�zBooleanOptionalAction.__init__cCs(||jvrt||j|�d��dSdS)Nr)r��setattrr�rr�r,r,r-r�s
�zBooleanOptionalAction.__call__cCsd�|j�S)Nz | )r&r�r3r,r,r-r��rz"BooleanOptionalAction.format_usage)NNNFNNr/)r r6r7rTrr��
__classcell__r,r,r	r-rfs�
 rc�8eZdZ								d�fdd�	Zddd�Z�ZS)	�_StoreActionNFc�T|dkrtd��|dur|tkrtdt��tt|�j|||||||||	|
d�
dS)Nrz�nargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriate� nargs must be %r to supply constr�)r�rrrrTr�r	r,r-rT�� 

�z_StoreAction.__init__cCst||j|�dSr/)rr�r�r,r,r-r��z_StoreAction.__call__rr/�r r6r7rTrrr,r,r	r-r���rc�0eZdZ				d�fdd�	Zddd�Z�ZS)	�_StoreConstActionNFc	s"tt|�j||d||||d�dS)Nr)r�r�r�r�r�r�rs)rrrT�r'r�r�r�r�r�rsr�r	r,r-rT�s

�z_StoreConstAction.__init__cCst||j|j�dSr/)rr�r�r�r,r,r-r�sz_StoreConstAction.__call__�NFNNr/rr,r,r	r-r�s�rcs$eZdZ			d�fdd�	Z�ZS)�_StoreTrueActionFNc� tt|�j||d|||d�dS)NT�r�r�r�r�r�rs)rrrT�r'r�r�r�r�rsr	r,r-rT��

�z_StoreTrueAction.__init__)FFN�r r6r7rTrr,r,r	r-r��
�rcs$eZdZ			d�fdd�	Z�ZS)�_StoreFalseActionTFNcr)NFr)rr rTrr	r,r-rT�rz_StoreFalseAction.__init__)TFNrr,r,r	r-r �rr cr
)	�
_AppendActionNFcr)Nrz�nargs for append actions must be != 0; if arg strings are not supplying the value to append, the append const action may be more appropriaterr�)r�rrr!rTr�r	r,r-rT�rz_AppendAction.__init__cC�2t||jd�}t|�}|�|�t||j|�dSr/)r�r�r:r"r�r'r�rrr�r2r,r,r-r
�
z_AppendAction.__call__rr/rr,r,r	r-r!�rr!cr)	�_AppendConstActionNFc
s$tt|�j||d|||||d�dS)Nr)r�r�r�r�r�r�rsr�)rr%rTrr	r,r-rTs

�z_AppendConstAction.__init__cCs4t||jd�}t|�}|�|j�t||j|�dSr/)r�r�r:r"r�rr#r,r,r-r%sz_AppendConstAction.__call__rr/rr,r,r	r-r%s�r%cs.eZdZ			d�fdd�	Zddd�Z�ZS)	�_CountActionNFcr)Nr)r�r�r�r�r�rs)rr&rTrr	r,r-rT.rz_CountAction.__init__cCs0t||jd�}|dur
d}t||j|d�dS�NrrV)r�r�r)r'r�rrr��countr,r,r-r<sz_CountAction.__call__)NFNr/rr,r,r	r-r&,s�r&cs.eZdZeedf�fdd�	Zddd�Z�ZS)�_HelpActionNcstt|�j|||d|d�dS�Nr)r�r�r�r�rs)rr)rT)r'r�r�r�rsr	r,r-rTEs

�z_HelpAction.__init__cCs|��|��dSr/)�
print_help�exitr�r,r,r-rQsz_HelpAction.__call__r/�r r6r7rrTrrr,r,r	r-r)Cs�r)cs0eZdZdeedf�fdd�	Zddd�Z�ZS)�_VersionActionNz&show program's version number and exitcs$tt|�j|||d|d�||_dSr*)rr.rT�version)r'r�r/r�r�rsr	r,r-rTXs
�
z_VersionAction.__init__cCsD|j}|dur
|j}|��}|�|�|�|��tj�|��dSr/)r/�_get_formatterrl�_print_messagerf�_sys�stdoutr,)r'r�rrr�r/rZr,r,r-rfs
z_VersionAction.__call__r/r-r,r,r	r-r.Vs�r.csPeZdZGdd�de�Zedddf�fdd�	Zdd�Zd	d
�Zd
dd�Z	�Z
S)�_SubParsersActioncseZdZ�fdd�Z�ZS)z&_SubParsersAction._ChoicesPseudoActioncs@|}}|r|dd�|�7}ttj|�}|jg|||d�dS)Nr�r)r�r�rsr�)r&rr4�_ChoicesPseudoActionrT)r'r*�aliasesrsr�r�Zsupr	r,r-rTts

�z/_SubParsersAction._ChoicesPseudoAction.__init__rr,r,r	r-r5rsr5FNc	s<||_||_i|_g|_tt|�j||t|j|||d�dS)N)r�r�r�r�r�rsr�)�_prog_prefix�
_parser_class�_name_parser_map�_choices_actionsrr4rTr)r'r�rR�parser_classr�r�rsr�r	r,r-rT|s	

�z_SubParsersAction.__init__cKs�|�d�durd|j|f|d<|�dd�}d|vr,|�d�}|�|||�}|j�|�|jdi|��}||j|<|D]}||j|<q;|S)NrRr�r6r,rs)r�r7r�r5r:r"r8r9)r'r*�kwargsr6rsZ
choice_actionr��aliasr,r,r-�
add_parser�s

z_SubParsersAction.add_parsercCs|jSr/)r:r3r,r,r-r��r�z!_SubParsersAction._get_subactionscCs�|d}|dd�}|jturt||j|�z|j|}Wnty8|d�|j�d�}td�|}t||��w|�|d�\}	}t	|	��
�D]
\}
}t||
|�qG|rft	|��tg�t
|t��|�dSdS)NrrVr)�parser_namer�z5unknown parser %(parser_name)r (choices: %(choices)s))r�rrr9�KeyErrorr&r�r�parse_known_argsr�r2�
setdefault�_UNRECOGNIZED_ARGS_ATTRr�r�)r'r�rrr�r?r(r`�msgZsubnamespace�keyr+r,r,r-r�s(

�
�
�z_SubParsersAction.__call__r/)r r6r7rr5rrTr>r�rrr,r,r	r-r4ps�r4c@seZdZddd�ZdS)�
_ExtendActionNcCr"r/)r�r�r:r�rr#r,r,r-r�r$z_ExtendAction.__call__r/)r r6r7rr,r,r,r-rF�srFc@s(eZdZ	d
dd�Zdd�Zdd	�ZdS)r�rr�NcCs||_||_||_||_dSr/)�_mode�_bufsize�	_encoding�_errors)r'�mode�bufsize�encoding�errorsr,r,r-rT�r]zFileType.__init__c
s�|dkr7d�jvrd�jvrtjjStjSt�fdd�dD��r,d�jvr)tjjStjStd��j}t|��z
t|�j�j	�j
�j�WSty_}z||d�}td	�}t
||��d}~ww)
N�-rG�bc3s�|]}|�jvVqdSr/)rHr�r3r,r-r��s�z$FileType.__call__.<locals>.<genexpr>Zwaxzargument "-" with mode %r)�filename�errorz$can't open '%(filename)s': %(error)s)rHr2�stdin�buffer�anyr3r�r�r�rIrJrK�OSErrorr)r'�stringrD�er`r�r,r3r-r�s"
�
��zFileType.__call__cCsT|j|jf}d|jfd|jfg}d�dd�|D�dd�|D��}dt|�j|fS)NrNrOrcSsg|]
}|dkrt|��qS)r�)r#)r^r)r,r,r-rasz%FileType.__repr__.<locals>.<listcomp>cSs$g|]\}}|durd||f�qS)Nrr,)r^�kwr)r,r,r-ras
�r)rHrIrJrKr&rr )r'r`r<Zargs_strr,r,r-r.s�zFileType.__repr__)rGr�NN)r r6r7rTrr.r,r,r,r-r�s

rc@r)rcKs|D]
}t||||�qdSr/)r)r'r<r*r,r,r-rTs�zNamespace.__init__cCst|t�stSt|�t|�kSr/)r�r�NotImplementedr�)r'�otherr,r,r-�__eq__s
zNamespace.__eq__cCs
||jvSr/)r1)r'rEr,r,r-�__contains__r�zNamespace.__contains__N)r r6r7rTr]r^r,r,r,r-rs
rcs�eZdZ�fdd�Zdd�Zd&dd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zd&dd�Zdd�Zd d!�Zd"d#�Zd$d%�Z�ZS)'�_ActionsContainercstt|���||_||_||_||_i|_|�ddt	�|�ddt	�|�ddt
�|�ddt�|�ddt�|�ddt
�|�ddt�|�ddt�|�dd	t�|�dd
t�|�ddt�|�ddt�|��g|_i|_g|_g|_i|_t�d
�|_g|_dS)NryZstoreZstore_const�
store_trueZstore_falser"Zappend_constr(rsr/�parsersr�z^-\d+$|^-\d*\.\d+$)rr_rT�description�argument_default�prefix_chars�conflict_handler�_registries�registerrrrr r!r%r&r)r.r4rF�_get_handler�_actions�_option_string_actions�_action_groups�_mutually_exclusive_groups�	_defaultsrMrN�_negative_number_matcher�_has_negative_number_optionals)r'rbrdrcrer	r,r-rT%s4
z_ActionsContainer.__init__cCs|j�|i�}|||<dSr/)rfrB)r'�
registry_namer+r��registryr,r,r-rgZsz_ActionsContainer.registerNcCs|j|�||�Sr/)rfr�)r'rpr+r�r,r,r-�
_registry_get^rz_ActionsContainer._registry_getcKs2|j�|�|jD]
}|j|vr||j|_q	dSr/)rm�updaterir�r�)r'r<ryr,r,r-�set_defaultsds

��z_ActionsContainer.set_defaultscCs8|jD]}|j|kr|jdur|jSq|j�|d�Sr/)rir�r�rmr�)r'r�ryr,r,r-�get_defaultms


�z_ActionsContainer.get_defaultcOsH	|j}|rt|�dkr'|dd|vr'|rd|vrtd��|j|i|��}n|j|i|��}d|vrN|d}||jvrD|j||d<n
|jdurN|j|d<|�|�}t|�s^td|f��|di|��}|�	d|j
|j
�}t|�sytd|f��|tur�td	|f��t|d
�r�z
|�
��|d�Wnty�td��w|�|�S)
NrVrr�z+dest supplied twice for positional argumentr�zunknown action "%s"r�%r is not callablez<%r is a FileType class object, instance of it must be passedr0z,length of metavar tuple does not match nargsr,)rdrwr��_get_positional_kwargs�_get_optional_kwargsrmrc�_pop_action_class�callablerrrrr�r0r�r��_add_action)r'r`r<�charsr�Zaction_classry�	type_funcr,r,r-r{ws> 



�
�
z_ActionsContainer.add_argumentcOs&t|g|�Ri|��}|j�|�|Sr/)�_ArgumentGrouprkr")r'r`r<r�r,r,r-�add_argument_group�sz$_ActionsContainer.add_argument_groupcKs t|fi|��}|j�|�|Sr/)�_MutuallyExclusiveGrouprlr")r'r<r�r,r,r-�add_mutually_exclusive_group��z._ActionsContainer.add_mutually_exclusive_groupcCs`|�|�|j�|�||_|jD]}||j|<q|jD]}|j�|�r-|js-|j�d�q|S)NT)	�_check_conflictrir"�	containerr�rjrn�matchro)r'ryr�r,r,r-r{�s


�z_ActionsContainer._add_actioncCs|j�|�dSr/)ri�remover�r,r,r-�_remove_action�sz _ActionsContainer._remove_actioncCs�i}|jD]}|j|vrtd�}t||j��|||j<qi}|jD]"}|j|vr7|j|j|j|jd�||j<|jD]	}||j||<q:q"|jD]}|j	|j
d�}|jD]}|||<qTqH|jD]}|�||��
|�q_dS)Nz.cannot merge actions - two groups are named %r)�titlerbre)r�)rkr�r�r�rrbrer�rlr�r�rir�r{)r'r�Ztitle_group_mapr�rDZ	group_mapry�mutex_groupr,r,r-�_add_container_actions�s6



�
�
�

�
�z(_ActionsContainer._add_container_actionscKs^d|vrtd�}t|��|�d�ttfvrd|d<|�d�tkr(d|vr(d|d<t||gd�S)Nr�z1'required' is an invalid argument for positionalsr�Tr��r�r�)r�r�r�rrr�)r'r�r<rDr,r,r-rw�sz(_ActionsContainer._get_positional_kwargsc	Os�g}g}|D]0}|d|jvr||jd�}td�}t||��|�|�t|�dkr6|d|jvr6|�|�q|�dd�}|durd|rH|d}n|d}|�|j�}|s^td�}t||��|�dd�}t|||d	�S)
Nr)�optionrdzNinvalid option string %(option)r: must start with a character %(prefix_chars)rrVr�z%dest= is required for options like %rrPr�r�)	rdr�r�r"rwr��lstrip�replacer�)	r'r`r<r�Zlong_option_stringsr�rDr�Zdest_option_stringr,r,r-rxs0�

�
z&_ActionsContainer._get_optional_kwargscCs|�d|�}|�d||�S)Nry)r�rr)r'r<r�ryr,r,r-ry&sz#_ActionsContainer._pop_action_classcCs<d|j}zt||�WStytd�}t||j��w)Nz_handle_conflict_%sz%invalid conflict_resolution value: %r)rer�r�r�r�)r'Zhandler_func_namerDr,r,r-rh*s
�z_ActionsContainer._get_handlercCsPg}|jD]}||jvr|j|}|�||f�q|r&|��}|||�dSdSr/)r�rjr"rh)r'ryZconfl_optionalsr�Zconfl_optionalrer,r,r-r�3s


��z!_ActionsContainer._check_conflictcCs2tddt|��}d�dd�|D��}t|||��)Nzconflicting option string: %szconflicting option strings: %srcSsg|]\}}|�qSr,r,)r^r�ryr,r,r-raEs�z<_ActionsContainer._handle_conflict_error.<locals>.<listcomp>)rrwr&r)r'ry�conflicting_actionsr�Zconflict_stringr,r,r-�_handle_conflict_errorAs�
�z(_ActionsContainer._handle_conflict_errorcCs>|D]\}}|j�|�|j�|d�|js|j�|�qdSr/)r�r�rjr�r�r�)r'ryr�r�r,r,r-�_handle_conflict_resolveJs��z*_ActionsContainer._handle_conflict_resolver/)r r6r7rTrgrrrtrur{rr�r{r�r�rwrxryrhr�r�r�rr,r,r	r-r_#s&5
	
3(
"		r_cs6eZdZd�fdd�	Z�fdd�Z�fdd�Z�ZS)	r~Ncs�|j}|d|j�|d|j�|d|j�tt|�j}|dd|i|��||_g|_|j	|_	|j
|_
|j|_|j|_|j
|_
|j|_dS)Nrerdrcrbr,)rBrerdrcrr~rTr�r�rfrirjrmrorl)r'r�r�rbr<rsZ
super_initr	r,r-rT[s�z_ArgumentGroup.__init__cs tt|��|�}|j�|�|Sr/)rr~r{r�r"r�r	r,r-r{qr�z_ArgumentGroup._add_actioncs tt|��|�|j�|�dSr/)rr~r�r�r�r�r	r,r-r�vsz_ArgumentGroup._remove_action�NN�r r6r7rTr{r�rr,r,r	r-r~Ysr~cs.eZdZd�fdd�	Zdd�Zdd�Z�ZS)	r�Fcs tt|��|�||_||_dSr/)rr�rTr��
_container)r'r�r�r	r,r-rT}s
z _MutuallyExclusiveGroup.__init__cCs2|jrtd�}t|��|j�|�}|j�|�|S)Nz-mutually exclusive arguments must be optional)r�r�r�r�r{r�r")r'ryrDr,r,r-r{�sz#_MutuallyExclusiveGroup._add_actioncCs|j�|�|j�|�dSr/)r�r�r�r�r�r,r,r-r��sz&_MutuallyExclusiveGroup._remove_action)Fr�r,r,r	r-r�{sr�c
s*eZdZ	ddddgedddddddf
�fdd�	Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	d@dd�Z
d@dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd@d%d&�Zd@d'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�ZdAd5d6�ZdAd7d8�ZdAd9d:�ZdBd<d=�Zd>d?�Z �Z!S)CrNrPrSTc	s$tt|�j}||||	|
d�|durtj�tjd�}||_||_	||_
||_||_||_
||_|
|_|j}|td��|_|td��|_d|_dd�}|�dd|�d|vrXdn|d}|j
rq|j|d	|d
ddttd�d
�|D]}|�|�z|j}Wn	ty�Yqsw|j�|�qsdS)N)rbrdrcrerzpositional arguments�optionscSs|Sr/r,)rXr,r,r-�identity�r5z)ArgumentParser.__init__.<locals>.identityrrP�hr;rszshow this help message and exit)ryr�rs)rrrT�_os�path�basenamer2�argvrRrn�epilog�formatter_class�fromfile_prefix_chars�add_help�allow_abbrev�
exit_on_errorrr��_positionals�
_optionals�_subparsersrgr{rr�rmr�rs)r'rRrnrbr��parentsr�rdr�rcrer�r�r�Z	superinitZ	add_groupr�Zdefault_prefixr[�defaultsr	r,r-rT�sL��

��zArgumentParser.__init__cr�)N)rRrnrbr�rer�cr�r,r�r�r3r,r-ra�r�z.ArgumentParser._get_kwargs.<locals>.<listcomp>r,r�r,r3r-r$�szArgumentParser._get_kwargsc	Ks�|jdur|�td��|�dt|��d|vsd|vr4t|�dd��}t|�dd��}|�||�|_n|j|_|�d�dur[|�	�}|�
�}|j}|�|j
||d�|����|d<|�|d�}|d
d	gi|��}|j�|�|S)Nz(cannot have multiple subparser argumentsr;r�rbZsubcommandsrRrcrar�r,)r�rSr�rBrr�rr�r�r0�_get_positional_actionsrlrrrnrfrryr{)	r'r<r�rbrZr�rpZ
parsers_classryr,r,r-�add_subparsers�s$
zArgumentParser.add_subparserscCs&|jr|j�|�|S|j�|�|Sr/)r�r�r{r�r�r,r,r-r{s
�zArgumentParser._add_actioncC�dd�|jD�S)NcSsg|]}|jr|�qSr,r��r^ryr,r,r-ra�
�z8ArgumentParser._get_optional_actions.<locals>.<listcomp>�rir3r,r,r-�_get_optional_actions��z$ArgumentParser._get_optional_actionscCr�)NcSsg|]}|js|�qSr,r�r�r,r,r-ra!r�z:ArgumentParser._get_positional_actions.<locals>.<listcomp>r�r3r,r,r-r� r�z&ArgumentParser._get_positional_actionscC�4|�||�\}}|rtd�}|�|d�|��|S�Nzunrecognized arguments: %sr�)rAr�rSr&�r'r`rr�rDr,r,r-�
parse_args(�
zArgumentParser.parse_argscCs|durtjdd�}nt|�}|durt�}|jD]}|jtur4t||j�s4|jtur4t	||j|j�q|j
D]}t||�sHt	|||j
|�q8|jrmz
|�||�\}}Wnt
ylt��d}|�t|��Yn	w|�||�\}}t|t�r�|�t|t��t|t�||fSrU)r2r�r0rrir�rr�r�rrmr��_parse_known_argsr�exc_inforSr�rCr�r��delattr)r'r`rryr��errr,r,r-rA/s6


�

��

zArgumentParser.parse_known_argscs��	jdur
�	����i��	jD])}|j}t|j�D]\}}��|g�}|�|d|��|�||dd��qqi�g}t��}	t|	�D]/\}}
|
dkr]|�d�|	D]}
|�d�qTqE�	�	|
�}|durid}n|�|<d}|�|�qEd�
|��t��t��d�����	fdd�	������	�fd	d
�}
�	�������	�fdd�}g�d
�
�r�t
��}nd}�
|kr�t�
fdd��D��}�
|kr�|�
�}|�
kr�|�
q�|�
�
�vr��
|�}��|�|�
|
�
��
�
|ks�|�
�}���|d��g}�	jD]=}|�v�r9|j�r|�t|��q�|jdu�r9t|jt��r9t�|j��r9|jt�|j�u�r9t�|j�	�||j��q�|�rI�	�td�d�
|���	jD]+}|j�rv|jD]
}|�v�r^n�qUdd�|jD�}td�}�	�|d�
|���qL��fS)NrVrrP�A�Orccs���|���||�}||jur1��|���|g�D]}|�vr0td�}t|�}t|||��q|tur>|��||�dSdS)Nznot allowed with argument %s)r��_get_valuesr�r�r�r�rr)ryZargument_stringsr�Zargument_valuesZconflict_actionrDZaction_name)�action_conflictsr�seen_actions�seen_non_default_actionsr'r,r-�take_action�s


��z5ArgumentParser._parse_known_args.<locals>.take_actioncsz�|}|\}}}�j}g}	|dur���|�|dS|dur�||d�}�j}|dkrk|d|vrk|dkrk|�|g|f�|d}	|	|d}|dd�pQd}
�j}||vr`||}|
}nLtd�}t|||��|dkr|d}
|g}|�|||f�n.td�}t|||��|d}�|d�}|||�}||}
�||
�}|�|||f�nq|D]\}}}�|||�q�|
S)NTrVr�rrczignored explicit argument %r)�_match_argumentr"rdrjr�r)�start_index�option_tupleryr��explicit_argZmatch_argumentZ
action_tuples�	arg_countr|�charZnew_explicit_argZ
optionals_maprD�stopr`r�Zselected_patterns)r(�arg_strings_pattern�extras�option_string_indicesr'r�r,r-�consume_optional�sT


�>z:ArgumentParser._parse_known_args.<locals>.consume_optionalcsn�j}�|d�}|�|�}t�|�D]\}}�|||�}||7}�||�q�t|�d��dd�<|Sr/)�_match_arguments_partial�ziprw)r�Z
match_partialZselected_patternZ
arg_countsryr�r`)r(r�r�r'r�r,r-�consume_positionals�s
z=ArgumentParser._parse_known_args.<locals>.consume_positionalsrr�csg|]}|�kr|�qSr,r,)r^r�)r�r,r-ras
�z4ArgumentParser._parse_known_args.<locals>.<listcomp>z(the following arguments are required: %srcSsg|]}|jturt|��qSr,)rsrr�r�r,r,r-raGs

�z#one of the arguments %s is requiredr�r/)r��_read_args_from_filesrlr�r�rBr��iterr"�_parse_optionalr&r�r�rDrCrir�r�r�r�r�r�r�r�r�
_get_valuerSr�)r'r(rr�r�r�Zmutex_actionZ	conflictsZarg_string_pattern_partsZarg_strings_iter�
arg_stringr��patternr�r�Zmax_option_string_indexZnext_option_string_indexZpositionals_end_indexZstringsZ
stop_indexZrequired_actionsryr�r�rDr,)r�r(r�r�rr�r�r�r�r'r�r�r-r�Vs�


�
�

N
�
�


�
���
�


���z ArgumentParser._parse_known_argsc	Cs�g}|D]c}|r|d|jvr|�|�qz<t|dd���*}g}|����D]}|�|�D]}|�|�q.q'|�|�}|�|�Wd�n1sKwYWqtygt	�
�d}|�t|��Yqw|Sr')
r�r"r��readr��convert_arg_line_to_argsr�r�rWr2r�rSr�)r'r(Znew_arg_stringsr�Z	args_file�arg_liner)r�r,r,r-r�Ps(�
���z$ArgumentParser._read_args_from_filescCs|gSr/r,)r'r�r,r,r-r�jr�z'ArgumentParser.convert_arg_line_to_argscCsz|�|�}t�||�}|dur6dtd�ttd�ttd�i}|�|j�}|dur1tdd|j�|j}t	||��t
|�d��S)Nzexpected one argumentzexpected at most one argumentzexpected at least one argumentzexpected %s argumentzexpected %s argumentsrV)�_get_nargs_patternrMr�r�rr
r�r�rrrwr�)r'ryr��
nargs_patternr�Znargs_errorsrDr,r,r-r�ms"
���
zArgumentParser._match_argumentcstg}tt|�dd�D]-}|d|�}d��fdd�|D��}t�||�}|dur7|�dd�|��D��|Sq
|S)Nrr�rccsg|]}��|��qSr,)r�r�r3r,r-ra�s�z;ArgumentParser._match_arguments_partial.<locals>.<listcomp>cSr�r,)rw)r^rXr,r,r-ra�r�)r�rwr&rMr�r�rp)r'ror�r�r�Z
actions_slicer�r�r,r3r-r��s��z'ArgumentParser._match_arguments_partialc
Cs|sdS|d|jvr
dS||jvr|j|}||dfSt|�dkr$dSd|vr?|�dd�\}}||jvr?|j|}|||fS|�|�}t|�dkred�dd�|D��}||d�}td�}|�||�nt|�dkrp|\}	|	S|j�	|�r{|j
s{dSd	|vr�dSd|dfS)
NrrV�=rcSsg|]\}}}|�qSr,r,)r^ryr�r�r,r,r-ra�s�z2ArgumentParser._parse_optional.<locals>.<listcomp>)r�Zmatchesz4ambiguous option: %(option)s could match %(matches)sr�)rdrjrw�split�_get_option_tuplesr&r�rSrnr�ro)
r'r�ryr�r�Z
option_tuplesr�r`rDr�r,r,r-r��s>







�

zArgumentParser._parse_optionalc
Cs0g}|j}|d|vrA|d|vrA|jr?d|vr!|�dd�\}}n|}d}|jD]}|�|�r>|j|}|||f}|�|�q(|S|d|vr�|d|vr�|}d}|dd�}|dd�}	|jD]*}||krv|j|}|||	f}|�|�q`|�|�r�|j|}|||f}|�|�q`|S|�td�|�|S)NrrVr�r;zunexpected option string: %s)rdr�r�rjrr"rSr�)
r'r�r�r|Z
option_prefixr�ryr�Zshort_option_prefixZshort_explicit_argr,r,r-r��sB




��






��z!ArgumentParser._get_option_tuplescCs�|j}|dur
d}n3|tkrd}n,|tkrd}n%|tkrd}n|tkr&d}n|tkr-d}n|tkr4d}n	dd	�d
|�}|jrL|�	d	d�}|�	dd�}|S)
Nz(-*A-*)z(-*A?-*)z	(-*[A-]*)z
(-*A[A-]*)z([-AO]*)z(-*A[-AO]*)z(-*-*)z(-*%s-*)z-*r�rcrP)
r�rrr
rrrr&r�r�)r'ryr�r�r,r,r-r��s(z!ArgumentParser._get_nargs_patterncCr�r�)�parse_known_intermixed_argsr�rSr&r�r,r,r-�parse_intermixed_args+	r�z$ArgumentParser.parse_intermixed_argsc	s�|���dd��D�}|rtd|dj���fdd�|jD�r$td��z�|j}z`|jdur7|��dd�|_�D]}|j|_t|_|j|_	t|_q9|�
||�\}}�D]%}t||j�ryt
||j�gkryddlm}|d	|j|f�t||j�qTW�D]
}|j|_|j	|_q}n�D]
}|j|_|j	|_q�w|��}z6|D]	}|j|_d
|_q�|jD]	}	|	j|	_d
|	_q�|�
||�\}}
W|D]}|j|_q�|jD]}	|	j|	_q�n|D]}|j|_q�|jD]}	|	j|	_q�wW||_||
fS||_w)NcSsg|]}|jttfvr|�qSr,)r�rrr�r,r,r-ra@	s�z>ArgumentParser.parse_known_intermixed_args.<locals>.<listcomp>z3parse_intermixed_args: positional arg with nargs=%srcs&g|]}|jD]	}|�vr|j�qqSr,)r�r�)r^r�ry�r�r,r-raF	s�
�z;parse_intermixed_args: positional in mutuallyExclusiveGroup�)�warnzDo not expect %s in %sF)r�r�r�rlrnr�Z
save_nargsrr�Zsave_defaultrAr�r�r��warningsr�r�r�r�Z
save_required)r'r`r�aZ
save_usageryZremaining_argsr�r�r�r�r,r�r-r�2	sx
�
���	

�
�

�


��


��z*ArgumentParser.parse_known_intermixed_argscs��jttfvrz|�d�Wn	tyYnw|s<�jtkr<�jr&�j}n�j}t	|t
�r:���|�}���|�|S|sY�jt
krY�jsY�jdurO�j}n|}���|�|St|�dkrw�jdtfvrw|\}���|�}���|�|S�jtkr���fdd�|D�}|S�jtkr���fdd�|D�}���|d�|S�jtkr�t}|S��fdd�|D�}|D]}���|�q�|S)NrrVc�g|]}���|��qSr,�r��r^�v�ryr'r,r-ra�	rbz.ArgumentParser._get_values.<locals>.<listcomp>cr�r,r�r�r�r,r-ra�	rbrcr�r,r�r�r�r,r-ra�	rb)r�rrr�r�rr�r�r�r�r�r��_check_valuerrwr)r'ryr(r+r�r�r,r�r-r�	sR�
&��
�
�
�
�	�zArgumentParser._get_valuesc	Cs�|�d|j|j�}t|�std�}t|||��z||�}W|Sty=t|jdt|j��}tt	�
�d�}t||��ttfy_t|jdt|j��}||d�}td�}t|||��w)Nrrvr rV)rr+z!invalid %(type)s value: %(value)r)
rrrrzr�rrr�r#r�r2r�r�r�)r'ryr�r}rDr�r*r`r,r,r-r��	s"
�

�zArgumentParser._get_valuecCsJ|jdur!||jvr#|d�tt|j��d�}td�}t|||��dSdS)Nr)r+r�z3invalid choice: %(value)r (choose from %(choices)s))r�r&rvr#r�r)r'ryr+r`rDr,r,r-r��	s��zArgumentParser._check_valuecCs$|��}|�|j|j|j�|��Sr/)r0rrrnrirlrf)r'rZr,r,r-r��	s
�zArgumentParser.format_usagecCst|��}|�|j|j|j�|�|j�|jD]}|�|j	�|�|j�|�
|j�|��q|�|j
�|��Sr/)r0rrrnrirlrlrbrkrhr�r|r�rir�rf)r'rZZaction_groupr,r,r-rf�	s�

zArgumentParser.format_helpcCs|j|jd�S)Nr�)r�rRr3r,r,r-r0�	r4zArgumentParser._get_formattercC�"|durtj}|�|��|�dSr/)r2r3r1r��r'�filer,r,r-�print_usage�	�zArgumentParser.print_usagecCr�r/)r2r3r1rfr�r,r,r-r+
r�zArgumentParser.print_helpcCs$|r|dur	tj}|�|�dSdSr/)r2�stderr�write)r'r�r�r,r,r-r1	
s
�zArgumentParser._print_messagercCs |r	|�|tj�t�|�dSr/)r1r2r�r,)r'Zstatusr�r,r,r-r,
szArgumentParser.exitcCs2	|�tj�|j|d�}|�dtd�|�dS)N)rRr�r;z%(prog)s: error: %(message)s
)r�r2r�rRr,r�)r'r�r`r,r,r-rS
szArgumentParser.errorr�r/)rN)"r r6r7rrTr$r�r{r�r�r�rAr�r�r�r�r�r�r�r�r�r�r�r�r�r�rfr0r�r+r1r,rSrr,r,r	r-r�sZ�B

'{:-
1
M8



	r)1�__version__�__all__�osr��rerM�sysr2rr�rrrrr
rrrCr�rr:rrr	rr
r��	Exceptionrrrrrrrr r!r%r&r)r.r4rFrrr_r~r�rr,r,r,r-�<module>sb=	^)#&]78"