python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_argparse.cpython-312.opt-2.pyc

͑eddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZddlmZGddej"ZGddej&ZGdd	ej&Zej*Gd
deZGdd
eZGddeZGddeZdZGddej:ZGddeZ efZ!e de!iZ"Gdde"Z#Gdde"Z$Gdde"Z%Gdde"Z&Gd d!e"Z'Gd"d#e"Z(Gd$d%e"Z)Gd&d'e"Z*Gd(d)e"Z+Gd*d+e"Z,Gd,d-e"Z-Gd.d/e"Z.Gd0d1e"Z/Gd2d3e"Z0Gd4d5e"Z1Gd6d7e"Z2Gd8d9e"Z3Gd:d;e"Z4Gd<d=e"Z5Gd>d?e"Z6Gd@dAe"Z7GdBdCe"Z8GdDdEe"Z9GdFdGe"Z:GdHdIe"Z;GdJdKe"Z<GdLdMe"Z=GdNdOe"Z>GdPdQe"Z?GdRdSe"Z@GdTdUe"ZAGdVdWe"ZBGdXdYe"ZCGdZd[e"ZDGd\d]e"ZEGd^d_e"ZFGd`dae"ZGGdbdce"ZHGdddee"ZIGdfdge"ZJGdhdie"ZKGdjdke"ZLGdldme"ZMGdndoe"ZNGdpdqe"ZOGdrdse"ZPGdtdue"ZQGdvdwe"ZRGdxdye"ZSGdzd{e"ZTGd|d}e"ZUGd~de"ZVGdde"ZWGdde"ZXGdde"ZYGdde"ZZGdde"Z[Gdde"Z\Gdde"Z]Gdde"Z^Gdde"Z_Gdde"Z`Gdde"ZaGdde"ZbGdde"ZcGdde"ZdGdde"ZeGdde"ZfGdde"ZgGdde"ZhGdde"ZiGdde"ZjGdde"ZkGdde"ZlGdde"ZmGdde"ZnGdde"ZoGdde"ZpGdde"ZqGdde"ZrGdde"ZsGdde"ZtGdde"ZuGdde"ZvGddee"ZwGd„dee"ZxGdĄdeZyeZzeZ{GdƄdǫZ|e|dȫZ}e|dɫZ~e|dʫZe|d˫Ze|d̫Ze|dͫZGd΄deZGdЄdee"ZGd҄dee"ZGdԄdee"ZGdքdeZejGd؄dee"ZejGdڄdee"ZejGd܄dee"ZejGdބdeZGddeZGddeZGdde"ZGdde"ZGdde"ZGddeZGdde"ZGddeZGdde"ZGddeZGddeZGddeZGddeZGddeZGddeeZGddeeZGddeeZGddeeZGddeeZGddeeZGdd	eeZGd
deeZGdd
eeZGddeZGddeeZGddeeZGddeeZGddeeZGddeeZGddeeZGddeeZGddeeZGd d!eZGd"d#eZGd$d%eZGd&d'eZefZ!ed(e!iZGd)d*eZGd+d,eZGd-d.eZGd/d0eZGd1d2eZGd3d4eZGd5d6eZGd7d8eZGd9d:eZGd;d<eZGd=d>eZGd?d@eZGdAdBeZGdCdDeZGdEdFeZGdGdHeZGdIdJeZGdKdLeZGdMdNeZGdOdPeZGdQdReZGdSdTeZGdUdVeZGdWdXeZGdYdZeZGd[d\eZGd]d^eZGd_d`eZGdadbeZGdcddeZGdedfeZGdgdheZGdidjeZGdkdleZGdmdneZGdodpeZGdqdreZGdsdteZGdudveZGdwdxeZGdydzeZGd{d|eZGd}d~eZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZGddeZdZedk(rejyy(N)	os_helper)mockc(eZdZ	dfd	ZdZxZS)StdIOBufferc|jd}t|	tjtj
|d|y)Nutf-8)newline)encodesuper__init__ioBufferedWriterBytesIO)self
initial_valuer		__class__s   F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_argparse.pyrzStdIOBuffer.__init__s@%,,W5

**2::m+DE '		3c|j|jjjj	dS)Nr)flushbufferrawgetvaluedecoders rrzStdIOBuffer.getvalue#s-

{{'')0099r)
)__name__
__module____qualname__rr
__classcell__rs@rrrs3
:rrceZdZdZdZy)
StdStreamTestctj}tjd5t	j
d5|j
ddddddddy#1swYxYw#1swYyxYw)Nargparse._sys.exitrfoo)statusmessage)argparseArgumentParser
contextlibredirect_stderrrpatchexitrparsers  rtest_skip_invalid_stderrz&StdStreamTest.test_skip_invalid_stderr*sg((*&&t,	1JJ+,	1
KKq%K0		1	1	1	1	1	1s#A1A%A1%A.	*A11A:c|tj}|j|jt	j
|jdgfD]}|j|5tjd5t5}tj|5tjd5||j|jddddddddddddddddy#1swY,xYw#1swY0xYw#1swY4xYw#1swY8xYw#1swYxYw)N-h)funcr&zusage:)r*r+print_usage
print_help	functoolspartial
parse_argssubTestr,redirect_stdoutrr-rr.assertRegexr)rr1r5
mocked_stderrs    rtest_skip_invalid_stdoutz&StdStreamTest.test_skip_invalid_stdout2s7((*f//$8
	FD$'	
F**40	
F
		
F"/**=9	
F

/0
	
F  !7!7!99E	
F	
F	
F	
F	
F	
F	F
	
F	
F	
F	
F	
F	
F	
F	
F	
F	
Fsl"D28D&D	D/(D
DD	'D&/D2DDDD	D#
D&&D/+D22D;	N)rrr r2r?rrr$r$(s
1Frr$ceZdZdZy)TestCasecT|jtj}d|d<y)N80COLUMNS)enterContextrEnvironmentVarGuardrenvs  rsetUpzTestCase.setUpGs&	 = = ?@IrN)rrr rJr@rrrBrBEsrrBc$eZdZdZdZdZdZy)TempDirMixinctj|_tj|_tj|jyN)tempfilemkdtemptemp_dirosgetcwdold_dirchdirrs rrJzTempDirMixin.setUpRs/ ((*
yy{
rc|tj|jtj|jdD]Y\}}}|D]N}tj
tjj|j|tjP[tj|jdy)NF)topdownT)rRrUrTwalkrQchmodpathjoinstatS_IWRITEshutilrmtree)rrootdirsfilesnames     rtearDownzTempDirMixin.tearDownWs
!#!F	KD$
KdmmT:DMMJ
K	K	

dmmT*rctjj|j|}t	|dd5}|j|ddd|S#1swY|SxYw)Nwrencoding)rRrZr[rQopenwrite)rfilename	file_pathfiles    rcreate_writable_filez!TempDirMixin.create_writable_file^sPGGLL9	
)S7
3	!tJJx 	!	!sAAcjtj|j|tjyrN)rRrYrnr\S_IREAD)rrks  rcreate_readonly_filez!TempDirMixin.create_readonly_fileds
**84dllCrN)rrr rJrdrnrqr@rrrLrLOs 
+DrrLceZdZdZy)Sigc ||_||_yrN)argskwargsrrurvs   rrzSig.__init__is	rNrrr rr@rrrsrsgsrrsceZdZdZdZdZy)NSc:|jj|yrN)__dict__update)rrvs  rrzNS.__init__ps

V$rct|jj}dj|Dcgc]}d|z	c}}t	|j
d|dScc}w)Nz, z%s=%r())sortedr|itemsr[typer)rsorted_itemstup	kwarg_strs    r__repr__zNS.__repr__ssQdmm1134IIEw}EF	:..	::FsA!c0t|t|k(SrN)varsrothers  r__eq__z	NS.__eq__xsDzT%[((rN)rrr rrrr@rrrzrzns%;
)rrzceZdZddZy)ArgumentParserErrorNcltj||||||_||_||_||_yrN)	Exceptionrr)stdoutstderr
error_code)rr)rrrs     rrzArgumentParserError.__init__~s24&&9$r)NNNrxr@rrrr|s%rrc
ttjtsttjtr||i|Stj}tj}tt_tt_		||i|}tt
|D]}t||}|tjurt|||/|tjjurt||t|dth|tjurt||||tjjust||t|dt||t_|t_S#t$r\}|j}	tjj}
tjj}td|
||	dd}~wwxYw#|t_|t_wxYw)Nr
SystemExit)
isinstancesysrrrlistrgetattrsetattrrBIN_STDOUT_SENTINELBIN_STDERR_SENTINELrcoderr)r:rurv
old_stdout
old_stderrresultkeyattrerrrs            rstderr_to_parser_errorrs#**k*j[.Q4*6**JJCJCJ 	>00FDL)	
]vs+3::%FC4SZZ...FCXGZ)[\SZZ'FC4SZZ...FCXGZ)[\	
] 

	>66DZZ((*FZZ((*F%ffd49=
>		> 

s,
CFF	G)
AG$$G))G,,Hc2eZdZfdZfdZfdZxZS)ErrorRaisingArgumentParserc>tt|
}t|g|i|SrN)rrr:r)rrurvr:rs    rr:z%ErrorRaisingArgumentParser.parse_argss%5tG
%jB4B6BBrc>tt|
}t|g|i|SrN)rrr/r)rrurvr/rs    rr/zErrorRaisingArgumentParser.exits%/;%d<T<V<<rc>tt|
}t|g|i|SrN)rrerrorr)rrurvrrs    rrz ErrorRaisingArgumentParser.errors%0$=%e=d=f==r)rrr r:r/rr!r"s@rrrsC=>>rrceZdZ	dZy)ParserTesterMetaclassc|dk(ryt|dst|_t|dst|_d}d}d}d}d}Gd	d
t
}	|||fD]}
||fD]}|	||
|y)NParserTestCaseparser_signatureparser_classc`	|D](}|j|ji|j*yrN)add_argumentrurv)r1argument_signaturessigs   r	no_groupsz1ParserTesterMetaclass.__init__.<locals>.no_groupss1:*
=###SXX<<
=rc	|jd}|D](}|j|ji|j*y)Nr')add_argument_grouprrurv)r1rgrouprs    r	one_groupz1ParserTesterMetaclass.__init__.<locals>.one_groupsAF--e4E*
<"""CHH;

;
<rc	t|D]?\}}|jd|z}|j|ji|jAy)Nzfoo:%i)	enumeraterrrurv)r1rirrs     rmany_groupsz3ParserTesterMetaclass.__init__.<locals>.many_groupssOB#$78
<311(Q,?"""CHH;

;
<rc&	|j|SrN)r:)r1rus  rlistargsz0ParserTesterMetaclass.__init__.<locals>.listargss5$$T**rc	tj}|dg|zt_	|j|t_S#|t_wxYw)Nr)rargvr:)r1ruold_sys_argvs   rsysargsz/ParserTesterMetaclass.__init__.<locals>.sysargssA:88L$Q(4/CH
(((*'<sA
A
c$eZdZdZdZdZdZy)0ParserTesterMetaclass.__init__.<locals>.AddTestscH||_||_|jj}|jj}|j|jfD]>}|j}|||f}dj|}	|fd}
	|	|
_t||	|
@y#t$rYwxYw)N_c||yrNr@r	test_funcs  rwrapperzJParserTesterMetaclass.__init__.<locals>.AddTests.__init__.<locals>.wrapper	!$r)_add_arguments_parse_argsr
test_failurestest_successesr[	TypeErrorr)r
tester_cls
add_argumentsr:add_arguments_nameparse_args_namer	func_namenames	test_namers           rrz9ParserTesterMetaclass.__init__.<locals>.AddTests.__init__s&3##- %)%8%8%A%A""&"2"2";";"&"4"4d6I6I!J<I ) 2 2I%'9?JE #I09(+4(J	7;<%s>B	B! B!c|jj}|jj}|j|i|}|j	||j
|SrN)rrurvrrr)rtesterrurvr1s     r_get_parserz<ParserTesterMetaclass.__init__.<locals>.AddTests._get_parsersV..330077,,,d=f=##FF,F,FG
rc|j|}|jD]C}|j}|jt|5|j|dddEy#1swYPxYw)N)msg)rfailuressplitassertRaisesrr:)rrr1args_strrus     rrz>ParserTesterMetaclass.__init__.<locals>.AddTests.test_failuressm))&1 &0H#>>+D,,-@d,K0))$/00000sA%%A.	c|j|}|jD]I\}}t|tr|j	}|j||}|j
||KyrN)r	successesrstrrrassertEqual)rrr1ruexpected_ns	result_nss      rrz?ParserTesterMetaclass.__init__.<locals>.AddTests.test_successessc))&1)/)9)9?%D+!$,#zz| $ 0 0 >I&&{I>	?rN)rrr rrrrr@rrAddTestsrs
<&

0
?rr)hasattrrsrrrobject)clsrcbasesbodydictrrrrrrrr:s            rrzParserTesterMetaclass.__init__s##s./#&5C sN+9C
	=
	<	<	+	()	?v)	?Z(K@	9M'1
9
mZ8
9	9rNrxr@rrrrs

_9rrrceZdZ	edgZgdZdedfdedfdedfd	ed
fded
fgZy)TestOptionalsSingleDash-x)ra--foo-x --fooz-x -yrNx-x ar-xaz-x -1-1z-x-1rrr rsrrrzrr@rrrr3sY;t9+8H	R$Z	c	S		"t*	dIrrcreZdZ	eddedddedgZgd	Zd
eddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fgZy)TestOptionalsSingleDashCombinedr
store_trueactionz-yyystore_const*rconst-z)rrrrz-x -zz-z -xz-yxz-yz az-yyyxz-yyyzaz-xyzaz-x=rFN)ryyyzT-zar-z az-xzaz-xz az-x -zaz-x -z a-yz-x -yyy -zaz-x -yyy -z arr@rrrrAs	;	D&F=3D	
CH
R%TT
*+	
rDdd+,	U,-	e-.	d,-	"t-.	2$#./	B43/0	
rErT*+	et,-	TrS12	dc23
IrrceZdZ	edgZgdZdedfdedfded	fd
edfdedfgZy)TestOptionalsSingleDashLong-foo)rrrz
-foo --fooz-foo -y-fooarNr'z-foo arz-foo -1rz-fo a-f arr@rrr
r
[sYKv;-GH	RD\	2#;	B4L!	"+	Irr
ceZdZ	edededgZgdZdedddfded	ddfd
ed	ddfdedddfd
edddfdedd	dfdeddd	fgZy)&TestOptionalsSingleDashSubsetAmbiguous-f-foobar-foorab)rr-fo-foo bz-foobz-foobaz-foorarN)ffoobarfoorabrr-fa-foaoarooa	-foobar a	-foorab arr@rrrrisGt9c)nc)nEKH	R$tD
12	c$t45	Sd34	d456	"uT$78	b4D9:	b4S9:IrrceZdZ	ededgZgdZdeddfdeddfd	eddfd
eddfdeddfdeddfd
eddfgZy) TestOptionalsSingleDashAmbiguousrr)rrrrrrrrN)rrz-foob arz-foor az-fooba az-foora arrrr@rrr r ysAy>3y>:EH	RtD
)*	Bc$/0	Bd3/0	Rs401	RtC01	bD12	bS12Irr ceZdZ	eddgZgdZdedfded	fd
ed	fdedfgZy)
TestOptionalsNumericronedest)rrz-1 --fooz-1 -yz-1 -1z-1 -2rN)r#z-1 arz-1az-1-2-2rr@rrr"r"sQ2t%01AH	RD\		s		Irr"ceZdZ	edgZgdZdedfdedfdedfd	ed
fded
fgZy)TestOptionalsDoubleDashr)rrrrz--foo -xz--foo --barrNr
z--foo arz--foo=az
--foo -2.5z-2.5z
--foo=-2.5rr@rrr(r(sY;w<.FH	RD\	B3K 	B3K 	rf~&	rf~&Irr(c
eZdZ	eddedgZgdZdedd	fd
edd	fded
d	fded
d	fded
d	fded
d	fgZy)#TestOptionalsDoubleDashPartialMatch--badgerrrz--bat)--bar--b--ba--b=2z--ba=4	--badge 5rFN)badgerbatz--bat XX--badT--badg--badgerr@rrr*r*sA	J|,GHH	Ru$
'(	Be-.	"Dd+,	2Tt,-	Bd-.	Rt./
Irr*ceZdZ	eddedgZgdZdedd	fd
edd	fdedd	fd
edd	fdedd	fdedd	fdedd	fgZy)"TestOptionalsDoubleDashPrefixMatchr+rrr.)r,r-r.r/r0rFN)r1baz--ba Xr3z--ba=Xr4Tr5r6rr@rrr8r8sI	J|,F>H	Ru
&'	2Us+,	2Us+,	"DT*+	2Td+,	Bdt,-	Rt-.Irr8ceZdZ	eddededddgZgd	Zd
eddd
fdeddd
fdeddd
fdeddd
fdeddd
fdeddd
fgZy)TestOptionalsSingleDoubleDashrrrr,-bazrrr)r,-fbarz-fbazz-bazf-b BBrFNrbarbazTz--ba Br?z
-f --bar Bz-f -bz-ba -frr@rrr;r;sF	D&GF=3
AH	R%Tt
,-	
rDd-.	23D12	rDct45	"t2./	2$B/0
Irr;ceZdZ	eddZeddededd	d
gZgdZd
edddfdedddfdedddfdedddfdeddd
fdeddd
fgZy)!TestOptionalsAlternatePrefixChars+:/Fprefix_charsadd_help+frr::bar/bazrrr)r,r=r>r?r--bar Br<r4--helpz+hz::helpz/helprNr@T::ba Br?
+f ::bar B+f /b/ba +f	rrr rsrrrrzrr@rrrDrDsC>D&GF=3
qH	R%Tt
,-	
rDd-.	23D12	rDct45	"t2./	2$B/0
IrrDceZdZ	eddZeddededd	d
gZgdZd
edddfdedddfdedddfdedddfdeddd
fdeddd
fgZy)*TestOptionalsAlternatePrefixCharsAddedHelprETrFrIrrrJrKrrr)r,r=r>r?rrLr<rFNr@rNr?rOrPrQrRr@rrrTrTs+=D&GF=3
HH	R%Tt
,-	
rDd-.	23D12	rDct45	"t2./	2$B/0
IrrTc	eZdZ	eddZeddeddeddgZgd	Zd
edddfdedddfd
edddfdedddfgZy)2TestOptionalsAlternatePrefixCharsMultipleShortArgsz+-FrFrrrz+yz+z)-wz-xyzz+xrz+xyzrryrTz+y -xz+yz -xNrRr@rrrVrVsJu=D&D&D&
H
R%5E
*+	
rDEU+,	"ttu-.	2-.	IrrVceZdZ	edddddgZgdZded	
fded
fded
fded
fded
fgZy)
TestOptionalsShortLong-vz	--verbosez-nz--noisyrr)z
--x --verbosez-Nrz-v xrF)verboseTNrr@rrr[r[snF	D+tY|D4H	R
	
r$ 	b&'	
r$ 	Bt$%Irr[ceZdZ	ededdgZdgZdedd	fd
edd	fded
d	fdedd	fgZy)TestOptionalsDestz	--foo-bar--bazzabbazr$rz--foo-bar frN)foo_barraz--baz ggz--foo-bar h --baz ihrz--baz j --foo-bar kkjrr@rrr_r_-sf4{+Sx-HIuH	3t45	BtC01	3s ;<	3s ;<	Irr_c~eZdZ	ededdgZdgZdeddfd	ed
dfdeddfgZy)
TestOptionalsDefaultrrrdefaultrrNrrYz-xxrz-yyrYrr@rrrhrh:sU4t9c$&;<uH	R$"
	SB 	TS!"IrrhcTeZdZ	edgZddgZdedfdedfgZy)TestOptionalsNargsDefaultrrrNrrrr@rrrmrmFs9At9+T{H	R$Z	cIrrmcZeZdZ	eddgZddgZdedfdedgfgZy)	TestOptionalsNargs1rnargsrrNrrrr@rrroroQs?0t1-.T{H	R$Z	seIrroc\eZdZ	eddgZgdZdedfdegd	fgZy)
TestOptionalsNargs3rrq)rrr-x a ba -xa -x brNrz-x a b crbcrr@rrrtrt\s:1t1-.>H	R$Z	R/*+IrrtcXeZdZ	eddedddeddd	ed
dedd
gZdgZdeddddfdeddddfdeddddfdeddddfdeddddfdeddddfdeddddfd
eddddfdeddddfg	Zy)TestOptionalsNargsOptionalrW?rqrr)rrrrspamrrrjr4284)rrrrrj2rNTrfrrYrz-w 2z-x 2z-y 2z-z 2	rrr rsintrrrzrr@rrr}r}gs:	DD2&DV,D#T4@	uH	R$$&B
/0	
rDDFb12	cTVr23	
rDB&B/0	dcVr23	
rDDDB/0	ddcR01	
rDDFb12	ddf23
Irr}ceZdZ	eddedddgZdgZded	d
fdegd
fdedgd
fdedd
gd
fded	g
fded	dg
fded	dd
g
fgZy	)TestOptionalsNargsZeroOrMorer*rqrrrrrNrkrrvrz-y a-y a brr@rrrr~sI	DDV,uH	R$&
!"	
rB&!"	sev&'	2c
f-.	
rDB 	dse$%	2c
+,Irrc
eZdZ	eddedddgZgdZded	d
fdedgd
fd
eddgd
fded	dg
fded	ddg
fgZy	)TestOptionalsNargsOneOrMorer+rqrrr)rrrrwza -y brNrkrrrvrzrrrr@rrrrsH	DDV,3H	R$&
!"	sev&'	2c
f-.	dse$%	2c
+,Irrc
eZdZ	eddedeedgZgdZded	d	
fdedd	
fd
edd	
fded	d
fded	d
fdedd
fgZ	y	)TestOptionalsChoicesrabcchoicesz-grr)rz-f dz-fadz-gaz-g 6rN)rrcrrz-f cr{z-g 0rz-g 03ruz-fb -g4rz
rrr rsrrangerrrzrr@rrrrs6	D% DsE!H-/4H	R$$
 	cT"#	cT"#	da!	"tq/"	BN#
IrrcZeZdZ	ededgZddgZdedfd	ed
fgZy)TestOptionalsRequiredrTrrequiredrr-x 1rprz-x42rNrr@rrrrsE3	DsT*RyH	a	bIrrcXeZdZ	eddgZddgZdedfd	ed
fgZy)TestOptionalsActionStorerstorerrrwrNrz-xfoor'rr@rrrrs=0tG45V}H	R$Z	"u+IrrcXeZdZ	eddegZdgZdedfdeefgZy)TestOptionalsActionStoreConstrrrrrNrY)	rrr rsrrrrzrr@rrrrs=6tMHIuH	R$Z	
rF|IrrcXeZdZ	eddgZgdZdedfdedfgZy	)
TestOptionalsActionStoreFalserstore_falser)rrrrT)rFNrr@rrrrs96tM:;#H	R$Z	
rE{IrrcXeZdZ	eddgZgdZdedfdedfgZy	)
TestOptionalsActionStoreTruez--applerr)rz	--apple=bz	--apple brF)appleTNrr@rrrrs95y>?.H	Re_	BTN#IrrceZdZ	edej
gZddgZdedfdedfd	ed
fded
fdedfgZ	d
Z
dZy)TestBooleanOptionalActionrr	--foo bar	--foo=barrNr
T--no-fooFz--foo --no-fooz--no-foo --fooctj}|jt5}|j	ddtj
ddd|j
dtjy#1swY/xYw)NrTrrz*got an unexpected keyword argument 'const')	r*r+rrrBooleanOptionalActionassertInr	exceptionrr1cms   r
test_constz$TestBooleanOptionalAction.test_constsn((*


y
)	\RtH<Z<Z[	\	


BCDUV	\	\s#A;;Bctj}|jt5|j	dtj
dddd|jt5|j	dtj
tddd|jt5|j	dtj
dddd|jt5|j	dtj
dddd|jt5|j	dtj
d	ddd|jt5|j	d
tj
d	dddy#1swYOxYw#1swYxYw#1swYxYw#1swYxYw#1swY|xYw#1swYyxYw)N-a)rr-b-c)rmetavar-dd-e)rrrr@)r*r+assertWarnsDeprecationWarningrrboolr0s  rtest_deprecated_init_kwz1TestBooleanOptionalAction.test_deprecated_init_kws((*


0
1	55
 
	

0
1	55
 
	

0
1	55
 
	

0
1	55
 
	

0
1	55
 
	

0
1	55
 
		A												sG#F*'F'.#F4.#G.#G.#GF$'F14F=G	GG!)rrr rsr*rrrrzrrrr@rrrrss%wx/M/MNO[)H	RD\	",	RE]#	2%=)	2$<(IW)rrcleZdZ	eddej
gZdgZdedfdedfgZ	y)	!TestBooleanOptionalActionRequiredrT)rrrr
rFN)
rrr rsr*rrrrzrr@rrrr+sI.	Gd8+I+IJtH	",	RE]#IrrcreZdZ	eddgZgdZdedfded	gfd
ed	dgfgZy)TestOptionalsActionAppendr`appendrrr`a --baz	--baz a brNrB--baz ar--baz a --baz brzrr@rrrr7sL1wx895H	RD\	BC5M"	BC:./IrrczeZdZ	edddggZgdZdedgfdedd	gfd
egdfgZy)
$TestOptionalsActionAppendWithDefaultr`rr3rrjrrrrrr)r3rrzNrr@rrrrCsQ1wx#GH5H	RSE]	BC:&'	B?34IrrceZdZ	eddeddeddeddgZgdZd	ed
d
d
d
fded
gd
d
d
fded
d
gd
d
fded
d
d
d
fded
d
d
d
fgZy
)!TestConstActionsMissingConstKwargrappend_constrrrrr,)z-f vrrrN)rr'rzrArr@rrrrOsG	D(GN+D'GM*	2H	R$DDd
34	
rTF$78	"t$4T:;	
rDdd56	"t489Irrc	eZdZ	eddeedddgZgdZd	ed
fdeegfdeed
edgfgZy
)TestOptionalsActionAppendConstrrrrrrzrr%rrza -cz-bxz-b xrNrz-b -cx -b -cyzryz	rrr rsrrrrzrr@rrrrbsf7	Dy9D,2H	R$Z	
rYK !	2CD ABCIrrc
eZdZ	eddedgedddgZgd	Zd
edgfdedegfdeded
edgfgZy))TestOptionalsActionAppendConstWithDefaultrrr3)rrrjrrrzrrrrrrrNrr@rrrrqsq7	Dy3%HD,2H	R3%[	
rS)$%&	2ii FGHIrrcXeZdZ	eddgZgdZdedfdedfgZy)	TestOptionalsActionCountrcountr)rrz-x bz	-x a -x brNrrprr@rrrrs80tG451H	R$Z	
rAwIrrc	eZdZ	edededdgZddgZded	d	d
fded
d	d
fded	dd
fdedd	dfgZy	)"TestOptionalsAllowLongAbbreviationrz--foobazz--fooblerrz--foob 5z--foobrNF)r'foobazfooblez--foo 77z	--fooba arz--foobl --foo grcTrr@rrrrs~<	GJJ|,
H%H	RDe
45	B3tE:;	bT#e<=	B3tDAB	IrrceZdZ	edZededdedgZgdZd	ed
dd
fded
dd
fdedddfgZy
)%TestOptionalsDisallowLongAbbreviationFallow_abbrevrz--foodlerrz--foonly)z-foon 3z--foon 3z--foodz--food --foo 2rNr'foodlefoonlyz--foo 33z--foonly 7 --foodle --foo 2rTrrRr@rrrrsr;.GJ|,J
CH	RDt
45	B3uT:;	&s4(LMIrrceZdZ	eddZededdedgZgd	Zd
edddfd
edddfdedddfgZy)0TestOptionalsDisallowLongAbbreviationPrefixCharsrFrGrz++fooz++foodlerrz++foonly)z+foon 3z++foon 3z++foodz++food ++foo 2rNrz++foo 3rz++foonly 7 ++foodle ++foo 2rTrrRr@rrrrstL%@GJ|,J
CH	RDt
45	B3uT:;	&s4(LMIrrc
eZdZ	edZededdgZddgZded	d	
fdedd	
fd
edd	
fded	d
fdedd
fdedd
fgZy	)/TestDisallowLongAbbreviationAllowsShortGroupingFrz-rrrrz-c -rrNrr{z-rarz-rccccz-ccrz-cc -raz-ccrccrRr@rrrrs;.D	D!gH	R$$
 	SD!"	dd#$	TQ 	BN#	2?#
Irrc
eZdZ	eddZededdgZddgZd	ed
d
fded
d
fdedd
fded
dfded
dfdeddfgZy
)5TestDisallowLongAbbreviationAllowsShortGroupingPrefixrFrz+rz+crrz+c +rrNrz+rarz+rccrz+ccrz+cc +raz+ccrccrRr@rrrrsO%@D	D!gH	R$$
 	SD!"	dd#$	TQ 	BN#	2?#
