PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  lY`@s dZddddddddd d d d d ddddgZddlZddlZddlZddlZ ddl Z ddl Z ddlmZmZdZdZdZdZdZdZdZGdddeZddZGd ddeZGd!ddeZGd"ddeZGd#ddeZGd$d d eZd%d&Z Gd'dde!Z"Gd(dde!Z#Gd)d d eZ$Gd*d+d+e$Z%Gd,d-d-e$Z&Gd.d/d/e&Z'Gd0d1d1e&Z(Gd2d3d3e$Z)Gd4d5d5e$Z*Gd6d7d7e$Z+Gd8d9d9e$Z,Gd:d;d;e$Z-Gd<d=d=e$Z.Gd>ddeZ/Gd?d d eZ0Gd@dAdAeZ1GdBdCdCe1Z2GdDdEdEe2Z3GdFddee1Z4dS)Gz1.1ArgumentParser ArgumentErrorArgumentTypeErrorFileType HelpFormatterArgumentDefaultsHelpFormatterRawDescriptionHelpFormatterRawTextHelpFormatterMetavarTypeHelpFormatter NamespaceAction ONE_OR_MOREOPTIONALPARSER REMAINDERSUPPRESS ZERO_OR_MOREN)gettextngettextz ==SUPPRESS==?*+zA...z..._unrecognized_argsc@s4eZdZddZddZddZdS)_AttributeHoldercCst|j}g}x'|jD]}|jt|q"Wx1|jD]#\}}|jd||fqLWd|dj|fS)Nz%s=%rz%s(%s)z, )type__name__ _get_argsappendrepr _get_kwargsjoin)self type_name arg_stringsargnamevaluer''/opt/python35/lib/python3.5/argparse.py__repr__vsz_AttributeHolder.__repr__cCst|jjS)N)sorted__dict__items)r!r'r'r(rsz_AttributeHolder._get_kwargscCsgS)Nr')r!r'r'r(rsz_AttributeHolder._get_argsN)r __module__ __qualname__r)rrr'r'r'r(rms rcCs5t||ddkr(t|||t||S)N)getattrsetattr) namespacer%r&r'r'r( _ensure_valuesr2c@sjeZdZdddddZddZdd ZGd d d eZd d ZddZ ddZ ddZ dddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdS):rNcCs|dkrNyttjd}Wnttfk rCd}YnX|d8}||_||_||_t|t |d|d|_||_ d|_ d|_ d|_ |j|d|_|j|_tjdtj|_tjd|_dS)NCOLUMNSPr3rz\s+z\n\n\n+)int_osenvironKeyError ValueError_prog_indent_increment_max_help_positionminmax_width_current_indent_level_action_max_length_Section _root_section_current_section_recompileASCII_whitespace_matcher_long_break_matcher)r!progindent_incrementmax_help_positionwidthr'r'r(__init__s&           zHelpFormatter.__init__cCs%|j|j7_|jd7_dS)N)rCr>rD)r!r'r'r(_indentszHelpFormatter._indentcCs%|j|j8_|jd8_dS)NrS)rCr>rD)r!r'r'r(_dedentszHelpFormatter._dedentc@s+eZdZdddZddZdS)zHelpFormatter._SectionNcCs(||_||_||_g|_dS)N) formatterparentheadingr,)r!rVrWrXr'r'r(rRs   zHelpFormatter._Section.__init__cCs|jdk r|jj|jj}x!|jD]\}}||q2W|dd|jD}|jdk r|jj|sdS|jtk r|jdk r|jj}d|d|jf}nd}|d||dgS)NcSs"g|]\}}||qSr'r').0funcargsr'r'r( s z6HelpFormatter._Section.format_help..z%*s%s:  ) rWrVrT _join_partsr,rUrXrrC)r!r rZr[ item_helpcurrent_indentrXr'r'r( format_helps    z"HelpFormatter._Section.format_help)rr-r.rRrbr'r'r'r(rFs rFcCs|jjj||fdS)N)rHr,r)r!rZr[r'r'r( _add_itemszHelpFormatter._add_itemcCsB|j|j||j|}|j|jg||_dS)N)rTrFrHrcrb)r!rXsectionr'r'r( start_sections zHelpFormatter.start_sectioncCs|jj|_|jdS)N)rHrWrU)r!r'r'r( end_sectionszHelpFormatter.end_sectioncCs2|tk r.|dk r.|j|j|gdS)N)rrc _format_text)r!textr'r'r(add_textszHelpFormatter.add_textcCs5|tk r1||||f}|j|j|dS)N)rrc _format_usage)r!usageactionsgroupsprefixr[r'r'r( add_usages zHelpFormatter.add_usagecCs|jtk r|j}||g}x*|j|D]}|j||q7Wtdd|D}||j}t|j||_|j|j |gdS)NcSsg|]}t|qSr')len)rYsr'r'r(r\s z.HelpFormatter.add_argument..) helpr_format_action_invocation_iter_indented_subactionsrrArCrErc_format_action)r!actionget_invocation invocations subactioninvocation_length action_lengthr'r'r( add_arguments    zHelpFormatter.add_argumentcCs"x|D]}|j|qWdS)N)r|)r!rlrvr'r'r( add_argumentss zHelpFormatter.add_argumentscCsA|jj}|r=|jjd|}|jdd}|S)Nz r^)rGrbrMsubstrip)r!rrr'r'r(rbs zHelpFormatter.format_helpcCsdjdd|DS)Nr]cSs(g|]}|r|tk r|qSr')r)rYpartr'r'r(r\s z-HelpFormatter._join_parts..)r )r! part_stringsr'r'r(r_szHelpFormatter._join_partscs|dkrtd}|dk r=|td|j}n|dkri| ridtd|j}nY|dkrdtd|j}g}g}x4|D],}|jr|j|q|j|qW|j} | |||} djdd|| gD}|j|jt |t |krd} | ||} | ||} t j | | }t j | | }dfdd }t |t |d kr9dt |t |d }|r ||g|||}|j |||q|r-||g|||}q|g}nzdt |}||}|||}t |d krg}|j ||||j ||||g|}d j|}d ||fS)Nzusage: rNz%(prog)s cSsg|]}|r|qSr'r')rYrqr'r'r(r\=s z/HelpFormatter._format_usage..z\(.*?\)+|\[.*?\]+|\S+cs g}g}|dk r+t|d}nt|d}x|D]w}|dt|kr|r|j|dj|g}t|d}|j||t|d7}qBW|r|j|dj||dk r|dt|d|d<|S)NrSrr)rprr )partsindentrnlineslineline_lenr) text_widthr'r( get_linesMs"     z.HelpFormatter._format_usage..get_linesg?rSr^z%s%s ) _dictr=option_stringsr_format_actions_usager rBrCrprIfindallextend)r!rkrlrmrnrN optionals positionalsrvformat action_usage part_regexp opt_usage pos_usage opt_parts pos_partsrrrrr')rr(rj!sV       "    zHelpFormatter._format_usagec Cst}i}x#|D]}y|j|jd}Wntk rMwYqX|t|j}||||jkrx|jD]}|j|qW|js||kr||d7.z[\[(]z[\])]z(%s) z\1z (%s)z%s *%sr]z \(([^|]*)\)r)setindex_group_actionsr<rpaddrequiredrange enumeraterrrrgetpopr#_get_default_metavar_for_positional _format_argsnargs!_get_default_metavar_for_optionalr*r rIr~r)r!rlrm group_actionsinsertsgroupstartendrvirdefaultr option_string args_stringrhopencloser'r'r(r}sr                  z#HelpFormatter._format_actions_usagecCs_d|kr"|td|j}t|j|jd}d|j}|j|||dS)Nz%(prog)rN rz )rr=rArBrC _fill_text)r!rhrrr'r'r(rgs   zHelpFormatter._format_textc Cst|jd|j}t|j|d}||jd}|j|}|jsw|jd|f}d|}n\t||kr|jd||f}d|}d}n"|jd|f}d|}|}|g}|jr\|j |} |j | |} |j d|d| dfxQ| ddD] } |j d|d| fq5Wn|j dsx|j dx-|j |D]} |j |j| qW|j|S) Nr3rr]z%*s%s z %*s%-*s rrSr^)r@rEr?rArBrCrsrrrp _expand_help _split_linesrendswithrtrur_) r!rv help_position help_width action_width action_headertup indent_firstr help_text help_linesrryr'r'r(rus6         ! zHelpFormatter._format_actioncCs|js7|j|}|j||d\}|Sg}|jdkr_|j|jnL|j|}|j||}x(|jD]}|jd||fqWdj|SdS)NrSrz%s %sz, ) rr_metavar_formatterrrrrrr )r!rvrmetavarrrrr'r'r(rss z'HelpFormatter._format_action_invocationcsr|jdk r|jnA|jdk rVdd|jD}ddj|n|fdd}|S)NcSsg|]}t|qSr')str)rYchoicer'r'r(r\0s z4HelpFormatter._metavar_formatter..z{%s},cs"ttrSf|SdS)N) isinstancetuple) tuple_size)resultr'r(r5sz0HelpFormatter._metavar_formatter..format)rchoicesr )r!rvdefault_metavar choice_strsrr')rr(r,s z HelpFormatter._metavar_formattercCs|j||}|jdkr4d|d}n|jtkrVd|d}n|jtkrxd|d}n|jtkrd|d}nr|jtkrd}nZ|jtkrd|d}n8d d t|jD}d j|||j}|S) Nz%srSz[%s]z [%s [%s ...]]r3z %s [%s ...]z...z%s ...cSsg|] }dqS)z%sr')rYrr'r'r(r\Ks z.HelpFormatter._format_args..r) rrr rr rrrr )r!rvr get_metavarrformatsr'r'r(r<s  zHelpFormatter._format_argscCstt|d|j}x+t|D]}||tkr(||=q(Wx8t|D]*}t||drV||j||.) rvarsr=listrhasattrrrr _get_help_string)r!rvparamsr% choices_strr'r'r(rOs   zHelpFormatter._expand_helpc csFy |j}Wntk r!Yn!X|j|EdH|jdS)N)_get_subactionsAttributeErrorrTrU)r!rvget_subactionsr'r'r(rt\s    z'HelpFormatter._iter_indented_subactionscCs+|jjd|j}tj||S)Nr)rLr~r _textwrapwrap)r!rhrQr'r'r(rfszHelpFormatter._split_linescCs7|jjd|j}tj||d|d|S)Nrinitial_indentsubsequent_indent)rLr~rrfill)r!rhrQrr'r'r(rjszHelpFormatter._fill_textcCs|jS)N)rr)r!rvr'r'r(roszHelpFormatter._get_help_stringcCs |jjS)N)destupper)r!rvr'r'r(rrsz/HelpFormatter._get_default_metavar_for_optionalcCs|jS)N)r)r!rvr'r'r(rusz1HelpFormatter._get_default_metavar_for_positional)rr-r.rRrTrUobjectrFrcrerfriror|r}rbr_rjrrgrursrrrrtrrrrrr'r'r'r(rs:   !         \ a  /       c@seZdZddZdS)rcs,djfdd|jddDS)Nr]c3s|]}|VqdS)Nr')rYr)rr'r( sz9RawDescriptionHelpFormatter._fill_text..keependsT)r splitlines)r!rhrQrr')rr(rsz&RawDescriptionHelpFormatter._fill_textN)rr-r.rr'r'r'r(rys c@seZdZddZdS)rcCs |jS)N)r)r!rhrQr'r'r(rsz!RawTextHelpFormatter._split_linesN)rr-r.rr'r'r'r(rs c@seZdZddZdS)rcCsY|j}d|jkrU|jtk rUttg}|jsK|j|krU|d7}|S)Nz %(default)z (default: %(default)s))rrrrr rrr)r!rvrrdefaulting_nargsr'r'r(rs   z.ArgumentDefaultsHelpFormatter._get_help_stringN)rr-r.rr'r'r'r(rs c@s(eZdZddZddZdS)r cCs |jjS)N)rr)r!rvr'r'r(rsz:MetavarTypeHelpFormatter._get_default_metavar_for_optionalcCs |jjS)N)rr)r!rvr'r'r(rsz.r')r!namesr')r!r(r's zAction._get_kwargscCsttddS)Nz.__call__() not defined)NotImplementedErrorr)r!parserr1valuesrr'r'r(__call__5szAction.__call__)rr-r.rRrrr'r'r'r(r s 6 c sIeZdZddddddddfddZdddZS) _StoreActionNFc s|dkrtd|dk r@|tkr@tdttt|jd|d|d|d|d|d |d |d |d | d | dS)Nrznargs 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 constrrrrrrrrrrr)r<r superrrR) r!rrrrrrrrrrr) __class__r'r(rR;s  z_StoreAction.__init__cCst||j|dS)N)r0r)r!rr1rrr'r'r(rXsz_StoreAction.__call__)rr-r.rRrr'r')rr(r9s rcs=eZdZddddfddZdddZS)_StoreConstActionNFcsAtt|jd|d|ddd|d|d|d|dS) Nrrrrrrrrr)rrrR)r!rrrrrrrr)rr'r(rR^sz_StoreConstAction.__init__cCst||j|jdS)N)r0rr)r!rr1rrr'r'r(rosz_StoreConstAction.__call__)rr-r.rRrr'r')rr(r\s  rcs+eZdZdddfddZS)_StoreTrueActionFNc s;tt|jd|d|ddd|d|d|dS)NrrrTrrrr)rrrR)r!rrrrrr)rr'r(rRusz_StoreTrueAction.__init__)rr-r.rRr'r')rr(rss rcs+eZdZdddfddZS)_StoreFalseActionTFNc s;tt|jd|d|ddd|d|d|dS)NrrrFrrrr)rrrR)r!rrrrrr)rr'r(rRsz_StoreFalseAction.__init__)rr-r.rRr'r')rr(rs rc sIeZdZddddddddfddZdddZS) _AppendActionNFc s|dkrtd|dk r@|tkr@tdttt|jd|d|d|d|d|d |d |d |d | d | dS)Nrznargs 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 constrrrrrrrrrrr)r<r rrrR) r!rrrrrrrrrrr)rr'r(rRs  z_AppendAction.__init__cCsBtjt||jg}|j|t||j|dS)N)_copycopyr2rrr0)r!rr1rrr,r'r'r(rs z_AppendAction.__call__)rr-r.rRrr'r')rr(rs rcs=eZdZddddfddZdddZS)_AppendConstActionNFcsGtt|jd|d|ddd|d|d|d|d |dS) Nrrrrrrrrrr)rrrR)r!rrrrrrrr)rr'r(rRsz_AppendConstAction.__init__cCsEtjt||jg}|j|jt||j|dS)N)rrr2rrrr0)r!rr1rrr,r'r'r(rsz_AppendConstAction.__call__)rr-r.rRrr'r')rr(rs  rcs:eZdZdddfddZdddZS) _CountActionNFc s;tt|jd|d|ddd|d|d|dS)Nrrrrrrrr)rrrR)r!rrrrrr)rr'r(rRsz_CountAction.__init__cCs0t||jdd}t||j|dS)NrrS)r2rr0)r!rr1rr new_countr'r'r(rsz_CountAction.__call__)rr-r.rRrr'r')rr(rs  rcs:eZdZeedfddZdddZS) _HelpActionNc s5tt|jd|d|d|ddd|dS)Nrrrrrrr)rrrR)r!rrrrr)rr'r(rRs z_HelpAction.__init__cCs|j|jdS)N) print_helpexit)r!rr1rrr'r'r(rs z_HelpAction.__call__)rr-r.rrRrr'r')rr(rs rcs=eZdZdeedfddZdddZS)_VersionActionNz&show program's version number and exitc s>tt|jd|d|d|ddd|||_dS)Nrrrrrrr)rrrRversion)r!rrrrrr)rr'r(rRsz_VersionAction.__init__cCs^|j}|dkr|j}|j}|j||j|jtj|jdS)N)r_get_formatterri_print_messagerb_sysstdoutr)r!rr1rrrrVr'r'r(r s     z_VersionAction.__call__)rr-r.rrRrr'r')rr(rs  rcsheZdZGdddeZeddfddZddZdd Zdd d Z S) _SubParsersActioncs"eZdZfddZS)z&_SubParsersAction._ChoicesPseudoActionc s_|}}|r'|ddj|7}ttj|}|jdgd|d|d|dS)Nz (%s)z, rrrrr)r rr _ChoicesPseudoActionrR)r!r%aliasesrrrrsup)rr'r(rRs  z/_SubParsersAction._ChoicesPseudoAction.__init__)rr-r.rRr'r')rr(r s r Nc sh||_||_tj|_g|_tt|jd|d|dt d|jd|d|dS)Nrrrrrrr) _prog_prefix _parser_class _collections OrderedDict_name_parser_map_choices_actionsrr rRr)r!rrN parser_classrrrr)rr'r(rR"s    z_SubParsersAction.__init__cKs|jddkr,d|j|f|d<|jdf}d|kr~|jd}|j|||}|jj||j|}||j|.cSs2g|](\}}|dk rd||fqS)Nz%s=%rr')rYkwr$r'r'r(r\s z%s(%s))r"r#r$r%r rr)r!r[rargs_strr'r'r(r)s zFileType.__repr__r)rr-r.rRrr)r'r'r'r(rvs  c@s4eZdZddZddZddZdS)r cKs)x"|D]}t||||qWdS)N)r0)r!rr%r'r'r(rRs zNamespace.__init__cCs)t|tstSt|t|kS)N)rr NotImplementedr)r!otherr'r'r(__eq__szNamespace.__eq__cCs ||jkS)N)r+)r!r r'r'r( __contains__szNamespace.__contains__N)rr-r.rRr4r5r'r'r'r(r s   cseZdZfddZddZdddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZdddZddZd d!Zd"d#Zd$d%ZS)&_ActionsContainercsgtt|j||_||_||_||_i|_|jddt |jddt |jddt |jddt |jddt |jddt |jddt|jddt|jdd t|jdd t|jdd t|jg|_i|_g|_g|_i|_tjd |_g|_dS) Nrvstore store_const store_true store_falser append_constcountrrrparsersz^-\d+$|^-\d*\.\d+$)rr6rR descriptionargument_default prefix_charsconflict_handler _registriesregisterrrrrrrrrrr  _get_handler_actions_option_string_actions_action_groups_mutually_exclusive_groups _defaultsrIrJ_negative_number_matcher_has_negative_number_optionals)r!r>r@r?rA)rr'r(rRs2           z_ActionsContainer.__init__cCs#|jj|i}|||rAr)rGrdrr<r\r>rArrHr^rrErrW)r!r`title_group_maprr group_maprv mutex_groupr'r'r(_add_container_actionsds,      z(_ActionsContainer._add_container_actionscKsd|kr$td}t||jdttgkrId|d<|jdtkrtd|krtd|d.)rrpr r)r!rvconflicting_actionsrconflict_stringr'r'r(_handle_conflict_errors  z(_ActionsContainer._handle_conflict_errorcCsWxP|D]H\}}|jj||jj|d|js|jj|qWdS)N)rrbrFrr`rc)r!rvrqrr'r'r(_handle_conflict_resolves  z*_ActionsContainer._handle_conflict_resolve)rr-r.rRrCrNrPrQr|r\r^rWrcrhrRrSrTrDr_rsrtr'r')rr(r6s$ 4  /     (  $  r6csLeZdZddfddZfddZfddZS)r[Nc s|j}|d|j|d|j|d|jtt|j}|d||||_g|_|j |_ |j |_ |j |_ |j |_ |j |_ |j|_dS)NrAr@r?r>)rrAr@r?rr[rRrdrrBrErFrIrKrH)r!r`rdr>rrO super_init)rr'r(rRs        z_ArgumentGroup.__init__cs,tt|j|}|jj||S)N)rr[rWrr)r!rv)rr'r(rW sz_ArgumentGroup._add_actioncs*tt|j||jj|dS)N)rr[rcrrb)r!rv)rr'r(rcsz_ArgumentGroup._remove_action)rr-r.rRrWrcr'r')rr(r[s r[cs=eZdZdfddZddZddZS)r]Fcs,tt|j|||_||_dS)N)rr]rRr _container)r!r`r)rr'r(rRs z _MutuallyExclusiveGroup.__init__cCsG|jr!td}t||jj|}|jj||S)Nz-mutually exclusive arguments must be optional)rrr<rvrWrr)r!rvrr'r'r(rWs    z#_MutuallyExclusiveGroup._add_actioncCs$|jj||jj|dS)N)rvrcrrb)r!rvr'r'r(rc$sz&_MutuallyExclusiveGroup._remove_action)rr-r.rRrWrcr'r')rr(r]s  r]cseZdZddddgeddddddfdd ZddZd d Zd d Zd dZddZ ddddZ ddddZ ddZ ddZ ddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zdd1d2Zdd3d4Zdd5d6Zd7dd8d9Zd:d;ZS)r@r?rArzpositional argumentszoptional argumentscSs|S)Nr')r.r'r'r(identitybsz)ArgumentParser.__init__..identityrr*hr3rrrvrzshow this help message and exit)rrrRr9pathbasenamer argvrNrkepilogformatter_classfromfile_prefix_charsadd_help allow_abbrevr\r _positionals _optionals _subparsersrCr|rrhrIrrO)r!rNrkr>r}parentsr~r@rr?rArr superinit add_grouprxdefault_prefixrWdefaults)rr'r(rR<sB                   zArgumentParser.__init__cs/ddddddg}fdd|DS) NrNrkr>r~rArcs%g|]}|t|fqSr')r/)rYr%)r!r'r(r\s z.ArgumentParser._get_kwargs..r')r!rr')r!r(r|s zArgumentParser._get_kwargsc KsA|jdk r"|jtd|jdt|d|ksPd|krt|jdd}t|jdd}|j|||_n |j|_|jddkr |j }|j }|j }|j |j ||d|jj|d<|j|d}|d g|}|jj||S) Nz(cannot have multiple subparser argumentsrrdr> subcommandsrNr]r=r)rrwrrrrr\rrr_get_positional_actionsrHrorkrbrrTrW) r!rrdr>rVrrm parsers_classrvr'r'r(add_subparserss$    zArgumentParser.add_subparserscCs0|jr|jj|n|jj||S)N)rrrWr)r!rvr'r'r(rWs zArgumentParser._add_actioncCsdd|jDS)NcSsg|]}|jr|qSr')r)rYrvr'r'r(r\s z8ArgumentParser._get_optional_actions..)rE)r!r'r'r(_get_optional_actionss z$ArgumentParser._get_optional_actionscCsdd|jDS)NcSsg|]}|js|qSr')r)rYrvr'r'r(r\s z:ArgumentParser._get_positional_actions..)rE)r!r'r'r(rs z&ArgumentParser._get_positional_actionscCsH|j||\}}|rDtd}|j|dj||S)Nzunrecognized arguments: %sr)rrrwr )r!r[r1r|rr'r'r( parse_argss  zArgumentParser.parse_argsc Csk|dkr"tjdd}n t|}|dkrCt}xW|jD]L}|jtk rMt||jsM|jtk rMt ||j|jqMWx7|j D],}t||st |||j |qWyX|j ||\}}t|t r$|j t|t t|t ||fSWn5tk rftjd}|jt|YnXdS)NrS)r r|rr rErrrrr0rI_parse_known_argsrrr/delattrrexc_inforwr)r!r[r1rvrerrr'r'r(rs,      zArgumentParser.parse_known_argscs. jdk r jix~ jD]s}|j}xat|jD]P\}}j|g}|j|d||j||ddqMWq.Wig}t} xt| D]\}} | dkr|jdx_| D]} |jdqWq j | } | dkr4d} n| |.take_actioncs|}|\}}}j}g}x|dkrPj||dS|dk ry||d}j}|dkr|d|kr|j|g|f|d} | |d}|ddpd} j} || kr| |}| }qvtd} t|| |q|dkrW|d} |g}|j|||fPqtd} t|| |q+|d}|d}|||}||} || }|j|||fPq+Wx'|D]\}}}|||qW| S)NrSrrzignored explicit argument %r)_match_argumentrr@rFrr) start_index option_tuplervr explicit_argmatch_argument action_tuples arg_countrXcharnew_explicit_arg optionals_maprstopr[rselected_patterns)r#arg_strings_patternextrasoption_string_indicesr!rr'r(consume_optional+sN                 z:ArgumentParser._parse_known_args..consume_optionalcsj}|d}||}xHt|D]7\}}|||}||7}||q8Wt|ddd<|S)N)_match_arguments_partialziprp)r match_partialselected_pattern arg_countsrvrr[)r#rrr!rr'r(consume_positionalsxs   z=ArgumentParser._parse_known_args..consume_positionalsrcs"g|]}|kr|qSr'r')rYr)rr'r(r\s z4ArgumentParser._parse_known_args..z(the following arguments are required: %sz, cSs+g|]!}|jtk rt|qSr')rrrr)rYrvr'r'r(r\s z#one of the arguments %s is requiredrr)r_read_args_from_filesrHrrrriterr_parse_optionalr rrrAr@rErrrrrrrr/r0 _get_valuerwr)r!r#r1rgrr mutex_action conflictsarg_string_pattern_partsarg_strings_iter arg_stringrpatternrrmax_option_string_indexnext_option_string_indexpositionals_end_indexstrings stop_indexrequired_actionsrvrrrr') rr#rrr1rrrrr!rrr(rs #         !!J                z ArgumentParser._parse_known_argscCsg}x|D]}| s-|d|jkr=|j|q yt|ddm}g}xA|jjD]-}x$|j|D]}|j|qWqrW|j|}|j|WdQRXWq tk rt j d}|j t |Yq Xq W|S)NrrS) rrrreadrconvert_arg_line_to_argsrrr-r rrwr)r!r#new_arg_stringsr args_filearg_liner$rr'r'r(rs   z$ArgumentParser._read_args_from_filescCs|gS)Nr')r!rr'r'r(rsz'ArgumentParser.convert_arg_line_to_argscCs|j|}tj||}|dkrdtdttdttdi}tdd|j|j}|j|j|}t ||t |j dS)Nzexpected one argumentzexpected at most one argumentzexpected at least one argumentzexpected %s argumentzexpected %s argumentsrS) _get_nargs_patternrIrarr r rrrrrpr)r!rvr nargs_patternra nargs_errorsrrr'r'r(rs   zArgumentParser._match_argumentcsg}xtt|ddD]w}|d|}djfdd|D}tj||}|dk r|jdd|jDPqW|S)NrrSr]csg|]}j|qSr')r)rYrv)r!r'r(r\s z;ArgumentParser._match_arguments_partial..cSsg|]}t|qSr')rp)rYr.r'r'r(r\s r)rrpr rIrarrm)r!rlrrr actions_slicerrar')r!r(rs   z'ArgumentParser._match_arguments_partialc Cs|s dS|d|jkr!dS||jkrJ|j|}||dfSt|dkr`dSd|kr|jdd\}}||jkr|j|}|||fS|jrD|j|}t|dkr%djdd|D}d|d|i}td }|j||nt|dkrD|\} | S|j j |rc|j scdSd |krsdSd|dfS) NrrS=z, cSsg|]\}}}|qSr'r')rYrvrrr'r'r(r\?s z2ArgumentParser._parse_optional..rimatchesz4ambiguous option: %(option)s could match %(matches)sr) r@rFrpsplitr_get_option_tuplesr rrwrJrarK) r!rrvrr option_tuplesoptionsr[rrr'r'r(rs>           zArgumentParser._parse_optionalc Csg}|j}|d|kr|d|krd|krV|jdd\}}n |}d}x6|jD]>}|j|rl|j|}|||f}|j|qlWn|d|kr|d|kr|}d}|dd}|dd} x|jD]v}||krE|j|}||| f}|j|q|j|r|j|}|||f}|j|qWn|jtd||S)NrrSrr3zunexpected option string: %s)r@rrF startswithrrwr) r!rrrX option_prefixrrvrshort_option_prefixshort_explicit_argr'r'r(rZs8        z!ArgumentParser._get_option_tuplescCs|j}|dkrd}n|tkr3d}nk|tkrHd}nV|tkr]d}nA|tkrrd}n,|tkrd}nddjd |}|jr|jdd }|jd d }|S) Nz(-*A-*)z(-*A?-*)z (-*[A-]*)z (-*A[A-]*)z([-AO]*)z (-*A[-AO]*)z(-*%s-*)z-*rr]r*) rr rr rrr rrk)r!rvrrr'r'r(rs$              z!ArgumentParser._get_nargs_patternc sjttgkr;y|jdWntk r:YnX| rjtkrjrfj}n j}t |t rj |}j |nV| rjt krj rjdk rj}n|}j |nt|dkrLjdtgkrL|\}j |}j |njtkrzfdd|D}njtkrfdd|D}j |dn=fdd|D}x|D]}j |qW|S)Nz--rScs"g|]}j|qSr')r)rYv)rvr!r'r(r\s z.ArgumentParser._get_values..cs"g|]}j|qSr')r)rYr)rvr!r'r(r\s rcs"g|]}j|qSr')r)rYr)rvr!r'r(r\s )rrrrbr<r rrrrrr _check_valuerrp)r!rvr#r&rrr')rvr!r(rs>      '  zArgumentParser._get_valuesc Cs|jd|j|j}t|sFtd}t|||y||}Wntk rt|jdt|j}tt j d}t||Yngt t fk rt|jdt|j}d|d|i}td}t|||YnX|S)Nrz%r is not callablerrSr&z!invalid %(type)s value: %(value)r) rNrrUrrrr/rrr rrVr<)r!rvrrZrrr%r[r'r'r(rs     zArgumentParser._get_valuecCsh|jdk rd||jkrdd|ddjtt|ji}td}t|||dS)Nr&rz, z3invalid choice: %(value)r (choose from %(choices)s))rr maprrr)r!rvr&r[rr'r'r(r s ! zArgumentParser._check_valuecCs2|j}|j|j|j|j|jS)N)rrorkrErHrb)r!rVr'r'r( format_usage s  zArgumentParser.format_usagecCs|j}|j|j|j|j|j|jxK|jD]@}|j|j |j|j|j |j |j qBW|j|j |jS)N)rrorkrErHrir>rGrerdr}rrfr}rb)r!rV action_groupr'r'r(rb s  zArgumentParser.format_helpcCs|jd|jS)NrN)r~rN)r!r'r'r(r( szArgumentParser._get_formattercCs/|dkrtj}|j|j|dS)N)r r rr)r!filer'r'r( print_usage. s  zArgumentParser.print_usagecCs/|dkrtj}|j|j|dS)N)r r rrb)r!rr'r'r(r3 s  zArgumentParser.print_helpcCs,|r(|dkrtj}|j|dS)N)r stderrwrite)r!rrr'r'r(r8 s  zArgumentParser._print_messagercCs*|r|j|tjtj|dS)N)rr rr)r!statusrr'r'r(rA szArgumentParser.exitcCsC|jtjd|jd|i}|jdtd|dS)NrNrr3z%(prog)s: error: %(message)s )rr rrNrr)r!rr[r'r'r(rwF s zArgumentParser.error)rr-r.rrRrrrWrrrrrrrrrrrrrrrrrbrrrrrrwr'r')rr(r)sL 4     #     ; , , 4     )5 __version____all__ collectionsrrrosr9rerIsysr textwraprrrrrr rr rrrrrr2rrrrr r Exceptionrrr rrrrrrrrrr rr r6r[r]rr'r'r'r(@sx            [#%`64"