Edit File: argparse.cpython-36.opt-2.pyc
3 � \a�����������������@���s,��d�Z�ddddddddd d ddd ddddgZddlZddlZddlZddlZ ddl ZddlZ ddlmZmZ�dZdZdZdZdZdZdZG�dd��de�Zdd��ZG�d d��de�ZG�d!d��de�ZG�d"d��de�ZG�d#d��de�ZG�d$d ��d e�Zd%d&��Z G�d'd��de!�Z"G�d(d��de!�Z#G�d)d��de�Z$G�d*d+��d+e$�Z%G�d,d-��d-e$�Z&G�d.d/��d/e&�Z'G�d0d1��d1e&�Z(G�d2d3��d3e$�Z)G�d4d5��d5e$�Z*G�d6d7��d7e$�Z+G�d8d9��d9e$�Z,G�d:d;��d;e$�Z-G�d<d=��d=e$�Z.G�d>d��de�Z/G�d?d ��d e�Z0G�d@dA��dAe�Z1G�dBdC��dCe1�Z2G�dDdE��dEe2�Z3G�dFd��dee1�Z4dS�)Gz1.1�ArgumentParser� ArgumentError�ArgumentTypeError�FileType� HelpFormatter�ArgumentDefaultsHelpFormatter�RawDescriptionHelpFormatter�RawTextHelpFormatter�MetavarTypeHelpFormatter� Namespace�Action�ONE_OR_MORE�OPTIONAL�PARSER� REMAINDER�SUPPRESS�ZERO_OR_MORE�����N)�gettext�ngettextz==SUPPRESS==�?�*�+zA...z...Z_unrecognized_argsc���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)�_AttributeHolderc�������������C���s����t�|��j}g�}i�}x|�j��D�]}|jt|���qW�x8|�j��D�],\}}|j��r`|jd||f���q<|||<�q<W�|r�|jdt|����d|dj|�f�S�)Nz%s=%rz**%sz%s(%s)z, )�type�__name__� _get_args�append�repr�_get_kwargs�isidentifier�join)�selfZ type_name�arg_stringsZ star_args�arg�name�value��r&���� /usr/lib64/python3.6/argparse.py�__repr__v���s���� z_AttributeHolder.__repr__c�������������C���s���t�|�jj���S�)N)�sorted�__dict__�items)r!���r&���r&���r'���r�������s����z_AttributeHolder._get_kwargsc�������������C���s���g�S�)Nr&���)r!���r&���r&���r'���r�������s����z_AttributeHolder._get_argsN)r���� __module__�__qualname__r(���r���r���r&���r&���r&���r'���r���m���s��� r���c�������������C���s&���t�|�|d��d�krt|�||��t�|�|�S�)N)�getattr�setattr)� namespacer$���r%���r&���r&���r'���� _ensure_value����s����r1���c���������������@���s����e�Zd�Zd:dd�Zdd��Zdd ��ZG�d d��de�Zdd ��Zdd��Z dd��Z dd��Zd;dd�Zdd��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�����������Nc�������������C���s����|d�kr@yt�tjd��}W�n�ttfk r6���d}Y�nX�|d8�}||�_||�_||�_t|t |d�|d���|�_||�_ d|�_d|�_d|�_ |�j|�d��|�_|�j|�_tjdtj�|�_tjd�|�_d�S�)NZCOLUMNS�P���r2�������r���z\s+z\n\n\n+)�int�_os�environ�KeyError� ValueError�_prog�_indent_increment�_max_help_position�min�max�_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'����__init__����s&���� zHelpFormatter.__init__c�������������C���s"���|��j�|�j7��_�|��jd7��_d�S�)N����)rA���r<���rB���)r!���r&���r&���r'����_indent����s����zHelpFormatter._indentc�������������C���s"���|��j�|�j8��_�|��jd8��_d�S�)NrO���)rA���r<���rB���)r!���r&���r&���r'����_dedent����s����zHelpFormatter._dedentc���������������@���s���e�Zd�Zddd�Zdd��ZdS�)zHelpFormatter._SectionNc�������������C���s���||�_�||�_||�_g�|�_d�S�)N)� formatter�parent�headingr+���)r!���rR���rS���rT���r&���r&���r'���rN�������s����zHelpFormatter._Section.__init__c�������������C���s����|�j�d�k r|�jj���|�jj}|dd��|�jD���}|�j�d�k rD|�jj���|sLdS�|�jtk rz|�jd�k rz|�jj}d|d|�jf�}nd}|d||dg�S�)Nc�������������S���s���g�|�]\}}||���qS�r&���r&���)�.0�func�argsr&���r&���r'���� <listcomp>����s����z6HelpFormatter._Section.format_help.<locals>.<listcomp>��z%*s%s: � ) rS���rR���rP����_join_partsr+���rQ���rT���r���rA���)r!���r ���Z item_helpZcurrent_indentrT���r&���r&���r'����format_help����s���� z"HelpFormatter._Section.format_help)N)r���r,���r-���rN���r\���r&���r&���r&���r'���rD�������s��� rD���c�������������C���s���|�j�jj||f��d�S�)N)rF���r+���r���)r!���rV���rW���r&���r&���r'���� _add_item����s����zHelpFormatter._add_itemc�������������C���s0���|�j����|�j|�|�j|�}|�j|jg���||�_d�S�)N)rP���rD���rF���r]���r\���)r!���rT���Zsectionr&���r&���r'���� start_section����s����zHelpFormatter.start_sectionc�������������C���s���|�j�j|�_�|�j���d�S�)N)rF���rS���rQ���)r!���r&���r&���r'����end_section����s���� zHelpFormatter.end_sectionc�������������C���s$���|t�k r |d�k r |�j|�j|g��d�S�)N)r���r]����_format_text)r!����textr&���r&���r'����add_text����s����zHelpFormatter.add_textc�������������C���s&���|t�k r"||||f}|�j|�j|��d�S�)N)r���r]���� _format_usage)r!����usage�actions�groups�prefixrW���r&���r&���r'���� add_usage����s����zHelpFormatter.add_usagec�������������C���sz���|j�tk rv|�j}||�g}x |�j|�D�]}|j||���q&W�tdd��|D���}||�j�}t|�j|�|�_|�j|�j |g��d�S�)Nc�������������S���s���g�|�]}t�|��qS�r&���)�len)rU����sr&���r&���r'���rX��� ��s����z.HelpFormatter.add_argument.<locals>.<listcomp>) �helpr����_format_action_invocation�_iter_indented_subactionsr���r?���rA���rC���r]����_format_action)r!����actionZget_invocationZinvocations� subactionZinvocation_lengthZ action_lengthr&���r&���r'����add_argument���s���� zHelpFormatter.add_argumentc�������������C���s���x|D�]}|�j�|��qW�d�S�)N)rq���)r!���re���ro���r&���r&���r'���� add_arguments��s���� zHelpFormatter.add_argumentsc�������������C���s.���|�j�j��}|r*|�jjd|�}|jd�d�}|S�)Nz rZ���)rE���r\���rK����sub�strip)r!���rk���r&���r&���r'���r\�����s ���� zHelpFormatter.format_helpc�������������C���s���dj�dd��|D���S�)NrY���c�������������S���s���g�|�]}|r|t�k r|�qS�r&���)r���)rU����partr&���r&���r'���rX���!��s���z-HelpFormatter._join_parts.<locals>.<listcomp>)r ���)r!���Zpart_stringsr&���r&���r'���r[��� ��s���� zHelpFormatter._join_partsc����������������s��|d�krt�d�}|d�k r,|t|�jd��}�n�|d�krN|�rNdt|�jd��}�n�|d�k�rdt|�jd��}g�}g�}x(|D�] }|jr�|j|��qv|j|��qvW�|�j} | ||�|�} djdd��|| gD���}|�j|�j���t |�t |����k�rd}| ||�}| ||�} t j||�}t j|| �}d��fdd � }t |�t |��d ���k�r�dt |�t |��d��}|�r�||g|�||�}|j|||���n |�r�||g|�||�}n|g}nZdt |��}||�}|||�}t |�dk�r�g�}|j|||���|j|||���|g|�}dj|�}d ||f�S�)Nzusage: )rL���z%(prog)s� c�������������S���s���g�|�]}|r|�qS�r&���r&���)rU���rj���r&���r&���r'���rX���A��s����z/HelpFormatter._format_usage.<locals>.<listcomp>z%\(.*?\)+(?=\s|$)|\[.*?\]+(?=\s|$)|\S+c����������������s����g�}g�}|d�k rt�|�d�}nt�|�d�}xb|�D�]Z}|d�t�|����krp|rp|j|dj|����g�}t�|�d�}|j|��|t�|�d�7�}q0W�|r�|j|dj|����|d�k r�|d�t�|�d���|d<�|S�)NrO���rv���r���)ri���r���r ���)�parts�indentrg����lines�lineZline_lenru���)� text_widthr&���r'���� get_linesU��s"���� z.HelpFormatter._format_usage.<locals>.get_linesg�������?rO���rZ���z%s%s )N) �_�dictr;����option_stringsr����_format_actions_usager ���r@���rA���ri���rG����findall�extend)r!���rd���re���rf���rg���rL���Z optionals�positionalsro����formatZaction_usageZpart_regexpZ opt_usageZ pos_usageZ opt_partsZ pos_partsr|���rx���ry���rw���r&���)r{���r'���rc���%��sV���� zHelpFormatter._format_usagec���������� ���C���s���t���}i�}x�|D�]�}y|j|jd��}W�n�tk r>���wY�qX�|t|j��}|||��|jkrx|jD�]}|j|��qhW�|js�||kr�||��d7��<�nd||<�d||<�n*||kr�||��d7��<�nd||<�d||<�xt|d�|�D�]} d || <�q�W�qW�g�} �x2t|�D��]$\} }|j t k�rj| jd���|j| �d k�rF|j | ��n"|j| d��d k�r.|j | d���n�|j�s�|�j|�}|�j||�}||k�r�|d�dk�r�|d�dk�r�|dd��}| j|��nh|jd�} |jdk�r�d | �}n"|�j|�}|�j||�}d| |f�}|j��r$||k�r$d|�}| j|���q W�x(t|d d�D�]} || �g| | | �<��qBW�djdd��| D���}d}d}tjd|�d|�}tjd|�d|�}tjd||f�d|�}tjdd|�}|j��}|S�)Nr���z [�[�]z (�(�)rO����|z%sz%s %sz[%s]T)�reverserv���c�������������S���s���g�|�]}|d�k r|�qS�)Nr&���)rU����itemr&���r&���r'���rX������s����z7HelpFormatter._format_actions_usage.<locals>.<listcomp>z[\[(]z[\])]z(%s) z\1z (%s)z%s *%srY���z\(([^|]*)\)���r����)�set�index�_group_actionsr:���ri����add�required�range� enumeraterk���r���r����get�popr����#_get_default_metavar_for_positional�_format_args�nargs�!_get_default_metavar_for_optionalr)���r ���rG���rs���rt���)r!���re���rf���� group_actionsZinserts�group�start�endro����irw����defaultru���� option_string�args_stringra����open�closer&���r&���r'���r�������sr���� z#HelpFormatter._format_actions_usagec�������������C���sF���d|kr|t�|�jd��}t|�j|�j�d�}d|�j�}|�j|||�d�S�)Nz%(prog))rL�������rv���z )r~���r;���r?���r@���rA���� _fill_text)r!���ra���r{���rx���r&���r&���r'���r`������s ���� zHelpFormatter._format_textc������� ������C���sB��t�|�jd�|�j�}t|�j|�d�}||�j�d�}|�j|�}|jsV|�jd|f}d|�}n@t|�|kr~|�jd||f}d|�}d}n|�jd|f}d|�}|}|g}|jr�|�j |�} |�j | |�} |jd|d| d�f���x@| dd���D�]}|jd|d|f���q�W�n|jd��s|jd��x$|�j |�D�]}|j|�j|����qW�|�j|�S�) Nr2���r����rY���z%*s%s z %*s%-*s r���rO���rZ���)r>���rC���r=���r?���r@���rA���rl���rk���ri����_expand_help�_split_linesr����endswithrm���rn���r[���) r!���ro���Z help_positionZ help_widthZaction_widthZ action_header�tupZindent_firstrw���Z help_textZ help_linesrz���rp���r&���r&���r'���rn������s6���� zHelpFormatter._format_actionc�������������C���s����|j�s&|�j|�}|�j||�d�\}|S�g�}|jdkrB|j|j���n8|�j|�}|�j||�}x |j�D�]}|jd||f���q`W�dj|�S�d�S�)NrO���r���z%s %sz, ) r���r�����_metavar_formatterr����r����r����r����r���r ���)r!���ro���r�����metavarrw���r����r����r&���r&���r'���rl�����s���� z'HelpFormatter._format_action_invocationc����������������sP���|j�d�k r|j���n.|jd�k r<dd��|jD��}ddj|����n|����fdd�}|S�)Nc�������������S���s���g�|�]}t�|��qS�r&���)�str)rU���Zchoicer&���r&���r'���rX���8��s����z4HelpFormatter._metavar_formatter.<locals>.<listcomp>z{%s}�,c����������������s���t���t�r��S���f|��S�d�S�)N)� isinstance�tuple)Z tuple_size)�resultr&���r'���r����=��s���� z0HelpFormatter._metavar_formatter.<locals>.format)r�����choicesr ���)r!���ro����default_metavarZchoice_strsr����r&���)r����r'���r����4��s���� z HelpFormatter._metavar_formatterc�������������C���s����|�j�||�}|jd�kr$d|d��}n�|jtkr<d|d��}n�|jtkrTd|d��}nh|jtkrld|d��}nP|jtkr|d}n@|jtkr�d|d��}n(d d ��t|j�D��}dj|�||j��}|S�)Nz%srO���z[%s]z [%s [%s ...]]r2���z%s [%s ...]z...z%s ...c�������������S���s���g�|�]}d��qS�)z%sr&���)rU���r}���r&���r&���r'���rX���S��s����z.HelpFormatter._format_args.<locals>.<listcomp>rv���) r����r����r ���r���r���r���r���r����r ���)r!���ro���r����Zget_metavarr����Zformatsr&���r&���r'���r����D��s ���� zHelpFormatter._format_argsc�������������C���s����t�t|�|�jd�}x"t|�D�]}||�tkr||=�qW�x,t|�D�] }t||�d�r@||�j||<�q@W�|jd�d�k r�djdd��|d�D���}||d<�|�j |�|�S�)N)rL���r���r����z, c�������������S���s���g�|�]}t�|��qS�r&���)r����)rU����cr&���r&���r'���rX���`��s����z.HelpFormatter._expand_help.<locals>.<listcomp>) r~����varsr;����listr����hasattrr���r����r ����_get_help_string)r!���ro���Zparamsr$���Zchoices_strr&���r&���r'���r����W��s���� zHelpFormatter._expand_helpc�������������c���s@���y |j�}W�n�tk r���Y�nX�|�j���|��E�d�H��|�j���d�S�)N)�_get_subactions�AttributeErrorrP���rQ���)r!���ro���Zget_subactionsr&���r&���r'���rm���d��s���� z'HelpFormatter._iter_indented_subactionsc�������������C���s���|�j�jd|�j��}tj||�S�)Nrv���)rJ���rs���rt���� _textwrapZwrap)r!���ra���rM���r&���r&���r'���r����n��s����zHelpFormatter._split_linesc�������������C���s$���|�j�jd|�j��}tj||||d�S�)Nrv���)Zinitial_indentZsubsequent_indent)rJ���rs���rt���r����Zfill)r!���ra���rM���rx���r&���r&���r'���r����r��s���� zHelpFormatter._fill_textc�������������C���s���|j�S�)N)rk���)r!���ro���r&���r&���r'���r����w��s����zHelpFormatter._get_help_stringc�������������C���s ���|j�j��S�)N)�dest�upper)r!���ro���r&���r&���r'���r����z��s����z/HelpFormatter._get_default_metavar_for_optionalc�������������C���s���|j�S�)N)r����)r!���ro���r&���r&���r'���r����}��s����z1HelpFormatter._get_default_metavar_for_positional)r2���r3���N)N)r���r,���r-���rN���rP���rQ����objectrD���r]���r^���r_���rb���rh���rq���rr���r\���r[���rc���r����r`���rn���rl���r����r����r����rm���r����r����r����r����r����r&���r&���r&���r'���r�������s:��� �� `a/ c���������������@���s���e�Zd�Zdd��ZdS�)r���c����������������s ���dj���fdd�|jdd�D���S�)NrY���c�������������3���s���|�]}��|�V��qd�S�)Nr&���)rU���rz���)rx���r&���r'���� <genexpr>���s����z9RawDescriptionHelpFormatter._fill_text.<locals>.<genexpr>T)�keepends)r ���� splitlines)r!���ra���rM���rx���r&���)rx���r'���r�������s����z&RawDescriptionHelpFormatter._fill_textN)r���r,���r-���r����r&���r&���r&���r'���r������s���c���������������@���s���e�Zd�Zdd��ZdS�)r���c�������������C���s���|j���S�)N)r����)r!���ra���rM���r&���r&���r'���r�������s����z!RawTextHelpFormatter._split_linesN)r���r,���r-���r����r&���r&���r&���r'���r������s���c���������������@���s���e�Zd�Zdd��ZdS�)r���c�������������C���s>���|j�}d|j�kr:|jtk r:ttg}|js2|j|kr:|d7�}|S�)Nz %(default)z (default: %(default)s))rk���r����r���r ���r���r���r����)r!���ro���rk���Zdefaulting_nargsr&���r&���r'���r�������s���� z.ArgumentDefaultsHelpFormatter._get_help_stringN)r���r,���r-���r����r&���r&���r&���r'���r������s���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)r ���c�������������C���s���|j�jS�)N)r���r���)r!���ro���r&���r&���r'���r�������s����z:MetavarTypeHelpFormatter._get_default_metavar_for_optionalc�������������C���s���|j�jS�)N)r���r���)r!���ro���r&���r&���r'���r�������s����z<MetavarTypeHelpFormatter._get_default_metavar_for_positionalN)r���r,���r-���r����r����r&���r&���r&���r'���r ������s���c�������������C���sN���|�d�krd�S�|�j�rdj|�j��S�|�jd�tfkr2|�jS�|�jd�tfkrF|�jS�d�S�d�S�)N�/)r���r ���r����r���r����)�argumentr&���r&���r'����_get_action_name���s����r����c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)r���c�������������C���s���t�|�|�_||�_d�S�)N)r����� argument_name�message)r!���r����r����r&���r&���r'���rN������s���� zArgumentError.__init__c�������������C���s(���|�j�d�krd}nd}|t|�j|�j�d��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���r,���r-���rN���r����r&���r&���r&���r'���r������s���c���������������@���s���e�Zd�ZdS�)r���N)r���r,���r-���r&���r&���r&���r'���r������s���c���������������@���s(���e�Zd�Zd dd�Zdd��Zd dd�ZdS�)r���NFc�������������C���s@���||�_�||�_||�_||�_||�_||�_||�_||�_| |�_| |�_ d�S�)N) r���r����r�����constr����r���r����r����rk���r����)r!���r���r����r����r����r����r���r����r����rk���r����r&���r&���r'���rN�����s����zAction.__init__c���������� ������s(���ddddddddd g }��fd d�|D��S�)Nr���r����r����r����r����r���r����rk���r����c����������������s���g�|�]}|t���|�f�qS�r&���)r.���)rU���r$���)r!���r&���r'���rX���;��s����z&Action._get_kwargs.<locals>.<listcomp>r&���)r!����namesr&���)r!���r'���r���/��s����zAction._get_kwargsc�������������C���s���t�td���d�S�)Nz.__call__() not defined)�NotImplementedErrorr}���)r!����parserr0����valuesr����r&���r&���r'����__call__=��s����zAction.__call__)NNNNNFNN)N)r���r,���r-���rN���r���r����r&���r&���r&���r'���r������s���6������� c�������������������s(���e�Zd�Zd��fdd� Zddd�Z���ZS�) �_StoreActionNFc����������������sT���|dkrt�d��|d�k r,|tkr,t�dt���tt|��j||||||||| | d� �d�S�)Nr���z�nargs for store actions must be > 0; if you have nothing to store, actions such as store true or store const may be more appropriatez nargs must be %r to supply const) r���r����r����r����r����r���r����r����rk���r����)r:���r ����superr����rN���)r!���r���r����r����r����r����r���r����r����rk���r����)� __class__r&���r'���rN���C��s���� z_StoreAction.__init__c�������������C���s���t�||�j|��d�S�)N)r/���r����)r!���r����r0���r����r����r&���r&���r'���r����`��s����z_StoreAction.__call__)NNNNNFNN)N)r���r,���r-���rN���r����� __classcell__r&���r&���)r����r'���r����A��s����������r����c�������������������s(���e�Zd�Zd��fdd� Zddd�Z���ZS�) �_StoreConstActionNFc���������� ������s"���t�t|��j||d||||d��d�S�)Nr���)r���r����r����r����r����r����rk���)r����r����rN���)r!���r���r����r����r����r����rk���r����)r����r&���r'���rN���f��s���� z_StoreConstAction.__init__c�������������C���s���t�||�j|�j��d�S�)N)r/���r����r����)r!���r����r0���r����r����r&���r&���r'���r����w��s����z_StoreConstAction.__call__)NFNN)N)r���r,���r-���rN���r����r����r&���r&���)r����r'���r����d��s ������ r����c�������������������s���e�Zd�Zd��fdd� Z���ZS�)�_StoreTrueActionFNc����������������s ���t�t|��j||d|||d��d�S�)NT)r���r����r����r����r����rk���)r����r����rN���)r!���r���r����r����r����rk���)r����r&���r'���rN���}��s���� z_StoreTrueAction.__init__)FFN)r���r,���r-���rN���r����r&���r&���)r����r'���r����{��s�����r����c�������������������s���e�Zd�Zd��fdd� Z���ZS�)�_StoreFalseActionTFNc����������������s ���t�t|��j||d|||d��d�S�)NF)r���r����r����r����r����rk���)r����r����rN���)r!���r���r����r����r����rk���)r����r&���r'���rN������s���� z_StoreFalseAction.__init__)TFN)r���r,���r-���rN���r����r&���r&���)r����r'���r�������s�����r����c�������������������s(���e�Zd�Zd��fdd� Zddd�Z���ZS�) � _AppendActionNFc����������������sT���|dkrt�d��|d�k r,|tkr,t�dt���tt|��j||||||||| | d� �d�S�)Nr���z�nargs for append actions must be > 0; if arg strings are not supplying the value to append, the append const action may be more appropriatez nargs must be %r to supply const) r���r����r����r����r����r���r����r����rk���r����)r:���r ���r����r����rN���)r!���r���r����r����r����r����r���r����r����rk���r����)r����r&���r'���rN������s���� z_AppendAction.__init__c�������������C���s0���t�jt||�jg���}|j|��t||�j|��d�S�)N)�_copy�copyr1���r����r���r/���)r!���r����r0���r����r����r+���r&���r&���r'���r�������s���� z_AppendAction.__call__)NNNNNFNN)N)r���r,���r-���rN���r����r����r&���r&���)r����r'���r�������s����������r����c�������������������s(���e�Zd�Zd��fdd� Zddd�Z���ZS�) �_AppendConstActionNFc���������� ������s$���t�t|��j||d|||||d��d�S�)Nr���)r���r����r����r����r����r����rk���r����)r����r����rN���)r!���r���r����r����r����r����rk���r����)r����r&���r'���rN������s���� z_AppendConstAction.__init__c�������������C���s2���t�jt||�jg���}|j|�j��t||�j|��d�S�)N)r����r����r1���r����r���r����r/���)r!���r����r0���r����r����r+���r&���r&���r'���r�������s����z_AppendConstAction.__call__)NFNN)N)r���r,���r-���rN���r����r����r&���r&���)r����r'���r�������s ������r����c�������������������s(���e�Zd�Zd��fdd� Zddd�Z���ZS�) �_CountActionNFc����������������s ���t�t|��j||d|||d��d�S�)Nr���)r���r����r����r����r����rk���)r����r����rN���)r!���r���r����r����r����rk���)r����r&���r'���rN������s���� z_CountAction.__init__c�������������C���s$���t�||�jd�d�}t||�j|��d�S�)Nr���rO���)r1���r����r/���)r!���r����r0���r����r����Z new_countr&���r&���r'���r�������s����z_CountAction.__call__)NFN)N)r���r,���r-���rN���r����r����r&���r&���)r����r'���r�������s����� r����c�������������������s.���e�Zd�Zeedf��fdd� Zddd�Z���ZS�)�_HelpActionNc����������������s���t�t|��j|||d|d��d�S�)Nr���)r���r����r����r����rk���)r����r����rN���)r!���r���r����r����rk���)r����r&���r'���rN������s���� z_HelpAction.__init__c�������������C���s���|j����|j���d�S�)N)� print_help�exit)r!���r����r0���r����r����r&���r&���r'���r�������s����z_HelpAction.__call__)N)r���r,���r-���r���rN���r����r����r&���r&���)r����r'���r�������s���r����c�������������������s0���e�Zd�Zdeedf��fdd� Zddd�Z���ZS�)�_VersionActionNz&show program's version number and exitc����������������s$���t�t|��j|||d|d��||�_d�S�)Nr���)r���r����r����r����rk���)r����r����rN����version)r!���r���r����r����r����rk���)r����r&���r'���rN�����s���� z_VersionAction.__init__c�������������C���sD���|�j�}|d�kr|j�}|j��}|j|��|j|j��tj��|j���d�S�)N)r�����_get_formatterrb����_print_messager\����_sys�stdoutr����)r!���r����r0���r����r����r����rR���r&���r&���r'���r������s���� z_VersionAction.__call__)N)r���r,���r-���r���rN���r����r����r&���r&���)r����r'���r������s ��� r����c�������������������sN���e�Zd�ZG�dd��de�Zeddf��fdd� Zdd��Zdd ��Zdd d�Z ���Z S�) �_SubParsersActionc�������������������s���e�Zd�Z��fdd�Z���ZS�)z&_SubParsersAction._ChoicesPseudoActionc����������������s@���|�}}|r|ddj�|��7�}ttj|��}|jg�|||d��d�S�)Nz (%s)z, )r���r����rk���r����)r ���r����r�����_ChoicesPseudoActionrN���)r!���r$����aliasesrk���r����r����Zsup)r����r&���r'���rN���"��s���� z/_SubParsersAction._ChoicesPseudoAction.__init__)r���r,���r-���rN���r����r&���r&���)r����r'���r���� ��s���r����Nc����������������s>���||�_�||�_tj��|�_g�|�_tt|��j||t |�j||d��d�S�)N)r���r����r����r����rk���r����) �_prog_prefix� _parser_class�_collections�OrderedDict�_name_parser_map�_choices_actionsr����r����rN���r���)r!���r���rL����parser_classr����rk���r����)r����r&���r'���rN���*��s���� z_SubParsersAction.__init__c�������������K���s����|j�d�d�kr d|�j|f�|d<�|jdf��}d|krX|jd�}|�j|||�}|�jj|��|�jf�|�}||�j|<�x|D�]}||�j|<�qtW�|S�)NrL���z%s %sr����rk���)r����r����r����r����r����r���r����r����)r!���r$����kwargsr����rk���Z choice_actionr�����aliasr&���r&���r'���� add_parser?��s���� z_SubParsersAction.add_parserc�������������C���s���|�j�S�)N)r����)r!���r&���r&���r'���r����V��s����z!_SubParsersAction._get_subactionsc���������� ���C���s����|d�}|dd���}|�j�tk r,t||�j�|��y|�j|�}W�n<�tk rv���|dj|�j�d�}td�|�}t|�|��Y�nX�|j|d��\} }x$t | �j ��D�]\} }t|| |��q�W�|r�t |�jtg���t |t�j|��d�S�)Nr���rO���z, )�parser_namer����z5unknown parser %(parser_name)r (choices: %(choices)s))r����r���r/���r����r9���r ���r}���r����parse_known_argsr����r+���� setdefault�_UNRECOGNIZED_ARGS_ATTRr.���r����)r!���r����r0���r����r����r����r"���rW����msgZsubnamespace�keyr%���r&���r&���r'���r����Y��s"���� z_SubParsersAction.__call__)N)r���r,���r-���r���r����r���rN���r����r����r����r����r&���r&���)r����r'���r������s���r����c���������������@���s&���e�Zd�Zddd�Zdd��Zdd ��ZdS�)r����rrO���Nc�������������C���s���||�_�||�_||�_||�_d�S�)N)�_mode�_bufsize� _encoding�_errors)r!����mode�bufsize�encoding�errorsr&���r&���r'���rN������s����zFileType.__init__c�������������C���s����|dkr>d|�j�krtjS�d|�j�kr(tjS�td�|�j��}t|��yt||�j�|�j|�j|�j �S��t k r��}�ztd�}t|||f���W�Y�d�d�}~X�nX�d�S�)N�-r�����wzargument "-" with mode %rzcan't open '%s': %s)r����r�����stdinr����r}���r:���r����r����r����r�����OSErrorr���)r!����stringr�����er����r&���r&���r'���r�������s���� zFileType.__call__c�������������C���sT���|�j�|�jf}d|�jfd|�jfg}djdd��|D��dd��|D����}dt|��j|f�S�)Nr����r����z, c�������������S���s���g�|�]}|dkrt�|��qS�)rO���r����)r���)rU���r#���r&���r&���r'���rX������s����z%FileType.__repr__.<locals>.<listcomp>c�������������S���s$���g�|�]\}}|d�k rd||f��qS�)Nz%s=%rr&���)rU����kwr#���r&���r&���r'���rX������s����z%s(%s))r����r����r����r����r ���r���r���)r!���rW���r����Zargs_strr&���r&���r'���r(������s ����zFileType.__repr__r����)r����r����NN)r���r,���r-���rN���r����r(���r&���r&���r&���r'���r���~��s��� c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)r ���c�������������K���s"���x|D�]}t�|�|||���qW�d�S�)N)r/���)r!���r����r$���r&���r&���r'���rN������s���� zNamespace.__init__c�������������C���s���t�|t�stS�t|��t|�kS�)N)r����r ����NotImplementedr����)r!����otherr&���r&���r'����__eq__���s���� zNamespace.__eq__c�������������C���s ���||�j�kS�)N)r*���)r!���r����r&���r&���r'����__contains__���s����zNamespace.__contains__N)r���r,���r-���rN���r��r��r&���r&���r&���r'���r ������s���c�������������������s����e�Zd�Z��fdd�Zdd��Zd&dd�Zdd ��Zd d��Zdd ��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zd'dd�Zdd��Zd d!��Zd"d#��Zd$d%��Z���ZS�)(�_ActionsContainerc����������������s��t�t|��j���||�_||�_||�_||�_i�|�_|�jdd�t ��|�jddt ��|�jddt ��|�jddt��|�jddt��|�jddt ��|�jddt��|�jddt��|�jdd t��|�jdd t��|�jddt��|�j���g�|�_i�|�_g�|�_g�|�_i�|�_tjd�|�_g�|�_d�S�) Nro���ZstoreZstore_const� store_trueZstore_falser���Zappend_const�countrk���r�����parsersz^-\d+$|^-\d*\.\d+$)r����r ��rN����description�argument_default�prefix_chars�conflict_handler�_registries�registerr����r����r����r����r����r����r����r����r����r�����_get_handler�_actions�_option_string_actions�_action_groups�_mutually_exclusive_groups� _defaultsrG���rH����_negative_number_matcher�_has_negative_number_optionals)r!���r ��r��r��r��)r����r&���r'���rN������s2����z_ActionsContainer.__init__c�������������C���s���|�j�j|i��}|||<�d�S�)N)r��r����)r!���� registry_namer%���r�����registryr&���r&���r'���r�����s����z_ActionsContainer.registerNc�������������C���s���|�j�|�j||�S�)N)r��r����)r!���r��r%���r����r&���r&���r'���� _registry_get��s����z_ActionsContainer._registry_getc�������������K���s6���|�j�j|��x$|�jD�]}|j|kr||j�|_qW�d�S�)N)r���updater��r����r����)r!���r����ro���r&���r&���r'����set_defaults��s���� z_ActionsContainer.set_defaultsc�������������C���s8���x(|�j�D�]}|j|kr|jd�k r|jS�qW�|�jj|d��S�)N)r��r����r����r��r����)r!���r����ro���r&���r&���r'����get_default��s���� z_ActionsContainer.get_defaultc�������������O���s0��|�j�}|�s(t|�dkrJ|d�d�|krJ|r<d|kr<td��|�j||�}n|�j||�}d|kr�|d�}||�jkr�|�j|�|d<�n|�jd�k r�|�j|d<�|�j|�}t|�s�td|f���|f�|�}|�j d|j |j �}t|�s�td|f���t|�d ��r&y|�j��j |d���W�n�tk �r$���td ��Y�nX�|�j|�S�)NrO���r���r����z+dest supplied twice for positional argumentr����zunknown action "%s"r���z%r is not callabler����z,length of metavar tuple does not match nargs)r��ri���r:����_get_positional_kwargs�_get_optional_kwargsr��r���_pop_action_class�callabler��r���r����r����r����� TypeError�_add_action)r!���rW���r�����charsr����Zaction_classro���� type_funcr&���r&���r'���rq�����s2���� " z_ActionsContainer.add_argumentc�������������O���s ���t�|�f|�|�}|�jj|��|S�)N)�_ArgumentGroupr��r���)r!���rW���r����r����r&���r&���r'����add_argument_groupJ��s����z$_ActionsContainer.add_argument_groupc�������������K���s���t�|�f|�}|�jj|��|S�)N)�_MutuallyExclusiveGroupr��r���)r!���r����r����r&���r&���r'����add_mutually_exclusive_groupO��s����z._ActionsContainer.add_mutually_exclusive_groupc�������������C���sh���|�j�|��|�jj|��|�|_x|jD�]}||�j|<�q$W�x,|jD�]"}|�jj|�r>|�js>|�jjd��q>W�|S�)NT) �_check_conflictr��r���� containerr���r��r���matchr��)r!���ro���r����r&���r&���r'���r&��T��s���� z_ActionsContainer._add_actionc�������������C���s���|�j�j|��d�S�)N)r���remove)r!���ro���r&���r&���r'����_remove_actioni��s����z _ActionsContainer._remove_actionc�������������C���s����i�}x8|�j�D�].}|j|kr0td�}t||j���|||j<�qW�i�}xR|j�D�]H}|j|krt|�j|j|j|jd�||j<�x|jD�]}||j�||<�q|W�qJW�x4|jD�]*}|�j |j d�}x|jD�]}|||<�q�W�q�W�x |jD�]}|j||��j |��q�W�d�S�)Nz.cannot merge actions - two groups are named %r)�titler ��r��)r����)r��r2��r}���r:���r*��r ��r��r����r��r,��r����r��r����r&��)r!���r.��Ztitle_group_mapr����r����Z group_mapro����mutex_groupr&���r&���r'����_add_container_actionsl��s,���� z(_ActionsContainer._add_container_actionsc�������������K���s^���d|krt�d�}t|��|jd�ttgkr2d|d<�|jd�tkrPd|krPd|d<�t||g�d�S�)Nr����z1'required' is an invalid argument for positionalsr����Tr����)r����r���)r}���r%��r����r ���r���r~���)r!���r����r����r����r&���r&���r'���r!�����s����z(_ActionsContainer._get_positional_kwargsc������� ������O���s����g�}g�}xv|D�]n}|d�|�j�kr@||�j�d�}td�}t||���|j|��|d�|�j�krt|�dkr|d�|�j�kr|j|��qW�|jdd��}|d�kr�|r�|d�}n|d�}|j|�j��}|s�td�}t||���|jdd�}t|||d �S�) Nr���)�optionr��zNinvalid option string %(option)r: must start with a character %(prefix_chars)rrO���r����z%dest= is required for options like %rr����r}���)r����r���) r��r}���r:���r���ri���r�����lstrip�replacer~���) r!���rW���r����r���Zlong_option_stringsr����r����r����Zdest_option_stringr&���r&���r'���r"�����s0���� z&_ActionsContainer._get_optional_kwargsc�������������C���s���|j�d|�}|�jd||�S�)Nro���)r����r��)r!���r����r����ro���r&���r&���r'���r#�����s����z#_ActionsContainer._pop_action_classc�������������C���sD���d|�j��}y t|�|�S��tk r>���td�}t||�j����Y�nX�d�S�)Nz_handle_conflict_%sz%invalid conflict_resolution value: %r)r��r.���r����r}���r:���)r!���Zhandler_func_namer����r&���r&���r'���r�����s���� z_ActionsContainer._get_handlerc�������������C���sP���g�}x0|j�D�]&}||�jkr|�j|�}|j||f��qW�|rL|�j��}|||��d�S�)N)r���r��r���r��)r!���ro���Zconfl_optionalsr����Zconfl_optionalr��r&���r&���r'���r-�����s���� z!_ActionsContainer._check_conflictc�������������C���s6���t�ddt|��}djdd��|D���}t|||���d�S�)Nzconflicting option string: %szconflicting option strings: %sz, c�������������S���s���g�|�]\}}|�qS�r&���r&���)rU���r����ro���r&���r&���r'���rX������s���z<_ActionsContainer._handle_conflict_error.<locals>.<listcomp>)r���ri���r ���r���)r!���ro����conflicting_actionsr����Zconflict_stringr&���r&���r'����_handle_conflict_error���s���� z(_ActionsContainer._handle_conflict_errorc�������������C���sB���x<|D�]4\}}|j�j|��|�jj|d���|j�s|jj|��qW�d�S�)N)r���r0��r��r����r.��r1��)r!���ro���r8��r����r&���r&���r'����_handle_conflict_resolve���s ����z*_ActionsContainer._handle_conflict_resolve)N)N)r���r,���r-���rN���r��r��r��r ��rq���r*��r,��r&��r1��r4��r!��r"��r#��r��r-��r9��r:��r����r&���r&���)r����r'���r �����s$���4 /($ r ��c�������������������s6���e�Zd�Zd��fdd� Z��fdd�Z��fdd�Z���ZS�) r)��Nc����������������s����|j�}|d|j��|d|j��|d|j��tt|��j}|f�d|i|���||�_g�|�_|j |�_ |j |�_ |j|�_|j|�_|j |�_ |j|�_d�S�)Nr��r��r��r ��)r����r��r��r��r����r)��rN���r2��r����r��r��r��r��r��r��)r!���r.��r2��r ��r����r��Z super_init)r����r&���r'���rN������s����z_ArgumentGroup.__init__c����������������s ���t�t|��j|�}|�jj|��|S�)N)r����r)��r&��r����r���)r!���ro���)r����r&���r'���r&����s����z_ArgumentGroup._add_actionc����������������s ���t�t|��j|��|�jj|��d�S�)N)r����r)��r1��r����r0��)r!���ro���)r����r&���r'���r1����s����z_ArgumentGroup._remove_action)NN)r���r,���r-���rN���r&��r1��r����r&���r&���)r����r'���r)�����s���r)��c�������������������s.���e�Zd�Zd��fdd� Zdd��Zdd��Z���ZS�) r+��Fc����������������s ���t�t|��j|��||�_||�_d�S�)N)r����r+��rN���r����� _container)r!���r.��r����)r����r&���r'���rN�����s����z _MutuallyExclusiveGroup.__init__c�������������C���s2���|j�rtd�}t|��|�jj|�}|�jj|��|S�)Nz-mutually exclusive arguments must be optional)r����r}���r:���r;��r&��r����r���)r!���ro���r����r&���r&���r'���r&��$��s����z#_MutuallyExclusiveGroup._add_actionc�������������C���s���|�j�j|��|�jj|��d�S�)N)r;��r1��r����r0��)r!���ro���r&���r&���r'���r1��,��s����z&_MutuallyExclusiveGroup._remove_action)F)r���r,���r-���rN���r&��r1��r����r&���r&���)r����r'���r+����s���r+��c�������������������s��e�Zd�Zddddg�eddddddf��fdd� Zdd��Zd d ��Zdd��Zd d��Zdd��Z d<dd�Z d=dd�Zdd��Zdd��Z dd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd>d1d2�Zd?d3d4�Zd@d5d6�ZdAd8d9�Zd:d;��Z���ZS�)Br���Nr�����errorTc ����������������s&��t�t|��j} | ||| | d��|d�kr6tjjtjd��}||�_||�_ ||�_ ||�_||�_||�_ ||�_|�j}|td��|�_|td��|�_d�|�_dd��}|�jdd�|��d|kr�dn|d�}|�j r�|�j|d �|d �d�dttd�d ��xD|D�]<}|�j|��y |j}W�n�tk �r���Y�q�X�|�jj|��q�W�d�S�)N)r ��r��r��r��r���zpositional argumentszoptional argumentsc�������������S���s���|�S�)Nr&���)r��r&���r&���r'����identityj��s����z)ArgumentParser.__init__.<locals>.identityr���r�����hr2���rk���zshow this help message and exit)ro���r����rk���)r����r���rN���r7����path�basenamer�����argvrL���rd����epilog�formatter_class�fromfile_prefix_chars�add_help�allow_abbrevr*��r}����_positionals� _optionals�_subparsersr��rq���r���r4��r��r����r��)r!���rL���rd���r ��rB���parentsrC��r��rD��r��r��rE��rF��Z superinitZ add_groupr=��Zdefault_prefixrS���Zdefaults)r����r&���r'���rN���D��sB���� zArgumentParser.__init__c����������������s"���ddddddg}��fdd�|D��S�) NrL���rd���r ��rC��r��rE��c����������������s���g�|�]}|t���|�f�qS�r&���)r.���)rU���r$���)r!���r&���r'���rX������s����z.ArgumentParser._get_kwargs.<locals>.<listcomp>r&���)r!���r����r&���)r!���r'���r������s����zArgumentParser._get_kwargsc������� ������K���s����|�j�d�k r|�jtd���|jdt|����d|ks8d|krht|jdd��}t|jdd���}|�j||�|�_�n|�j|�_�|jd�d�kr�|�j ��}|�j ��}|�j}|j|�j ||d��|j��j��|d<�|�j|d�}|f�d g�i|��}|�j�j|��|S�) Nz(cannot have multiple subparser argumentsr����r2��r ��ZsubcommandsrL���rY���r��r���)rI��r<��r}���r����r���r����r*��rG��r����r�����_get_positional_actionsr��rh���rd���r\���rt���r#��r&��) r!���r����r2��r ��rR���r����rf���Z parsers_classro���r&���r&���r'����add_subparsers���s$���� zArgumentParser.add_subparsersc�������������C���s$���|j�r|�jj|��n|�jj|��|S�)N)r���rH��r&��rG��)r!���ro���r&���r&���r'���r&�����s����zArgumentParser._add_actionc�������������C���s���dd��|�j�D��S�)Nc�������������S���s���g�|�]}|j�r|�qS�r&���)r���)rU���ro���r&���r&���r'���rX������s���z8ArgumentParser._get_optional_actions.<locals>.<listcomp>)r��)r!���r&���r&���r'����_get_optional_actions���s����z$ArgumentParser._get_optional_actionsc�������������C���s���dd��|�j�D��S�)Nc�������������S���s���g�|�]}|j�s|�qS�r&���)r���)rU���ro���r&���r&���r'���rX������s���z:ArgumentParser._get_positional_actions.<locals>.<listcomp>)r��)r!���r&���r&���r'���rK�����s����z&ArgumentParser._get_positional_actionsc�������������C���s4���|�j�||�\}}|r0td�}|�j|dj|����|S�)Nzunrecognized arguments: %srv���)r����r}���r<��r ���)r!���rW���r0���rA��r����r&���r&���r'���� parse_args���s ����zArgumentParser.parse_argsc�������������C���s��|d�krt�jdd���}nt|�}|d�kr.t��}x>|�jD�]4}|jtk r6t||j�s6|jtk r6t ||j|j��q6W�x*|�j D�] }t||�svt |||�j |���qvW�y<|�j||�\}}t|t�r�|j t|t���t|t��||fS��tk �r���t�j��d�}|�jt|���Y�nX�d�S�)NrO���)r����rA��r����r ���r��r����r���r����r����r/���r���_parse_known_argsr����r����r.����delattrr����exc_infor<��r����)r!���rW���r0���ro���r�����errr&���r&���r'���r�������s,���� zArgumentParser.parse_known_argsc����������������s"��� j�d�k r� j���i���x`� jD�]V}|j}xJt|j�D�]<\}}��j|g��}|j|d�|����|j||d�d�����q6W�q W�i��g�}t��} xnt| �D�]b\}} | dkr�|jd��xF| D�]} |jd��q�W�q�� j | �}|d�kr�d}n|�|<�d}|j|��q�W�dj |��t���t���d������ fdd� ������ �fd d �} � j������� �fdd�}g��d � ��rpt ��}nd}x|� |k�r�t� fdd��D���}� |k�r�|� �}|� k�r�|� �qvn|� � �k�r�� |��}�j|��|� | � �� �qvW�|� �}�j�|d�����g�}x�� jD�]|}|�k�r|j�r>|jt|���nT|jd�k �rt|jt��rt�|j��r|jt�|j�k�rt�|j� j||j����qW�|�r�� jtd�dj |����xb� jD�]X}|j�r�xH|jD�]}|�k�r�P��q�W�dd��|jD��}td�}� j|dj |�����q�W���fS�)NrO���z--r�����A�OrY���c����������������s�����j�|����j|�|�}||�jk rf�j�|���x:��j|�g��D�]*}|�kr8td�}t|�}t|�||���q8W�|tk r||���||��d�S�)Nznot allowed with argument %s)r�����_get_valuesr����r����r}���r����r���r���)ro���Zargument_stringsr����Zargument_valuesZconflict_actionr����Zaction_name)�action_conflictsr0����seen_actions�seen_non_default_actionsr!���r&���r'����take_action��s���� z5ArgumentParser._parse_known_args.<locals>.take_actionc����������������s����|��}|\}}}�j�}g�}�x>|d�kr>�j��|����|�d�S�|d�k �r||d�}�j}|dkr�|d�|kr�|j|g�|f��|d�} | |d��}|dd���p�d�} �j}||kr�||�}| }ntd�}t|||���n@|dkr�|�d�} |g}|j|||f��P�ntd�}t|||���q |�d�}�|d���}|||�}||�} ��|| ��}|j|||f��P�q W�x |D�]\}}}�|||���qdW�| S�)NrO���rS��r���zignored explicit argument %r)�_match_argumentr���r��r��r}���r���)�start_index�option_tuplero���r�����explicit_argZmatch_argumentZ action_tuples� arg_countr'���charZnew_explicit_argZ optionals_mapr�����stoprW���r����Zselected_patterns)r"����arg_strings_pattern�extras�option_string_indicesr!���rY��r&���r'����consume_optional3��sN���� z:ArgumentParser._parse_known_args.<locals>.consume_optionalc����������������sr����j�}�|�d���}|�|�}x8t�|�D�]*\}}��|�|�|���}|�|7�}��||��q(W��t|�d����d�d��<�|�S�)N)�_match_arguments_partial�zipri���)r[��Z match_partialZselected_patternZ arg_countsro���r^��rW���)r"���ra��r����r!���rY��r&���r'����consume_positionals���s���� z=ArgumentParser._parse_known_args.<locals>.consume_positionalsr���c����������������s���g�|�]}|��kr|�qS�r&���r&���)rU���r����)r[��r&���r'���rX������s���z4ArgumentParser._parse_known_args.<locals>.<listcomp>z(the following arguments are required: %sz, c�������������S���s���g�|�]}|j�tk rt|��qS�r&���)rk���r���r����)rU���ro���r&���r&���r'���rX������s���z#one of the arguments %s is requiredrv���)Nr����)rD���_read_args_from_filesr��r����r����r����r�����iterr����_parse_optionalr ���r����rK��r?���r>���r��r����r����r����r����r����r����r����r.���r/���� _get_valuer<��r}���)r!���r"���r0���r3��r����r����Zmutex_actionZ conflictsZarg_string_pattern_partsZarg_strings_iter� arg_stringr\���patternrd��rg��Zmax_option_string_indexZnext_option_string_indexZpositionals_end_indexZstringsZ stop_indexZrequired_actionsro���r����r����r����r&���)rV��r"���ra��rb��r0���rc��r����rW��rX��r!���r[��rY��r'���rO�����s����� J z ArgumentParser._parse_known_argsc�������������C���s����g�}x�|D�]�}|�s"|d�|�j�kr.|j|��q ylt|dd�����R}g�}x2|j��j��D�]"}x|�j|�D�]}|j|��qdW�qTW�|�j|�}|j|��W�d�Q�R�X�W�q �tk r����t j ��d�}|�jt|���Y�q X�q W�|S�)Nr���rO���) rD��r���r�����readr�����convert_arg_line_to_argsrh��r����r��r����rQ��r<��r����)r!���r"���Znew_arg_stringsrl��Z args_file�arg_liner#���rR��r&���r&���r'���rh�����s ���� z$ArgumentParser._read_args_from_filesc�������������C���s���|gS�)Nr&���)r!���rp��r&���r&���r'���ro�����s����z'ArgumentParser.convert_arg_line_to_argsc�������������C���st���|�j�|�}tj||�}|d�krfd�td�ttd�ttd�i}tdd|j�|j�}|j|j|�}t ||��t |jd��S�)Nzexpected one argumentzexpected at most one argumentzexpected at least one argumentzexpected %s argumentzexpected %s argumentsrO���)�_get_nargs_patternrG���r/��r}���r ���r���r���r����r����r���ri���r����)r!���ro���ra��� nargs_patternr/��Znargs_errorsr����r����r&���r&���r'���rZ����s���� zArgumentParser._match_argumentc����������������st���g�}xjt�t|�dd�D�]V}|d�|��}dj��fdd�|D���}tj||�}|d�k r|jdd��|j��D����P�qW�|S�)Nr���rO���rY���c����������������s���g�|�]}��j�|��qS�r&���)rq��)rU���ro���)r!���r&���r'���rX�����s���z;ArgumentParser._match_arguments_partial.<locals>.<listcomp>c�������������S���s���g�|�]}t�|��qS�r&���)ri���)rU���r��r&���r&���r'���rX���!��s����r����)r����ri���r ���rG���r/��r����rf���)r!���re���ra��r����r����Z actions_slicerm��r/��r&���)r!���r'���re����s���� z'ArgumentParser._match_arguments_partialc������� ������C���s��|sd�S�|d�|�j�krd�S�||�jkr8|�j|�}||d�fS�t|�dkrHd�S�d|kr~|jdd�\}}||�jkr~|�j|�}|||fS�|�jr�|�j|�}t|�dkr�djdd��|D���}||d�}td�}|�j||���nt|�dkr�|\} | S�|�j j |��r�|�j�s�d�S�d |k�rd�S�d�|d�fS�) Nr���rO����=z, c�������������S���s���g�|�]\}}}|�qS�r&���r&���)rU���ro���r����r]��r&���r&���r'���rX���G��s���z2ArgumentParser._parse_optional.<locals>.<listcomp>)r5��Zmatchesz4ambiguous option: %(option)s could match %(matches)srv���)r��r��ri����splitrF���_get_option_tuplesr ���r}���r<��r��r/��r��) r!���rl��ro���r����r]��Z option_tuplesZoptionsrW���r����r\��r&���r&���r'���rj��'��s>���� zArgumentParser._parse_optionalc������� ������C���s0��g�}|�j�}|d�|kr~|d�|kr~d|kr<|jdd�\}}n|}d�}x�|�jD�],}|j|�rL|�j|�}|||f}|j|��qLW�n�|d�|ko�|d�|k�r|}d�}|d�d��}|dd���} xr|�jD�]T}||kr�|�j|�}||| f}|j|��q�|j|�r�|�j|�}|||f}|j|��q�W�n|�jtd�|���|S�)Nr���rO���rs��r2���zunexpected option string: %s)r��rt��r��� startswithr���r<��r}���) r!���r����r����r'��Z option_prefixr]��ro���r����Zshort_option_prefixZshort_explicit_argr&���r&���r'���ru��b��s8���� z!ArgumentParser._get_option_tuplesc�������������C���s����|j�}|d�krd}nX|tkr"d}nJ|tkr0d}n<|tkr>d}n.|tkrLd}n |tkrZd}nddjd |���}|jr�|jdd �}|jdd �}|S�)Nz(-*A-*)z(-*A?-*)z (-*[A-]*)z (-*A[A-]*)z([-AO]*)z(-*A[-AO]*)z(-*%s-*)z-*rS��rY���r����) r����r ���r���r���r���r���r ���r���r7��)r!���ro���r����rr��r&���r&���r'���rq�����s$����z!ArgumentParser._get_nargs_patternc����������������sx����j�ttgkr2y|jd��W�n�tk r0���Y�nX�|�rz��j�tkrz��jrP��j}n��j}t |t �rx�j��|�}�j��|��n�|�r���j�t kr���j�r���jd�k r���j}n|}�j��|��n�t|�dkr��j�d�tgkr�|\}�j��|�}�j��|��n���j�tk�r���fdd�|D��}nb��j�tk�rD���fdd�|D��}�j��|d���n0���fdd�|D��}x|D�]}�j��|���q^W�|S�)Nz--rO���c����������������s���g�|�]}�j���|��qS�r&���)rk��)rU����v)ro���r!���r&���r'���rX������s����z.ArgumentParser._get_values.<locals>.<listcomp>c����������������s���g�|�]}�j���|��qS�r&���)rk��)rU���rw��)ro���r!���r&���r'���rX������s����r���c����������������s���g�|�]}�j���|��qS�r&���)rk��)rU���rw��)ro���r!���r&���r'���rX������s����)r����r���r���r0��r:���r ���r���r����r����r����r����rk���_check_valuer���ri���)r!���ro���r"���r%���rl��rw��r&���)ro���r!���r'���rU�����s>���� zArgumentParser._get_valuesc�������������C���s����|�j�d|j|j�}t|�s0td�}t|||���y||�}W�n��tk r~���t|jdt|j��}tt j ��d��}t||��Y�nL�ttfk r����t|jdt|j��}||d�}td�}t|||���Y�nX�|S�)Nr���z%r is not callabler���rO���)r���r%���z!invalid %(type)s value: %(value)r) r��r���r$��r}���r���r���r.���r���r����r����rQ��r%��r:���)r!���ro���rl��r(��r����r����r$���rW���r&���r&���r'���rk�����s ���� zArgumentParser._get_valuec�������������C���sF���|j�d�k rB||j�krB|djtt|j���d�}td�}t|||���d�S�)Nz, )r%���r����z3invalid choice: %(value)r (choose from %(choices)s))r����r ����mapr���r}���r���)r!���ro���r%���rW���r����r&���r&���r'���rx�� ��s ����zArgumentParser._check_valuec�������������C���s$���|�j���}|j|�j|�j|�j��|j��S�)N)r����rh���rd���r��r��r\���)r!���rR���r&���r&���r'����format_usage ��s����zArgumentParser.format_usagec�������������C���sx���|�j���}|j|�j|�j|�j��|j|�j��x:|�jD�]0}|j|j ��|j|j��|j |j��|j���q0W�|j|�j ��|j��S�)N)r����rh���rd���r��r��rb���r ��r��r^���r2��rr���r����r_���rB��r\���)r!���rR���Zaction_groupr&���r&���r'���r\��� ��s����zArgumentParser.format_helpc�������������C���s���|�j�|�jd�S�)N)rL���)rC��rL���)r!���r&���r&���r'���r����0 ��s����zArgumentParser._get_formatterc�������������C���s"���|d�krt�j}|�j|�j��|��d�S�)N)r����r����r����rz��)r!����filer&���r&���r'����print_usage6 ��s����zArgumentParser.print_usagec�������������C���s"���|d�krt�j}|�j|�j��|��d�S�)N)r����r����r����r\���)r!���r{��r&���r&���r'���r����; ��s����zArgumentParser.print_helpc�������������C���s ���|r|d�krt�j}|j|��d�S�)N)r�����stderr�write)r!���r����r{��r&���r&���r'���r����@ ��s����zArgumentParser._print_messager���c�������������C���s ���|r|�j�|tj��tj|��d�S�)N)r����r����r}��r����)r!���Zstatusr����r&���r&���r'���r����I ��s����zArgumentParser.exitc�������������C���s0���|�j�tj��|�j|d�}|�jdtd�|���d�S�)N)rL���r����r2���z%(prog)s: error: %(message)s )r|��r����r}��rL���r����r}���)r!���r����rW���r&���r&���r'���r<��N ��s���� zArgumentParser.error)NN)NN)N)N)N)r���N) r���r,���r-���r���rN���r���rL��r&��rM��rK��rN��r����rO��rh��ro��rZ��re��rj��ru��rq��rU��rk��rx��rz��r\���r����r|��r����r����r����r<��r����r&���r&���)r����r'���r���1��sN���4 #�w;,,4 )5�__version__�__all__�collectionsr����r����r�����osr7����rerG����sysr�����textwrapr����r���r}���r���r���r ���r���r���r���r���r����r����r���r1���r���r���r���r���r ���r����� Exceptionr���r���r���r����r����r����r����r����r����r����r����r����r����r���r ���r ��r)��r+��r���r&���r&���r&���r'����<module>@���s~��� ���n [#%`6��5"