Irrc@eZdZ	edgZgdZdedfgZy)TestPositionalsNargsNoner'rra brr
Nrr@rrrrs)6u:, H	bSkIrrcFeZdZ	eddgZgdZdedgfgZy)TestPositionalsNargs1r'rprqrrr
Nrr@rrrrs/8uA./ H	bcUmIrrcHeZdZ	eddgZgdZdeddgfgZy	)
TestPositionalsNargs2r'rrq)rrra b crrrzr
Nrr@rrrrs28uA./'H	Sz"#IrrcpeZdZ	eddgZdgZdegfdedgfdedd	gfgZy
)TestPositionalsNargsZeroOrMorer'rrqrrr
rrrzNrr@rrrrsN:uC01vH	RBZ	bcUm	Sz"#IrrcreZdZ	edddgZdgZdedfdedgfd	edd
gfgZy)%TestPositionalsNargsZeroOrMoreDefaultr'rrArrrr
rrrzNrr@rrrrsPHuC?@vH	RE]	bcUm	Sz"#Irrc^eZdZ	eddgZddgZdedgfdedd	gfgZy
)TestPositionalsNargsOneOrMorer'rrqrrrr
rrzNrr@rrrrsD<uC01DzH	bcUm	Sz"#IrrcXeZdZ	eddgZddgZdedfd	ed	fgZy)
TestPositionalsNargsOptionalr'r~rqrrrNr
rrr@rrr
r
)s=&uC01e}H	RD\	bSkIrr
cZeZdZ	edddgZddgZdedfd	ed	fgZy
)#TestPositionalsNargsOptionalDefaultr'r~rrrrrr
rNrr@rrrr4s?;uC<=e}H	RBZ	bSkIrrc\eZdZ	eddedgZgdZdedfd	ed
fgZy),TestPositionalsNargsOptionalConvertedDefaultr'r~r)rrrrj)rr1 2rrr
1rpNrr@rrrr?sE
	E35$H	RBZ	bQiIrrcPeZdZ	ededgZgdZdeddfgZy)	TestPositionalsNargsNoneNoner'rA)rrrrrrrzr'rANrr@rrrrNs37u:s5z2'H	s$%IrrcVeZdZ	ededdgZgdZdeddg	fgZy
)TestPositionalsNargsNone1r'rArprq)rrrrrrrzrNrr@rrrrXs8@u:s5':;*H	s&'IrrcXeZdZ	eddedgZgdZdeddgd	
fgZy)TestPositionalsNargs2Noner'rrqrArrrra b c drrrzr{rNrr@rrrrbs:BuA.E
;3H	"#s-.IrrceZdZ	ededdgZddgZdedgfd	edd
gfdedd
dgfgZy
)"TestPositionalsNargsNoneZeroOrMorer'rArrqrrrrrrzrr{Nrr@rrrrls^Hu:s5'<=G}H	bSb!"	s&'	"3*-.IrrcpeZdZ	ededdgZgdZdeddg	fd
edddg	fgZy)
!TestPositionalsNargsNoneOneOrMorer'rArrqrrrrrrzrrr{Nrr@rrrrxsKJu:s5'<=!H	s&'	"3*-.IrrcjeZdZ	ededdgZgdZdeddfd	edd
fgZy) TestPositionalsNargsNoneOptionalr'rAr~rqrrrrNrrrzrr@rrr r sEJu:s5'<=%H	bSd#$	s$%Irr ceZdZ	eddedgZddgZdegdfd	edgd
fdedd
gdfgZy
)"TestPositionalsNargsZeroOrMoreNoner'rrqrArrrrrrzrr{Nrr@rrr#r#s^JuC0#e*=G}H	bRS!"	u#&'	"#s-.Irr#cpeZdZ	eddedgZgdZdedgd	fd
eddgd	fgZy)
!TestPositionalsNargsOneOrMoreNoner'rrqrArrrrzrrr{Nrr@rrr%r%sKLuC0#e*=!H	u#&'	"#s-.Irr%cleZdZ	edddedgZgdZdeddfd	edd
fgZy) TestPositionalsNargsOptionalNoner'r~rrrAr!rrrrzNrr@rrr'r'sGLuC<c%jI%H	bRS!"	s$%Irr'cxeZdZ	eddeddgZgdZdedd	gg
fdedd	gdg
fgZy
)TestPositionalsNargs2ZeroOrMorer'rrqrArrrrrzrrr{Nrr@rrr)r)sRGuA.E0EF!H	Szr*+	"#s#/0Irr)c^eZdZ	eddeddgZgdZdedd	gd
gfgZy)
TestPositionalsNargs2OneOrMorer'rrqrAr)rrrrrrrzr{rNrr@rrr+r+s?IuA.E0EF(H	"#s#/0Irr+cveZdZ	eddeddgZgdZdedd	gd
fdedd	gd
fgZy
)TestPositionalsNargs2Optionalr'rrqrAr~)rrrrrrrzNrrr{rr@rrr-r-sPAuA.E0EF,H	Szt,-	"#s-.Irr-ceZdZ	eddeddgZddgZdegdg	fd
edgdg	fdeddgd
g	fgZy)TestPositionalsNargsZeroOrMore1r'rrqrArprrrrrrzrr{Nrr@rrr/r/sgGuC0#e12EFGH	bRcU#$	u3%()	"#s#/0Irr/cxeZdZ	eddeddgZgdZdedgd	g
fdedd	gdg
fgZy
)TestPositionalsNargsOneOrMore1r'rrqrArprrrrzrrr{Nrr@rrr1r1sRIuC0#e12EF!H	u3%()	"#s#/0Irr1creZdZ	eddeddgZgdZdeddg	fd
eddg	fgZy)TestPositionalsNargsOptional1r'r~rqrArpr!rNrrrzrr@rrr3r3sLIuC0#e12EF%H	bTu%&	s&'Irr3ceZdZ	ededdeddgZgdZded	gd
gfded	d
gd
gfgZy)#TestPositionalsNargsNoneZeroOrMore1r'rArrqrBrprrrrzr'rArBrr{Nrr@rrr5r5s`G	E
EE
"H	s./	"3%cU34Irr5ceZdZ	ededdeddgZgdZded	d
gdgfd
ed	d
dgdgfgZy)"TestPositionalsNargsNoneOneOrMore1r'rArrqrBrp)rrrrzrrrzr{r6rrNrr@rrr8r8sdI	E
EE
'H	"3%cU34	B3S#JSE:;Irr8ceZdZ	ededddeddgZgd	Zd
edddg
fdedddg
fgZy)!TestPositionalsNargsNoneOptional1r'rAr~?rrBrprqrrrrzr6rr{Nrr@rrr:r:s`E	E
Ee,E
"H	sC512	"#C512Irr:ceZdZ	eddedddgZddgZd	ed
dfdeddfd
eddfgZy
)$TestPositionalsNargsOptionalOptionalr'r~rqrArrrrrNrrrrzrr@rrr=r=se!	EEb)!H	RDb
!"	bSb!"	s$%Irr=c	eZdZ	eddeddgZdgZdedg	fd
ed
g	fded
dg	fd
ed
ddg	fgZy)&TestPositionalsNargsOptionalZeroOrMorer'r~rqrArrrNrrrrzrr{rr@rrr?r?.sn;uC0#e32GHyH	RDb
!"	bSb!"	s&'	"3*-.	Irr?ceZdZ	eddeddgZddgZded	dg
fdeddg
fd
edddg
fgZy	)%TestPositionalsNargsOptionalOneOrMorer'r~rqrArrrrNrrrzrr{rr@rrrArA;sc=uC0#e32GHG}H	bTu%&	s&'	"3*-.IrrAcdeZdZ	ededgZgdZdedfdedfgZy)	TestPositionalsChoicesStringrabcdefgrrrrdrefrrrcN)	rrr rssetrrrzrr@rrrCrCGs=0vs9~>?-H	bcl	bclIrrCcfeZdZ	edeedgZgdZdedfded	fgZ	y
)TestPositionalsChoicesIntrrrE4rrG15Nrr@rrrJrJRs?'vCrCD-H	baj	
rr{IrrJc`eZdZ	eddedddgZgdZdedd	d
ggfgZy)
TestPositionalsActionAppendrrrr)rrrrrrrzr{rGNrr@rrrPrP]sI"	F8$F81-4H	"3c
+,-IrrPceZdZ	eddedddgZdd	gZd
edd
fdedd
fdedd
fdedd
fgZy)"TestOptionalsNumericAndPositionalsrr~rqz-4rYrr%rr&z-315rNFrkrTz-4 arr@rrrRrRmssE	CsDs<0f~H	R$%
 !	b3% !	
rDD!"	cT"#	IrrRc	eZdZ	eddedddgZdgZd	ed
dfd
ed
dfdeddfded
dfdeddfgZy
)(TestOptionalsAlmostNumericAndPositionalsrr~rqz-k4rYrrSz-k3rNFrkr&rTz-k4 arr@rrrUrU}sL	CsEL1wH	R$%
 !	
rDE"#	b3% !	TT"#	"sd#$IrrUceZdZeddedddgZdgZdgedd	
fdgedd	
fdgedd	
fddged	d
fddged	d
fddged	d
fd
ged	d
fdged	d
fgZy	)$TestEmptyAndSpaceContainingArgumentsrr~rqrz--yyyrYr$rNrkza badgerz	-a badgerz--yyy=a badgerz--yyy=-a badgerrr@rrrWrWs	CsD'$vH
rB$ 
rJ$/0
[D12
R$"%&

	R$*56
	b4;78
	R$*56
	b4;78	IrrWceZdZedZeddddedd	ed
edd
dgZddgZdedd
dfdedd
dfdedd
dfdedddfdedd
dfdedd
dfgZ	y) TestPrefixCharacterOnlyArgumentsz-+rG-rr~r1)r%rrrrrYr)r%rrjz-+-rrrSrz+ -rNFrXz- Xr3z+ -3Tz- ===z===)
rrr rsrrrrrzrr@rrrYrYs-CcH5CcR0EL1
e}H	R$"
&'	b8rU+,	SB%()	dbE*+	TR4()	"ue,-
IrrYceZdZ	eddeddgZgZdedgfdeggfded	ggfd
ed	gdgfd	edd	gfdegd	gfd
edgd	gfgZy)TestNargsZeroOrMorerrrqrYrNrkrrz	-x a -- brzrwrxrr@rrr^r^sIt3/S1DEH	R$"
	
rB"~	ser"#	bC5SE*+	b4C5!"	bSE"#	2#'(Irr^c	eZdZ	ededdedgZgdZdedgd	fd
edgd	fdedgd
d	fdedddgd	fgZy)TestNargsRemainderrrY...rqr)rrz-z Zr3NrXz-z Z XZ
X A B -z Z)Ar?rrbz	X Y --fooYrrr@rrr`r`sv<s8SE%:CIF!H	b3"%&	2rS)*	rC#8DAB	b33.D9:	Irr`cjeZdZ	edeedededdgZgd	Zd
eddgfd
eddgfdedddgfdeddgfdeddgfdeddgfdedddgfdedddgfdedddgfdedddgfdedddgfgZy)TestOptionLikerrz-3rY)rr%rrrq)
rz-y2.5rz-x -az-x -3z-x -3.5z-3 -3.5z-x -2.5z	-x -2.5 az-3 -.5za x -1z-x -1 az-3 -1 arNrXz-x 2.5@z-x 2.5 arz-3.5?z-3-.5gz-3 .5za -3.5za -x 1g?z-x 1 az-3 1 a)	rrr rsfloatrrrzrr@rrrgrgs8	DuDu3'Cs
0H

