f dZgdZdZddlZddlZddlZdZ ddlmZmZn#e $r dZdZYnwxYweZ Gd d e Z Gd d e Z Gd de ZGdde ZGdde ZGddeZGddZGddeZGddeZdZdZee dfee dfee dfee dfd Zd!Zd"Zd#ZGd$d%Zd&Zd'ZGd(d)Z Gd*d+Z!Gd,d-e!Z"Gd.d/e!Z#d0Z$eZ%dS)1z1.5.3)Option make_option SUPPRESS_HELPSUPPRESS_USAGEValuesOptionContainer OptionGroup OptionParser HelpFormatterIndentedHelpFormatterTitledHelpFormatter OptParseError OptionErrorOptionConflictErrorOptionValueErrorBadOptionError check_choicea" Copyright (c) 2001-2006 Gregory P. Ward. All rights reserved. Copyright (c) 2002-2006 Python Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Nc@d|jjt||fzS)Nz<%s at 0x%x: %s>) __class____name__idselfs //opt/alt/python311/lib64/python3.11/optparse.py_reprrOs !8"T((D I II)gettextngettextc|SN)messages rrr\src|dkr|S|SNr!)singularpluralns rrr_s 66O rceZdZdZdZdS)r c||_dSr msgrr,s r__init__zOptParseError.__init__hs rc|jSr r+rs r__str__zOptParseError.__str__ks xrNr __module__ __qualname__r.r0r!rrr r gs2rr ceZdZ dZdZdS)rc<||_t||_dSr )r,str option_id)rr,options rr.zOptionError.__init__usVrcB|jrd|jd|jS|jS)Nzoption z: )r7r,rs rr0zOptionError.__str__ys- >  &*nnndhh? ?8OrNr1r!rrrros7 %%%rrceZdZdS)rNrr2r3r!rrrrsrrceZdZdS)rNr;r!rrrrsrrceZdZ dZdZdS)rc||_dSr )opt_strrr?s rr.zBadOptionError.__init__s  rc0td|jzS)Nzno such option: %s)_r?rs rr0zBadOptionError.__str__s%&&55rNr1r!rrrrs766666rrceZdZ dZdZdS)AmbiguousOptionErrorcJt||||_dSr )rr. possibilities)rr?rFs rr.zAmbiguousOptionError.__init__s&g...*rcdtd|jd|jfzS)Nzambiguous option: %s (%s?), )rBr?joinrFrs rr0zAmbiguousOptionError.__str__s3.//<4+=!>!>?@ ArNr1r!rrrDrDs<+++AAAAArrDcneZdZ dZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdS)r nonecd|_||_|? ttjd}n#t t f$rd}YnwxYw|dz}||_t|t|dz |dzx|_ |_ d|_ d|_ d|_||_d|_i|_d|_d|_dS) NCOLUMNSPrz%defaultz%s %sz%s=%s)parserindent_incrementintosenvironKeyError ValueErrorwidthminmax help_positionmax_help_positioncurrent_indentlevel help_width short_first default_tagoption_strings_short_opt_fmt _long_opt_fmtrrRr\rXr`s rr.zHelpFormatter.__init__s  0 = BJy122j)     QJE %s52:7G!7K'L'LMM NT3 &% %$s2AAc||_dSr )rQrrQs r set_parserzHelpFormatter.set_parsers  rcL|dvrtd|zd|zdz|_dS)N) z/invalid metavar delimiter for short options: %r%s)rWrcrdelims rset_short_opt_delimiterz%HelpFormatter.set_short_opt_delimitersA  ! !AEIKK K"UlT1rcL|dvrtd|zd|zdz|_dS)N)=rkz.invalid metavar delimiter for long options: %rrl)rWrdrms rset_long_opt_delimiterz$HelpFormatter.set_long_opt_delimitersA  " "@5HJJ J!E\D0rcP|xj|jz c_|xjdz c_dSr$r]rRr^rs rindentzHelpFormatter.indents, t44 a rcP|xj|jzc_|xjdzc_dSr$rtrs rdedentzHelpFormatter.dedents, t44 a rc tdNzsubclasses must implementNotImplementedErrorrusages r format_usagezHelpFormatter.format_usage!"=>>>rc tdryrzrheadings rformat_headingzHelpFormatter.format_headingrrc t|j|jz d}d|jz}tj||||S)N rk)initial_indentsubsequent_indent)rZrXr]textwrapfill)rtext text_widthrus r _format_textzHelpFormatter._format_textsS d&992>> T((}T',2/5777 7rc:|r||dzSdSN rjrr descriptions rformat_descriptionz HelpFormatter.format_descriptions(  $$[11D8 82rc@|rd||zdzSdSrr)repilogs r format_epilogzHelpFormatter.format_epilogs-  $++F333d: :2rc|j|js|jS|jj|j}|t us||j}|j|jt|Sr ) rQrahelpdefaultsgetdest NO_DEFAULTNO_DEFAULT_VALUEreplacer6)rr8 default_values rexpand_defaultzHelpFormatter.expand_defaultso ; d&6 ;  ,00== J & &-*? 1M{""4#3S5G5GHHHrcNg}j|}jjz dz }t||krdjd|fz}j}ndjd||fz}d}|||jrz|}tj|j }|d|d|dfz| fd|ddDn!|dd kr|d d |S) NrO%*s%s rjz %*s%-*s rc*g|]}djd|fzS)rrj)r[).0liners r z/HelpFormatter.format_option..Es8777#%(:B'EE777rr%r) rbr[r]lenappendrrrwrapr_extendrI)rr8resultopts opt_width indent_first help_text help_liness` r format_optionzHelpFormatter.format_option(sT"6*&)<>D-LL$"5r9d!KKDL d ; ++F33I!y$/BBJ MM)|RA&GG H H H MM7777'1!""~777 8 8 8 8 "X   MM$   wwvrct|d}|jD]F}||}||j|<t |t ||jz}G||jD]P}|jD]F}||}||j|<t |t ||jz}GQ||t|dz|j |_ t |j |j z d|_ dS)NrrOr)ru option_listformat_option_stringsrbrZrr] option_groupsrwrYr\r[rXr_)rrQmax_lenoptstringsgroups rstore_option_stringsz"HelpFormatter.store_option_stringsKs5 % G GC0055G'.D  $'3w<<$2E#EFFGG ) K KE( K K44S99+2#C(gs7||d6I'IJJ K   1d.DEEdj4+==rBBrc, |rI|jp|jfd|jD}fd|jD}n|j}|j}jr||z}n||z}d|S)Nc(g|]}j|fzSr!)rc)rsoptmetavarrs rrz7HelpFormatter.format_option_strings..as5:::"-w?:::rc(g|]}j|fzSr!)rd)rloptrrs rrz7HelpFormatter.format_option_strings..cs5888!+tWo=888rrH) takes_valuerrupper _short_opts _long_optsr`rI)rr8 short_opts long_optsrrs` @rrz#HelpFormatter.format_option_strings]sN      *n; (9(9(;(;G:::::&,&8:::J88888%+%6888II +J)I   * )DDz)DyyrN)rr2r3rr.rhrorrrurwr~rrrrrrrrr!rrr r s 'R%%%2222 111  ?????? 7 7 7 III!!!FCCC$rr c,eZdZ ddZdZdZdS) r rONr%cBt|||||dSr r r.res rr.zIndentedHelpFormatter.__init__t8  "$5uk K K K K Krc&td|zS)Nz Usage: %s )rBr|s rr~z"IndentedHelpFormatter.format_usage|s%''rcd|jd|fzS)Nz%*s%s: rj)r]rs rrz$IndentedHelpFormatter.format_headingsT0"g>>>r)rOrNr%rr2r3r.r~rr!rrr r ps]#$#% KKKK(((?????rr c,eZdZ ddZdZdZdS)r rrNcBt|||||dSr rres rr.zTitledHelpFormatter.__init__rrcR|tdd|dS)NUsagez r)rrBr|s rr~z TitledHelpFormatter.format_usages+!007<<< ? ?E7# $%% %r)NODEFAULTceZdZ gdZdZdZdZdZdZdZ e e e e e dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZeeeeeeegZ dZeZdZdZdZdZdZ dZ!d S)r) actionrrdefaultnargsconstrcallback callback_argscallback_kwargsrr) store store_const store_true store_falser append_constcountrrversion)rrrrrrr)rrr)rr)rr)stringrSrrrchoice)rSrrrrNcg|_g|_||}|||||jD] }||dSr )rr_check_opt_strings_set_opt_strings _set_attrs CHECK_METHODS)rrattrscheckers rr.zOption.__init__4s{&&t,, d### )  G GDMMMM  rc@d|D}|std|S)Ncg|]}||Sr!r!)rrs rrz-Option._check_opt_strings..Ks+++s++++rz+at least one option string must be supplied) TypeError)rrs rrzOption._check_opt_stringsGs4,+t+++ KIJJ J rc|D]}t|dkrtd|z|t|dkrF|ddkr |ddkstd|z||j||dddkr |ddkstd|z||j|dS) NrOz>invalid option string %r: must be at least two characters longr-r%zMinvalid short option string %r: must be of the form -x, (x any non-dash char)--zGinvalid long option string %r: must start with --, followed by non-dash)rrrrr)rrrs rrzOption._set_opt_stringsPs , ,C3xx!||!;=@ABFHHHSQA# #a&C--%HJMN '',,,,AaCD((SVs]]%CEHI&&s++++% , ,rcF|jD]O}||vrt||||||=!|dkrt||t>t||dP|rGt|}t dd|z|dS)Nrzinvalid keyword arguments: %srH)ATTRSsetattrrsortedkeysrrI)rr attrs rrzOption._set_attrsesJ . .Du}}dE$K000$KK9$$D$ 3333D$----  5::<<((E/$))E2B2BB   rcr|j d|_dS|j|jvrtd|jz|dS)Nrzinvalid action: %r)rACTIONSrrs r _check_actionzOption._check_actionxsD ; !DKKK [ , ,2T[@$GG G- ,rcx|j)|j|jvr|j d|_dSd|_dSdSt |jtr|jj|_|jdkrd|_|j|jvrtd|jz||j|jvrtd|jz|dS)Nrrr6zinvalid option type: %rz$must not supply a type for action %r) rrALWAYS_TYPED_ACTIONSr isinstancerTYPESr TYPED_ACTIONSrs r _check_typezOption._check_type~s 9 {d777<+ (DIII!)DIII 87$)T** / I. yE!!$ y **!";di"GNNN{$"444!:T[H$PPP54rcd|jdkr|jtd|t|jtt fsKtdt t|jddz|dS|jtd|jz|dS)Nrz/must supply a list of choices for type 'choice'z1choices must be a list of strings ('%s' supplied)'r%z#must not supply choices for type %r)rrrrtuplelistr6splitrs r _check_choicezOption._check_choices 9 |#!EtMMM udm<< C!G$t|,,--33C88;<=ACCC C C\ %5 A4II I& %rc|j|jvp|jdu}|jS|rS|jr0|jddddd|_dS|jdd|_dSdSdS)NrrOrrBr%)r STORE_ACTIONSrrrrr)rrs r _check_destzOption._check_dests{d&88-y,  9   3 OA.qrr2::3DD  ,Q/2     rcd|j|jvr|jtd|jz|dSdS)Nz*'const' must not be supplied for action %r)r CONST_ACTIONSrrrs r _check_constzOption._check_constsF ;d0 0 0TZ5K.s)FFF1d..sA66FFFr)rr:r")rrrs`` r convert_valuezOption.convert_valuesY  zQ''U333FFFFFFFFGGG  rcv|||}||j|j||||Sr )r> take_actionrr)rrrvaluesrQs rprocesszOption.processsG""3..  KC@@ @rcF|dkrt|||n|dkrt|||jni|dkrt||dnP|dkrt||dn7|dkr+||g|n|dkr/||g|jn|d kr)t||||d d zn|d kr'|jpd }|jpi}|j||||g|Ri|nu|dkr)||nF|dkr)| |ntd|j zd S)NrrrTrFrrrrr%rr!rrzunknown action %r) rr ensure_valuerrrr print_helpexit print_versionrWr) rrrrrrArQargskwargss rr@zOption.take_actions W   FD% ( ( ( ( } $ $ FD$* - - - - | # # FD$ ' ' ' ' } $ $ FD% ( ( ( ( x     b ) ) 0 0 7 7 7 7 ~ % %   b ) ) 0 0 < < < < w   FD&"5"5dA">">"B C C C C z ! !%+D)/RF DM$UF DT D D DV D D D D v         KKMMMM y  " " " KKMMMM04;>?? ?qr)"rr2r3rrr'rrr*rrrr9rr.rrrrrr%r(r+r-r1r0r__repr__rr7r:r>rBr@r!rrrrs*   E GM!M &%M DE$!. - - - , L M &,,,*&HHH PPP0 I I I 3 3 3 NNN8# " !!$ &M<<<H%%%'''---HHH @ @ @rr SUPPRESSHELP SUPPRESSUSAGEcNeZdZd dZdZeZdZdZdZ dZ d d Z d d Z d Z dS)rNcd|r+|D]\}}t|||dSdSr )itemsr)rrrrs rr.zValues.__init__9sP  )'~~// ) ) sdC(((( ) ) ) )rc*t|jSr )r6__dict__rs rr0zValues.__str__>s4=!!!rct|tr|j|jkSt|tr |j|kStSr )rrrQr0NotImplemented)rothers r__eq__z Values.__eq__CsH eV $ $ "=EN2 2 t $ $ "=E) )! !rcj t|D]!}||vr||}|t|||"dSr )dirr)rr0rdvals r_update_carefulzValues._update_carefulKsS II . .Dt||Dz#D$---  . .rc< |j|dSr )rQupdate)rr0s r _update_loosezValues._update_looseXs% T"""""rc|dkr||dS|dkr||dStd|z)Ncarefulloosezinvalid update mode: %r)rYr\rW)rr0modes r_updatezValues._update`s^ 9     & & & & & W__   t $ $ $ $ $6=>> >rr^ct|tj|}|t ||dSr ) __import__sysmodulesravars)rmodnamer`mods r read_modulezValues.read_modulehs<7k'" T#YY%%%%%rci}tt|||||dSr )execopenreadra)rfilenamer`rfs r read_filezValues.read_filemsC T(^^ " "D))) T4     rct||rt||t|||t||Sr )hasattrgetattrr)rrrs rrDzValues.ensure_valuersEtT"" 'gdD&9&9&A D$ & & &tT"""rr )r^)rr2r3r.r0rrJrUrYr\rarirorDr!rrrr7s)))) """H""" . . .###???&&&& !!!! #####rrcpeZdZ dZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdS)rc|||_||||dSr )_create_option_list option_classset_conflict_handlerset_description)rrvconflict_handlerrs rr.zOptionContainer.__init__sM   """( !!"2333 [)))))rc0i|_i|_i|_dSr  _short_opt _long_optrrs r_create_option_mappingsz'OptionContainer._create_option_mappingss rcN|j|_|j|_|j|_dSr r{rgs r_share_option_mappingsz&OptionContainer._share_option_mappingss%!+) rc@|dvrtd|z||_dS)N)errorresolvez$invalid conflict_resolution value %r)rWry)rhandlers rrwz$OptionContainer.set_conflict_handlers0 . . .CgMNN N 'rc||_dSr rrs rrxzOptionContainer.set_descriptions&rc|jSr rrs rget_descriptionzOptionContainer.get_descriptions rc |`|`|`dSr r{rs rdestroyzOptionContainer.destroys) O N MMMrcg}|jD]-}||jvr"|||j|f.|jD]-}||jvr"|||j|f.|r|j}|dkr0t ddd|Dz||dkr|D]\}}|dr#|j ||j|=n"|j ||j|=|js&|js|j j |dSdSdS)Nrz conflicting option string(s): %srHcg|] }|d S)rr!)rcos rrz3OptionContainer._check_conflict..s ? ? ?2A ? ? ?rrr) rr|rrr}ryrrI startswithremove containerr)rr8 conflict_optsrrc_options r_check_conflictzOptionContainer._check_conflicts % B BCdo%%$$c4?3+?%@AAA$ A ACdn$$$$c4>#+>%?@@@  H+G'!!)6ii ? ? ? ? ?@@AI%%'4HHOS(~~d++1 +223777 N3// ,33C888 OC0$0HH4GH *6==hGGG! H H&%HHrcL t|dtr|j|i|}nTt|dkr2|s0|d}t|tst d|znt d|||j|||_ |j D] }||j |< |j D] }||j |< |j@|jt ur|j|j|j<n|j|jvrd|j|j<|S)Nrr%znot an Option instance: %rinvalid arguments)rr6rvrrr rrrrrr|rr}rrrr)rrHrIr8rs r add_optionzOptionContainer.add_optionsQ  d1gs # # 1&T&777FF YY!^^F^!WFff-- G ) +rc |j|}||j|}|td|z|jD] }|j|= |jD] }|j|= |jj|dS)Nzno such option %r) r|rr}rWrrrrr)rr?r8rs r remove_optionzOptionContainer.remove_options$$W-- >^''00F >07:;; ;% % %C$$$ $ $Cs##$++F33333rc|jsdSg}|jD]8}|jtur(|||9d|SNrj)rrrrrrI)r formatterrr8s rformat_option_helpz"OptionContainer.format_option_helpsg 2& ? ?F;-// i55f==>>>wwvrcP||Sr )rrrrs rrz"OptionContainer.format_description(s"++D,@,@,B,BCCCrcg}|jr(||||jr(|||d|S)Nr)rrrrrrIrrrs r format_helpzOptionContainer.format_help+so   > MM$11)<< = = =   > MM$11)<< = = =yy   rN)rr2r3r.r~rrwrxrrrrrrrrrrrr!rrrrxs< * * *(((((( '''   HHH6<$$$ ---+++ 4 4 4 DDD!!!!!rrc.eZdZddZdZdZdZdZdS)rNcp||_t||j|j|||_dSr )rQrr.rvrytitle)rrQrrs rr.zOptionGroup.__init__6s>   &%v'>  M M M rcHg|_||jdSr )rrrQrs rruzOptionGroup._create_option_list<s& ##DK00000rc||_dSr )r)rrs r set_titlezOptionGroup.set_title@s  rc@ t||`dSr )rrrrs rrzOptionGroup.destroyCs%)%%%    rc||j}||t||z }||Sr )rrrurrrwrs rrzOptionGroup.format_helpJsZ))$*55/--dI>>> rr )rr2r3r.rurrrr!rrrr4sd 111rrc eZdZ gZddedddddddf dZdZdZdZdZ d*d Z d Z d Z d Z d ZdZdZdZdZdZdZdZdZd+dZdZdZdZdZdZdZdZdZd,d Z d!Z!d"Z"d-d#Z#d$Z$d-d%Z%d-d&Z&d'Z'd-d(Z(d-d)Z)dS).r NrTc ht||||||| |_||_d|_d|_|t}||_|j || |_ | ||| dS)NT)add_help) rr. set_usageprograllow_interspersed_argsprocess_default_valuesr rrhr_populate_option_list_init_parsing_state) rr}rrvrryrradd_help_optionrrs rr.zOptionParser.__init__s   , 0+ ? ? ? u  '+$&*#  -//I" !!$''' "";,; # = = =   """""rc t||jD]}||`|`|`dSr )rrrrr)rrs rrzOptionParser.destroysS %%%'  E MMOOOO     NNNrcJg|_g|_|dSr )rrr~rs rruz OptionParser._create_option_lists* $$&&&&&rcR|dddtddS)Nz-hz--helprzshow this help message and exitrrrrBrs r_add_help_optionzOptionParser._add_help_options? h%@AA  C C C C CrcP|ddtddS)Nz --versionrz&show program's version number and exitrrrs r_add_version_optionz OptionParser._add_version_options=  (GHH  J J J J Jrc|jr||j|r|||jr||r|dSdSr )standard_option_listrrrr)rrrs rrz"OptionParser._populate_option_lists  $ 8   T6 7 7 7  *   [ ) ) ) < '  $ $ & & &  $  ! ! # # # # # $ $rc0d|_d|_d|_dSr )rargslargsrArs rrz OptionParser._init_parsing_states   rc|td|_dS|tur d|_dS|dr|dd|_dS||_dS)Nz%prog [options]zusage: )rBr}rrrr|s rrzOptionParser.set_usagesm =,--DJJJ n $ $DJJJ [[]] % %i 0 0 qrrDJJJDJJJrc d|_dS)NTrrs renable_interspersed_argsz%OptionParser.enable_interspersed_argss $ (,$$$rc d|_dS)NFrrs rdisable_interspersed_argsz&OptionParser.disable_interspersed_argss (-$$$rc||_dSr )r)rrBs rset_process_default_valuesz'OptionParser.set_process_default_values s&-###rc||j|<dSr )r)rrrs r set_defaultzOptionParser.set_defaults# drc :|j|dSr )rr[)rrIs r set_defaultszOptionParser.set_defaultss V$$$$$rcl|jdd}|jD]}||j|Sr )rrr)roptionsrs r_get_all_optionszOptionParser._get_all_optionssB"111%' . .E NN5, - - - -rcx|jst|jS|j}|D]c}||j}t|tr2| }| ||||j<dt|Sr ) rrrcopyrrrrr6r7r:)rrr8rr?s rget_default_valueszOptionParser.get_default_valuess* )$-(( (=%%''++-- M MFll6;//G'3'' M //11(.(:(:7G(L(L%hrcjt|dtrt|g|Ri|}nlt|dkrJ|sH|d}t|tst d|z|j|urt dnt d|j||S)Nrr%znot an OptionGroup instance: %rz"invalid OptionGroup (wrong parser)r) rr6rrr rQrWrr)rrHrIrs radd_option_groupzOptionParser.add_option_group+s d1gs # # 16t666v66EE YY!^^F^GEe[11 K AE IJJJ|4'' !EFFF(/00 0 !!%((( rc|j|p|j|}|r|j|ur|jSdSr )r|rr}r)rr?r8s rget_option_groupzOptionParser.get_option_group;sU/%%g....$$W--   $f&d22# #trcB|tjddS|ddSr$)rdargv)rrHs r _get_argszOptionParser._get_argsEs$ <8ABB< 7Nrcp ||}||}||_gx|_}||_ ||||}n@#t tf$r,}|t|Yd}~nd}~wwxYw||z}| ||Sr ) rrrrrA _process_argsrrrr6 check_values)rrHrArrstoperrs r parse_argszOptionParser.parse_argsKs t$$ >,,..F  U  !%%eUF;;DD 01 ! ! ! JJs3xx  !u}  ...sAB."BBc ||fSr r!)rrArHs rrzOptionParser.check_valuesrs ~rc8 |r|d}|dkr|d=dS|dddkr|||nZ|dddkr*t|dkr|||n"|jr|||d=ndS|dSdS)NrrrOr%r)_process_long_optr_process_short_optsrr)rrrrAargs rrzOptionParser._process_argss  (Cd{{!HQqST!!&&uf5555RaRCCHHqLL((7777-  S!!!!HH'     rc. t||jSr ) _match_abbrevr})rrs r_match_long_optzOptionParser._match_long_opts S$.111rc|d}d|vr2|dd\}}|d|d}n|}d}||}|j|}|r~|j}t||kr+|tdd|||dznc|dkr|d} nGt|d|} |d|=n*|r&|td |znd} | || ||dS) Nrrqr%TF.%(option)s option requires %(number)d argument/%(option)s option requires %(number)d argumentsr8numberz%s option does not take a value) popr$insertrr}rrrrrr"rBrB) rrrArrnext_arghad_explicit_valuer8rrs rrzOptionParser._process_long_optsviill #::!iiQ//OS( LLH % % %!%  C!& ""3''$      LE5zzE!! 8DE),u==>????! ! eAeGn--!E'NN   JJq:;;cA B B B BEsE6400000rc|d}d}d}|ddD]}d|z}|j|}|dz }|st||r|t |kr |d||dd}|j} t || kr+|tdd| || dzn;| dkr|d} nt|d| } |d| =nd} | || |||rdSdS) NrFr%rTrrr) rr|rrrrrrrrr"rB) rrrArrichrr8rrs rrz OptionParser._process_short_optssiill abb'  B(C_((--F FA *$S)))!!## s3xx<<LLCG,,,D u::%%JJxHI  -05!A!A BCCCCaZZ!IIaLLEE!%%.11Eag NN3vt 4 4 4  ?  rc||j/tjtjdS|jSr6)rrTpathbasenamerdrrs r get_prog_namezOptionParser.get_prog_names. 9 7##CHQK00 09 rcR|d|S)Nz%prog)rr)rss rexpand_prog_namezOptionParser.expand_prog_names"yy$"4"4"6"6777rc6||jSr )rrrs rrzOptionParser.get_descriptions$$T%5666rrcp|rtj|tj|dSr )rdstderrwriterF)rstatusr,s rrFzOptionParser.exits6  " J  S ! ! ! rc |tj|d|d|ddS)NrOz : error: r) print_usagerdrrFrr-s rrzOptionParser.errorsT $$$ !$*<*<*>*>*>*>DEEEEErcx|jr2|j||jSdSr)r}rr~rrs r get_usagezOptionParser.get_usage#s@ : >..%%dj1133 32rc` |jr%t||dSdSN)file)r}printr rr s rrzOptionParser.print_usage*s@  : / $.."" . . . . . . / /rcH|jr||jSdSr)rrrs r get_versionzOptionParser.get_version6s' < ((66 62rc` |jr%t||dSdSr )rrrrs rrGzOptionParser.print_version<sB  < 1 $""$$4 0 0 0 0 0 0 1 1rcX||j}||g}||t d||jrC|t|||d|j D]?}|| ||d@| d |ddS)NOptionsrrjr) rrrrrBrurrrrrrwrI)rrrrs rrzOptionParser.format_option_helpGs  I&&t,,, i..q||<<===   MM/<g|]}||Sr!)r)rwordrs rrz!_match_abbrev..s9000$ OOA..0000rr%r)rrrsortrD)rwordmaprFs` rrrts G||0000',,..000  }   " " # # 9 ## #    &q-88 8r)& __version____all__ __copyright__rdrTrrrr ImportErrorrB Exceptionr rrrrrDr r r rrrrrrrrrrrrrrr rrr!rrr#s.    $ @JJJ )))))))))  Y= ;   66666m666 A A A A AN A A AMMMMMMMM^?????]???&GGGGG=GGG&      %aa ll3%qq||4!11%5#6#67%qq||477 GGG%%% nnnnnnnnf " #>#>#>#>#>#>#>#>#By!y!y!y!y!y!y!y!x?<]']']']']'O]']']'D999: s # 11