R$$"
%&	2tr*+	R##/0	dcR()	"ttr*+	"tsb)*	2u-.	b44C5)*	2tu-.	2tu-.	2u-.IrrgceZdZ	eddej
eddej
eddej
gZd	gZd
efdedfd
eddgfdedfdeddfdeddgdfgZ	y)TestDefaultSuppressr'r~rrArr`rrrrrr
rrzrTrrr'rBrr6N)
rrr rsr*SUPPRESSrrrzrr@rrrmrms/	Eh&7&78Eh&7&78GL(2C2CD
vH	RT
	bSk	s&'	",	B3D)*	bSse67
IrrmceZdZ	eej
Zeddeddedd	gZd
gZde	fde	d
fde	ddgfde	dfde	ddfde	ddgdfgZ
y)TestParserDefaultSuppressargument_defaultr'r~rqrArr`rrrrrr
rrzrTrrrnrr6N)rrr rsr*rorrrrzrr@rrrqrqs>H,=,=>EEGL)
vH	RT
	bSk	s&'	",	B3D)*	bSse67
IrrqceZdZ	edZedddedd	ed
d	edd
gZdgZdeddddfdeddddfdeddgddfdeddddfdeddddfdeddgddfgZy)TestParserDefault42rrr	--versionversion1.0rrwr'r~rqrArr`rrrr)r'rArBrwrrrzTrrNrRr@rrrurus8B/K	59EEGL)	vH	RBBB
34	bSbb"56	s2r:;	"r:;	B3BD"=>	bSserBC
Irruc
eZdZ	fdZedZedededdgZgd	Zd
ejzZ
dedd
dgfdedd
ddgfdede
d
gfdedd
e
gfdede
ddgfdedd
e
dgfgdedd
dgfgZejrPejjdZej"eZededed
gfdedd
egfgz
ZxZSdZxZS)TestArgumentsFromFilectt|dtj|j
dzfddd|jdzfg}|D]+\}}t|d5}|j|ddd-y#1swY8xYw)Nhello
)	recursives-a
A
@hello)invalids@no-such-path
undecodablewb)	rr{rJrRfsencoder}rrirjr
file_textsrZtextrmrs     rrJzTestArgumentsFromFile.setUp+s
#T02
bkk$**-56
%
,
D,,u45


%	!JD$dD!
!T

4 
!
!	!
!
!sA<<B	@fromfile_prefix_charsrrrYrrq)rrr3z@invalidz@missingzhello world!zX YNr3re)rrrYz
X -a A Y Zrdrb@hello XzX @helloz-a B @recursive Y ZzX @recursive Z -a Br?)rrr3rer@z@undecodable XzX @undecodabler)rrr rJrsrrrrFS_NONASCIIr}rzrTESTFN_UNDECODABLElstriprrRfsdecodedecoded_undecodabler!r"s@rr{r{(sR,!5D	CCs
7HY222E	TSSE*+	rC33*56	R$%C512	R$#%12	SEc3Z @A	SCE3< @A	rB##78I##2299$?)bkk+6
rD,?C5IJ
rDC4G3HIJ
	
	
rr{ceZdZ	fdZGddeZeZedZeddgZ	gZ
d	egd
fgZxZ
S)TestArgumentsFromFileConverterctt|dg}|D]+\}}t|d5}|j	|ddd-y#1swY8xYw)N)r}s
hello world!
r)rrrJrirjrs     rrJz$TestArgumentsFromFileConverter.setUpXsb
,d9;(

%	!JD$dD!
!T

4 
!
!	!
!
!sAA	ceZdZdZy)>TestArgumentsFromFileConverter.FromFileConverterArgumentParserc#`K|jD]}|js|ywrN)rstrip)rarg_lineargs   rconvert_arg_line_to_argszWTestArgumentsFromFileConverter.FromFileConverterArgumentParser.convert_arg_line_to_argscs-~~'
yy{	
s,.N)rrr rr@rrFromFileConverterArgumentParserras	rrrrrYrrqr)r}zworld!r3r)rrr rJrrrrsrrrrzrr!r"s@rrrUsX,!*D3L5CsH	R234Irrc*eZdZdZdZdZdZdZy)TestFileTypeReprcdtjd}|jdt|y)Nrz
FileType('r')r*FileTyperreprrrs  rtest_rzTestFileTypeRepr.test_rys&  %$t*5rcftjdd}|jdt|y)NrrpzFileType('wb', 1)rrs  r	test_wb_1zTestFileTypeRepr.test_wb_1}s)  q),d4j9rchtjdd}|jdt|y)Nrlatin_1rgz!FileType('r', encoding='latin_1')rrs  rtest_r_latinzTestFileTypeRepr.test_r_latins)  y9<d4jIrcjtjddd}|jdt|y)Nrfbig5ignore)rherrorsz/FileType('w', encoding='big5', errors='ignore')rrs  rtest_w_big5_ignorez#TestFileTypeRepr.test_w_big5_ignores.  vhGJd	%rcjtjddd}|jdt|y)Nrrpreplacerz"FileType('r', 1, errors='replace')rrs  rtest_r_1_replacez!TestFileTypeRepr.test_r_1_replaces+  a	:=tDzJrN)rrr rrrrrr@rrrrws6:J%
KrrceZdZdZdZy)StdStreamComparerctj||_|dk(rt|_y|dk(rt
|_yt
|_y)N
stdout.buffer
stderr.buffer)operator
attrgetterrr
backupattrrr)rrs  rrzStdStreamComparer.__init__s= **40?"1DO
_
$1DO$hDOrcp	||jtk(S#t$r||jk(cYSwxYwrN)rrAttributeErrorrrs  rrzStdStreamComparer.__eq__s9	,DLL---	,DOO++	,s55Nrrr rrr@rrrrs',rrstdinrrzstdin.bufferrrceZdZiZdZdZy)RFilec||_yrNrcrrcs  rrzRFile.__init__		rc&||jvr|j|}n/|jx}|j|<|jt|ts|jd}|j|jcxk(xr|k(ScS)Nascii)seenreadcloserrrrcrrrs   rrzRFile.__eq__stDII99U#D&+jjl2D499U#KKM$$;;w'DyyEJJ.$....rN)rrr rrrr@rrrrs
D/rrcHeZdZ	fdZedejedejdgZgdZde	de
d	fd
e	e
de
d	fde	e
de
d	fd
e	ee	fde	de
d	fgZxZ
S)
TestFileTypeRctt|dD]R}ttj
j
|j|dd5}|j|dddT|jdy#1swYpxYw)Nrrfrrgreadonly)
rrrJrirRrZr[rQrjrqr	file_namermrs   rrJzTestFileTypeR.setUpsz
mT(*'	&Ibggll4==)<G-
&04

9%
&
&	&	
!!*-
&
&sA==B	rrhrr)rrznon-existent-file.txtr'Nrr
-x foo barrA
bar -x foo-x - -r)rrr rJrsr*rrrrzreq_stdinrr!r"s@rrrsB.	D(x((*+F***3/03H	Te-.	rE%LuU|<=	rE%LuU|<=	2x01	R$U:%678IrrceZdZ	fdZedejddgZdgZde	e
d	fgZxZS)
TestFileTypeDefaultsctt|ttj
j
|jddd}|jd|jy)Ngoodrfrrg)
rrrJrirRrZr[rQrjr)rrmrs  rrJzTestFileTypeDefaults.setUpsG
"D/1BGGLL7wO

6

rrrzno-file.txtrrjrz-c goodr)r{)
rrr rJrsr*rrrrzrrr!r"s@rrrsNF	D(x((-}EtHR%-012Irrc	(eZdZ	fdZedejdedejdgZddgZde	de
d	fd
e	e
de
d	fde	e
de
d	fd
e	ee	fgZxZ
S)TestFileTypeRBctt|dD]R}ttj
j
|j|dd5}|j|dddTy#1swY_xYw)Nrrfrrg)	rrrJrirRrZr[rQrjrs   rrJzTestFileTypeRB.setUpsj
nd)+'	&Ibggll4==)<G-
&04

9%
&
&	&
&
&sA,,A5	rrbrhrrr'NrrrArr)rrr rJrsr*rrrrzr	eq_bstdinrr!r"s@rrrsB&	D(x((./F***401bzH	Te-.	rE%LuU|<=	rE%LuU|<=	2		23	Irrc&eZdZeZdZdZy)WFilec||_yrNrrs  rrzWFile.__init__rrc
||jvr]d}d|jvr|jd}|j||j	|jj||j|jk(S)NzCheck that file is writable.rzr)rmoder
rjraddrcrs   rrzWFile.__eq__se		!1Dejj {{7+KKKKMIIMM% yyEJJ&&rN)rrr rHrrrr@rrrrs5D'rrc
JeZdZ	fdZedejdedejdgZgdZde	de
d	fd
e	de
d
	fde	e
de
d	fd
e	e
de
d	fde	ee	fgZxZ
S)
TestFileTypeWcft||jd|jdyNrwritablerrJrqrnrrs rrJzTestFileTypeW.setUp(

!!*-!!*-rrrfrhr)rrrr'NrrrrArrrrr rJrsr*rrrrzr	eq_stdoutrr!r"s@rrrsB.	D(x((-.F***3/0&H	Te-.	R$U:%678	rE%LuU|<=	rE%LuU|<=	2		23IrrceZdZ	fdZedejdedejdgZgdZde	e
de
d	
fde	ee
fgZxZ
S)
TestFileTypeXcft||jd|jdyrrrs rrJzTestFileTypeX.setUp.rrrrrhr)rrrrrr'rArrrr"s@rrr*syK.	D(x((-.F***3/02H	rE%LuU|<=	2		23Irrc	eZdZ	edej
dedej
dgZddgZdede	dfd	ee	de	d
fdee	de	d
fdee
e
fgZy)
TestFileTypeWBrrrhrrr'NrrrArr)rrr rsr*rrrrzr
eq_bstdoutrr@rrrr>sI	D(x((./F***401bzH	Te-.	rE%LuU|<=	rE%LuU|<=	2
45	IrrceZdZ	edej
dedej
dgZdeededfd	ee	e	fgZ
y
)TestFileTypeXBrxbrhrrr'rArrN)rrr rsr*rrrzrrrr@rrrrOsnN	D(x((./F***401

rE%LuU|<=	2
45IrrceZdZ	dZy)TestFileTypeOpenArgsc
2tj}|ddf|dddf|dddf|d	d
df|dd
dddfg}tjd5}|D] \}}|d|jdg|"	dddy#1swYyxYw)Nr)rNNrfrp)rfrpNNrr)rfrNrrrrg)rrrNrl1strict)rfrrrz
builtins.openr')r*rrr.assert_called_with)rFTcasesmrrus      rtest_open_argsz#TestFileTypeOpenArgs.test_open_args`s



X-.
QZ-.
I
&(BC
v
&(@A
Qh
')AB
ZZ
(	3A#
3
dU$$$U2T2
3	3	3	3s&B

BN)rrr rr@rrrr]s
:3rrceZdZ	dZy)!TestFileTypeMissingInitializationc.tj}|jt5}|j	dtj
ddd|j
tj
dtjy#1swY@xYw)Nrrhz: is a FileType class object, instance of it must be passed)	r*r+r
ValueErrorrrrrrrs   rtestz&TestFileTypeMissingInitialization.testusx((*


z
*	>b8+<+<=	>	
  
#	
	>	>s"BBNrrr rr@rrrros
	
rrceZdZ	edeedegZgdZdeddfd	ed
dfded
dfgZ	y
)TestTypeCallablez--eggsrhr)r42jz--eggs az	--eggs 2iz--eggs=42 42rgE@)eggsrz--eggs 2j -- -1.5y@z1024.675Ng3333@)
rrr rscomplexrkrrrzrr@rrr
r
s^6	H7#F5H	$/0	bbt45	RT12Irr
ceZdZ	GddeZedeedegZgZdeeded	fd
eeded	fgZ	y
)TestTypeUserDefinedceZdZdZdZy)TestTypeUserDefined.MyTypec||_yrNvaluerrs  rrz#TestTypeUserDefined.MyType.__init__	DJrc`t||jft||jfk(SrNrrrs  rrz!TestTypeUserDefined.MyType.__eq__'J

+UU[[/IIIrNrr@rrMyTyper
		Jrrrrhrrxrzrr-xf grrcN)
rrr rBrrsrrrzrr@rrrrsm2JJ	DvF H	2s&+67	"vc{56IrrceZdZ	GddZedeedegZgZdeeded	fd
eeded	fgZy
)TestTypeClassicClassceZdZdZdZy)TestTypeClassicClass.Cc||_yrNrrs  rrzTestTypeClassicClass.C.__init__rrc`t||jft||jfk(SrNrrs  rrzTestTypeClassicClass.C.__eq__rrNrr@rrCr!rrr$rrhrrxrzrrrrrcN)	rrr r$rsrrrzrr@rrrrsk#JJ	DqFH	2#QsV,-	"qvAcF+,IrrceZdZ	dZy)TestTypeRegistrationcd}tj}|jdd||jdd|jdd|j	|jdj
tdd	|j	|jd
j
tdd	y)Ncd|zS)Nzmy_type{%s}r@strings rget_my_typez.TestTypeRegistration.test.<locals>.get_my_types
 6))rrmy_typerrhrYrz
my_type{1}rkz-x 1 42zmy_type{42})r*r+registerrrr:rrz)rr+r1s   rrzTestTypeRegistration.tests	*((*	;7Dy1Ci0**399;7dl3	5**9??+<=lm<	>rNrr@rrr&r&s
4
>rr&ceZdZ	GddejZGddejZeddeeded	ee	d
dgZ
gZd
eddfdeddfdeddfdeddfgZ
y)TestActionUserDefinedceZdZddZy)$TestActionUserDefined.OptionalActionNc	td}|dvrd|_n|dvrd|_ntd|zt	|d	|y#t$r}td|zd}~wwxYw)
N?rG)?r;r)@r	value: %szopt_action failed: %sr)rzr1AssertionErrorrrrr1	namespacer
option_stringrrs       r__call__z-TestActionUserDefined.OptionalAction.__call__su
G!dmN*)*K&e^)+K&(u)<==

Ivu-"
G)*AA*EFF
Gs2A	AAArNrrr r;r@rrOptionalActionr1s	.rr=ceZdZddZy)&TestActionUserDefined.PositionalActionNc	td}|dvrd|_n&|dvrd|_n|dvrd|_ntd	|zt	|d|y#t$r}td
|zd}~wwxYw)Nrr1)rrr3)rpr;)rr4r6zarg_action failed: %sr1)rzrr7rrr8s       rr;z/TestActionUserDefined.PositionalAction.__call__s
G!lH$'+K$c\',K$c\',K$(u)<==

Ix/"
G)*AA*EFF
Gs>A	A*A%%A*rNr<r@rrPositionalActionr?s	0rrBz-srr3)r%rrrjr1r~r)rrrrrjz-s0.125r4)rr1rrz
-s 0.625 1r;rpz84 -s2r5rN)rrr r*Actionr=rBrsrkrrrrzrr@rrr/r/s4..,08??04	Dvn	&H-C	,H	BE!,-	
rtB'(	ruQ/0	23r*+	Irr/c>eZdZ	GddejZdZy)TestActionRegistrationceZdZddZy)TestActionRegistration.MyActionNc8t||jd|zy)Nzfoo[%s])rr%)rr1r9valuesr:s     rr;z(TestActionRegistration.MyAction.__call__sItyy)f*<=rrNr<r@rrMyActionrGs	>rrJc<tj}|jdd|j|j	dd|j|j
dgtd|j|j
dgtd	y)
Nr	my_actionr1rrzfoo[1]rArzfoo[42])r*r+r-rJrrr:rzr0s  rrzTestActionRegistration.tests{((*+t}}=H[9**C512X3FG**D62Bi4HIrN)rrr r*rCrJrr@rrrErEs?>8??>
JrrEcFeZdZedddegZdZdegdfgZy	)
TestActionExtendrextendr)rrrrr@z--foo f1 --foo f2 f3 f4)f1f2f3f4r
N)	rrr rsrrrrzrr@rrrNrN&s4GHCc:H	"B+C$DEIrrNceZdZ	dZ		ddZfdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZxZS)TestAddSubparsersc8|jtg|i|yrNrrrws   rassertArgumentParserErrorz+TestAddSubparsers.assertArgumentParserError6-???rcT|r,tdd|}|j|ddzdzdd	n!tdd
}|jddd	|jdtd
ddi}|rd|d<d|d<nd|d<|jd4i|}|j	|jtd}|rd|d<|rddg|d<|jd5i|}|jdtd|jdd d!"td#}	|rd$|	d<|jd6i|	}
|
jd%d&d'"|
jd(td)d*+td,}|rd-|d<|jd7i|}|jd.td/|jd0d1d23|S)8NPROGmain description)progdescriptionrGrrr'rfoo helprhelpr]r^rrAbar helprrarFCOMMANDrcommandstitlecommand helpraz
1 descriptionr^z1 help1alias11alias2aliasesrWzw helprrx helprraz
2 descriptionz2 helpr123y helprrzz help)rrrraz
3 descriptionz3 helptzt helpurazu helprrrar@r)r)r)	rrrkadd_subparsersrXdict
add_parserrr)
rsubparser_helprGrlr1subparsers_kwargs
subparsersparser1_kwargsparser1parser2_kwargsparser2parser3_kwargsparser3s
             rrzTestAddSubparsers._get_parser9s/);,XFQ!#e+Lz
 
S0);=F:
 
?J		0(/+4i()3g&(6f%*V**?->?
&&v'<'<=/:%-N6")2I(>N9%'*''>~>T(;S%h?/:%-N6"'*''>~>T5x@SwcI/:%-N6"'*''>~>Ss:SH=
rczt||j|_|jd|_y)NT)rx)rrJrr1command_help_parserrs rrJzTestAddSubparsers.setUpps2

&&(#'#3#34#3#H rc~dD]8}|j}|j|jj|:y)N)rrza az0.5 az0.5 1z0.5 1 -yz0.5 2 -w)rrXr1r:)rrrus   rtest_parse_args_failuresz*TestAddSubparsers.test_parse_args_failuresus;1	IH>>#D**4;;+A+A4H	Irc
<|j|jjdjt	dddd|j|jjdjt	dd	d
ddg
|j|jjdjt	dddd|j|jjdjt	dddgdy)N0.5 1 b -w 7Frjrzr'rArfrz0.25 --foo 2 -y 2 3j -- -1jTr3ry@y)r'rArYrz--foo 0.125 1 cr4r{z-1.5 3 11 -- a --foo 7 -- br
)rrr--rz)r'rArqrr)rr1r:rrzrs rtest_parse_argsz!TestAddSubparsers.test_parse_args|sKK"">#7#7#9:5cQ#.	
	
KK""#@#F#F#HI4TSRI6	
	
KK""#4#:#:#<=4Udc2	
	
KK""#@#F#F#HI5db,JK	
rc	|j|jjdjt	ddddgf|j|jjdjt	dddddgf|j|jjd	jt	dddddgf|j|jjd
jt	ddddddgf|j|jjd
jt	ddddgdfy)NrFrjrrzrz0.5 -p 1 b -w 7-pz0.5 1 b -w 7 -pz0.5 1 b -q -rs -w 7z-qz-rsz0.5 -W 1 b -X Y -w 7 Z)z-Wz-Xrerb)rr1parse_known_argsrrzrs rtest_parse_known_argsz'TestAddSubparsers.test_parse_known_argssCKK(()=)=)?@
Esa3
/4	
	
KK(():)@)@)BC
Esa3
/$8	
	
KK(():)@)@)BC
Esa3
/$8	
	
KK(()>)D)D)FG
Esa3
/$?	
	
KK(()A)G)G)IJ
Esa3
/1GH	
rct}|jdd|jd}|jd}|jd|j	tddd	
|j
djy)NrrrrAr$rrBFrr6r)rrrurwrrzr:r)rr1rzr|s    r	test_destzTestAddSubparsers.test_dests{+-GL9***6
'',U#3C8**5;;=9	;rc|jdg}|j|jd|j|jdy)Nrunr@)r:rcommandrX)rr1rets   r_test_required_subparsersz+TestAddSubparsers._test_required_subparserss@(e,	
&&v'8'8"=rct}|jd}d|_|jd|j	|y)Nrr$Tr)rrurrwrrr1rzs   r&test_required_subparsers_via_attributez8TestAddSubparsers.test_required_subparsers_via_attributesA+-**	*:
"
e$&&v.rct}|jdd}|jd|j|y)NrTr%rr)rrurwrrs   r"test_required_subparsers_via_kwargz4TestAddSubparsers.test_required_subparsers_via_kwargs;+-**	D*I
e$&&v.rct}|jd}|jd|jd}|j	|j
y)Nrr$rr@rrurwr:assertIsNonerrr1rzrs    r test_required_subparsers_defaultz2TestAddSubparsers.test_required_subparsers_defaultsM+-**	*:
e$##++&rcBt}|jd}|jd|jd|jt5}|jdddd|j
jjdy#1swY0xYw)NTrr'rAr@z8error: the following arguments are required: {foo,bar}
$	rrurwrrr:r=rrrr1rzexcinfos    r-test_required_subparsers_no_destination_errorz?TestAddSubparsers.test_required_subparsers_no_destination_errors+-**D*9
e$e$


2
3	"wb!	"$$G	
	"	"BBcBt}|jd}|jd|jd|jt5}|jdddd|j
jjdy#1swY0xYw)NTrr'rArzPerror: argument {foo,bar}: invalid choice: 'baz' \(choose from 'foo', 'bar'\)\n$rrs    r3test_wrong_argument_subparsers_no_destination_errorzETestAddSubparsers.test_wrong_argument_subparsers_no_destination_errors+-**D*9
e$e$


2
3	(wh'	($$_	
	(	(rct}|jdd}|jd|jd}|j	|j
y)NrFrrr@rrs    rtest_optional_subparsersz*TestAddSubparsers.test_optional_subparserssO+-**	E*J
e$##++&rc|j|jjd|j|jjt	j
dy)N)usage: PROG [-h] [--foo] bar {1,2,3} ...
a?            usage: PROG [-h] [--foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help

            options:
              -h, --help  show this help message and exit
              --foo       foo help
            )rr1format_usageformat_helptextwrapdedentrs r	test_helpzTestAddSubparsers.test_helpsQ113E	G002HOOE5	rc|jd}|j|jd|j|jt	j
dy)Nz+:-rZz)usage: PROG [-h] [++foo] bar {1,2,3} ...
a?            usage: PROG [-h] [++foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help

            options:
              -h, --help  show this help message and exit
              ++foo       foo help
            rrrrrrr0s  rtest_help_extra_prefix_charsz.TestAddSubparsers.test_help_extra_prefix_charss\!!u!5,,.E	G++-x@0	rctdd}|jddd|j|jt	j
dy)	Nr[r\rbz--non-breakingruRhelp message containing non-breaking spaces shall not wrap at non-breaking spacesr`u7            usage: PROG [-h] [--non-breaking]

            main description

            options:
              -h, --help      show this help message and exit
              --non-breaking  help message containing non-breaking spaces shall not
                              wrap at non-breaking spaces
        rrrrrrr0s  rtest_help_non_breaking_spacesz/TestAddSubparsers.test_help_non_breaking_spaces	s[+%79];		<	
++-x	@	0
		rcRtdd}|jdd|j|jt	j
dtdd}|jdgd	|j|jt	j
d
y)Nr[r\rbr'z    raz            usage: PROG [-h] foo

            main description

            positional arguments:
              foo         

            options:
              -h, --help  show this help message and exit
        z%(choices)srnz            usage: PROG [-h] {}

            main description

            positional arguments:
              {}          

            options:
              -h, --help  show this help message and exit
        rr0s  rtest_help_blankz!TestAddSubparsers.test_help_blank!	s+%79			
++-x	@	0
		,%792		 	
++-x	@	0
		rc|jd}|j|jd|j|jt	j
dy)NrErZz)usage: PROG [+h] [++foo] bar {1,2,3} ...
a?            usage: PROG [+h] [++foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help

            options:
              +h, ++help  show this help message and exit
              ++foo       foo help
            rr0s  r test_help_alternate_prefix_charsz2TestAddSubparsers.test_help_alternate_prefix_charsC	s\!!u!5,,.E	G++-x@0	rc|j|jjd|j|jjt	j
dy)Nra            usage: PROG [-h] [--foo] bar {1,2,3} ...

            main description

            positional arguments:
              bar         bar help
              {1,2,3}     command help
                1         1 help
                2         2 help
                3         3 help

            options:
              -h, --help  show this help message and exit
              --foo       foo help
            )rrrrrrrs rtest_parser_command_helpz*TestAddSubparsers.test_parser_command_helpU	sU11>>@E	G11==?!*	rc~tdd}|jddd|jdd	
|jddd
}|jd}|jd}|j	|jd|j	|j
tjdy)Nr[r\rbrrr_r`rArcrsubcommandsrhzadditional text)rgr^rarrz'usage: PROG [-h] [--foo] bar {1,2} ...
av            usage: PROG [-h] [--foo] bar {1,2} ...

            main description

            positional arguments:
              bar         bar help

            options:
              -h, --help  show this help message and exit
              --foo       foo help

            subcommands:
              command help

              {1,2}       additional text
            )	rrrurwrrrrr)rr1rzr|r~s     rtest_subparser_title_helpz+TestAddSubparsers.test_subparser_title_helpj	s+8JLGLzJE
3**7E0A+C
'','',,,.C	E++-x@0	rc|jt5}|jj|j	ddd|j|jjy#1swY0xYwrN)rrr1r:rrrr)rr
expected_helprs    r_test_subparser_helpz&TestAddSubparsers._test_subparser_help	s[


2
3	5rKK""8>>#34	5(;(;<	5	5s*A//A8cN|jdtjdy)Nz5.0 1 -ha            usage: PROG bar 1 [-h] [-w W] {a,b,c}

            1 description

            positional arguments:
              {a,b,c}     x help

            options:
              -h, --help  show this help message and exit
              -w W        w help
            rrrrs rtest_subparser1_helpz&TestAddSubparsers.test_subparser1_help	"!!*hoo?/	rcN|jdtjdy)Nz5.0 2 -ha            usage: PROG bar 2 [-h] [-y {1,2,3}] [z ...]

            2 description

            positional arguments:
              z           z help

            options:
              -h, --help  show this help message and exit
              -y {1,2,3}  y help
            rrs rtest_subparser2_helpz&TestAddSubparsers.test_subparser2_help	rrc	 |jd}|j|jdjt	ddddgf|j|jdjt	ddddgfy)	NTrlz
0.5 1alias1 bFrjrzrz
0.5 1alias2 b)rrrrrzr0s  rtest_alias_invocationz'TestAddSubparsers.test_alias_invocation	s!!$!/##O$9$9$;<
Esdc
2B7	
	
##O$9$9$;<
Esdc
2B7	
rc||jd}|j|jdjy)NTrz
0.5 1alias3 b)rrXr:rr0s  rtest_error_alias_invocationz-TestAddSubparsers.test_error_alias_invocation	s8!!$!/&&v'8'8'6'<'<'>	@rc|jdd}d|_|j|jt	j
dy)NT)rlrxa	            usage: PROG [-h] [--foo] bar COMMAND ...

            main description

            positional arguments:
              bar                   bar help

            options:
              -h, --help            show this help message and exit
              --foo                 foo help

            commands:
              COMMAND
                1 (1alias1, 1alias2)
                                    1 help
                2                   2 help
                3                   3 help
            )rmaxDiffrrrrr0s  rtest_alias_helpz!TestAddSubparsers.test_alias_help	sH!!$t!D++-x@0	r)FNF)rrr rXrrJrrrrrrrrrrrrrrrrrrrrrrrrr!r"s@rrUrU3s(@>B!5nI
I
&
,;>//'



'"&$ D$*<=
	
@
rrUc eZdZ	dZdZdZy)TestPositionalsGroupsct}|jd|jd}|jd|jdtddd}|j	d	j}|j
||y)
Nr'rcrArBrrrr61 2 3)rrrrzr:rrrr1rexpectedrs     rtest_nongroup_firstz)TestPositionalsGroups.test_nongroup_first	sx+-E"))#.
5!E"#3C0""7==?36*rct}|jd}|jd|jd|jdtddd}|j	d	j}|j
||y)
Nxxxr'rArBrrrr6rrrrrzr:rrrs     rtest_group_firstz&TestPositionalsGroups.test_group_first	sx+-))%0
5!E"E"#3C0""7==?36*rcdt}|jd}|jd|jd|jd|jd}|jdtddd	d
}|j	dj}|j
||y)
Nrr'rArBrfrellrrrrL)r'rArBrz1 2 3 4rrs     rtest_interleaved_groupsz-TestPositionalsGroups.test_interleaved_groups	s+-))%0E"
5!E"))%0
7##3Cs;""9??#456*rN)rrr rrrr@rrrr	sJ++
+rrcteZdZ	dZfdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZxZS)TestParentParsersc8|jtg|i|yrNrWrws   rrXz+TestParentParsers.assertArgumentParserError	rYrct|td|_|jj	d|jjd}|j	d|jj	dtd|_|jj	d|jj	d|jjd	}|j	d
td|_|jj	dtd|_|jj	dtd|_	|jj}|j	dd
|j	dd
tjjtjd|_y)NFrHz--wrrrrrr{z--drrrr)rrJrwxyz_parentrrabcd_parentw_parentz_parentab_mutex_parentadd_mutually_exclusive_grouprRrZbasenamerrmain_program)rx_groupc_grouprrs    rrJzTestParentParsers.setUp
sb

5uE%%e,""55c:T"%%c*5uE%%c*%%d+""55c:U#2EB


""5)2EB


""3' :5I$$AAC
45
45GG,,SXXa[9rct|jg}|j|jdj	tdddy)Nparentsz-y 1 2 --w 3rrrrfrYr)rrrr:rrzr0s  rtest_single_parentz$TestParentParsers.test_single_parent
sE+T5E5E4FG**>+?+?+ABcSC0	2rc|j|jjt|jg}|j|jyNr)_test_mutex_abrr:rr0s  rtest_single_parent_mutexz*TestParentParsers.test_single_parent_mutex"
sCD00;;<+T5I5I4JKF--.rc|jg}td|}t|g}|j|jy)NF)rHrr)rrrr:rrr1s   rtest_single_granparent_mutexz.TestParentParsers.test_single_granparent_mutex'
s<''(+UGL+VH=F--.rc|j|gtdd|j|dgtdd|j|dgtdd|j|ddg|j|ddg|j|dg|j|ddg|j|ddgy)NFrrzrTrr)rrzrX)rr:s  rrz TestParentParsers._test_mutex_ab-
sBeu)=>TF+R$%-@ATF+R%4-@A&&zD$<@&&zD$<@&&zD6:&&zD$<@&&zD$<@rc|j|jg}t|}|j|j	djt
ddddddy)Nrz--d 1 --w 2 3 4rrrrL)rrzrrfrYr)rrrrr:rrzrs   rtest_multiple_parentsz'TestParentParsers.test_multiple_parents7
sZ##T%5%56+G<**+<+B+B+DEcTSC43G	Irc
n|j|jg}t|}|j|j	djt
ddddd|j|jdj|j|jd	jy)
Nrz
-a --w 2 3TFrr)rrzrfrYrz
-a --w 2 3 -bz
-a -b --w 2 3)rrrrr:rrzrXrs   rtest_multiple_parents_mutexz-TestParentParsers.test_multiple_parents_mutex=
s'')9)9:+G<**<+=+=+?@desdcB	D&&446	8&&446	8rc|jtjtj|j|j
gyr)rr*
ArgumentErrorr+rrrs rtest_conflicting_parentsz*TestParentParsers.test_conflicting_parentsG
s9""##]]D$4$45		7rc|jtjtj|j|j
gyr)rr*rr+rrrs rtest_conflicting_parents_mutexz0TestParentParsers.test_conflicting_parents_mutexM
s;""##%%t';';<		>rc|j|jg}t|}|j|j	djt
dddy)Nrrrr)rrrrr:rrzrs   rtest_same_argument_name_parentsz1TestParentParsers.test_same_argument_name_parentsS
sM##T]]3+G<**5;;=9ddc2	4rc	t}|j}|jd|jg}|j	d|j|j
djtdddd	y)
NrArrzbar -b 1 --d 2 3 4rrrrL)rrzrr)	rrurwrrrr:rrz)rr1rzabcde_parsers    rtest_subparser_parentsz(TestParentParsers.test_subparser_parentsY
sw+-**,
!,,UT=M=M<N,O!!#&**+?+E+E+GHcSC37	9rct}|j}|jg}|jd|}|j	d}|jd|j|jg}|jd|}|jd|j|jdjtdd	d
|j|jdjtd	dd
ddd
|j|jdj|j|jdjy)Nr'rrr{rArzfoo -a 4TFrLryzbar -b  --w 2 3 4rr)rrzrfrYrrzfoo -a -b 4zbar -b -a 4)rrurrwrrrrr:rrzrX)rr1rzr
abc_parserrwxyzabe_parsers       rtest_subparser_parents_mutexz.TestParentParsers.test_subparser_parents_mutexa
s>+-**,
''(**5'*B
//	:S!##T%9%9:#..ug.F##C(**:+;+;+=>des3	5**+>+D+D+FGetsdcSI	K&&}224	6&&}224	6rc	|j|jg}t|}|j}|j}|j|t
jdj||rdndy)NraG            usage: {}{}[-h] [-b B] [--d D] [--w W] [-y Y] a z

            positional arguments:
              a
              z

            options:
              -h, --help  show this help message and exit
              -b B
              --w W

            c:
              --d D

            x:
              -y Y
         r)	rrrrrrrrformat)rrr1parser_helpprognames     rtest_parent_helpz"TestParentParsers.test_parent_helpt
sm##T%5%56+G<((*$$hoo7"
F8HS"6#'8	9rc	td}|jdd}|jd|jd|j}|jd|jd	t|g
}|j	t
|jgd|j}|j}|j|tjdj||rd
ndy)NFrrcgdrgr^rWrrrr)rrerrbz            usage: {}{}[-h] [-w W] [-x X] [-y Y | -z Z]

            options:
              -h, --help  show this help message and exit
              -y Y
              -z Z

            g:
              gd

              -w W
              -x X
        rr)
rrrrrrr:rrrrrr)rparentrcrr1rrs       rtest_groups_parentsz%TestParentParsers.test_groups_parents
s+U;%%CT%B	t	t//1	t	t+VH=-v/@/@"	$((*$$hoo
7
F8HS"6
'8
	9r)rrr rXrJrrrrrrrrr
r
rrrr!r"s@rrr	sT?@:82
/
/AI87>496&909rrc$eZdZdZdZdZdZy) TestMutuallyExclusiveGroupErrorscbt}|j}|t|jdy)Nr')rg)rrrr)rr1raisess   rtest_invalid_add_argument_groupz@TestMutuallyExclusiveGroupErrors.test_invalid_add_argument_group
s'+-""y&==UKrc t}|j}|j}|j}|t|dd|t|d|t|dd|t|dd|t|dt
jy)NrTrrArrqrp)rrrrrr*PARSER)rr1rrr s     rtest_invalid_add_argumentz:TestMutuallyExclusiveGroupErrors.test_invalid_add_argument
sv+-335))""z<4@z</z<c:z<a8z<hooFrc^td}|j}|jdd|jdd|j}|jdd|jd	dd
}|j|j	tj|y)Nr[r]rrrr,rz--soupz--nutsz            usage: PROG [-h] [--foo | --bar] [--soup | --nuts]

            options:
              -h, --help  show this help message and exit
              --foo
              --bar
              --soup
              --nuts
              )rrrrrrr)rr1group1group2rs     rrz*TestMutuallyExclusiveGroupErrors.test_help
s+8446GL9GM:446H\:H];		
++-xx/HIrctj}|j}|jt5|jdgdddy#1swYyxYw)Nr4)r*r+rrrr:rr1rs   rtest_empty_groupz1TestMutuallyExclusiveGroupErrors.test_empty_group
sQ((*335


z
*	&tf%	&	&	&sAAN)rrr r!r$rr+r@rrrr
sL
	GJ(&rrc<eZdZdZdZdZdZdZdZdZ	dZ
y	)
MEMixinc|jdj}t}|jD]#}|j	|||j%yNFr
get_parserr:rrrrrr:rargs_strings    rtest_failures_when_not_requiredz'MEMixin.test_failures_when_not_required
sM__e_4??
#==	FKeZ1B1B1DE	Frc|jdj}t}|jdgzD]#}|j	|||j%y)NTrrr0r2s    rtest_failures_when_requiredz#MEMixin.test_failures_when_required
sT__d_3>>
#==B4/	FKeZ1B1B1DE	Frc|jdj}|j|jz}|D]-\}}||j	}|j||/yr/)r1r:rsuccesses_when_not_requiredrr)rr:rr3r	actual_nss      r test_successes_when_not_requiredz(MEMixin.test_successes_when_not_required
sc__e_4??
NNT%E%EE	(1	5$K";#4#4#67IY4	5rc|jdj}|jD]-\}}||j}|j	||/yNTr)r1r:rrr)rr:r3rr9s     rtest_successes_when_requiredz$MEMixin.test_successes_when_required
sS__d_3>>
(,	5$K";#4#4#67IY4	5rc|jdj}|j}|j|t	j
|yr/)r1rusage_when_not_requiredrrrrrexpected_usages   rtest_usage_when_not_requiredz$MEMixin.test_usage_when_not_required
s>6CC55)HIrc|jdj}|j}|j|t	j
|yr<)r1rusage_when_requiredrrrr@s   rtest_usage_when_requiredz MEMixin.test_usage_when_required
s>5BB11)HIrc|jdj}|j|jz}|j	|tj|yr/)r1rr?rarrrrrras   rtest_help_when_not_requiredz#MEMixin.test_help_when_not_requiredsGoouo5AA++dii7(=>rc|jdj}|j|jz}|j	|tj|yr<)r1rrDrarrrrGs   rtest_help_when_requiredzMEMixin.test_help_when_requiredsGooto4@@''$))3(=>rN)rrr r4r6r:r=rBrErHrJr@rrr-r-
s.FF55J
J
?
?rr-ceZdZddZddgZdeddfded	dfd
eddfdedd	fgZd
eddfgZdZdZ	dZ
y)TestMutuallyExclusiveSimpleNctd}|j|}|jdd|jddd	d
|S)Nr[r&rr,rcrr`r~rbbaz help)rrrrarrrrrr1rs    rr1z&TestMutuallyExclusiveSimple.get_parser
sN+833X3F
74
7#SzJ
r--bar X --baz Yz
--bar X --baz--bar Xr3rArBz--bar X --bar Zrb--baz Yrer`rz;        usage: PROG [-h] [--bar BAR | --baz [BAZ]]
        z;        usage: PROG [-h] (--bar BAR | --baz [BAZ])
        z
        options:
          -h, --help   show this help message and exit
          --bar BAR    bar help
          --baz [BAZ]  baz help
        rNrrr r1rrzrr8r?rDrar@rrrLrLs"?3H	B3D)*	B3D12	B4S)*	"3'(	I
RDd
#$#DrrLc
eZdZddZdgZdeddddfdeddddfd	eddddfd
eddddfgZdeddddfgZdZd
Z	dZ
y)TestMutuallyExclusiveLongNctd}|jdd|jdd|j|}|jd	d
|jdd|S)
Nr[r&z--abcdez
abcde helprz--fghijz
fghij helprz--klmnoz
klmno helpz--pqrstz
pqrst helprrrrPs    rr1z$TestMutuallyExclusiveLong.get_parser0sp+8IL9IL933X3F
9<8
9<8
rz--klmno X --pqrst Yz	--klmno Xr3)abcdefghijklmnopqrstz--abcde Y --klmno Xrez	--pqrst Xz--pqrst X --fghij Yrzi    usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ]
                [--klmno KLMNO | --pqrst PQRST]
    zi    usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ]
                (--klmno KLMNO | --pqrst PQRST)
    z
    options:
      -h, --help     show this help message and exit
      --abcde ABCDE  abcde help
      --fghij FGHIJ  fghij help
      --klmno KLMNO  klmno help
      --pqrst PQRST  pqrst help
    rNrUr@rrrWrW.s&&H	bt4s$GH	SCt<	>	bt4t3GH	TD<	>I
Rd$d$
?@#DrrWceZdZdZdgZdeddfdeddfd	ed
dfgZded
dfgZd
ZdZ	dZ
y
)$TestMutuallyExclusiveFirstSuppressedctd}|j|}|jdtj|jddd	|S)
Nr[r&rrrrrrpr`rrrr*rorPs    rr1z/TestMutuallyExclusiveFirstSuppressed.get_parser[sR+833X3F
4h&7&78
4
HE
rz-x X -yz-x Xr3Trkz	-x X -x YrerNFrz&        usage: PROG [-h] [-y]
        z$        usage: PROG [-h] -y
        zm
        options:
          -h, --help  show this help message and exit
          -y          y help
        rUr@rrr_r_Yst{H	cT"#	b3$'(	
rDE"#I
R$$
 #Drr_c	eZdZdZgdZdedddfdedddfd	eddd
fdedddfgZdedddfgZd
xZZ	dZ
y)#TestMutuallyExclusiveManySuppressedctd}|j|}|j}|ddtj|ddtj|d	tj
|S)Nr[r&r--spamrr`r+rz	--bladderrra)rrr1rrs     rr1z.TestMutuallyExclusiveManySuppressed.get_parser|sc+833X3F  H\0A0ABJ}83D3DEKh//0
r)z--spam --badgerz--badger --bladder Bz--bladder B --spamreTN)rr1bladderr+Fz--bladder Br?z
--spam --spamrz!        usage: PROG [-h]
        P
        options:
          -h, --help  show this help message and exit
        rrr r1rrzrr8rDr?rar@rrrcrczsH
24d;<	RU5$?@	dC@A	"$tTBC	I
RU4
67#51Drrcc
eZdZdZgdZdedddfded	d
dfded	ddgfded	dgdfgZd
ed	ddfgZdZdZ	dZ
y)*TestMutuallyExclusiveOptionalAndPositionalctd}|j|}|jddd|jdd	
|jddd
d|S)Nr[r&rrrFOOr`reSPAMrr1rr3BADGERrrrjrarOrPs    rr1z5TestMutuallyExclusiveOptionalAndPositional.get_parsersc+833X3F
7<eD
8&1
83(K
r)z--foo --spam Sz
--spam S XzX --foozX Y Z --spam Sz	--foo X YrTNr3)r'rr1z--spam SFSzX Y Z)r3rerbrzD        usage: PROG [-h] [--foo | --spam SPAM | badger ...]
        zD        usage: PROG [-h] (--foo | --spam SPAM | badger ...)
        z
        positional arguments:
          badger       BADGER

        options:
          -h, --help   show this help message and exit
          --foo        FOO
          --spam SPAM  SPAM
        rUr@rrrjrjsH
"D56	REC89	bUse45	"T/BC	I
RES
12#	Drrjc
*eZdZdZgdZdedddddfdedddddfdedddddfd	edddddfd
edddddfdedddddfgZdedddddfd
edddddfdedddddfgZdxZZ	dZ
y)#TestMutuallyExclusiveOptionalsMixedc
td}|jddd|j|}|jddd	|jd
dd|jddd
|jddd|S)Nr[r&rrrmr`rra helprb helprrprc helprYrPs    rr1z.TestMutuallyExclusiveOptionalsMixed.get_parsers+8DHE33X3F
48D
48DDHE
48D
r)z-a -b-b -cz-a -cz-a -b -crTFrrzr{rrYrrz-a -xz-y -bz-x -y -crrrz:        usage: PROG [-h] [-x] [-a] [-b] [-y] [-c]
        z
        options:
          -h, --help  show this help message and exit
          -x          x help
          -a          a help
          -b          b help
          -y          y help
          -c          c help
        Nrhr@rrrrrrs7H	
rDEUeu=>	
rETUeu=>	
rEUdeu=>	"tu?@	"u$?@	R%5DDDAB
I
R%5EUe
<=	
rEUetu=>	
rEUeu=>#51	DrrrcreZdZddZddgZdeddfdedd	fgZd
eddfgZdZdZ	d
Z
y)TestMutuallyExclusiveInGroupNctd}|jdd}|j|}|jdd	|jd
d	|S)Nr[r&zTitled groupzGroup descriptionrrr,rcrr`rN)rrrr)rrr1titled_groupmutex_groups     rr1z'TestMutuallyExclusiveInGroup.get_parsersk+800 .A1C
55x5H	  z :  z :
rrQz--baz X --bar YrRr3rSrTrerz9        usage: PROG [-h] [--bar BAR | --baz BAZ]
        z9        usage: PROG [-h] (--bar BAR | --baz BAZ)
        z
        options:
          -h, --help  show this help message and exit

        Titled group:
          Group description

          --bar BAR   bar help
          --baz BAZ   baz help
        rNrUr@rrrzrzsi"#45H	B3D)*	B4S)*I

RDd
#$#
DrrzceZdZdZgdZdedddddfded	d
dddfded	dd
ddfdeddddd
fd
ed	d
ddd
fgZded	ddddfded	dddd
fgZdxZZ	dZ
y	)1TestMutuallyExclusiveOptionalsAndPositionalsMixedctd}|jdd|jddd	|j|
}|jddd
|jddd	|jddd	|S)Nr[r&rrmrrrrpr`rrr~rtrsrrurrvrYrPs    rr1z<TestMutuallyExclusiveOptionalsAndPositionalsMixed.get_parsers+8Ch/DHE33X3F
3c9
48D
48D
r)zX A -brwz-c X AzX ArdFr3rxzX -bNTzX -czX A -yzX -y -bzX -yz6        usage: PROG [-h] [-y] [-b] [-c] x [a]
        a
        positional arguments:
          x           x help
          a           a help

        options:
          -h, --help  show this help message and exit
          -y          y help
          -b          b help
          -c          c help
        rhr@rrrrs-H	SEUcU;<	ddese<=	detse<=	2u=>	B#>?I

b45ESE:;	deut<=#
51Drrc.eZdZdZdZdZdZdZdZdZ	dZ
y)TestMutuallyExclusiveNestedcbtd}|j|}|jd|jdtj5tj
dt|j|}dddjd|jdtj5tj
dt|j|}dddjd	|jd
|S#1swYxYw#1swY9xYw)Nr[r&rrrrrrrr)rrrwarningscatch_warningssimplefilterr)rrr1rr(group3s      rr1z&TestMutuallyExclusiveNested.get_parserMs+833X3F
4 
4 

$
$
&	K!!(,>?777JF	K	D!D!

$
$
&	L!!(,>?88(8KF	L	D!D!
	K	K
	L	Ls-D-D%D"%D.zO        usage: PROG [-h] [-a A | -b B | [-c C | -d D | [-e E | -f F]]]
        zO        usage: PROG [-h] (-a A | -b B | (-c C | -d D | (-e E | -f F)))
        z
        options:
          -h, --help  show this help message and exit
          -a A
          -b B
          -c C
          -d D
          -e E
          -f F
        N)rrr r1r?rDrar4r6r:r=r@rrrrFs8"
D'+#"&'+$#' rrc eZdZdfd	ZxZS)MEPBasecbtt||}t|jd|g}|S)NrF)r]rHr)rrr1rr])rrrr1rs    rr1zMEPBase.get_parser}s4w0(0C+uvh@
rrN)rrr r1r!r"s@rrr{s
rrceZdZy)&TestMutuallyExclusiveGroupErrorsParentNrrr r@rrrrrrceZdZy)!TestMutuallyExclusiveSimpleParentNrr@rrrrrrrceZdZy)TestMutuallyExclusiveLongParentNrr@rrrrrrrceZdZy)*TestMutuallyExclusiveFirstSuppressedParentNrr@rrrrrrrceZdZy))TestMutuallyExclusiveManySuppressedParentNrr@rrrrrrrceZdZy)0TestMutuallyExclusiveOptionalAndPositionalParentNrr@rrrrrrrceZdZy))TestMutuallyExclusiveOptionalsMixedParentNrr@rrrrrrrceZdZy)7TestMutuallyExclusiveOptionalsAndPositionalsMixedParentNrr@rrrrrrrc6eZdZdZdZdZdZdZdZdZ	y)	TestSetDefaultsc

t}|jd|jdd|jtddd|j	g|jtddd|j	gt|jtddd|j	gtd|jtddd|j	gtdd	y)
Nr'rrArp)rYrrXrBr)rrrset_defaultsrrzr:r0s  rtest_set_defaults_no_argsz)TestSetDefaults.test_set_defaults_no_argss+-e$eq)eu2**2.	0eu2**2rt4	6eu2**2rE{;	=eu2**2rEQ/?@	Brc	t}|jdd|jdd|jt	dd|jg|jt	dd|jgt	|jt	dd|jgt	d|jt	d	d|jd
j
|jt	d	d|jd
j
t	|jt	d	d|jd
j
t	dy)Nr'rArkrxfooxrirBrrr)rrrrrzr:rr0s  rtest_set_defaults_with_argsz+TestSetDefaults.test_set_defaults_with_argss6+-eu-D'2g/**2.	0g/**2rt4	6eu-**2rE{;	=cU+**6<<>:	<cU+**6<<>24@	BcU+**6<<>2;G	Irct}|jd|j}|jd}|jd|j	tdd|j
djy)Nr'rrrArrk)rrrurwrrzr:r)rr1rzparser_as    rtest_set_defaults_subparsersz,TestSetDefaults.test_set_defaults_subparserssu+-e$**,
((-&eu-**399;7	9rctd}|jdt|g}|jtd|j	gy)NFrr'rrr)rrr1s   rtest_set_defaults_parentsz)TestSetDefaults.test_set_defaults_parentssH+U;e$+VH=ef&7&7&;<rc
tj}|jjd}|j	d|j	d|jt
d|jdgy)Nr3rpr
r)r*r+rurwrrrzr:)rr1xparsers   r)test_set_defaults_on_parent_and_subparserz9TestSetDefaults.test_set_defaults_on_parent_and_subparsersl((*'')44S9"#F$5$5se$<=rct}|jdddd|jd|jdd	|jd
d|jd
dd|jt	dddd|jg|jdddd|jt	dddd|jgy)NWr3rerbrrWrXXrirYr~rqrZZrWWYY)rrrrrzr:r0s  r&test_set_defaults_same_as_add_argumentz6TestSetDefaults.test_set_defaults_same_as_add_arguments+-cSC37D!D$/Cs+CsD9	
cTSD9**2.	0	dcTS9dcTS9**2.	0rct}|jdddd|jd}|jd|jdd	
|jdd
|jddd|j	tdd	dd|j
g|jdddd|j	tdddd|j
gy)Nrr3rerbrr'rWrrrirYr~rqrrrrr)rrrrrrzr:r*s   r,test_set_defaults_same_as_add_argument_groupz<TestSetDefaults.test_set_defaults_same_as_add_argument_groups+-cSC37))%0
4 
4.
3c*
3c48	
cTSD9**2.	0	dcTS9dcTS9**2.	0rN)
rrr rrrrrrrr@rrrrs'BI"9=>0"0rrceZdZdZy)TestGetDefaultct}|j|jd|j|jd|jd|j|jd|j|jd|jdtd|j|jd|jd|jd|j
d|jd|jd|jd|jdy)	Nr'rArr,rrr1r
)rrget_defaultrrrrr0s  rtest_get_defaultzTestGetDefault.test_get_default
s+-&,,U34&,,U34G$&,,U34&,,U34G#r:&,,U34V//67)6#5#5e#<=V//67rN)rrr rr@rrrr

s8rrceZdZdZdZy)TestNamespaceContainsSimplecttj}|jd||jd|y)Nrr)r*	NamespaceassertNotInrnss  r
test_emptyz&TestNamespaceContainsSimple.test_empty&
s0



!R b!rctjdd}|jd||jd||jd||jd||jd|y)	NrprrkrrrYxxr)r*rrrrs  rtest_non_emptyz*TestNamespaceContainsSimple.test_non_empty+
s`


!q
)R 

c2

c2r"b!rN)rrr rrr@rrrr$
s"
"rrceZdZdZy)TestHelpFormattingMetaclasscV|dk(ryGddt}dD]\}}||||y)NHelpTestCasec0eZdZdZdZdZdZdZdZy)6TestHelpFormattingMetaclass.__init__.<locals>.AddTestsc||_||_|j|j|jfD]-}|j
d|}|fd}	||_t|||/y#t$rYwxYw)Nrc||yrNr@rs  rtest_wrapperzUTestHelpFormattingMetaclass.__init__.<locals>.AddTests.__init__.<locals>.test_wrapperH
rr)func_suffixstd_nametest_format
test_printtest_print_filerrr)r
test_classrrrrrs       rrz?TestHelpFormattingMetaclass.__init__.<locals>.AddTests.__init__?
s#.  (
"&"2"2"&//"&"6"6"8AI,5+=+={ KI5>(09-J	<@A%sA##	A/.A/c\tj|jji|jj}t|dgD](}|j|ji|j*t|dg}|D]X\}}|j|ji|j}|D](}|j|ji|j*Zt|dg}|r=|j}	|D](}
|	j|
ji|
j*|S)Nrargument_group_signaturessubparsers_signatures)
r*r+rrurvrrrrurw)rrr1argument_sig
group_sigs	group_sig
argument_sigsrsubparsers_sigsrz
subparser_sigs           rrzBTestHelpFormattingMetaclass.__init__.<locals>.AddTests._get_parserP
s`!00,,116--446%,F4I2$N?L'F''):):?*6*=*=??%V-H"M
0:B,I}5F55y~~J8A8H8HJE(5B***L,=,=B-9-@-@BBB#*&2I2"N"!'!6!6!8J)8G
-
--}/A/AG1>1E1EGG
rct||j}tj|}d|_|j||yrN)rrrrrr)rrparser_text
expected_texts    r_testz<TestHelpFormattingMetaclass.__init__.<locals>.AddTests._testf
s9 '0@0@ A
 (
 >
!%""=+>rc|j|}t|d|jz}|j||y)Nz	format_%s)rrrr)rrr1rs    rrzBTestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_formatl
s9))&1 t7G7G)GH

668,rc|j|}t|d|jz}tt|j}tt|jt
	|tt|jj}tt|j||j||y#tt|j|wxYwNzprint_%s)	rrrrrrrrr)rrr1print_
old_streamrs      rrzATestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_printq
s))&1 d6F6F)FG$S$--8
T]]KM:<H")#t}}"="F"F"HKC
;

6;/C
;s)/CC#c|j|}t|d|jz}t}|||j	}|j||yr)rrrrrr)rrr1rsfilers      rrzFTestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_print_file}
sQ))&1 d6F6F)FG#
u
#nn.

6;/rN)	rrr rrrrrrr@rrrr=
s!
A"
,
?
-


0
0rr))usager)rar)r)rrcrrrrrs       rrz$TestHelpFormattingMetaclass.__init__9
s>>!F	0vF	0R&:	1!KS+x0	1rNrxr@rrrr7
sO1rrrceZdZ	edddZedddd	ed
dd
eddeddeddgZgZdZedzZdZ	y)TestHelpBiggerOptionalsr[DESCRIPTIONEPILOGr]r^epilogr\rvrw0.1ryrrX HELPr`--yY HELPrr'FOO HELPrABAR HELPz;        usage: PROG [-h] [-v] [-x] [--y Y] foo bar
        aW
        DESCRIPTION

        positional arguments:
          foo            FOO HELP
          bar            BAR HELP

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
          -x             X HELP
          --y Y          Y HELP

        EPILOG
            0.1
        N
rrr rsrrrrrarwr@rrrr
sEM"*,	D+i?DH5E!E
#E
#!#
ED GrrceZdZ	dZej
ZejZejZdZedzZ	ejZ
y)TestShortColumnscn|jtj}|jddy)NrErM)rFrrGrHrHs  rrJzTestShortColumns.setUp
s)	 = = ?@	4 rz        usage: PROG
               [-h]
               [-v]
               [-x]
               [--y Y]
               foo
               bar
        a
        DESCRIPTION

        positional arguments:
          foo
            FOO HELP
          bar
            BAR HELP

        options:
          -h, --help
            show this
            help
            message and
            exit
          -v, --version
            show
            program's
            version
            number and
            exit
          -x
            X HELP
          --y Y
            Y HELP

        EPILOG
    N)rrr rJrrrrrrarwr@rrrr
sW
!#:"J"J"9"M"M"9"S"S
ED:#:"A"AGrrceZdZ	edddZedddd	ed
dd
eddeddeddgZeddeddedddgfgZdZedzZd Z	y!)"TestHelpBiggerOptionalGroupsr[rrrr\rvrwrryrrrr`rrrr'rrArzGROUP TITLEzGROUP DESCRIPTIONrirBzBAZ HELPrrzZ HELPrszN        usage: PROG [-h] [-v] [-x] [--y Y] [-z Z [Z ...]] foo bar baz
        a
        DESCRIPTION

        positional arguments:
          foo            FOO HELP
          bar            BAR HELP

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
          -x             X HELP
          --y Y          Y HELP

        GROUP TITLE:
          GROUP DESCRIPTION

          baz            BAZ HELP
          -z Z [Z ...]   Z HELP

        EPILOG
    rNrr@rrrr
sEM"*,	D+i?DH5E!E
#E
#

](;	<J'Ch/?1	2!

ED,GrrceZdZ	eddZedddedd	
edd
ed
d
gZgZdZedzZdZ	y)TestHelpBiggerPositionalsUSAGErrr^rrrr`rrrekiekiekifekangzEKI HELPrAr        usage: USAGE
        a
        DESCRIPTION

        positional arguments:
          ekiekiekifekang  EKI HELP
          bar              BAR HELP

        options:
          -h, --help       show this help message and exit
          -x               X HELP
          --y Y            Y HELP
        rNrr@rrrrsl>mDDH5E!J/E
#	!#
EDGrrceZdZ	eddZedddedd	d
gZedd
edddgfgZdZedzZdZ	y)TestHelpReformattingr[ze   oddly    formatted
description

that is so long that it should go onto multiple lines when wrappedrbrrzoddly
    formatted -x helprrarYrz
normal y helprgz'
    oddly formatted group

descriptionrirrz` oddly 
formatted    -a  help  
    again, so long that it should be wrapped over multiple linesr`2        usage: PROG [-h] [-x XX] [-a] yyy
        a
        oddly formatted description that is so long that it should go onto multiple
        lines when wrapped

        positional arguments:
          yyy         normal y help

        options:
          -h, --help  show this help message and exit
          -x XX       oddly formatted -x help

        title:
          oddly formatted group description

          -a          oddly formatted -a help again, so long that it should be wrapped
                      over multiple lines
        rNrr@rrrr6sH
)*	D$&=	>C_5

W#0
1d<$%
&		'
!
ED(GrrceZdZ	eddZedddedd	d
gZededd
dgfgZdZedzZdZ	y)TestHelpWrappingShortNamesr[zZD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DD
DrbrrzxXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXrrYrdYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHALPHASrrzPAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAr`ra
        D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
        DD DD DD DD D

        positional arguments:
          yyy         YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH
                      YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH

        options:
          -h, --help  show this help message and exit
          -x XX       XHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH
                      HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HX

        ALPHAS:
          -a          AHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH
                      HHAAHHH HHAAHHH HHA
        rNrr@rrr	r	jszH[AD$]3C\2


X\@B	C!
ED,Grr	ceZdZ	eddZedddded	d
ded
ddgZededddedddgfgZdZedzZdZ	y)TestHelpWrappingLongNamesrzZD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD Drr\rvrwzZV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VryrXXXXXXXXXXXXXXXXXXXXXXXXXzdXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHrrYyyyyyyyyyyyyyyyyyyyyyyyyyr
rrAAAAAAAAAAAAAAAAAAAAAAAAAzdAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHrzzzzzzzzzzzzzzzzzzzzzzzzzzdZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHrag
        D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
        DD DD DD DD D

        positional arguments:
          yyyyyyyyyyyyyyyyyyyyyyyyy
                                YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH
                                YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH

        options:
          -h, --help            show this help message and exit
          -v, --version         show program's version number and exit
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
                                XH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH
                                XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XH

        ALPHAS:
          -a AAAAAAAAAAAAAAAAAAAAAAAAA
                                AH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH
                                AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AH
          zzzzzzzzzzzzzzzzzzzzzzzzz
                                ZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH
                                ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZH
        zs        V VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV
        VV VV VV VV V
        Nrr@rrr
r
sFzBD+iDD(6C5

Xh\:XL9;	<!

ED<Grr
ceZdZ	edZedddeddd	ed
d
eddd
edddeddejedddejedddejedejejdg	Zeded dd!ed"d#d$ed%d%ded&d&dgfgZ	d'Z
e
d(zZd)Zy*)+
TestHelpUsager[r&rWrrfrsrrrrrrzr)rarrr{r~rzWhether to foo)rarr,zWhether to barT)rarjrrz--foobarz--barfoorz--bazzzBazz!)rrjrarrrYrrurrra/        usage: PROG [-h] [-w W [W ...]] [-x [X ...]] [--foo | --no-foo]
                    [--bar | --no-bar]
                    [-f | --foobar | --no-foobar | --barfoo | --no-barfoo]
                    [--bazz | --no-bazz] [-y [Y]] [-z Z Z Z]
                    a b b [c] [d ...] e [e ...]
        az
        positional arguments:
          a                     a
          b                     b
          c                     c

        options:
          -h, --help            show this help message and exit
          -w W [W ...]          w
          -x [X ...]            x
          --foo, --no-foo       Whether to foo
          --bar, --no-bar       Whether to bar
          -f, --foobar, --no-foobar, --barfoo, --no-barfoo
          --bazz, --no-bazz     Bazz!

        group:
          -y [Y]                y
          -z Z Z Z              z
          d                     d
          e                     e
        rN)
rrr rsrr*rrorrrrarwr@rrrrs#'D#&D#&CcCc#Cc%G*83Q3QRG*D$::	<D*j1O1OPHX;;&//g	?

WCc*AC(#S)#S)	
	!
ED,GrrcZeZdZedZeddedddgZd	Zed
zZdZy)
TestHelpUsageWithParenthesesr[r&
positionalz(example) positionalrrz
--optionalz{1 (option A), 2 (option B)}zX        usage: PROG [-h] [-p {1 (option A), 2 (option B)}] (example) positional
        z
        positional arguments:
          (example) positional

        options:
          -h, --help            show this help message and exit
          -p {1 (option A), 2 (option B)}, --optional {1 (option A), 2 (option B)}
        rN)	rrr rsrrrrarwr@rrrrsL'L"89D,(FG

EDGrrceZdZ	eddZgZededdeddgfed	ed
d
eddgfgZd
ZedzZdZ	y)TestHelpOnlyUserGroupsr[Fr]rHxxxxrrrryyyyrzrrYz.        usage: PROG [-x X] [-y Y] a b
        zn
        xxxx:
          -x X  x
          a     a

        yyyy:
          b     b
          -y Y  y
        rNrr@rrrrs#7	V3#
	

V#3
		!
E		DGrrczeZdZ	edZeddeddeded	gZgZd
ZedzZdZ	y
)TestHelpUsageLongProg<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPr&rWrrrr3rrzzz        usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
               [-h] [-w W] [-x X] a b
        z
        positional arguments:
          a
          b

        options:
          -h, --help  show this help message and exit
          -w W
          -x X
        rNrr@rrrr6sa4)D#D#CC	!#
E

DGrrceZdZ	edZeddeddedd	ed
deded
gZgZdZedzZdZ	y) TestHelpUsageLongProgOptionsWraprr&rWWWWWWWWWWWWWWWWWWWWWWWWWWrrrrYYYYYYYYYYYYYYYYYYYYYYYYYrZZZZZZZZZZZZZZZZZZZZZZZZZrrza        usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
               [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]
               [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
               a b
        a-
        positional arguments:
          a
          b

        options:
          -h, --help            show this help message and exit
          -w WWWWWWWWWWWWWWWWWWWWWWWWW
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        rNrr@rrr!r!SsuK)D(#D(#D(#D(#CC
!#
EDGrr!cfeZdZ	eddZedededgZgZdZedzZd	Z	y
)$TestHelpUsageLongProgPositionalsWraprFraaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccz        usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
               aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
               ccccccccccccccccccccccccc
        
        positional arguments:
          aaaaaaaaaaaaaaaaaaaaaaaaa
          bbbbbbbbbbbbbbbbbbbbbbbbb
          ccccccccccccccccccccccccc
        rNrr@rrr&r&wsVM59H
H
H

!#
E
DGrr&c	eZdZ	edZeddeddedd	ed
deded
edgZgZdZedzZdZ	y)TestHelpUsageOptionalsWrapr[r&rWr"rrrrr#rr$rrzr{z        usage: PROG [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]
                    [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
                    a b c
        a9
        positional arguments:
          a
          b
          c

        options:
          -h, --help            show this help message and exit
          -w WWWWWWWWWWWWWWWWWWWWWWWWW
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        rNrr@rrr,r,s|6'D(#D(#D(#D(#CCC!#
E

DGrr,ceZdZ	edZededededededgZgZd	Zed
zZdZ	y)
TestHelpUsagePositionalsWrapr[r&rrrr'r(r)z        usage: PROG [-h] [-x X] [-y Y] [-z Z]
                    aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
                    ccccccccccccccccccccccccc
        a
        positional arguments:
          aaaaaaaaaaaaaaaaaaaaaaaaa
          bbbbbbbbbbbbbbbbbbbbbbbbb
          ccccccccccccccccccccccccc

        options:
          -h, --help            show this help message and exit
          -x X
          -y Y
          -z Z
        rNrr@rrr.r.si8'D	D	D	H
H
H

!#
E
DGrr.ceZdZ	edZeddeddedd	ed
ededgZgZd
ZedzZdZ	y)%TestHelpUsageOptionalsPositionalsWrapr[r&rrrrr#rr$r'r(r)a        usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]
                    [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
                    aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
                    ccccccccccccccccccccccccc
        aZ
        positional arguments:
          aaaaaaaaaaaaaaaaaaaaaaaaa
          bbbbbbbbbbbbbbbbbbbbbbbbb
          ccccccccccccccccccccccccc

        options:
          -h, --help            show this help message and exit
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        rNrr@rrr0r0srF'D(#D(#D(#H
H
H

!#
EDGrr0cpeZdZ	edZeddeddedd	gZgZd
ZedzZdZ	y
)TestHelpUsageOptionalsOnlyWrapr[r&rrrrr#rr$z        usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]
                    [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]
        z
        options:
          -h, --help            show this help message and exit
          -x XXXXXXXXXXXXXXXXXXXXXXXXX
          -y YYYYYYYYYYYYYYYYYYYYYYYYY
          -z ZZZZZZZZZZZZZZZZZZZZZZZZZ
        rNrr@rrr2r2s]J'D(#D(#D(#
!#
E
DGrr2cfeZdZ	eddZedededgZgZdZedzZd	Z	y
) TestHelpUsagePositionalsOnlyWrapr[Frr'r(r)z~        usage: PROG aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
                    ccccccccccccccccccccccccc
        r*rNrr@rrr4r4sVL7H
H
H

!#
EDGrr4c
eZdZ	edZedededddd	d
edd
deddddgddeddedddgZededd ed!d"d#gfgZd$Zed%zZ	d&Z
y')(TestHelpVariableExpansionr[r&rz"x %(prog)s %(default)s %(type)s %%rdrrrXXXz y %(prog)s %(default)s %(const)s)rrjrrarrz$foo %(prog)s %(default)s %(choices)srnr,rBrprBBBz!bar %(prog)s %(default)s %(dest)s)rjrrrarzspam %(prog)s %(default)srr1rjzbadger %(prog)s %(default)s)rjrarrza %(prog)s %(default)srrzb %(prog)s %(default)szw        usage: PROG [-h] [-x X] [-y] [--foo {a,b,c}] [--bar BBB] [-a A] [-b B]
                    spam badger
        a
        positional arguments:
          spam           spam PROG None
          badger         badger PROG 0.5

        options:
          -h, --help     show this help message and exit
          -x X           x PROG None int %
          -y             y PROG 42 XXX
          --foo {a,b,c}  foo PROG None a, b, c
          --bar BBB      bar PROG baz bar

        group:
          -a A           a PROG None
          -b B           b PROG -1
        rN)rrr rsrrrrrrarwr@rrr6r6.sD'Ds5	7D%3	5GU7	9GUQFE4	6F45Hc(EF

W34b'?@
	!ED"Grr6c<eZdZ	eddZgZgZdZedzZdZ	y)&TestHelpVariableExpansionUsageSuppliedr[z%(prog)s FOOr]rz         usage: PROG FOO
        rgrNrr@rrr:r:\s=Jn= "ED
Grr:c6eZdZ	eddZgZgZdZeZdZ	y)$TestHelpVariableExpansionNoArgumentsr[Frz        usage: PROG
        rNrr@rrr=r=ms1E7 "EDGrr=cneZdZ	edej
ZeddeddgZgZdZ	d	Z
d	Zy
)TestHelpSuppressUsager[r;rr_rr	spam helpz        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        rN)rrr rsr*rorrrrarrwr@rrr?r?zsO=h.?.?@G*%F%!#D
EGrr?cteZdZ	eddZedejeddgZgZdZ	e	d	zZ
d
Zy)TestHelpSuppressOptionalr[Frrrrr@z!        usage: PROG spam
        zA
        positional arguments:
          spam  spam help
        rNrrr rsrr*rorrrrarwr@rrrBrBs[I7G(++,F%!#
ED
GrrBceZdZ	edZeddeddgZeded	ejgfgZd
Z	e	dzZ
dZy
)TestHelpSuppressOptionalGroupr[r&rr_rrr@rr,2        usage: PROG [-h] [--foo FOO] spam
        
        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        rN)rrr rsrrr*rorrrarwr@rrrErEsqF'G*%F%


WG(*;*;<=>!
EDGrrEcreZdZ	edZeddedejgZgZdZ	e	dzZ
d	Zy
)TestHelpSuppressPositionalr[r&rr_rrz-        usage: PROG [-h] [--foo FOO]
        o
        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        rNrCr@rrrIrIsYK'G*%F**+!#
EDGrrIcNeZdZ	edZedddgZgZdZedzZd	Z	y
)TestHelpRequiredOptionalr[r&rTr_)rraz+        usage: PROG [-h] --foo FOO
        rJrNrr@rrrLrLsK8'Gd4!#
EDGrrLcfeZdZ	edddZeddded	d
dgZgZd
ZedzZdZ	y)TestHelpAlternatePrefixCharsr[z^;F)r]rGrHz^^foorr_r`z;bz;;barrcrz-        usage: PROG [^^foo] [;b BAR]
        zf
        options:
          ^^foo              foo help
          ;b BAR, ;;bar BAR  bar help
        rNrr@rrrNrNs[DTEJGLz:D'
+!#
EDGrrNc`eZdZ	eddZeddeddgZgZd	Zed
zZdZ	y)
TestHelpNoHelpOptionalr[Frrr_rrr@z-        usage: PROG [--foo FOO] spam
        zv
        positional arguments:
          spam       spam help

        options:
          --foo FOO  foo help
        rNrr@rrrPrPsUG7G*%F%!#
EDGrrPcVeZdZ	edZededgZgZdZedzZdZ	y)	TestHelpNoner[r&rrrFz
        positional arguments:
          spam

        options:
          -h, --help  show this help message and exit
          --foo FOO
        rNrr@rrrRrRsM;'GF!#
EDGrrRc	eZdZ	edZeddddedd	d
dedd
ddeddddgZgZdZedzZdZ	y)TestHelpTupleMetavarr[r&rWrfr)W1W2)rarrrrrr)X1X2rrYru)Y1Y2Y3rrr~)Z1z]        usage: PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]]
        z
        options:
          -h, --help        show this help message and exit
          -w W1 [W2 ...]    w
          -x [X1 [X2 ...]]  x
          -y Y1 Y2 Y3       y
          -z [Z1]           z
        rNrr@rrrTrT*sx,'Ds#|<Ds#|<Ds!-?@Ds#x8	!#
EDGrrTceZdZ	edej
dZeddeddgZed	d
edd
gfgZdZ	e	dzZ
dZy)TestHelpRawTextr[7Keep the formatting
    exactly as it is written

here
r]formatter_classr^rz-    foo help should also
appear as given hererrr@rg?    This text
  should be indented
    exactly like it is here
rir,rc>        usage: PROG [-h] [--foo FOO] [--bar BAR] spam
        a
        Keep the formatting
            exactly as it is written

        here

        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO       foo help should also
                      appear as given here

        title:
              This text
            should be indented
              exactly like it is here

          --bar BAR   bar help
        rN)rrr rsr*RawTextHelpFormatterrrrrrarwr@rrr^r^Es'
X%B%B	G1	2F%

W#B
CgJ
'	(	*!
ED,Grr^ceZdZ	edej
dZeddeddgZed	d
edd
gfgZdZ	e	dzZ
dZy)TestHelpRawDescriptionr[r_r`rz4  foo help should not
    retain this odd formattingrrr@rgrbrir,rcrca
        Keep the formatting
            exactly as it is written

        here

        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help should not retain this odd formatting

        title:
              This text
            should be indented
              exactly like it is here

          --bar BAR   bar help
        rN)rrr rsr*RawDescriptionHelpFormatterrrrrrarwr@rrrfrfvs'
X%I%I	G;	<F%

W#B
CgJ
'	(	*!
ED*GrrfcHeZdZ	edej
dZeddeddd	
edejdd
edejdejedddeddeddddgZ	eddede
dd gfgZd!Zed"zZ
d#Zy$)%TestHelpArgumentDefaultsr[r^r`rz)foo help - oh and by the way, %(default)srr,rrcr`z--tazzWhether to taz itT)rrarjz--corgezWhether to corge itz--quuxzSet the quuxr)rarjrr@r1r~woodenzbadger helprorgrir`rN)rrjraz        usage: PROG [-h] [--foo FOO] [--bar] [--taz | --no-taz] [--corge | --no-corge]
                    [--quux QUUX] [--baz BAZ]
                    spam [badger]
        ay
        description

        positional arguments:
          spam                 spam help
          badger               badger help (default: wooden)

        options:
          -h, --help           show this help message and exit
          --foo FOO            foo help - oh and by the way, None
          --bar                bar help (default: False)
          --taz, --no-taz      Whether to taz it (default: True)
          --corge, --no-corge  Whether to corge it
          --quux QUUX          Set the quux (default: 42)

        title:
          description

          --baz BAZ            baz help (default: 42)
        rN)rrr rsr*ArgumentDefaultsHelpFormatterrrrorrrrrarwr@rrriris0
X%K%K!#
	GEFGLz:GH::$d	4Ih<<&0A0A	CH>26F%HC
F


W-	0

gC*
=	>	@!
E
D*GrricReZdZ	eddZeddddgZgZd	Zed
zZdZ	y)
TestHelpVersionActionr[r^rb-Vrvrwz3.6ryz&        usage: PROG [-h] [-V]
        z
        description

        options:
          -h, --help     show this help message and exit
          -V, --version  show program's version number and exit
        rNrr@rrrmrmsK6MBt[ERS "
EDGrrmceZdZ	edZeddddejedd	
edd
gZgZd
Z	e	dzZ
y)TestHelpVersionActionSuppressr[r&r\rvrwrx)rrwrarr_rrr@rFrGN)rrr rsrr*rorrrrar@rrrprpseM'D+i""	$G*%F%	!#
EDrrpceZdZ	eddZeddddgZd	Dcgc]}t|
c}}}ZdZedzZd
Z	ycc}}}w)TestHelpSubparsersOrderingr[display some subcommandsrbr\rvrwrry)rrzr{rrr6        usage: PROG [-h] [-v] {a,b,c,d,e} ...
        z
        display some subcommands

        positional arguments:
          {a,b,c,d,e}

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
        rN)
rrr rsrrrrrarw).0rcrss000rrrrrsw?'ACt[ERS*CDD!%!d^D
E

DG'DsArrc
eZdZ	eddZeddddgZd	ZeDcgc]\}}t||
c}}}}ZdZedzZ	d
Z
ycc}}}}w)"TestHelpSubparsersWithHelpOrderingr[rsrbr\rvrwrry))rza subcommand help)rzzb subcommand help)r{zc subcommand help)rzd subcommand help)rze subcommand help)rcrarta
        display some subcommands

        positional arguments:
          {a,b,c,d,e}
            a            a subcommand help
            b            b subcommand help
            c            c subcommand help
            d            d subcommand help
            e            e subcommand help

        options:
          -h, --help     show this help message and exit
          -v, --version  show program's version number and exit
        rN)rrr rsrrsubcommand_datarrrarw)rurcrarss0000rrwrw"s?'ACt[ERSO0?@@!+t!d6@
ED"G1@sA
rwceZdZdZeddejZedeedeede	d	
gZ
gZdZedzZ
d
Zy)TestHelpMetavarTypeFormatterc|SrNr@r)s rcustom_typez(TestHelpMetavarTypeFormatter.custom_typeOs
rr[r^)r]r^rarrhrrz
SOME FLOAT)rrzF        usage: PROG [-h] [-b custom_type] [-c SOME FLOAT] int
        z
        description

        positional arguments:
          int

        options:
          -h, --help      show this help message and exit
          -b custom_type
          -c SOME FLOAT
        rN)rrr r|rsr*MetavarTypeHelpFormatterrrrkrrrrarwr@rrrzrzMsrM+3+L+LNs-t+6t%FH!#
EDGrrzcheZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZy)TestInvalidArgumentConstructorscvtj}|jt|jg|i|yrN)r*r+rrrrrurvr1s    rassertTypeErrorz/TestInvalidArgumentConstructors.assertTypeErrorqs:((*)V%8%8	+	+#)	+rcvtj}|jt|jg|i|yrN)r*r+rrrrs    rassertValueErrorz0TestInvalidArgumentConstructors.assertValueErrorvs:((**f&9&9	+	+#)	+rc|jdd|jdd|jdd|jdiy)	Nr)rArr')callbackr@)
callback_args)callback_kwargsrrs rtest_invalid_keyword_argumentsz>TestInvalidArgumentConstructors.test_invalid_keyword_arguments{sNTt,TE2T4T26rcV|jdD]}|j|y)N)rrrrrrs  rtest_missing_destinationz8TestInvalidArgumentConstructors.test_missing_destinations.)	0F   /	0rcH|jd|jdy)Nrz---rrs rtest_invalid_option_stringsz;TestInvalidArgumentConstructors.test_invalid_option_stringssd#e$rcd|jdd|jdttfy)Nrrrh)rrrkrs rtest_invalid_typez1TestInvalidArgumentConstructors.test_invalid_types,gE2gS%L9rcb|jdd|jdd|jddtj}|jt5}|jddddd|j
dtjy#1swY/xYw)	Nrr'rrBrrrz
store-truezunknown action)	rr*r+rrrrrrrs   rtest_invalid_actionz3TestInvalidArgumentConstructors.test_invalid_actionsd51eE2g.AB((*


z
*	>b=	>

&BLL(9:	>	>s#B%%B.ctj}|jd|jt5}|jddddd|jdt
jy#1swY/xYw)Nr'r$rArBz+dest supplied twice for positional argument)r*r+rrrrrrrs   rtest_multiple_destz2TestInvalidArgumentConstructors.test_multiple_destst((*'


z
*	3bE2	3

C",,'	)	3	3sA>>BcdD]B}tttdtdfD]}|jdd|i|Dy)	N)rrrrrrhrrqabrr)r)rvrr)rrattrss   rtest_no_argument_actionsz8TestInvalidArgumentConstructors.test_no_argument_actionssU0	CFC.$S/t,.
C$$$B&BEB
C	CrcbdD]*}|jdd||jdd|,y)N)rrrrr'rrrrrrrs  r!test_no_argument_no_const_actionszATestInvalidArgumentConstructors.test_no_argument_no_const_actionssA<	AF
  U6 B
  S @
	ArcdD][}|jdd||jdd|dD],}|jdd|||jdd||.]y)	Nrrrrr)rprrr')rrrrr)rrrrs   r#test_more_than_one_argument_actionszCTestInvalidArgumentConstructors.test_more_than_one_argument_actionss)	BF
!!$a!?!!&&!A'
B%%d%,1&&B%%fE,1&&B
B	Brc:dD]}|jdd|y)N)rrrrrrrs  rtest_required_const_actionsz;TestInvalidArgumentConstructors.test_required_const_actionss*5	AF
  S @	Arc|jdd|jddd|jddtjy)Nrparsersrr[)rr])rr)rr*r+rs r"test_parsers_action_missing_paramszBTestInvalidArgumentConstructors.test_parsers_action_missing_paramssKYy9YyvFYy*2*A*A		Crc*|jddy)Nr'Trrrs rtest_required_positionalz8TestInvalidArgumentConstructors.test_required_positionalsUT2rcGddtGfddt}tj}|j	|j
d||j	|j
d|y)NceZdZy)ITestInvalidArgumentConstructors.test_user_defined_action.<locals>.SuccessNrr@rrSuccessrsrrc"eZdZ	dfd	ZdZy)HTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Actionc2|dk(r|ur|uryyy)Nrr@)roption_stringsr%rrjrrs      rrzQTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Action.__init__s26>'"g-"))O.("rcyrNr@rws   rr;zQTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Action.__call__srN)F)rrr rr;)rsrrCrs#(	
,
rrCre)rrjrr)rrr*r+rr)rrCr1rs   @rtest_user_defined_actionz8TestInvalidArgumentConstructors.test_user_defined_actionsy	i		V	 ((*'6#6#6!'		I'6#6#6!'		IrN)rrr rrrrrrrrrrrrrrrr@rrrrnsV7+
+
70
%:;)CABAC3IrrceZdZdZdZy)TestActionsReturnedc>tj}|jd}|j|jd|jdd}|j|jd|jdd}|j|jdy)	Nrr'rr,rArrr)r*r+rrr%rr1rs   rrzTestActionsReturned.test_dests((*$$W-e,$$T73e,$$T40c*rc8tj}|jddddtddgddd	
	}|j	|j
d|j	|jd|j	|jd|j	|jt|j	|jddg|j	|jd|j	|jd|j	|jd	y)Nrr~rrrprrlBARrB)rrrrjrrrarr%)
r*r+rrrrrrrjrrrarr%rs   r	test_misczTestActionsReturned.test_miscs((*$$WCr-/cAq6*/U%L	
s+r*,c*!Q0e,/e,rN)rrr rrr@rrrrs+-rrc$eZdZdZdZdZdZy)TestConflictHandlingcP|jttjdy)Nr')conflict_handler)rrr*r+rs r
test_bad_typez"TestConflictHandling.test_bad_types"*h&=&=+0		2rctj}|jd|jtj|jd|jd|jtj|jdy)Nrre)r*r+rrrr0s  rtest_conflict_errorz(TestConflictHandling.test_conflict_errorsn((*D!(00 --t	5H%(00 --x	9rctj}|dd}|jdd|jdd|j|j	tjd|jd	d
|jd	d|j|j	tjd
y)Nr[resolve)r]rrzOLD XrzNEW Xz            usage: PROG [-h] [-x X]

            options:
              -h, --help  show this help message and exit
              -x X        NEW X
            reOLD_SPAMrNEW_SPAMz            usage: PROG [-h] [-x X] [--spam NEW_SPAM]

            options:
              -h, --help       show this help message and exit
              -x X             NEW X
              --spam NEW_SPAM
            )r*r+rrrrr)rr1r1s   rtest_resolve_errorz'TestConflictHandling.test_resolve_errors,,
)DDw/Dw/++-x@0		Hj9Hj9++-x@0	rctj}|j}|jddg|j	tj
|jd|j	tj
|jd|j	tj
|jddg|j	tj
|jddgy)Nfullnamealiasrr)r*r+rurwrr)rr1sps   rtest_subparser_conflictz,TestConflictHandling.test_subparser_conflict2s((*

"
"
$


j7)
4(00--	5(00--	2(00--:,		H(00--7)		ErN)rrr rrrrr@rrrr
s292ErrcDeZdZ	dZdZdZdZdZdZdZ	dZ
d	Zy
)TestOptionalsHelpVersionActionsc|jt5}|j|jddd|j	|jjjy#1swY>xYwrN)rrr:rrrrr)rr1rrs    rassertPrintHelpExitz3TestOptionalsHelpVersionActions.assertPrintHelpExitGs`


2
3	0rhnn./	0++-r||/B/BC	0	0s A33A<cF|jt|j|yrN)rrr:rr1rus   rrXz9TestOptionalsHelpVersionActions.assertArgumentParserErrorLs-v/@/@$Grct}|jdddd|j|d|j|d|jtt
|dy)	Nr\rvrwrxryr4rMformat_versionrrrrrrr0s  rtest_versionz,TestOptionalsHelpVersionActions.test_versionOsV+-D+iO  .  2.'6;KLrc
td}|jdddd|jt5}|j	dgddd|jdjjy#1swY0xYw)	NPPPr&r\rvrwz%(prog)s 3.5ryzPPP 3.5
rrrrr:rrrrs   rtest_version_formatz3TestOptionalsHelpVersionActions.test_version_formatVss+7D+iX


2
3	&rtf%	&bll&9&9:	&	&sA99Bctd}|jdddd|j|d|j|d	|jtt
|d
y)NFrr\rvrwrxryr4rMr)rrrXrrrr0s  rtest_version_no_helpz4TestOptionalsHelpVersionActions.test_version_no_help]sX+U;D+iO&&vt4&&vx8.'6;KLrctd}|jddd|jt5}|j	dgddd|jdjjy#1swY0xYw)Nr7r&rnrwz%(prog)s 3.7ryzXXX 3.7
rrs   rtest_version_actionz3TestOptionalsHelpVersionActions.test_version_actiondsq+7DNK


2
3	&rtf%	&bll&9&9:	&	&sA88Bctd}|j|d|j|d|j|d|j|dy)NFrr4rMr\rv)rrXr0s  rtest_no_helpz,TestOptionalsHelpVersionActions.test_no_helpksL+U;&&vt4&&vx8&&vt4&&v{;rct}|jdd|jdd|j|d|j|d|j|d|j	t
t|dy)	Nrrarrrwr\rvr)rrrrXrrrr0s  rtest_alternate_help_versionz;TestOptionalsHelpVersionActions.test_alternate_help_versionrsu+-D0D3  .&&vt4&&v{;.'6;KLrcTt}|jddd|jdd|jdgd	}|d
dgz}|D]V}|D]	}|d|}|j|d
z|j||dz|jtt
|dXy)NrvrwrxryrrrrY)rrr'z-x barzbaz -xz--bad-optionzfoo bar bazz %s r4rMrr)rr1valid_prefixesvalid_suffixesprefixsuffixrs       r!test_help_version_extra_argumentszATestOptionalsHelpVersionActions.test_help_version_extra_arguments{s+-K	5ID6C ?'>=*II$	QF(
8(.7
8$$VVd];$$VVh->?ngv?OP	QrN)rrr rrXrrrrrrrr@rrrrDs8+D
HM;M;<MQrrc>eZdZ	dZdZdZdZdZdZdZ	dZ
y	)
TestStringscVttfD]}|j|||yrN)rrr)robj
result_stringr5s    rassertStringEqualzTestStrings.assertStringEquals)$K	7DT#Y
6	7rcptjgdddddgdddd	
	}d}|j||y)N)rrrrzrrrrprruFHELPMETAVAR	rr%rrrrjrrrarzAction(option_strings=['--foo', '-a', '-b'], dest='b', nargs='+', const=None, default=42, type='int', choices=[1, 2, 3], required=False, help='HELP', metavar='METAVAR'))r*rCr)roptionr*s   r
test_optionalzTestStrings.test_optionalsH0	
Q		
vv.rctjgdtddgdddd	}d	tz}|j||y)
Nrr~ri)rjg?riTzH HH HzMV MV MVrzAction(option_strings=[], dest='x', nargs='?', const=None, default=2.5, type=%r, choices=[0.5, 1.5, 2.5], required=True, help='H HH H', metavar='MV MV MV'))r*rCrkr)rargumentr*s   r
test_argumentzTestStrings.test_argumentsQ??#	 
@BG
H		
x0rcZtjdd}d}|j||y)NrrrzNamespace(foo=42, bar='spam')r*rrrrr*s   rtest_namespacezTestStrings.test_namespaces)


BF
30r6*rcZtjdiddi}d}|j||y)N"quotezNamespace(**{'"': 'quote'})r@rrs   r'test_namespace_starkwargs_notidentifierz3TestStrings.test_namespace_starkwargs_notidentifiers.



13.
12r6*rc^tjdddiddi}d}|j||y)Nrrprrz Namespace(a=1, **{'"': 'quote'})r@rrs   r2test_namespace_kwargs_and_starkwargs_notidentifierz>TestStrings.test_namespace_kwargs_and_starkwargs_notidentifiers3



6!
6W~
67r6*rcZtjdiddi}d}|j||y)NvalidTzNamespace(valid=True)r@rrs   r$test_namespace_starkwargs_identifierz0TestStrings.test_namespace_starkwargs_identifiers.



27D/
2(r6*rcztjd}dtjz}|j||y)Nr[r&zvArgumentParser(prog='PROG', usage=None, description=None, formatter_class=%r, conflict_handler='error', add_help=True))r*r+
HelpFormatterr)rr1r*s   rtest_parserzTestStrings.test_parsers<((f5
'55
6		
vv.rN)rrr rrrrrrrrr@rrrrs-=7/"1"+
+
+
+
/rrceZdZdZdZdZy)
TestNamespacectj}|jtt|dtjdd}|j|jd|j|jdy)Nrrrr)r*rrrrrrrzrs  rtest_constructorzTestNamespace.test_constructors^



!.'2s;


"
/r"v&rctjdd}tjdd}tjd}tjd}|j|||j|||j|||j|||j|||j	||k7|j	||k7|j	||k7|j	||k7y)Nrprr)rzr)rr)r*rrassertNotEqual
assertTrue)rns1ns2ns3ns4s     r
test_equalityzTestNamespace.test_equalitys  1*  1*  1%  1%c"C%C%C%C%s
#s
#s
#s
#rctjdd}|j|jdt|j|jdty)Nrprr)r*rassertIsrNotImplemented__ne__rs  r$test_equality_returns_notimplementedz2TestNamespace.test_equality_returns_notimplementeds@


!q
)

biio~6

biio~6rN)rrr r	rrr@rrrrs'$ 7rrceZdZdZdZdZy)TestEncodingctjj|\}}|dz
}t|dd5}|j	dddy#1swYyxYw)Nz.pyrrrg)rRrZsplitextrir)rrZrrs    r_test_module_encodingz"TestEncoding._test_module_encodingsO''""4(a

$g
.	!
FFH			sAAcB|jtjyrN)rr*__file__rs rtest_argparse_module_encodingz*TestEncoding.test_argparse_module_encodings""8#4#45rc.|jtyrN)rrrs r"test_test_argparse_module_encodingz/TestEncoding.test_test_argparse_module_encoding	s""8,rN)rrr rrr r@rrrrs6-rrceZdZdZy)TestArgumentErrorcjd}tjd|}|jt||y)Nz
my error here)r*rrr)rrrs   rtest_argument_errorz%TestArgumentError.test_argument_errors-&&tS1US)rN)rrr r$r@rrr"r"s*rr"ceZdZdZy)TestArgumentTypeErrorcd}tdd}|jd||jt5}|j	dgddd|jdjjy#1swY0xYw)	Nc,tjd)Nspam!)r*ArgumentTypeErrorr)s rrz<TestArgumentTypeError.test_argument_type_error.<locals>.spams,,W55rr[Frrrhr7z-usage: PROG x
PROG: error: argument x: spam!
)rrrrr:rrr)rrr1rs    rtest_argument_type_errorz.TestArgumentTypeError.test_argument_type_errors|	6,%HCd+


2
3	'rug&	'J,,	.	'	'sA;;BN)rrr r+r@rrr&r&s
.rr&ceZdZdZdZdZy)TestMessageContentErrorctdd}|jdt|jdtd|jd	td
|j	t
5}|j
gdddtj}|j|d|j|d|j|d	|j	t
5}|j
d
gdddt|j}|j|d|j|d|j|d	|j	t
5}|j
d
dgdddt|j}|j|d|j|d|j|d	y#1swYMxYw#1swYxYw#1swYnxYw)Nr[rr;req_posrh-req_optTrneed_oner)rrrreq_optmyXargumentz
-req_opt=1)
rrrrrrr:rr=rrr1rrs    r%test_missing_argument_name_in_messagez=TestMessageContentError.test_missing_argument_name_in_message/s+rBIC0JS4@JS<


2
3	"rb!	"",,i(i(j)


2
3	/r}o.	/",,i(i(j)


2
3	=r}l;<	=",,i(i(j)#	"	"	/	/	=	=s$*G$GG GG G)ctdd}|jdt|jdtd|jd	td
d|jt5}|jgdddtj}|j|d|j|d|j|d
|jt5}|jdgdddt|j}|j|d|j|d|j|d
y#1swYxYw#1swYaxYw)Nr[rr;r/rhz	--req_optTrz	--opt_optr~)rrrrjr2opt_optz--req_opt=1)rrrrrrrr:rr=rr4s    r%test_optional_optional_not_in_messagez=TestMessageContentError.test_optional_optional_not_in_messageHs8+rBIC0KcDAKd#$(		*


2
3	"rb!	"",,i(i(i(


2
3	/r}o.	/",,i(i(i(	"	"	/	/s+E%EEE!cPtdd}|jd|jddd|jt5}|j	gdddtj}|j|d|j|dy#1swYCxYw)	Nr[rr;r/optional_positionalr~rr)	rrrrr:rrr=rr4s    r'test_optional_positional_not_in_messagez?TestMessageContentError.test_optional_positional_not_in_message[s+rBI&1fM


2
3	"rb!	"",,i(34		"	"sBB%N)rrr r5r8r;r@rrr-r--s*2)&5rr-ceZdZdZy)TestTypeFunctionCallOnlyOncecfd}tj}|jd|d|jdj	}jt
d|y)Nc*j|dy)Nr)
foo_convertedr)string_to_convertrs rrzLTestTypeFunctionCallOnlyOnce.test_type_function_call_only_once.<locals>.spamms.8"rrrArz--foo spam!r@r
)r*r+rr:rrrzrrr1rus`   r!test_type_function_call_only_oncez>TestTypeFunctionCallOnlyOnce.test_type_function_call_only_oncels[	#((*G$>  !4!4!670$7rN)rrr rDr@rrr=r=js8rr=c$eZdZdZdZdZdZy)TestTypeFunctionCalledOnDefaultcfd}tj}|jd|d|jg}j	td|y)Nc*j|dy)Nrr@rA)int_to_convertrs rrz]TestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_default.<locals>.spam}s^Q/"rrrrr
r*r+rr:rrzrCs`   r/test_type_function_call_with_non_string_defaultzOTestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_default|sQ	#((*G$:  $D)rcd}tj}|jd|d|jg}|j	td|y)Ncy)Nr@r@)rIs rrzYTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_default.<locals>.spams"rr0rr@r
rJrCs    r+test_type_function_call_with_string_defaultzKTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_defaultsQ	#((*G$<  $0$7rcd}tj}|jd|d|jg}|j	td|y)Nc|dzS)Nrr@)str_to_converts rrOzYTestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_default.<locals>.extends
!C''r--testrrz**)rrJ)rrOr1rus    r)test_no_double_type_conversion_of_defaultzITestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_defaultsR	(((*H63?  $	
-rctj}|jddtgd|j	g}|j|jgy)NrSrr)r%rrjr)r*r+rrr:rrrs   rtest_issue_15906z0TestTypeFunctionCalledOnDefault.test_issue_15906sT((*H6$&x		9  $B'rN)rrr rKrOrTrVr@rrrFrFzs	*8
.(rrFc6eZdZdZdZdZdZdZdZdZ	y)	TestParseKnownArgscNtj}|jdy)Nr@r*r+r:r0s  rtest_arguments_tuplez'TestParseKnownArgs.test_arguments_tuple((*"rcNtj}|jgyrNrZr0s  rtest_arguments_listz&TestParseKnownArgs.test_arguments_listr\rcptj}|jd|jdy)Nrrr*r+rr:r0s  rtest_arguments_tuple_positionalz2TestParseKnownArgs.test_arguments_tuple_positionals,((*C &!rcrtj}|jd|jdgy)Nrr`r0s  rtest_arguments_list_positionalz1TestParseKnownArgs.test_arguments_list_positionals.((*C 3% rctj}|jd|jdj	\}}|jt
d||jddg|y)Nrz--foo F --bar --bazFr
r,r`)r*r+rrrrrz)rr1ruextrass    rtest_optionalsz!TestParseKnownArgs.test_optionalsse((*G$../D/J/J/LMfd+'7+V4rc:tj}|jdddt|jdd|jdgd	}|j	|\}}|jt
d
dd
||jgd|y)Nr\r~rp)rrrrrerrr1)r?r$rr\rrLruTr?)vrr1)r$rrL)r*r+rrrrrz)rr1rrurfs     r
test_mixedzTestParseKnownArgs.test_mixeds((*D13?H];H%2..t4fad37>,f5rctj}|jddd|jg}|j	tg|y)Nrrrk)rrrrrJrs   rtest_zero_or_more_optionalz-TestParseKnownArgs.test_zero_or_more_optionalsI((*CsJ?  $b4(rN)
rrr r[r^rarcrgrjrlr@rrrXrXs%"
!
5	6)rrXc$eZdZdZdZdZdZy)TestIntermixedArgsc	tjd}|jdd|jddd	}|jd
|jddt
dj	}|j|}|j
tdd
dgd||j|\}}|j
tdd
dg||j
gd|dj	}|j|\}}|j
tdd
ddg||j
gd||j|j|j
|jdy)Nr[r&rr'r$r,rATrcmdrestr)rrrzcmd --foo x 1 --bar y 2 3rYrr)rArpr'rqrrrz!cmd --foo x 1 --error 2 --bar y 3rp)z--errorrr)
r*r+rrrparse_intermixed_argsrrzrparse_known_intermixed_argsrrr)rr1rArrurfs      r
test_basiczTestIntermixedArgs.test_basicsO((f5G%0!!'!EE"F#C8*002++D1CiH$O..t4fCbA4H&1288:99$?fCqcBDI.7	
&,,'t,rcftd}|jd|jd|jdddj}|jt5}|j|ddd|j
tjd	y#1swY/xYw)
Nr[r&rrrYrarqrcz\.\.\.)	rrrrrrsr=rr)rr1rrs    rtest_remainderz!TestIntermixedArgs.test_remainders+8D!C Cu-!!#

y
)	/R((.	/R\\*I6	/	/s'B''B0ctd}|jd}|jddd|jd	d
|jdd
dd|jdj	}|jt
ddgdd||jt|jdj	|j|jdy)Nr[r&Trrrrlr`rermrr1rr3rnroz	1 --foo 2rr)r1r'rr)
rrrrsrrrzrrr)rr1rrus    rtest_exclusivez!TestIntermixedArgs.test_exclusives+833T3B
7<eD
8&1HC8L++K,=,=,?@C:4dCTJ-v/K/KU[[][.rc2td}|jd}|jddd|jd	d
|jdd
dd|jt|j
g|j
|jdy)Nr[r&Trrrrlr`rermrr1rr3rnro)rrrrrrsrrr*s   rtest_exclusive_incompatiblez.TestIntermixedArgs.test_exclusive_incompatibles+833T3B
7<eD
8&1
83(K)V%A%A2F.rN)rrr rurwryr{r@rrrnrns-67
//rrnceZdZdZy)!TestIntermixedMessageContentErrorcLtdd}|jdt|jdtd|j	t
5}|j
gdddtj}|j|d|j|d	|j	t
5}|jgdddt|j}|j|d|j|d	y#1swYxYw#1swYOxYw)
Nr[rr;r/rhr0Trr2)rrrrrrr:rr=rsassertNotRegexr4s    rr5zGTestIntermixedMessageContentError.test_missing_argument_name_in_messages+rBIC0JS4@


2
3	"rb!	"",,i(i(


2
3	-r((,	-",,C+i(	"	"	-	-sD:DDD#N)rrr r5r@rrr}r}s)rr}c*eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2y1)2TestAddArgumentMetavarz,length of metavar tuple does not match nargscTtj}|jd||y)Nrrrr)r*r+r)rrrrr1s    rdo_test_no_exceptionz+TestAddArgumentMetavar.do_test_no_exception7s%((*G5'Brctj}|jt5}|j	d||ddd|jjjd|jy#1swY=xYw)Nrrr)	r*r+rrrrrruEXPECTED_MESSAGE)rrrrr1rs     rdo_test_exceptionz(TestAddArgumentMetavar.do_test_exception;ss((*


z
*	GbugF	G**1-t/D/DE	G	GsA;;Bc*|jddy)Nrrrrs rtest_nargs_None_metavar_stringz5TestAddArgumentMetavar.test_nargs_None_metavar_stringCs!!c!:rc:|jdty)Nrrtuplers rtest_nargs_None_metavar_length0z6TestAddArgumentMetavar.test_nargs_None_metavar_length0FsT57;rc*|jddy)Nrtrrrs rtest_nargs_None_metavar_length1z6TestAddArgumentMetavar.test_nargs_None_metavar_length1Is!!f!=rc*|jddy)Nrrrrrs rtest_nargs_None_metavar_length2z6TestAddArgumentMetavar.test_nargs_None_metavar_length2LsT:>rc*|jddy)Nrrrrrs rtest_nargs_None_metavar_length3z6TestAddArgumentMetavar.test_nargs_None_metavar_length3OsT?Crc*|jddy)Nr~rrrrs r"test_nargs_optional_metavar_stringz9TestAddArgumentMetavar.test_nargs_optional_metavar_stringT!!S!9rc:|jdty)Nr~rrrs r#test_nargs_optional_metavar_length0z:TestAddArgumentMetavar.test_nargs_optional_metavar_length0WS%':rc*|jddy)Nr~rtrrrs r#test_nargs_optional_metavar_length1z:TestAddArgumentMetavar.test_nargs_optional_metavar_length1Z!!V!<rc*|jddy)Nr~rrrrs r#test_nargs_optional_metavar_length2z:TestAddArgumentMetavar.test_nargs_optional_metavar_length2]sS*=rc*|jddy)Nr~rrrrrs r#test_nargs_optional_metavar_length3z:TestAddArgumentMetavar.test_nargs_optional_metavar_length3`S/Brc*|jddy)Nrrrrrs r$test_nargs_zeroormore_metavar_stringz;TestAddArgumentMetavar.test_nargs_zeroormore_metavar_stringerrc:|jdty)Nrrrrs r%test_nargs_zeroormore_metavar_length0z<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length0hrrc*|jddy)Nrrtrrrs r%test_nargs_zeroormore_metavar_length1z<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length1krrc*|jddy)Nrrrrrs r%test_nargs_zeroormore_metavar_length2z<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length2n!!Z!@rc*|jddy)Nrrrrrrs r%test_nargs_zeroormore_metavar_length3z<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length3qrrc*|jddy)Nrrrrrs r#test_nargs_oneormore_metavar_stringz:TestAddArgumentMetavar.test_nargs_oneormore_metavar_stringvrrc:|jdty)Nrrrrs r$test_nargs_oneormore_metavar_length0z;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length0yrrc*|jddy)Nrrtrrrs r$test_nargs_oneormore_metavar_length1z;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length1|sS&9rc*|jddy)Nrrrrrs r$test_nargs_oneormore_metavar_length2z;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length2rrc*|jddy)Nrrrrrrs r$test_nargs_oneormore_metavar_length3z;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length3rrc*|jddy)Nrarrrrs r#test_nargs_remainder_metavar_stringz:TestAddArgumentMetavar.test_nargs_remainder_metavar_strings!!s!;rc:|jdty)Nrar)rrrs r$test_nargs_remainder_metavar_length0z;TestAddArgumentMetavar.test_nargs_remainder_metavar_length0s!!uw!?rc*|jddy)Nrartrrrs r$test_nargs_remainder_metavar_length1z;TestAddArgumentMetavar.test_nargs_remainder_metavar_length1s!!v!>rc*|jddy)Nrarrrrs r$test_nargs_remainder_metavar_length2z;TestAddArgumentMetavar.test_nargs_remainder_metavar_length2s!!z!Brc*|jddy)Nrarrrrrs r$test_nargs_remainder_metavar_length3z;TestAddArgumentMetavar.test_nargs_remainder_metavar_length3s!!!Grc*|jddy)NA...rrrrs r test_nargs_parser_metavar_stringz7TestAddArgumentMetavar.test_nargs_parser_metavar_strings!!!<rc:|jdty)Nrrrrs r!test_nargs_parser_metavar_length0z8TestAddArgumentMetavar.test_nargs_parser_metavar_length0sVUW=rc*|jddy)Nrrtrrrs r!test_nargs_parser_metavar_length1z8TestAddArgumentMetavar.test_nargs_parser_metavar_length1s!!!?rc*|jddy)Nrrrrrs r!test_nargs_parser_metavar_length2z8TestAddArgumentMetavar.test_nargs_parser_metavar_length2sVZ@rc*|jddy)Nrrrrrrs r!test_nargs_parser_metavar_length3z8TestAddArgumentMetavar.test_nargs_parser_metavar_length3sV_Erc*|jddy)Nrprrrrs rtest_nargs_1_metavar_stringz2TestAddArgumentMetavar.test_nargs_1_metavar_string!!3!7rc:|jdty)Nrprrrs rtest_nargs_1_metavar_length0z3TestAddArgumentMetavar.test_nargs_1_metavar_length0Q8rc*|jddy)Nrprtrrrs rtest_nargs_1_metavar_length1z3TestAddArgumentMetavar.test_nargs_1_metavar_length1s!!6!:rc*|jddy)Nrprrrrs rtest_nargs_1_metavar_length2z3TestAddArgumentMetavar.test_nargs_1_metavar_length2Q
;rc*|jddy)Nrprrrrrs rtest_nargs_1_metavar_length3z3TestAddArgumentMetavar.test_nargs_1_metavar_length3Q@rc*|jddy)Nrrrrrs rtest_nargs_2_metavar_stringz2TestAddArgumentMetavar.test_nargs_2_metavar_stringrrc:|jdty)Nrrrrs rtest_nargs_2_metavar_length0z3TestAddArgumentMetavar.test_nargs_2_metavar_length0rrc*|jddy)Nrrtrrrs rtest_nargs_2_metavar_length1z3TestAddArgumentMetavar.test_nargs_2_metavar_length1Q7rc*|jddy)Nrrrrrs rtest_nargs_2_metavar_length2z3TestAddArgumentMetavar.test_nargs_2_metavar_length2s!!:!>rc*|jddy)Nrrrrrrs rtest_nargs_2_metavar_length3z3TestAddArgumentMetavar.test_nargs_2_metavar_length3rrc*|jddy)Nrurrrrs rtest_nargs_3_metavar_stringz2TestAddArgumentMetavar.test_nargs_3_metavar_stringrrc:|jdty)Nrurrrs rtest_nargs_3_metavar_length0z3TestAddArgumentMetavar.test_nargs_3_metavar_length0rrc*|jddy)Nrurtrrrs rtest_nargs_3_metavar_length1z3TestAddArgumentMetavar.test_nargs_3_metavar_length1rrc*|jddy)Nrurrrrs rtest_nargs_3_metavar_length2z3TestAddArgumentMetavar.test_nargs_3_metavar_length2rrc*|jddy)Nrurrrrrs rtest_nargs_3_metavar_length3z3TestAddArgumentMetavar.test_nargs_3_metavar_length3s!!?!CrN)3rrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr@rrrr3sECF;<>?D
:;=>C
:;=AC
:;:AC
<@?CH
=>@AF
89;<A
898?A
898<Drrc,eZdZdZdZdZdZdZdZy)TestInvalidNargszinvalid nargs valueznargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriatectj}|jt5}|j	d|ddd|jjjd|jy#1swY=xYwNrrqr)	r*r+rrrrrruEXPECTED_RANGE_MESSAGErrrr1rs    rdo_test_range_exceptionz(TestInvalidNargs.do_test_range_exceptionsm((*


z
*	6bu5	6**1-t/J/JK	6	6A::Bctj}|jt5}|j	d|ddd|jjjd|jy#1swY=xYwr)	r*r+rrrrrruEXPECTED_INVALID_MESSAGErs    rdo_test_invalid_exceptionz*TestInvalidNargs.do_test_invalid_exceptionsm((*


z
*	6bu5	6**1-t/L/LM	6	6rcL|jd|jdy)Nrrqabcd)rrs rtest_nargs_alphabeticz&TestInvalidNargs.test_nargs_alphabetics$&&S&1&&V&4rc(|jdy)Nrrq)rrs rtest_nargs_zeroz TestInvalidNargs.test_nargs_zeros$$1$-rN)	rrr rrrrrrr@rrrrs'4LLN5.rrceZdZdZdZy)TestImportStarcltjD]!}|jtt|#yrN)r*__all__rrrs  rrzTestImportStar.tests*$$	5DOOGHd34	5rc(ttjDcgc]2\}}|jds|dk(st	j
|s|4}}}|j
t|ttjycc}}w)Nrngettext)	rr*r
startswithinspectismodulerrr)rrcrrs    r'test_all_exports_everything_but_modulesz6TestImportStar.test_all_exports_everything_but_modulessy $H~335
eOOC(DJ,>##E*


	
x/?/?(@A

s7BN)rrr rrr@rrrrs
5Brrc$eZdZfdZdZxZS)TestWrappingMetavarct|td|_d}|jj	d|y)N9this_is_spammy_prog_with_a_long_name_sorry_about_the_namez<http[s]://example:1234>z--proxyr)rrJrr1r)rrrs  rrJzTestWrappingMetavar.setUp
s9

0G

-  G <rc|jj}|j|tjdy)Na            usage: this_is_spammy_prog_with_a_long_name_sorry_about_the_name
                   [-h] [--proxy <http[s]://example:1234>]

            options:
              -h, --help            show this help message and exit
              --proxy <http[s]://example:1234>
            )r1rrrr)r	help_texts  rtest_help_with_metavarz*TestWrappingMetavar.test_help_with_metavars4KK++-	HOO5%	r)rrr rJrr!r"s@rr
r
s
=	rr
ceZdZdZdZdZy)TestExitOnErrorc~tjd|_|jjddty)NF)
exit_on_errorz
--integersN)rr)r*r+r1rrrs rrJzTestExitOnError.setUp%s---EB  s Erc|jjdj}|j|t	j
dy)Nz--integers 4r)integers)r1r:rrr*rrs  r!test_exit_on_error_with_good_argsz1TestExitOnError.test_exit_on_error_with_good_args)s:
[[
#
#N$8$8$:
;X//;<rc|jtj5|jj	djdddy#1swYyxYw)Nz--integers a)rr*rr1r:rrs r test_exit_on_error_with_bad_argsz0TestExitOnError.test_exit_on_error_with_bad_args-sF


x55
6	;KK"">#7#7#9:	;	;	;s*AAN)rrr rJrrr@rrrr#sF=;rrc@it_tt_yrN)rrrHrr@rrtearDownModuler2sEJEJr__main__)r,r8r	r
rrRr^r\rrrOunittestr*rtest.supportrr
TextIOWrapperrrBr$skip_unless_working_chmodrrLrsrzrrrr+rrrrrrrr
rr r"r(r*r8r;rDrTrVr[r_rhrmrortr}rrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrr r#r%r'r)r+r-r/r1r3r5r8r:r=r?rArCrJrPrRrUrWrYr^r`rgrmrqrur{rrrrrrr	eq_stderrrr
eq_bstderrrrrrrskip_if_dac_overriderrrrrrr
rrr&r/rErNrUrrrr-rLrWr_rcrjrrrzrrrrrrrrrrrrrrrrrrrrrr	r
rrrrr!r&r,r.r0r2r4r6r:r=r?rBrErIrLrNrPrRrTr^rfrirmrprrrwrzrrrrrrrr"r&r-r=rFrXrnr}rrrr
rrrmainr@rr<module>r(sT		

":""":$FH%%F:x  $$D6D%D.&))%)%# L>!8!8>o9Do9b		&'7Cnn4.
^
 
~
 
>
n.$&N&(,.
^
 

	>	...>&.">"
N
~NN>>>@

			>	&^~"N"~"n&N.~NN	^		N	N>.>>		~		~n^N	n	^N.>
^
	N	>
.
 

 ~">&~&
.
 

^6.&(.**L.*Z\>DKxK0hh,,,W%h'	h'	n-	

/


/
/F/"L.03<3"\>.'F'"L. ,L. &
\>
 
 
]
 
383$

$~.,>,>8>.>N>BJXJ$~[[B
!+H!+Nm9m9f+&x+&Z-?f-?` '8 F((V7HB!'8!H*(*Z''8'T%7H%P''R/('8/(jf	
-	
	
(	
	
&	
	
1	
	
0	
	
7	
	
0	
	
>	X0hX0|8X8.
"(
"&Q1$Q1f		*>5"E"l"H3B|3Bl,<,^>1<1h%%P33l6L6r<,\>L:!|!H<2##L<D!L!H\4|0++\\"
<
L*|(L4*|(<*\.<0<6.l.b-\-`0|0dL(L2:''V<BxIhxI|-(-<3E83EtEQhEQXC/(C/R7H7J-8-$**.H.$65h65z
88
8 +(h+(b*)*)b=/=/~))0eDXeDP.x.@
BX
B (0;h;zHMMOr