403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_argparse.cpython-315.opt-2.pyc
R
>lqj�c��]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]PH4s
]PH8s]QH<Gs]QHDGsGsGsGs]QHDGs]QHDGs]QHDGs]QHdGsGs]QH0Gs\O:O=\	O>2s QQ	\OB2s"Q
Q\OF2s$QQ
\OF2s%QQ\OF2s&QQ\OF2s'QQ\OF2s#\OPQQ\)22s*QQ\)2s+QQ\)2s,QQ\-2s.Qs/QQ\
O`2s1QQ \22s3\#1s4\3Q!\4-2s5Q"Q#\52s6Q$Q%\52s7Q&Q'\52s8Q(Q)\52s9Q*Q+\52s:Q,Q-\52s;Q.Q/\52s<Q0Q1\52s=Q2Q3\52s>Q4Q5\52s?Q6Q7\52s@Q8Q9\52sAQ:Q;\52sBQ<Q=\52sCQ>Q?\52sDQ@QA\52sEQBQC\52sFQDQE\52sGQFQG\52sHQHQI\52sIQJQK\52sJQLQM\52sKQNQO\52sLQPQQ\52sMQRQS\52sNQTQU\52sOQVQW\52sPQXQY\52sQQZQ[\52sRQ\Q]\52sSQ^Q_\52sTQ`Qa\52sUQbQc\52sVQdQe\52sWQfQg\52sXQhQi\52sYQjQk\52sZQlQm\52s[QnQo\52s\QpQq\52s]QrQs\52s^QtQu\52s_QvQw\52s`QxQy\52saQzQ{\52sbQ|Q}\#2scQ~Q\52sdQ�Q�\52seQ�Q�\52sfQ�Q�\52sgQ�Q�\52shQ�Q�\52siQ�Q�\52sjQ�Q�\52skQ�Q�\52slQ�Q�\52smQ�Q�\52snQ�Q�\52soQ�Q�\52spQ�Q�\52sqQ�Q�\52srQ�Q�\52ssQ�Q�\52stQ�Q�\52suQ�Q�\52svQ�Q�\52swQ�Q�\52sxQ�Q�\52syQ�Q�\52szQ�Q�\52s{Q�Q�\52s|Q�Q�\52s}Q�Q�\52s~Q�Q�\52sQ�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\52s�Q�Q�\*\52s�Q�Q�\*\52s�Q�s�Q�Q�\#2s�Q�Q�\#2s�\)2s�\)2s�Q�Q�2s�\�Q�2s�\�Q�2s�\�Q�2s�\�Q�2s�\�Q�2s�\�Q�2s�Q�Q�\)2s�Q�Q�\*\52s�Q�Q�\*\52s�Q�Q�\*\52s�Q�Q�\)2s�\COJQ�Q�\*\522s�\COJQ�Q�\*\522s�\COJQ�Q�\*\522s�\COJQ�Q�\�22s�Q�Q�\#2s�Q�CQ\#2s�CQCQ\52s�CQCQ\52s�CQCQ\52s�CQCQ\#2s�CQ	CQ
\52s�CQCQ\#2s�CQ
CQ\52s�CQCQ\52s�\CQCQ\#22s�CQCQ\#2s�\CQCQ\#22s�CQCQ\#2s�CQCQ\#2s�\CQCQ\#22s�\CQCQ\#22s�CQCQ \)2s�CQ!CQ"\�\#2s�CQ#CQ$\�\#2s�CQ%CQ&\�\#2s�CQ'CQ(\�\#2s�CQ)CQ*\�\#2s�CQ+CQ,\�\#2s�CQ-CQ.\�\#2s�CQ/CQ0\�\#2s�CQ1CQ2\�\#2s�CQ3CQ4\�\#2s�CQ5CQ6\�\#2s�CQ7CQ8\)2s�CQ9CQ:\�\�2s�CQ;CQ<\�\�2s�CQ=CQ>\�\�2s�CQ?CQ@\�\�2s�CQACQB\�\�2s�CQCCQD\�\�2s�CQECQF\�\�2s�CQGCQH\�\�2s�CQICQJ\#2s�CQKCQL\#2s�CQMCQN\#2s�CQOCQP\22s�\#1s4\�CQQ\4-2s�CQRCQS\�2s�CQTCQU\�2s�CQVCQW\�2s�CQXCQY\�2s�CQZCQ[\�2s�CQ\CQ]\�2s�CQ^CQ_\�2s�CQ`CQa\�2s�CQbCQc\�2s�CQdCQe\�2s�CQfCQg\�2s�CQhCQi\�2s�CQjCQk\�2s�CQlCQm\�2s�CQnCQo\�2s�CQpCQq\�2s�CQrCQs\�2s�CQtCQu\�2s�CQvCQw\�2s�\CQxCQy\#22s�CQzCQ{\�2s�CQ|CQ}\�2s�CQ~CQ\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�CQ�CQ�\�2s�\CQ�CQ�\#22s�CQ�CQ�\#2s�CQ�CQ�\#2CsCQ�CQ�\#2Cs\CQ�CQ�\#22CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2Cs	\CQ�CQ�\#22Cs
CQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2Cs
CQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2CsCQ�CQ�\#2Cs\CQ�CQ�\#22CsCQ�CQ�\2CsCQ�CQ�\#2CsCQ�CQ�\OF2CsCQ�CsC\CQ�6XccC\\	CO82]6�c6\	CO8]*CQ�6Xc\\
2\	CO:]2\CO<2P!P!(��)�StrEnum)�captured_stderr�force_not_colorized�force_not_colorized_test_class�	swap_attr)�
import_helper)�	os_helper)�
script_helper)�TestTranslationsBase�update_translation_snapshots)�mockc�>``�\sQs]$snQU1QkksQsQsUsU9s!)�StdIOBufferc�:�UOQ2o[RU_	[O[O
U22QUQ5P!)�utf-8)�newline)�encode�super�__init__�io�BufferedWriter�BytesIO)�self�
initial_valuer�	__class__s&&&��'C:\Python315\\Lib\test\test_argparse.pyr�StdIOBuffer.__init__,s@���%�,�,�W�5�
�
����*�*�2�:�:�m�+D�E� �'�	�	3�c��UO2UOOO2O	Q2!)r)�flush�buffer�raw�getvalue�decode�rs&rr"�StdIOBuffer.getvalue1s-���
�
���{�{���'�'�)�0�0��9�9r�)��
)	�__name__�
__module__�__qualname__�__firstlineno__rr"�__static_attributes__�__classdictcell__�
__classcell__�r�
__classdict__s@@rrr$s����3�
:�:rrc�.`�\sQs]6snQsQsQsUsP!)�
StdStreamTestc	�B�[O2o[OP29^tt^2[O
Q29^tt^2UO
]QQ5PPP2PPP2P!)%fhK9h)%fhP!9h)N�argparse._sys.exit�foo)�status�message)�argparse�ArgumentParser�
contextlib�redirect_stderrr�patch�exit�r�parsers& r�test_skip_invalid_stderr�&StdStreamTest.test_skip_invalid_stderr8sa���(�(�*���&�&�t�,�,��J�J�+�,�,��K�K�q�%�K�0�
-�
-�,�,�,��
-�,�,�s/�B
�A:	�(B
�:B

�B

�B
�
B	�B	c�*�[O2oUOUO[O
UOQ,21FD�oUOUQ59^tt^2[OP29^tt^2[29^tt^2o[OU29^tt^2[OQ29^tt^2U2UOUO2Q2PPP2PPP2PPP2PPP2PPP2J�	P!)%fhK69h)%fhKA9h)%fhKL9h)%fhKW9h)%fhCJA9h)�-h)�funcr5zusage:)r9r:�print_usage�
print_help�	functools�partial�
parse_args�subTestr;�redirect_stdoutrr<rr=�assertRegexr")rr@rE�
mocked_stderrs&   r�test_skip_invalid_stdout�&StdStreamTest.test_skip_invalid_stdout@s����(�(�*�����������f�/�/�$��8�
�D����$��'�'��*�*�4�0�0��
�
���*�*�=�9�9��
�
�/�0�0���� � ��!7�!7�!9�9�E�1�:��1�(�'�

�1�0��:�9���
��1�0��(�'�'�s��.F	�
E-
� E�?E�(D4�E�E�E-
�F	�4E�=E�?E�E�E�E�E*�#E*�%E-
�-E=�6E=�8F	�F
�	F
r&)r)r*r+r,rArOr-r.�r1s@rr3r36s����1�F�Frr3c�B`�\sQs]Ssn.QlsQsQsQsQsQs	Us
P!)�TestLazyImportsc�J�[OQUO2P!)r9�r�ensure_lazy_imports�LAZY_IMPORTSr$s&r�test_module_import�"TestLazyImports.test_module_import\s���)�)�����	
rc�f�QoQ.o[OQUOU*
UQ5P!)zargparse.ArgumentParser()�shutilr9��additional_coderU)r�
create_parser�imported_moduless&  r�test_create_parser�"TestLazyImports.test_create_parserbs4��4�
�$�:���)�)����� 0�0�)�	
rc��[OQ2oQ.o[OQUOU*
UQ5P!)z~
            parser = argparse.ArgumentParser()
            parser.add_subparsers(dest='command', required=False)
            r[r9r\��textwrap�dedentrrVrW)r�
add_subparserr_s&  r�test_add_subparser�"TestLazyImports.test_add_subparsernsB�� ���
�
�
�%�:���)�)����� 0�0�)�	
rc��[OQ2oQ.o[OQUOU*
UQ5P!)z�
            parser = argparse.ArgumentParser(prog='PROG')
            parser.add_argument('-f', '--foo')
            parser.add_argument('bar')
            parser.parse_args(['BAR'])
            parser.parse_args(['BAR', '--foo', 'FOO'])
            r[r9r\rc)r�example_parserr_s&  r�test_parse_args�TestLazyImports.test_parse_args}sB��!���
�
��%�:���)�)����� 0�0�*�	
rr&>�copyr[�difflibrd�warnings�	_colorize)r)r*r+r,rWrXr`rgrkr-r.rQs@rrSrSSs%�����L�
�

�

�
�
rrSc�H`�\sQs]�snQs\Q2s\Q2sQsUs	P!)�TestArgumentParserCopiablec��[OP
Q5oUOQ[]*Q5UOQQQQ5U!)F��
exit_on_error�--foo��type�default�bar�?�baz��nargsry)r9r:�add_argument�intr?s& r�_get_parser�&TestArgumentParserCopiable._get_parser�sA���(�(�u�=�����G�#�r��:����E��e��<��
rc��]PHoUO2oUOU2oUO,QN2oUOUO]{2UOUO
Q2UO,2oUOUO]*2UOUO
Q2UO
Q2UOQQ,2oUOUOQ2P!�r�quuxr|z--extrarz�rv�123r�)rmr�rJ�assertEqualr6rzr�extra)rrmr@�parser2�ns�ns2�ns3s&      r�
test_copiable�(TestArgumentParserCopiable.test_copiable�s�����!�!�#���)�)�F�#��
�
�
� 8�
9���������%��������(�� � ��$��������"�%�������%�(�	���I�&�� � �)�U�!3�4��������E�*rc�J�]PHoUO2oUOU2oUO,QN2oUO	UO
]{2UO	UOQ2UO,2oUO	UO
]*2UO	UOQ2UOQ2UO[O29^tt^2UOQQ,2PPP2P!)%fhP!9hr�)rmr��deepcopyrJr�r6rzr�assertRaisesr9�
ArgumentError)rrmr@r�r�r�s&     r�test_deepcopiable�,TestArgumentParserCopiable.test_deepcopiable�s�����!�!�#���-�-��'��
�
�
� 8�
9���������%��������(�� � ��$��������"�%�������%�(�	���I�&�
�
�
�x�5�5�
6�
6����	�5�1�2�7�
6�
6�
6�s�3D�D"	�D"	r&)
r)r*r+r,r�rr�r�r-r.rQs@rrrrr�s2������+��+� �3��3rrrc�2`�\sQs]�sn\Q2sQsUsP!)�TestArgumentParserPickleablec��]PHo[OP
Q5oUOQ[]*Q5UOQQQQ5[UO]*2FD�oUOUQ59^tt^2UOUOV#Q52oUO,Q
N2oUOUO]{2UOUOQ	2UO,2oUOUO]*2UOUOQ2PPP2J�	P!)%fhJ�9h)rrtrvrwrzr{r|r})�protocolr�r�)�pickler9r:rr��range�HIGHEST_PROTOCOLrK�loads�dumpsrJr�r6rz)rr�r@�protor�r�r�s&      r�test_pickle_roundtrip�2TestArgumentParserPickleable.test_pickle_roundtrip�s����(�(�u�=�����G�#�r��:����E��e��<��6�2�2�Q�6�7�E����u��-�-� �,�,�v�|�|�F�|�'K�L���'�'�(@�A��� � �����-�� � �����0��(�(��,��� � ����"�-�� � ����%�0�.�-�8�-�-�-�s�B6E	�E
�E
r&)r)r*r+r,rr�r-r.rQs@rr�r��s�����1��1rr�c�(`�\sQs]�snQsQsUsP!)�TestCasec�Z�UO[O22oQUQ$P!)�80�COLUMNS)�enterContextr�EnvironmentVarGuard�r�envs& r�setUp�TestCase.setUp�s&�����	� =� =� ?�@����I�rr&)r)r*r+r,r�r-r.rQs@rr�r��s�����rr�c�:`�\sQs]�snQsQsQsQsQsUs	P!)�TempDirMixinc��[O2Um[O2Um[OUO2P!�N)�tempfile�mkdtemp�temp_dir�os�getcwd�old_dir�chdirr$s&rr��TempDirMixin.setUp�s/�� �(�(�*��
��y�y�{���
������rc
��[OUO2[OUOP
Q5FD]vqoSFDPo[O
[OOUOU2[O2JR	J_	[OUOP	2P!)F)�topdown)r�r�r��walkr��chmod�path�join�stat�S_IWRITEr[�rmtree)r�root�dirs�files�names&    r�tearDown�TempDirMixin.tearDown�sw��
�������!#�������!F�!F��D������������d�m�m�T�:�D�M�M�J��"G�	�
�
�d�m�m�T�*rc���[OOUOU2o[	UQQQ59^tt^2oUOU2PPP2U!)%fhS!9h)�wr��encoding)r�r�r�r��open�write)r�filename�	file_path�files&&  r�create_writable_file�!TempDirMixin.create_writable_file�sQ���G�G�L�L�����9�	�
�)�S�7�
3�
3�t��J�J�x� �4���4�
3���s�A�A/	�'A/	c�p�[OUOU2[O2P!r�)r�r�r�r��S_IREAD)rr�s&&r�create_readonly_file�!TempDirMixin.create_readonly_file�s��
����*�*�8�4�d�l�l�Cr)r�r�)
r)r*r+r,r�r�r�r�r-r.rQs@rr�r��s ���� �
+��D�Drr�c�(`�\sQs]�snQsQsUsP!)�Sigc� �VmV mP!r���args�kwargs�rr�r�s&*,rr�Sig.__init__�s���	��rr��r)r*r+r,rr-r.rQs@rr�r��s�����rr�c�4`�\sQs]�snQsQsQsQsUsP!)�NSc�>�UOOU2P!r�)�__dict__�update)rr�s&,rr�NS.__init__�s���
�
���V�$rc���[UOO22oQOSTt,tFDoQU*MJ	to2o[	U2O
8QU8Q0!ttoh)�, z%s=%r�(�))�sortedr��itemsr�rxr))r�sorted_items�tup�	kwarg_strs&   r�__repr__�NS.__repr__�sW���d�m�m�1�1�3�4���I�I��E���w��}�}��E�F�	���:�.�.�	�:�:��Fs�A+c�2�[U2[U26H!r�)�vars�r�others&&r�__eq__�	NS.__eq__s���D�z�T�%�[�(�(rr&)	r)r*r+r,rr�r�r-r.rQs@rr�r��s����%�;�
)�)rr�c�,`�\sQsQsnQQksQsUsP!)�ArgumentParserError�c�d�[OVV#2VmV mV0mV@mP!r�)�	Exceptionrr8�stdout�stderr�
error_code)rr8r�r�r�s&&&&&rr�ArgumentParserError.__init__s&�����4�&�9�������$�r)r�r8r�r�)NNNr�rQs@rr�r�s����%�%rr�c�B�[[O[2%f%[[O[2%c
UU-U@![Oo[Oo[2[m[2[mUU-U@o[[
U22FD�o[VV2oU[OIc[VVU2J0U[OOIc[VV[UQ[22JkU[OIc[VVU2J�U[OOIfJ�[VV[UQ[22J�	UU[mU[m![c\oSOo	[OO2o
[OO2o[QX�S	2PgPo=hh9hS[mS[mh9h)r �
SystemExit)�
isinstance�sysr�rr��listr��getattr�setattrr �BIN_STDOUT_SENTINEL�BIN_STDERR_SENTINELr�coder"r�)rJr�r��
old_stdout�
old_stderr�result�key�attr�er	r�r�s&*,         r�stderr_to_parser_errorrs����#�*�*�k�*�*�j����[�.Q�.Q��4�*�6�*�*����J����J���C�J���C�J� �	>���0��0�F��D��L�)���v�+���3�:�:�%��F��4��S�Z�Z�.�.�.��F���X�GZ�)[�\��S�Z�Z�'��F��4��S�Z�Z�.�.�.��F���X�GZ�)[�\�*�� ��
���
���	>��6�6�D��Z�Z�(�(�*�F��Z�Z�(�(�*�F�%��f�d�4�9=�
>��		>�� ��
���
�sC�?F�+F�0F�8)F�& F�	H�'H�(AG>�>H�H�Hc�L``�\sQsQsnU1QksU1QksU1QksQsUsU9s	!)�ErrorRaisingArgumentParser�5c�B:�[[U_
o[U,UN3-U@!r�)rrrJr)rr�r�rJrs&*, �rrJ�%ErrorRaisingArgumentParser.parse_args7s%����5�t�G�
�%�j�B�4�B�6�B�Brc�B:�[[U_
o[U,UN3-U@!r�)rrr>r)rr�r�r>rs&*, �rr>�ErrorRaisingArgumentParser.exit;s%����/��;��%�d�<�T�<�V�<�<rc�B:�[[U_
o[U,UN3-U@!r�)rr�errorr)rr�r�rrs&*, �rr� ErrorRaisingArgumentParser.error?s%����0�$�=��%�e�=�d�=�f�=�=rr&)
r)r*r+r,rJr>rr-r.r/r0s@@rrr5s����C�=�>�>rrc�(`�\sQsQsnQsQsUsP!)�ParserTesterMetaclass�Dc	��UQ6XcP![UQ2%f[2Um[UQ2%f[UmQoQoQoQoQoQQ	[
2o	VEU1FDo
Vx1FDoU	V
U2J	J	P!)
�ParserTestCase�parser_signature�parser_classc�j�SFD*oUOUO-UO@J,	P!r�)rr�r�)r@�argument_signatures�sigs&& r�	no_groups�1ParserTesterMetaclass.__init__.<locals>.no_groupsas'��*���#�#�S�X�X�<����<�+rc��UOQ2oSFD*oUOUO-UO@J,	P!�r6)�add_argument_grouprr�r�)r@r#�groupr$s&&  r�	one_group�1ParserTesterMetaclass.__init__.<locals>.one_groupfs7���-�-�e�4�E�*���"�"�C�H�H�;��
�
�;�+rc��[U2FDDvq#UOQU*2oUOUO-UO@JF	P!)zfoo:%i)�	enumerater)rr�r�)r@r#�ir$r*s&&   r�many_groups�3ParserTesterMetaclass.__init__.<locals>.many_groupslsC��#�$7�8����1�1�(�Q�,�?���"�"�C�H�H�;��
�
�;�9rc�&�UOU2!r�)rJ)r@r�s&&r�listargs�0ParserTesterMetaclass.__init__.<locals>.listargsus���$�$�T�*�*rc��[OoU]*,U*[mUO2U[m!S[mh9h)r)r�argvrJ)r@r��old_sys_argvs&& r�sysargs�/ParserTesterMetaclass.__init__.<locals>.sysargsys>���8�8�L�$�Q��(�4�/�C�H�
(��(�(�*�'����<���s�A�
Ac�:`�\sQsQsnQsQsQsQsQsUs	P!)�0ParserTesterMetaclass.__init__.<locals>.AddTests�c�N�V mV0mUOOoUOOoUOUO1FD=oUOoVtU1oQOU2o	U1Qko
V�m[VU
2J?	P![cKh9h)�_c��UU2P!r�r&�r�	test_funcs&&r�wrapper�JParserTesterMetaclass.__init__.<locals>.AddTests.__init__.<locals>.wrapper��	��!�$�r)�_add_arguments�_parse_argsr)�
test_failures�test_successesr��	TypeErrorr)r�
tester_cls�
add_argumentsrJ�add_arguments_name�parse_args_namerA�	func_name�names�	test_namerBs&&&&       rr�9ParserTesterMetaclass.__init__.<locals>.AddTests.__init__�s���&3�#�#-� �%)�%8�%8�%A�%A�"�"&�"2�"2�";�";��"&�"4�"4�d�6I�6I�!J�I� )� 2� 2�I�%�?�J�E� #�����I�09�(��+4�(��J�7�;�"K��%����s�>B�	B$� B$�#B$c��UOOoUOOoUOU-U@oUO	VAO
2U!r�)r r�r�r!rEr#)r�testerr�r�r@s&&   rr��<ParserTesterMetaclass.__init__.<locals>.AddTests._get_parser�sR���.�.�3�3���0�0�7�7���,�,�d�=�f�=���#�#�F�,F�,F�G��
rc�x�UOU2oUOFDooUO2oUOUQ59^tt^2UO	[
UQ59^tt^2UO
U2PPP2PPP2Jq	P!)%fhK9h)%fhJ�9h)�r�)�msg)r��failures�splitrKr�r�rJ)rrSr@�args_strr�s&&   rrG�>ParserTesterMetaclass.__init__.<locals>.AddTests.test_failures�s����)�)�&�1�� &���H�#�>�>�+�D����T��2�2�#�0�0�1D�$�0�O�O�"�-�-�d�3�P�3�2�!0�P�O��3�2�2�s0�
 B(	�-B
�?B(	�B%�B%� B(	�(B9
�1B9
c	�T�UOU2oUOFDpvq4[U[2%cUO	2oUOUQ59^tt^2UO
V#2oUOVE2PPP2Jr	P!)%fhJ�9h)rV)r��	successesr�strrYrKrFr�)rrSr@r��expected_ns�	result_nss&&    rrH�?ParserTesterMetaclass.__init__.<locals>.AddTests.test_successes�s����)�)�&�1��)/�)9�)9�%�D�!�$��,�,�#�z�z�|�����T��2�2�$(�$4�$4�V�$B�	��*�*�;�B�3�2�*:�3�2�2�s�%#B	�B'
�B'
)rErF)
r)r*r+r,rr�rGrHr-r.rQs@r�AddTestsr;�s ����
<�&
�
4�
C�
Crrb)�hasattrr�r rr!�object)�clsr��bases�bodydictr%r+r0r3r8rbrKrJs&&&&        rr�ParserTesterMetaclass.__init__Ts����#�#���s�.�/�/�#&�5�C� ��s�N�+�+�9�C��
	=�
	<�	<�	+�	(�+	C�v�+	C�^(�K�@�M�'�1�
���Z�8�2�Arr&r�rQs@rrrDs���� a9�a9rrrc	��\sQsQs\Q2,s,QNsP\PQ51Q\QQ51Q\QQ51Q\QQ51Q	\QQ51,sQ
s	P!)�TestOptionalsSingleDash��-x�a��x�-x a�-xaz-x -1�-1z-x-1r&)rlrmrv�-x --fooz-x -y�
r)r*r+r,r�r#rXr�r]r-r&rrrjrj�sX���t�9�+��8�H�	�R�$�Z��	��c���	��S�	��	�"�t�*��	��d����Irrjc�|�\sQsQs\QQQ5\QQ]*Q5\Q2,s,QNsP\P
PPQ
51Q\P	PPQ
51Q\P
PQ	Q
51Q\P
PQ	Q
51Q
\P	PQ	Q
51Q\P	PQ	Q
51Q\P	PQ	Q
51Q\P	PQ	Q
51Q\P
]*PQ
51Q\P
]*PQ
51Q\P	]*Q	Q
51Q\P	]*Q	Q
51,sQs	P!)�TestOptionalsSingleDashCombined��rl�
store_true��actionz-yyy�store_const�rz�const�-zrm)ro�yyy�z�-za�-z az-xzaz-xz az-x -zaz-x -z a�-yz-x -yyy -zaz-x -yyy -z ar&)rmrvrqrsz-x -zz-z -xz-yxz-yz az-yyyxz-yyyzaz-xyzaz-x=rtr&rrrvrv�s��	�D��&��F�=��3��D�	���
C�H�
�R�%�T�T�
*�+�	
�r�D�d�d�+�,�	��U���,�-�	��e���-�.�	��d���,�-�	�"�t���-�.�	�2��$�#�.�/�	�B��4�3�/�0�	
�r�E�r�T�*�+�	��e��t�,�-�	��T�r�S�1�2�	��d��c�2�3�
�Irrvc	��\sQsQs\Q2,s,QNsP\PQ51Q\QQ51Q\QQ51Q\QQ51Q	\QQ51,sQ
s	P!)�TestOptionalsSingleDashLong���-foormr(z-foo az-foo -1rrz-fo a�-f ar&)r�rmrvz
-foo --fooz-foo -y�-fooartr&rrr�r��sX���v�;�-��G�H�	�R�D�\��	�2�#�;��	�B�4�L�!�	�"��+��	������Irr�c
��\sQsQs\Q2\Q2\Q2,s,QNsP\PPPQ51Q\QPPQ51Q\QPPQ51Q	\Q
PPQ51Q\QPPQ51Q
\PQPQ51Q\PPQQ51,sQs	P!)�&TestOptionalsSingleDashSubsetAmbiguous���-f�-foobar�-foorab)�f�foobar�foorabr�rm�-fa�-foa�oar��ooa�	-foobar a�	-foorab ar&)r�r��-fo�-foo bz-foobz-foobaz-foorartr&rrr�r��s����t�9�c�)�n�c�)�n�E��K�H�	�R�$�t�D�
1�2�	��c�$�t�4�5�	��S��d�3�4�	��d�4��5�6�	�"�u�T�$�7�8�	�b�4��D�9�:�	�b�4��S�9�:��Irr�c�b�\sQsQs\Q2\Q2,s,QNsP\PPQ51Q\QPQ51Q\QPQ51Q\PQQ51Q	\PQQ51Q
\QPQ51Q\QPQ51Q\PQQ51Q
\PQQ51Q\QPQ51Q\QPQ51Q\PQQ51Q\PQQ51,
sQs	P!)� TestOptionalsSingleDashAmbiguous�r�r�)r�r�z-foob armz-foob=az-foor az-foor=az-fooba az-fooba=az-foora az-foora=ar�z	-foobar=ar�z	-foorab=ar&)	r�r�r�r�r�r�r�z-f=az-foo=brtr&rrr�r�s����y�>�3�y�>�:��"�H�
�R�t�D�
)�*�	�B�c�$�/�0�	�B�c�$�/�0�	�B�d�3�/�0�	�B�d�3�/�0�	�R�s�4�0�1�	�R�s�4�0�1�	�R�t�C�0�1�	�R�t�C�0�1�	�b��D�1�2�	�b��D�1�2�	�b��S�1�2�	�b��S�1�2��Irr�c��\sQsQs\QQQ5,s,QNsP\PQ51Q\QQ51Q\QQ51Q	\Q
Q51,sQs	P!)
�TestOptionalsNumeric�rr�one��destrm)r�z-1 az-1az-1-2�-2r&)rrrmz-1 --fooz-1 -yz-1 -1z-1 -2rtr&rrr�r�sP���t�%�0�1��A�H�	�R�D�\��	�����	��s���	�����	�Irr�c	��\sQsQs\Q2,s,QNsP\PQ51Q\QQ51Q\QQ51Q\QQ51Q	\QQ51,sQ
s	P!)�TestOptionalsDoubleDash�(rvrmr(z--foo az--foo=az
--foo -2.5z-2.5z
--foo=-2.5r&)rvr�r�rmz--foo -xz--foo --barrtr&rrr�r�(sX���w�<�.��F�H�	�R�D�\��	�B�3�K� �	�B�3�K� �	�r�f�~�&�	�r�f�~�&��Irr�c���\sQsQs\QQQ5\Q2,s,Q
NsP\P
PQ51Q\P
QQ51Q	\P	PQ51Q
\P	PQ51Q\P	PQ51Q\P	PQ51,sQs	P!)�#TestOptionalsDoubleDashPartialMatch�6�--badgerrxryz--bat)�badger�batz--bat X�X�--bad�--badg�--badger&)�--bar�--b�--ba�--b=2z--ba=4�	--badge 5rtr&rrr�r�6s���	�J�|�,��G����H�H�	�R�u�$�
'�(�	�B�e��-�.�	�"�D�d�+�,�	�2�T�t�,�-�	�B�d��-�.�	�R�t��.�/�
�Irr�c���\sQsQs\QQQ5\Q2,s,QNsP\P
PQ51Q\P
QQ51Q	\P
QQ51Q
\P	PQ51Q\P	PQ51Q\P	PQ51Q\P	PQ51,sQ
s	P!)�"TestOptionalsDoubleDashPrefixMatch�Hr�rxryr�)r��baz--ba Xr�z--ba=Xr�r�r�r&)r�r�r�r�r�rtr&rrr�r�Hs���	�J�|�,��F����>�H�	�R�u��
&�'�	�2�U�s�+�,�	�2�U�s�+�,�	�"�D�T�*�+�	�2�T�d�+�,�	�B�d�t�,�-�	�R�t��-�.��Irr�c���\sQsQs\QQQ5\Q2\QQ]*Q5,s,QNsP\P
PPQ
51Q\P	PPQ
51Q\P
Q	PQ
51Q\P	Q	PQ
51Q
\P	P]*Q
51Q\P	P]*Q
51,sQs	P!)�TestOptionalsSingleDoubleDash�[r�rxryr��-bazr{r|�B�r�rzr|z--ba Bz
-f --bar Bz-f -bz-ba -fr&)r��-fbarz-fbazz-bazf�-b Br�rtr&rrr�r�[s���	�D��&��G���F�=��3���
A�H�	�R�%�T�t�
,�-�	
�r�D�d��-�.�	�2��3�D�1�2�	�r�D�c�t�4�5�	�"�t��2�.�/�	�2��$�B�/�0�
�Irr�c��\sQsQs\QP
Q5s\QQQ5\Q2\QQ	]*Q
5,s,QNsP\P
PPQ51Q\P	PPQ51Q
\P
QPQ51Q\P	QPQ51Q\P	P]*Q51Q\P	P]*Q51,s	Qs
P!)�!TestOptionalsAlternatePrefixChars�n�+:/��prefix_chars�add_help�+frxry�::bar�/bazr{r|r�r��::ba B�
+f ::bar B�+f /b�/ba +fr&)r�r�r�r�r��--bar Br�rD�--helpz+hz::helpz/help�r)r*r+r,r�r r#rXr�r]r-r&rrr�r�ns������>���D��&��G���F�=��3���
q�H�	�R�%�T�t�
,�-�	
�r�D�d��-�.�	�2��3�D�1�2�	�r�D�c�t�4�5�	�"�t��2�.�/�	�2��$�B�/�0�
�Irr�c��\sQsQs\QP	Q5s\QQQ5\Q2\QQ	]*Q
5,s,QNsP\P
PPQ51Q\P	PPQ51Q
\P
QPQ51Q\P	QPQ51Q\P	P]*Q51Q\P	P]*Q51,s	Qs
P!)�*TestOptionalsAlternatePrefixCharsAddedHelp�r�r�r�rxryr�r�r{r|r�r�r�r�r�r�r&)r�r�r�r�r�r�r�r�r&rrr�r��s���
���=���D��&��G���F�=��3���
H�H�	�R�%�T�t�
,�-�	
�r�D�d��-�.�	�2��3�D�1�2�	�r�D�c�t�4�5�	�"�t��2�.�/�	�2��$�B�/�0�
�Irr�c
���\sQsQs\QP
Q5s\QQQ5\QQQ5\QQQ5,s,Q
NsP\P
P
P
Q	51Q\P	P
P
Q	51Q
\P	P	P
Q	51Q\P	P	P	Q	51,s	Qs
P!)�2TestOptionalsAlternatePrefixCharsMultipleShortArgs��+-r�rlrxryz+yz+z�ro�yr�z+y -xz+yz -xr&)�-wz-xyz�+xr�z+xyzr�r&rrr�r��s�����u�=���D��&��D��&��D��&���
�H�
�R�%�5�E�
*�+�	
�r�D�E�U�+�,�	�"�t�t�u�-�.�	�2����-�.�	�Irr�c	��\sQsQs\QQQQQQ5,s,Q
NsP\P
Q51Q\P	Q51Q\P	Q51Q\P	Q51Q\P	Q51,sQ	s	P!)�TestOptionalsShortLong��-v�	--verbose�-nz--noisyrxry)�verboser&)z
--x --verbosez-Nrmz-v xrtr&rrr�r��sk��	�D�+�t�Y�|�D���4�H�	�R��
��	
�r�$�� �	�b��&�'�	
�r�$�� �	�B�t�$�%��Irr�c�>�\sQsQs\QQQQQ2\QQQ	5\Q
QQ2\Q
2,sQ,sQ\QPPPQ51Q\QPPPQ51Q\PQPPQ51Q\QQPPQ51Q\QQPPQ51Q\PPQPQ51Q\PPQPQ51Q\PPPQQ51,sQ s	P!)!�TestOptionalsDest�rlr�z	--foo-barz-barfoo�-X�--baz�zabbazr�r�z-quxz-Yr~rmz--foo-bar fr�)�foo_barr��quxr�z-x fz--baz g�gz--foo-bar h --baz i�hr/z--baz j --foo-bar k�k�jz-qux l�lz-y lz-z m�mr&rtr&rrr�r��s���	�D�)�[�)�T�:��G�(�#��D�&�$���D�	�	���u�H�	��3�t���F�G�	��C��$�$�?�@�	�B�t�C�T�T�B�C�	��3�s��� M�N�	��3�s��� M�N�	�2�d�4�S�D�A�B�	��D��3�$�?�@�	��D��4�3�?�@�	�Irr�c��\sQsQs\Q2\Q]*Q5,sQ,sP\P]*Q51Q\Q]*Q51Q	\PQ
Q51,sQs	P!)�TestOptionalsDefault��rlr��ryrm�ror�z-xxroz-yyr�r&rtr&rrr�r��sT���t�9�c�$��&;�<���u�H�	�R�$�"�
��	��S�B�� �	��T�S�!�"��Irr�c�^�\sQsQs\Q2,sQQ,sP\PQ51Q\QQ51,sQs	P!)�TestOptionalsNargsDefault��rlrmrnrpr&rtr&rrr�r��s8���t�9�+���T�{�H�	�R�$�Z��	��c����Irr�c�d�\sQsQs\Q]Q5,sQQ,sP\PQ51Q\Q,Q51,sQs	P!)�TestOptionalsNargs1��rl�r~rmrnrpr&rtr&rrr�r��s>���t�1�-�.���T�{�H�	�R�$�Z��	��s�e����Irr�c�f�\sQsQs\Q]Q5,s,QNsP\PQ51Q\,QNQ51,sQs	P!)	�TestOptionalsNargs3�rlr�rnz-x a b cr&)rmrlrp�-x a b�a -x�a -x b�rm�b�crtr&rrrr�s9���t�1�-�.��>�H�	�R�$�Z��	�R�/�*�+��Irrc�j�\sQsQs\QQQ5\QQ]*Q5\QQQQ	5\Q
Q\QQ]],Q
5,s,QNsP\PPQ]TQ51Q\PPQ]TQ51Q\QPQ]TQ51Q\P]*Q]TQ51Q\PQQ]TQ51Q\PPP]TQ51Q\PPQ]TQ51Q
\PPQ]*Q51Q\PPQ]Q51,	s	Qs
P!)�TestOptionalsNargsOptional�r�r{r�rl)r~r}r��spamr}r~�42�84)r~rxr}ry�choices�2�r�ror�r�z-w 2z-x 2z-y 2z-z 2r&)rr�z-z 42z-z 84�r)r*r+r,r�r�r#rXr�r]r-r&rrr
r
s���	�D����D��2�&��D��V�,��D��#�T�4�!�Q��P�	��/�H�	�R�$�$�&�B�
/�0�	
�r�D�D�F�b�1�2�	��c�T�V�r�2�3�	
�r�D�B�&�B�/�0�	��d�c�V�r�2�3�	
�r�D�D�D�B�/�0�	��d�d�c�R�0�1�	
�r�D�D�F�b�1�2�	��d�d�f��2�3�
�Irr
c���\sQsQs\QQQ5\QQQQ5,sQ,sP\PQQ	51Q\,QQ	51Q
\Q,QQ	51Q\QQ,QQ	51Q\P,Q	51Q
\PQ,Q	51Q\PQQ,Q	51,sQs	P!)�TestOptionalsNargsZeroOrMore�rl�*r�r�rr}rmr�rprr�-y a�-y a br&rtr&rrrrs���	�D����D��V�,����u�H�	�R�$�&�
!�"�	
�r�B�&�!�"�	��s�e�v�&�'�	�2��c�
�f�-�.�	
�r�D�B�� �	��d�s�e�$�%�	�2���c�
�+�,��Irrc
���\sQsQs\QQQ5\QQQQ5,s,QNsP\PQQ	51Q
\Q,QQ	51Q\QQ,QQ	51Q
\PQ,Q	51Q\PQQ,Q	51,sQs	P!)�TestOptionalsNargsOneOrMore�,rl�+r�r�rr}rmr�rprrrrr&)rmrlr�rza -y brtr&rrrr,s���	�D����D��V�,���3�H�	�R�$�&�
!�"�	��s�e�v�&�'�	�2��c�
�f�-�.�	��d�s�e�$�%�	�2���c�
�+�,��Irrc���\sQsQs\QQQ5\Q\\]2Q5,s,QNsP\	PPQ51Q	\	QPQ51Q
\	QPQ51Q\	P]Q51Q
\	P]Q51Q\	Q]Q51,s
QsP!)�TestOptionalsChoices�=r��abc�rz-g�rxrrm)r�r�r�z-f crz-g 0z-g 03z-fb -g4rr&)rmz-f dz-f abz-fadz-gaz-g 6�r)r*r+r,r�r�r�r#rXr�r]r-r&rrrr=s���	�D�%� ��D�s�E�!�H�-�/��=�H�	�R�$�$�
� �	��c�T�"�#�	��c�T�"�#�	��d�a��!�	�"�t�q�/�"�	�B���N�#�
�Irrc�d�\sQsQs\Q\P	Q5,sQP,sQ\]Q51Q\]*Q51,s	Qs
P!)	�TestOptionalsRequired�Nrl�rx�requiredrm�-x 1rnz-x42r&rr&rrr%r%NsB��	�D�s�T�*����R�y�H�	��a���	��b����Irr%c�b�\sQsQs\QQQ5,sQQ,sP\PQ51Q\Q	Q51,sQ
s	P!)�TestOptionalsActionStore�[rl�storeryrmrrnz-xfoor6r&rtr&rrr+r+[s<���t�G�4�5���V�}�H�	�R�$�Z��	�"�u�+���Irr+c�b�\sQsQs\QQ\Q5,sQ,sP\PQ51Q\\Q51,s	Qs
P!)�TestOptionalsActionStoreConst�fr�r{r|rm�r�r&)r)r*r+r,r�rdr#rXr�r]r-r&rrr/r/fs<���t�M��H�I���u�H�	�R�$�Z��	
�r�F�|���Irr/c�b�\sQsQs\QQQ5,s,QNsP\P	Q51Q\P
Q51,sQs	P!)�TestOptionalsActionStoreFalse�qr~�store_falsery)r�r&)rmr�r�rtr&rrr3r3qs8���t�M�:�;��#�H�	�R�$�Z��	
�r�E�{���Irr3c�b�\sQsQs\QQQ5,s,QNsP\P
Q51Q\P	Q51,sQs	P!)�TestOptionalsActionStoreTrue�|z--applerxry)�appler&)rmz	--apple=bz	--apple brtr&rrr7r7|s8���y��>�?��.�H�	�R�e�_��	�B�T�N�#��Irr7c	��`�\sQsQsn\Q\OQ5,sQQ,sP\	PQ51Q\	P	Q51Q\	P
Q51Q\	P
Q51Q	\	P	Q51,s
Q
sQsQs
UsP!)
�TestBooleanOptionalAction�rvry�	--foo bar�	--foo=barr(�--no-fooz--foo --no-fooz--no-foo --fooc�2�[O2oUO[29^tt^2oUO	QP	[O
Q5PPP2UO
Q[WO22P!)%fhK79h)rv�r}rzz*got an unexpected keyword argument 'const')	r9r:r�rIr�BooleanOptionalAction�assertInr^�	exception�rr@�cms&  r�
test_const�$TestBooleanOptionalAction.test_const�sf���(�(�*��
�
�
�y�
)�
)�R�����t�H�<Z�<Z��[�*�	
�
�
�B�C����DU�V�*�
)�s�#B�B	�B	c�0�[O2oUO[29^tt^2oUO	Q[O
Q5PPP2UO
[WO2Q2P!)%fhK79h)r?ryz8invalid option name '--no-foo' for BooleanOptionalAction�	r9r:r��
ValueErrorrrBr�r^rDrEs&  r�test_invalid_name�+TestBooleanOptionalAction.test_invalid_name�sg���(�(�*��
�
�
�z�
*�
*�b����
�8�3Q�3Q��R�+�����R�\�\�*�S�	U�+�
*���"B�B	�B	r&)r)r*r+r,r�r9rBr#rXr�r]rGrLr-r.rQs@rr;r;�s|�����w�x�/M�/M�N�O���[�)�H�	�R�D�\��	�"��,��	�R�E�]�#�	�2�%�=�)�	�2�$�<�(��I�W�U�Urr;c�`�\sQsQsn\QQ\OQ5,s,Q	NsP\	PQ51Q\	P	Q51Q\	P
Q51Q\	P	Q51,s
QsQsUs
P!)
�#TestBooleanOptionalActionSingleDash�r�rlryr(�-nofooc�0�[O2oUO[29^tt^2oUO	Q[O
Q5PPP2UO
[WO2Q2P!)%fhK79h)rRryz6invalid option name '-nofoo' for BooleanOptionalActionrJrEs&  rrL�5TestBooleanOptionalActionSingleDash.test_invalid_name�sg���(�(�*��
�
�
�z�
*�
*�b������1O�1O��P�+�����R�\�\�*�Q�	S�+�
*�rNr&)rvr?�-no-foo�-no-x�-nox)r)r*r+r,r�r9rBr#rXr�r]rLr-r.rQs@rrPrP�sl����	�F�D��!?�!?�@���A�H�	�R�D�\��	�����	�2�%�=�!�	
�r�d�|��	�I�S�SrrPc�`�\sQsQsn\QP
Q5s\Q\OQ5,sQQ,s	P\
PQ51Q\
P	Q51Q	\
P
Q51,sQ
sQs
UsP!)�-TestBooleanOptionalActionAlternatePrefixChars�r�r��++fooryrvr?r(�++no-fooc���[OQQ5oUO[Q29^tt^2UO	Q[O
Q5PPP2UO
[29^tt^2oUO	Q[O
Q5PPP2UO[WO2Q2P!)%fhK~9h)%fhKJ9h)�+/�r��<BooleanOptionalAction.*is not valid for positional argumentsrvryr\z8invalid option name '++no-foo' for BooleanOptionalAction�
r9r:�assertRaisesRegexrKrrBr�r�r^rDrEs&  rrL�?TestBooleanOptionalActionAlternatePrefixChars.test_invalid_name�s����(�(�d�;��
�
#�
#�J�N�P�P������0N�0N��O�P��
�
�z�
*�
*�b����
�8�3Q�3Q��R�+�����R�\�\�*�S�	U�P�P��+�
*��#�"C�>"C"�C	�C	�"C2	�+C2	r&�r)r*r+r,r�r r9rBr#rXr�r]rLr-r.rQs@rrYrY�sk������u�=���w�x�/M�/M�N�O����$�H�	�R�D�\��	�"��,��	�R�E�]�#��I�U�UrrYc��`�\sQsQsn\QP
Q5s\QQ\OQ5,s,QNs	P\
PQ51Q\
P	Q51Q\
P
Q51Q\
P	Q51,sQ	sQ
s
UsP!)�2TestBooleanOptionalActionSingleAlternatePrefixChar��r^r��+foor�ryr(�+nofooc���[OQQ5oUO[Q29^tt^2UO	Q[O
Q5PPP2UO
[29^tt^2oUO	Q[O
Q5PPP2UO[WO2Q2P!)%fhK~9h)%fhKJ9h)r^r_r`r�ryrjz6invalid option name '+nofoo' for BooleanOptionalActionrarEs&  rrL�DTestBooleanOptionalActionSingleAlternatePrefixChar.test_invalid_name�s����(�(�d�;��
�
#�
#�J�N�P�P�����x�/M�/M��N�P��
�
�z�
*�
*�b������1O�1O��P�+�����R�\�\�*�Q�	S�P�P��+�
*�rdr&)r[r\z++nofoorUrRz+no-foorRz+no-xz+noxrVrWrerQs@rrgrg�sz������u�=���F�D��!?�!?�@���2�H�
�R�D�\��	�����	�2�%�=�!�	
�r�d�|��	�I�S�Srrgc�v�\sQsQs\QP	\OQ5,sP,sQ\	P	Q51Q\	P
Q51,s
QsP!)�!TestBooleanOptionalActionRequired��rv)r(rzr(r?r&)r)r*r+r,r�r9rBr#rXr�r]r-r&rrrnrn�sF��	�G�d�8�+I�+I�J����t�H�	�"��,��	�R�E�]�#��Irrnc�|�\sQsQs\QQQ5,s,QNsP\PQ51Q\Q,Q51Q\QQ	,Q51,sQ
s	P!)�TestOptionalsActionAppend��r��appendryrm�r|�--baz a�--baz a --baz brr&�rmr��a --baz�	--baz a brtr&rrrqrq�sK���w�x�8�9��5�H�	�R�D�\��	�B�C�5�M�"�	�B�C��:�.�/��Irrqc��\sQsQs\QQQ,Q5,s,QNsP\Q,Q51Q\QQ,Q51Q	\,QNQ51,sQ
s	P!)
�$TestOptionalsActionAppendWithDefault�r�rsr��rzryrmrtrurvr&rw)r�rmrrtr&rrr{r{sP���w�x�#��G�H��5�H�	�R�S�E�]��	�B�C��:�&�'�	�B�?�3�4��Irr{c��\sQsQs\QQQ5\QQQ5\QQQ5\QQQ5,s,QNsP\PPPPQ	51Q\P,PPPQ	51Q\PP,PPQ	51Q\PPPPQ	51Q\PPPPQ	51,sQ
s	P!)�!TestConstActionsMissingConstKwargir��append_constryrv�-br{r�)r�r6rrzr&)z-f vr>r=rtr&rrrrs���	�D��(��G�N�+��D��'��G�M�*�	��2�H�	�R�$�D�D�d�
3�4�	
�r�T�F���$�7�8�	�"�t�$��4�T�:�;�	
�r�D�d�d��5�6�	�"�t���4�8�9��Irrc	��\sQsQs\QQ\Q5\QQQQ5,s,QNsP\PQ	51Q\\,Q	51Q
\\Q\Q,Q	51,s	Q
s
P!)�TestOptionalsActionAppendConstir�r�r|�-crsr�rzr��r�-b -cx -b -cyzro�yzr&�rmr�za -cz-bxz-b x�r)r*r+r,r�r�r#rXr�r]r-r&rrr�r�sc��	�D��y�9��D���,���2�H�	�R�$�Z��	
�r�Y�K� �!�	�2��C��D� A�B�C��Irr�c
��\sQsQs\QQ\Q,Q5\QQQQ	5,s,QNsP\Q,Q
51Q\Q\,Q
51Q\Q\Q\Q
,Q
51,s	Qs
P!)�)TestOptionalsActionAppendConstWithDefaulti.r�r�r�)rzr}ryr�rsrr�r�r�ror�r&r�r�r&rrr�r�.sn��	�D��y�3�%�H��D���,���2�H�	�R�3�%�[��	
�r�S�)�$�%�&�	�2��i��i�� F�G�H��Irr�c�b�\sQsQs\QQQ5,s,QNsP\PQ51Q\]Q51,sQs	P!)�TestOptionalsActionCounti=rl�countryrnr&)rmrpz-x bz	-x a -x brtr&rrr�r�=s7���t�G�4�5��1�H�	�R�$�Z��	
�r�A�w���Irr�c���\sQsQs\Q2\Q2\QQQ5,sQQ,sP\PPP
Q	51Q
\QPP
Q	51Q\QPP
Q	51Q
\PQP
Q	51Q\PQP
Q	51Q\QPP	Q	51,sQs	P!)�"TestOptionalsAllowLongAbbreviationiHrv�--foobaz�--fooblerxryz--foob 5�--foob)r6�foobaz�fooblez--foo 7�7z--foo=7z	--fooba armz	--fooba=az--foobl --foo gr�r&rtr&rrr�r�Hs���	�G���J���J�|�,���
�H�%�H�	�R�D��e�
4�5�	�B�3�t�E�:�;�	�B�3�t�E�:�;�	�b�T�#�e�<�=�	�b�T�#�e�<�=�	�B�3�t�D�A�B�
�Irr�c	��\sQsQs\P
Q5s\Q2\QQQ5\Q2,s,QNsP\PP
PQ51Q	\Q
P
PQ51Q\QP	Q
Q51,s	Qs
P!)�%TestOptionalsDisallowLongAbbreviationi[��allow_abbrevrv�--foodlerxry�--foonly�r6�foodle�foonlyz--foo 3�3z--foonly 7 --foodle --foo 2rr�r&)�-foon 3z--foon 3�--foodz--food --foo 2r�r&rrr�r�[sq����.���G���J�|�,��J����
C�H�	�R�D��t�
4�5�	�B�3�u�T�:�;�	&��s�4��(L�M��Irr�c	��\sQsQs\QP
Q5s\Q2\QQQ5\Q2,s,QNsP\PP
PQ	51Q
\QP
PQ	51Q\Q
P	QQ	51,s	Qs
P!)�0TestOptionalsDisallowLongAbbreviationPrefixCharsilr�r�r�r[z++foodlerxryz++foonlyr�z++foo 3r�z++foonly 7 ++foodle ++foo 2rr�r&)z+foon 3z++foon 3z++foodz++food ++foo 2r�r&rrr�r�lss����%�@���G���J�|�,��J����
C�H�	�R�D��t�
4�5�	�B�3�u�T�:�;�	&��s�4��(L�M��Irr�c	��\sQsQs\P
Q5s\Q2\QQQ5\Q2,s,QNsP\PP
PQ51Q	\Q
P
PQ51Q\QP	Q
Q51,s	Qs
P!)�/TestOptionalsDisallowSingleDashLongAbbreviationi}r�r�z-foodlerxryz-foonlyr�z-foo 3r�z-foonly 7 -foodle -foo 2rr�r&)r�z-foodz-food -foo 2r�r&rrr�r�}sp����.���F���I�l�+��I����
4�H�	�R�D��t�
4�5�	�2�#�e�D�9�:�	#�R�C��S�%I�J��Irr�c���\sQsQs\P
Q5s\Q2\QQQ5,sQQ,sP\PPQ51Q	\Q
PQ51Q\QPQ51Q
\P]Q51Q\Q
]Q51Q\Q]Q51,s	Qs
P!)�/TestDisallowLongAbbreviationAllowsShortGroupingi�r�z-rr�r�ryz-c -r��rrz-rarmz-rcc�ccz-ccz-cc -raz-ccrccr&r�r&rrr�r��s�����.���D�	��D��!����g��H�	�R�$�$�
� �	��S�D�!�"�	��d�d�#�$�	��T�Q�� �	�B���N�#�	�2���?�#�
�Irr�c���\sQsQs\QP
Q5s\Q2\QQQ5,sQQ,sP\PPQ	51Q
\QPQ	51Q\Q
PQ	51Q\P]Q	51Q\Q]Q	51Q\Q
]Q	51,s	Qs
P!)�5TestDisallowLongAbbreviationAllowsShortGroupingPrefixi�rr�z+rz+cr�ryz+c +rr�z+rarmz+rccr�z+ccz+cc +raz+ccrccr&r�r&rrr�r��s�����%�@���D�	��D��!����g��H�	�R�$�$�
� �	��S�D�!�"�	��d�d�#�$�	��T�Q�� �	�B���N�#�	�2���?�#�
�Irr�c�T`�\sQsQsnQQ\2sQs\Q2sQs	Qs
UsP!)�TestStrEnumChoicesi�c�$�\sQsQsQsQsQsQsP!)�TestStrEnumChoices.Colori��red�green�bluer&)r)r*r+r,�RED�GREEN�BLUEr-r&rr�Colorr��s�������rr�c���[O2oUOQUOQ5UO	QQ,2oUOUOUOO2P!)�--colorr!r�)r9r:rr�rJr��colorr��rr@r�s&  r�test_parse_enum_value�(TestStrEnumChoices.test_parse_enum_value�sX���(�(�*�����I�t�z�z��:�� � �)�U�!3�4��������T�Z�Z�^�^�4rc���[O2oUOQUOQQ5UO	QUO22UO	QUO
22P!)r�zChoose a color�r�helpz[--color {red,green,blue}]z  --color {red,green,blue})r9r:rr�rC�format_usage�format_helpr?s& r�'test_help_message_contains_enum_choices�:TestStrEnumChoices.test_help_message_contains_enum_choices�sZ���(�(�*�����I�t�z�z�@P��Q��
�
�2�F�4G�4G�4I�J��
�
�2�F�4F�4F�4H�Irc���[OP
Q5oUOQUOQ5UO	[O
QUOQQ,2P!)Frtr�r!z?invalid choice: 'yellow' \(choose from 'red', 'green', 'blue'\)�yellow)r9r:rr�rbr�rJr?s& r�$test_invalid_enum_value_raises_error�7TestStrEnumChoices.test_invalid_enum_value_raises_error�sT���(�(�u�=�����I�t�z�z��:�����"�"�N����
��!�		
rr&)r)r*r+r,rr�r�rr�r�r-r.rQs@rr�r��s6�������
5��J��J�
�
rr�c�J�\sQsQs\Q2,s,QNsQ\QQ51,sQs	P!)�TestPositionalsNargsNonei�r6rmr(r&�r'rl�a brtr&rrr�r��s(���u�:�,�� �H�	�b�S�k���Irr�c�P�\sQsQs\Q]Q5,s,QNsQ\Q,Q51,sQs	P!)�TestPositionalsNargs1i�r6r�rmr(r&r�rtr&rrr�r��s.���u�A�.�/�� �H�	�b�c�U�m���Irr�c�R�\sQsQs\Q]Q5,s,Q	NsQ\QQ,Q51,sQs	P!)
�TestPositionalsNargs2i�r6r�rmr�rr(r&)r'rmrl�a b crtr&rrr�r��s1���u�A�.�/��'�H�	���S�z�"�#��Irr�c�z�\sQsQs\QQQ5,sQ,sP\,Q51Q\Q,Q51Q\QQ	,Q51,sQ
s	P!)�TestPositionalsNargsZeroOrMorei�r6rr�rlr(rmr�rr&rtr&rrr�r��sM���u�C�0�1���v�H�	�R�B�Z��	�b�c�U�m��	���S�z�"�#��Irr�c��\sQsQs\QQQQQ,Q5,s,QNsP\QQ51Q\Q,Q51Q	\QQ,Q51,sQ
s	P!)�%TestPositionalsNargsZeroOrMoreDefaulti�r6rrzrmr�r~ryrr(r�r&)rlrzza crtr&rrr�r��sS���u�C���c�
�S�T��#�H�	�R�E�]��	�b�c�U�m��	���S�z�"�#��Irr�c�h�\sQsQs\QQQ5,sPQ,sQ\Q,Q51Q\QQ	,Q51,sQ
s	P!)�TestPositionalsNargsOneOrMoreir6rr�rlrmr(r�rr&rtr&rrr�r�sC���u�C�0�1���D�z�H�	�b�c�U�m��	���S�z�"�#��Irr�c�b�\sQsQs\QQQ5,sQQ,sP\PQ51Q\QQ51,sQ	s	P!)
�TestPositionalsNargsOptionalir6r{r�rlr�r(rmr&rtr&rrr�r�s<���u�C�0�1���e�}�H�	�R�D�\��	�b�S�k���Irr�c�j�\sQsQs\QQ]*QQ,Q5,s,Q	NsP\]*Q51Q\QQ51,sQs	P!)
�#TestPositionalsNargsOptionalDefaulti!r6r{rmrr�r(r&)rlr�r
rtr&rrr�r�!s@���u�C��c�3�Z�P�Q��"�H�	�R�B�Z��	�b�S�k���Irr�c�l�\sQsQs\QQ\Q]],Q5,s,Q	NsP\]*Q51Q\]Q51,s	Qs
P!)
�,TestPositionalsNargsOptionalConvertedDefaulti,r6r{r
)r~rxryrr(�1r&)rlr��1 2r
rr&rrr�r�,sF��	�E��3��q�!�f�E���*�H�	�R�B�Z��	�b�Q�i���Irr�c�Z�\sQsQs\Q2\Q2,s,Q	NsQ\QQQ51,sQs	P!)
�TestPositionalsNargsNoneNonei;r6rzrmr�r�r6rzr&)r'rlrmr�rtr&rrr�r�;s2���u�:�s�5�z�2��'�H�	��s��$�%��Irr�c�`�\sQsQs\Q2\Q]Q5,s,Q
NsQ\QQ,Q51,sQ	s	P!)�TestPositionalsNargsNone1iEr6rzr�rmr�rr�r&)r'rvrmr�rtr&rrr�r�Es7���u�:�s�5��':�;��*�H�	��s���&�'��Irr�c�b�\sQsQs\Q]Q5\Q2,s,QNsQ\QQ,QQ	51,sQ
s	P!)�TestPositionalsNargs2NoneiOr6r�rzrmr�rrr�r&�r'rvrmr��a b c drtr&rrr�r�Os9���u�A�.��E�
�;��3�H�	�"�#�s���-�.��Irr�c�v�\sQsQs\Q2\Q2\QQQ5,s,QNsQ\PQ,Q51Q	\PQQ
,Q51Q\PQQ
Q,Q51Q
\QQ,Q51Q\QQ,Q51Q\QQQ
,Q51Q\QQQ
,Q51Q\QQQ
,Q51Q\QQQ
Q,Q51Q\QQQ
Q,Q51Q\QQQ
Q,Q51,sQs	P!)�"TestPositionalsNargsNoneZeroOrMoreiYrlr6rzrr�rm�ror6rzr�rr�r�-x X ar��a -x X�-x X a b�a -x X b�a b -x X�
-x X a b c�
a -x X b c�
a b c -x Xr&)r'rv�
a b -x X crtr&rrr�r�Ys����t�9�c�%�j�#�e�3�2G�H��*�H�	�b�4�S�b�)�*�	��T�s���.�/�	�"�t��3��*�5�6�	�2���"�-�.�	�2���"�-�.�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:��Irr�c�.�\sQsQs\Q2\Q2\QQQ5,s,QNsQ\PQQ	,Q
51Q\PQQ	Q,Q
51Q
\QQQ	,Q
51Q\QQQ	,Q
51Q\QQQ	,Q
51Q\QQQ	Q,Q
51Q\QQQ	Q,Q
51Q\QQQ	Q,Q
51,sQs	P!)�!TestPositionalsNargsNoneOneOrMoreimrlr6rzrr�rmr�rr�r�rr�r�r�r�r�r�r�r&�r'rvrmr�rtr&rrr�r�ms����t�9�c�%�j�#�e�3�2G�H��/�H�	��T�s���.�/�	�"�t��3��*�5�6�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�R�#�3�S�E�2�3�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:�	�r�C�S�s�C�j�9�:�	�Irr�c
��\sQsQs\Q2\Q2\QQQ5,s,QNsQ\PQPQ51Q	\PQQ
Q51Q\QQPQ51Q
\QQPQ51Q\QQQ
Q51Q\QQQ
Q51Q\QQQ
Q51,sQs	P!)� TestPositionalsNargsNoneOptionali~rlr6rzr{r�rmr�r�rr�r�r�r�r�r�r&�r'rvr�rtr&rrr�r�~s����t�9�c�%�j�#�e�3�2G�H��%�H�	�b�4�S�d�+�,�	��T�s��,�-�	�2���$�/�0�	�2���$�/�0�	�R�#�3�C�0�1�	�R�#�3�C�0�1�	�R�#�3�C�0�1��Irr�c�@�\sQsQs\Q2\QQQ5\Q2,s,QNsQ\P,QQ51Q	\PQ,Q
Q51Q\PQQ
,QQ51Q
\Q,QQ51Q\Q,QQ51Q\QQ,Q
Q51Q\QQ,Q
Q51Q\QQQ
,QQ51Q\QQQ
,QQ51,	sQs	P!)�"TestPositionalsNargsZeroOrMoreNonei�rlr6rr�rzrmr�r�rr�rr�r�r�r�r�r�r�r&)r'rvr�r�r�rtr&rrrr�s����t�9�c�%�s�&;�S��Z�H��D�H�	�b�4�R�S�)�*�	��T��u�#�.�/�	�"�t�#�s���5�6�	�2����-�.�	�2����-�.�	�R�#�C�5�c�2�3�	�R�#�C�5�c�2�3�	�r�C�c�3�Z�S�9�:�	�r�C�c�3�Z�S�9�:�
�Irrc
��\sQsQs\Q2\QQQ5\Q2,s,QNsQ\PQ,Q	Q
51Q\PQQ	,QQ
51Q
\QQ,Q	Q
51Q\QQ,Q	Q
51Q\QQ,Q	Q
51Q\QQQ	,QQ
51Q\QQQ	,QQ
51,sQs	P!)�!TestPositionalsNargsOneOrMoreNonei�rlr6rr�rzrmr�rr�r�rr�r�r�r�r�r�r&)r'rvrmr�r�rtr&rrrr�s����t�9�c�%�s�&;�S��Z�H��=�H�	��T��u�#�.�/�	�"�t�#�s���5�6�	�R�#�C�5�c�2�3�	�R�#�C�5�c�2�3�	�R�#�C�5�c�2�3�	�r�C�c�3�Z�S�9�:�	�r�C�c�3�Z�S�9�:��Irrc�v�\sQsQs\QQ]*Q5\Q2,s,QNsQ\]*QQ51Q\QQ	Q51,sQ
s	P!)� TestPositionalsNargsOptionalNonei�r6r{r}rzrmr�r�rr&r�rtr&rrrr�sF���u�C��<�c�%�j�I��%�H�	�b�R�S�!�"�	��s��$�%��Irrc��\sQsQs\Q]Q5\QQQ5,s,Q
NsQ\QQ,,Q	51Q
\QQ,Q,Q	51,sQs	P!)�TestPositionalsNargs2ZeroOrMorei�r6r�rzrrmr�rr�r�rr&�r'rvrmrtr&rrrr�sQ���u�A�.��E��0E�F��!�H�	���S�z�r�*�+�	�"�#�s��#��/�0��Irrc�h�\sQsQs\Q]Q5\QQQ5,s,QNsQ\QQ,Q	,Q
51,sQs	P!)
�TestPositionalsNargs2OneOrMorei�r6r�rzrrmr�rrr�r&)r'rvrmr�rtr&rrr	r	�s>���u�A�.��E��0E�F��(�H�	�"�#�s��#��/�0��Irr	c��\sQsQs\Q]Q5\QQQ5,s,Q
NsQ\QQ,PQ	51Q
\QQ,QQ	51,sQs	P!)�TestPositionalsNargs2Optionali�r6r�rzr{rmr�rr�r�rr&)r'rvrmr�rtr&rrrr�sO���u�A�.��E��0E�F��,�H�	���S�z�t�,�-�	�"�#�s���-�.��Irrc��\sQsQs\QQQ5\Q]Q5,sPQ,sQ\,Q,Q51Q	\Q,Q
,Q51Q\QQ
,Q,Q51,sQ
s	P!)�TestPositionalsNargsZeroOrMore1i�r6rr�rzrvrmr�r�rr�rr&rtr&rrr
r
�sf���u�C�0�#�e�1�2E�F���G��H�	�b�R�c�U�#�$�	���u�3�%�(�)�	�"�#�s��#��/�0��Irr
c��\sQsQs\QQQ5\Q]Q5,s,Q
NsQ\Q,Q,Q	51Q
\QQ,Q,Q	51,sQs	P!)�TestPositionalsNargsOneOrMore1i�r6rr�rzrmr�rr�r�rr&rrtr&rrrr�sQ���u�C�0�#�e�1�2E�F��!�H�	���u�3�%�(�)�	�"�#�s��#��/�0��Irrc�|�\sQsQs\QQQ5\Q]Q5,s,QNsQ\PQ,Q51Q\QQ	,Q51,sQ
s	P!)�TestPositionalsNargsOptional1i�r6r{r�rzrmr�r�rr&r�rtr&rrrr�sK���u�C�0�#�e�1�2E�F��%�H�	�b�T��u�%�&�	��s���&�'��Irrc�P�\sQsQs\Q2\Q2\QQQ5\Q]Q5,s,QNsQ	\PQ,Q
,Q51Q\PQQ
,Q
,Q51Q\QQ,Q
,Q51Q\QQ,Q
,Q51Q\QQ,Q
,Q51Q\QQQ
,Q
,Q51Q\QQQ
,Q
,Q51Q\QQQ
,Q
,Q51,sQs	P!)�#TestPositionalsNargsNoneZeroOrMore1i�rlr6rzrr�r|rmr�r�ror6rzr|r�rr�r�r�r�r�r�r�r&r�rtr&rrrr�s���	�D�	��E�
��E����E���	��0�H�	��T�s����6�7�	�"�t��3�%�c�U�;�<�	�R�#�3�B�S�E�:�;�	�R�#�3�B�S�E�:�;�	�R�#�3�B�S�E�:�;�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�Irrc�~�\sQsQs\Q2\Q2\QQQ5\Q]Q5,s,QNsQ
\PQQ	,Q,Q51Q
\PQQ	Q,Q,Q51Q\QQQ	,Q,Q51Q\QQQ	,Q,Q51Q\QQQ	,Q,Q51Q\QQQ	,Q,Q51Q\QQQ	Q,Q,Q51Q\QQQ	Q,Q,Q51Q\QQQ	Q,Q,Q51,	sQs	P!)�"TestPositionalsNargsNoneOneOrMore1irlr6rzrr�r|rmrr�rrr��dr�r�r�r�r�z-x X a b c dza -x X b c dza b c d -x Xr&)r'rvrmrza b -x X c dza b c -x X drtr&rrrrs��	�D�	��E�
��E����E���	��G�H�	�"�t��3�%�c�U�;�<�	�B��3�S�#�J�S�E�B�C�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	�r�C�S�s�e�#��?�@�	��c�s��c�
���F�G�	��c�s��c�
���F�G�	��c�s��c�
���F�G�
�Irrc�J�\sQsQs\Q2\Q2\QQQQ5\Q]Q	5,s,QNsQ\PQ
QQ,Q
51Q\PQ
QQ,Q
51Q\QQ
QQ,Q
51Q\QQ
QQ,Q
51Q\QQ
QQ,Q
51Q\QQ
QQ,Q
51Q\QQ
QQ,Q
51Q\QQ
QQ,Q
51,sQs	P!)�!TestPositionalsNargsNoneOptional1i*rlr6rzr{��?r}r|r�rmr�rrr�rr�r�r�r�r�r�r�r&r�rtr&rrrr*s���	�D�	��E�
��E��e�,��E���	��0�H�	��T�s��C�5�9�:�	�"�t��#�C�5�9�:�	�R�#�3�E��u�=�>�	�R�#�3�E��u�=�>�	�R�#�3�E��u�=�>�	�r�C�S�c��u�=�>�	�r�C�S�c��u�=�>�	�r�C�S�c��u�=�>�	�Irrc��\sQsQs\QQQ5\QQ]*Q5,sQQ,sP\P]*Q	51Q
\Q
]*Q	51Q\Q
QQ	51,sQ
s	P!)�$TestPositionalsNargsOptionalOptionali@r6r{r�rzr}rvr�r�rmr�rr&rtr&rrrr@sb��	�E����E��b�)�����!�H�	�R�D�b�
!�"�	�b�S�b�!�"�	��s��$�%��Irrc	��\sQsQs\QQQ5\QQQ5,sQ,sP\P,Q51Q	\Q	,Q51Q
\Q	Q,Q51Q\Q	QQ
,Q51,sQs	P!)�&TestPositionalsNargsOptionalZeroOrMoreiOr6r{r�rzrrvr�rmr�rr�rr&rtr&rrrrOsm���u�C�0�#�e�3�2G�H���y�H�	�R�D�b�
!�"�	�b�S�b�!�"�	��s���&�'�	�"��3��*�-�.�	�Irrc��\sQsQs\QQQ5\QQQ5,sPQ,sQ\PQ,Q	51Q
\QQ,Q	51Q\QQQ
,Q	51,sQs	P!)�%TestPositionalsNargsOptionalOneOrMorei\r6r{r�rzrrvrmr�r�rr�rr&rtr&rrr r \sb���u�C�0�#�e�3�2G�H���G�}�H�	�b�T��u�%�&�	��s���&�'�	�"��3��*�-�.��Irr c�n�\sQsQs\Q\Q2Q5,s,Q	NsQ\QQ51Q\QQ51,s	Qs
P!)
�TestPositionalsChoicesStringihr�abcdefgr!rm�rr�r&�r'rvr�r
�ef)r)r*r+r,r��setr#rXr�r]r-r&rrr"r"hs<���v�s�9�~�>�?��-�H�	�b�c�l��	�b�c�l���Irr"c�p�\sQsQs\Q\\]2Q5,s,QNsQ\	]Q51Q\	]Q51,s
QsP!)	�TestPositionalsChoicesIntisrr"�4r$�15r&r%r#r&rrr)r)ss>���v�C��r��C�D��-�H�	�b�a�j��	
�r�r�{���Irr)c�j�\sQsQs\QQQ5\QQ]Q5,s,QNsQ\QQQ	,,Q
51,sQs	P!)
�TestPositionalsActionAppendi~rrsry�rzr~rmr�rrr$r&r�rtr&rrr-r-~sF��	�F�8�$��F�8�1�-���4�H�	�"�3��c�
�+�,�-��Irr-c�f�\sQsQs\QQQ5\QQ]Q5,s,Q	NsQ\,Q
NQ51,sQs	P!)�TestPositionalsActionExtendi�r�extendryr.r�r$r&r�rrtr&rrr0r0�s=��	�F�8�$��F�8�1�-���4�H�	�"�/�*�+��Irr0c	��\sQsQs\QQQ5\QQQQ5,sQ	Q
,sP\PP
Q51Q\QP
Q51Q\PP	Q51Q
\QP	Q51,sQs	P!)�"TestOptionalsNumericAndPositionalsi�ror{r�z-4r�rx�r�rzr�z-315r�rmz-4 ar&rtr&rrr3r3�sp��	�C�s���D�s�<�0����f�~�H�	�R�$�%�
 �!�	�b�3�%� �!�	
�r�D�D�!�"�	��c�T�"�#�	�Irr3c
��\sQsQs\QQQ5\QQQQ5,sQ	,sP\PP
Q
51Q\QP
Q
51Q\QP
Q
51Q\PP	Q
51Q
\QP	Q
51,sQs	P!)�(TestOptionalsAlmostNumericAndPositionalsi�ror{r�z-k4r�rxr4z-k3r�r�rmz-k4 ar&rtr&rrr6r6�s}��	�C�s���E��L�1����w�H�	�R�$�%�
 �!�	
�r�D�E�"�#�	�b�3�%� �!�	��T�T�"�#�	�"�s�d�#�$��Irr6c��\sQsQs\QQQQ5\Q2,sQ,sQ\Q	Q
,,PQ51Q\Q
,,Q	Q51Q
\Q	Q
,,QQ51,sQs	P!)�!TestOptionalsAndPositionalsAppendi�r6rrs�r~rzr�r�r�rmrr��	--bar a b�a b --bar crr&rtr&rrr8r8�sj���E��X�.��G�����x�H�	���c�
�|��.�/�	�b�s�e�W�#�.�/�	���c�
�|��5�6��Irr8c��\sQsQs\QQQQ5\Q2,sQ,sQ\Q	Q
,PQ51Q\Q
,Q	Q51Q
\Q	Q
,QQ51,sQs	P!)�!TestOptionalsAndPositionalsExtendi�r6rr1r9r�r�r�rmrr�r:r;rr&rtr&rrr=r=�sd���E��X�.��G�����x�H�	���S�z�t�,�-�	�b�c�U��,�-�	���S�z�s�3�4��Irr=c
��\sQsQs\QQQ5\QQQQ5,sQ,sP,\PPQ	51Q
,\Q
PQ	51Q,\QPQ	51QP,\PPQ	51QQ
,\PQ
Q	51QQ,\PQQ	51Q,\PQ
Q	51Q
,\PQQ	51,sQs	P!)�$TestEmptyAndSpaceContainingArgumentsi�ror{r�r�z--yyyr�r�r�za badgerz	-a badgerz--yyy=a badgerz--yyy=-a badgerr&rtr&rrr?r?�s���	�C�s���D�'��$����v�H�
��r�B�$�� �
��r�J�$�/�0�
���[�D�1�2�
���R�$�"�%�&�
�
�	�R�$�*�5�6�
��	�b�4�;�7�8�
�	�R�$�*�5�6�
�	�b�4�;�7�8�	�Irr?c�
�\sQsQs\QQ5s\QQQQQ5\Q	Q
\]*Q5\QQ
QQ5,sQQ,sP\	P]*P
Q51Q\	Q]*P
Q51Q\	Q]*P
Q51Q\	PQP
Q51Q\	P]*P	Q51Q\	Q]*P
Q51,s
QsP!)� TestPrefixCharacterOnlyArgumentsi��-+r_�-ror{r�)r�r~r}rr�)r�rxryz-+-r�rxr4r�z+ -r�z- Xr�z+ -3z- ===z===r&���)r)r*r+r,r�r r�r#rXr�r]r-r&rrrArA�s�����-���C�c��H�5��C�c��R�0��E��L�1���
�e�}�H�	�R�$�"��
&�'�	�b�8�r�U�+�,�	��S�B�%�(�)�	��d�b�E�*�+�	��T�R�4�(�)�	�"�u��e�,�-�
�IrrAc���\sQsQs\QQQ5\QQQ5,s,sP\P,Q51Q\,,Q51Q\Q,,Q51Q	\Q,Q
,Q51Q\PQ,Q51Q\,Q,Q51Q\Q
,Q,Q51,sQ
s	P!)�TestNargsZeroOrMorei�rlrr�r�r�rprmz	-x a -- brrrr&rtr&rrrFrF�s����t�3�/��S��1D�E���H�	�R�$�"�
��	
�r�B�"�~��	��s�e�r�"�#�	�b�C�5�S�E�*�+�	�b�4�C�5�!�"�	��b�S�E�"�#�	�2���#��'�(��IrrFc
��\sQsQs\Q2\QQQ5\Q2,s,QNsQ\Q,PQ51Q	\Q,Q
Q51Q\QQQ
,Q
Q51Q\Q,QNPQ51Q\Q,QNPQ51Q\Q,QNPQ51Q\QQQ,PQ51,sQs	P!)�TestNargsRemainderiror��...r�r~r�r�z-z Z X�Zz
-z Z X A B�Ar�z
X -z Z A Bz
X A -z Z B�
X A B -z Zz	X Y --foo�Yrvr&)r'r~z-z Z)r~rJrKr�)rKr~rJr�)rKr�r~rJrtr&rrrHrHs����s�8�S��E�%:�C��I�F��!�H�	�b�3�"��%�&�	�2��r�S�)�*�	�r�C�C��:��5�6�	�r�C�#8�D�A�B�	�r�C�#8�D�A�B�	�r�C�#8�D�A�B�	�b�3�3��.�D�9�:��IrrHc�t�\sQsQs\Q\Q5\Q\QQ5\QQQ	5,s,QNsP\PP,Q
51Q\QP,Q
51Q
\QPQ,Q
51Q\PQ,Q
51Q\PQ,Q
51Q\PQ,Q
51Q\PQQ,Q
51Q\PPQ,Q
51Q\QPQ,Q
51Q\QPQ,Q
51Q\PQQ,Q
51,s	Qs
P!)�TestOptionLikeirl�rxz-3r�)rxr�r�rr�r�z-x 2.5�@z-x 2.5 armz-3.5��?z-3-.5z-3 .5za -3.5za -x 1g�?z-x 1 az-3 1 ar&)
rlz-y2.5rqz-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 a��)r)r*r+r,r��floatr#rXr�r]r-r&rrrOrOs��	�D�u���D�u�3�'��C�s����
0�H�

�R�$�$�"�
%�&�	�2��t�r�*�+�	�R�#��#��/�0�	��d�c�R�(�)�	�"�t�t�r�*�+�	�"�t�s�b�)�*�	�2����u�-�.�	�b�4�4�C�5�)�*�	�2��t��u�-�.�	�2��t��u�-�.�	�2����u�-�.��IrrOc���\sQsQs\QQ\\OQ5\QQ\\OQ5\QQ\OQ	5\Q
Q\\OQ5\QQ\\OQ5,s,QNs	P\
21Q\
]Q
51Q\
]],Q51Q\
P	Q51Q\
]P	Q51Q\
]],P	Q51Q
\
PQ51Q\
]Q51Q\
,Q51Q\
]],Q51,
sQsP!)�TestDefaultSuppressi7r6r{�r~rxryrzrr�rxr}z--qux�--quuxr�r(r�r�rtz1 --baz�r6r|z	--baz 1 2�r6rzr|)r�z--qux 1)r�z
--quux 1 2r&)rlrmz1 a)
r)r*r+r,r�r�r9�SUPPRESSr#rXr�r]r-r&rrrVrV7s��	�E��3��0A�0A�B��E��3��0A�0A�B��G�L�(�2C�2C�D��G�3�S�(�2C�2C�D��H�C�c�8�3D�3D�E���"�H�	�R�T�
�	�b�Q�i��	��q�q�c�"�#�	�"��,��	�B�1�$�'�(�	�b�Q�Q�C�T�2�3�	�"��,��	�B�1�I��	�2�2�;��	�r��1�v��'��IrrVc��\sQsQs\\OQ5s\QQQ5\QQQ5\QQ	Q
5,sQ,s	P\
21Q\
QQ
51Q\
QQ,Q51Q\
P	Q51Q\
QP	Q51Q\
QQ,P	Q51,sQsP!)�TestParserDefaultSuppressiP��argument_defaultr6r{r�rzrr�rxryrlrmr(r�rr�rtrxrYryrZr&)
r)r*r+r,r�r9r[r r#rXr�r]r-r&rrr]r]Ps����H�,=�,=�>���E����E����G�L�)���
�v�H�	�R�T�
�	�b�S�k��	��s���&�'�	�"��,��	�B�3�D�)�*�	�b�S�s�e��6�7�
�Irr]c
�"�\sQsQs\]*Q5s\QQQQ5\QQQ	5\Q
QQ	5\QQ
Q5,sQ,sP\]*]*]*]*Q51Q\Q]*]*]*Q51Q\QQ,]*]*Q51Q\]*]*P	]*Q51Q\Q]*P	]*Q51Q\QQ,P	]*Q51,s	Qs
P!)�TestParserDefault42idr^�	--version�version�1.0�rzrcr6r{r�rzrr�rxryrl)r6rzr|rcrmr�rrxryr&r�r&rrrarads����B�/���K�	�5�9��E����E����G�L�)�	���v�H�	�R�B�B�B��
3�4�	�b�S�b�b�"�5�6�	��s���2�r�:�;�	�"����r�:�;�	�B�3�B�D�"�=�>�	�b�S�s�e��r�B�C�
�Irrac
�B``�\sQsQsnU1Qks\QQ5s\Q2\Q2\QQQ	5,s,QNsQ\	O*sQ\PQ
Q
,Q51Q\QQ
Q
Q,Q51Q\P\Q
,Q51Q\PQ
\,Q51Q\Q\Q
Q,Q51Q\QQ
\Q,Q51,QN\PQ
Q
,Q51,s
\	O%cY\	OOQ2s\O$\2s\
Q\P\Q
,Q51Q\PQ
\,Q51,*
s
QsUsU9s!QsQsUsU9s!)�TestArgumentsFromFileiyc	�J:�[[U_2Q[OUO
2Q*1QQQUOQ*1,oSFD3vq#[UQ29^tt^2oUOU2PPP2J5	P!)%fhJJ9h)�hello�
�undecodable�wb)�	recursives-a
A
@hello)�invalids@no-such-path
)	rrgr�r��fsencoderirkr�r��r�
file_textsr��textr�rs&    �rr��TestArgumentsFromFile.setUp|s����
�#�T�0�2�
�b�k�k�$�*�*�-��5�6�
%�
,�
�D�,�,�u�4�5�

�
�%�J�D��d�D�!�!�T��
�
�4� �"�!�%�!�!�!�s�1B	�B"
�B"
�@��fromfile_prefix_chars�-aror�rr�r�zhello world!zX YrM)rmror�z
X -a A Y ZrKrJ�@hello XzX @helloz-a B @recursive Y ZzX @recursive Z -a Br��@z@undecodable XzX @undecodablerr&)r'r�r�z@invalidz@missing)rwr'r�rM)r)r*r+r,r�r�r r#rXr�FS_NONASCIIrir�r]�TESTFN_UNDECODABLE�lstriprkr��fsdecode�decoded_undecodabler-r.r/r0s@@rrgrgysV����!���5���D�	��C���C�s����
7�H��Y�2�2�2�E�	��T�S�S�E�*�+�	�r�C�3�3��*�5�6�	�R�$�%�C�5�1�2�	�R�$�#�%��1�2�	��S�E�c�3�Z� @�A�	��S�C�E�3�<� @�A�	�r�B�#�#��7�8��I��#�#�#��2�2�9�9�$�?�� �k�k�+�6���
�r�D�,?�C�5�I�J�
�r�D�C�4G�3H�I�J�
�	
�	�	�
��rrgc�``�\sQsQsnU1QksQQ\2s\s\QQ5s	\QQQ	5,s
,sQ
\,Q
NQ51,s
QsUsU9s!)�TestArgumentsFromFileConverteri�c	��:�[[U_2Q,oSFD3vq#[UQ29^tt^2oUO	U2PPP2J5	P!)%fhJJ9h)rirl)ris
hello world!
)rr�r�r�r�rps&    �rr��$TestArgumentsFromFileConverter.setUp�sV���
�,�d�9�;�(�
�
�%�J�D��d�D�!�!�T��
�
�4� �"�!�%�!�!�!�s�A	�A%
�A%
c�(`�\sQsQsnQsQsUsP!)�>TestArgumentsFromFileConverter.FromFileConverterArgumentParseri�c#�z �UO2FD oUO2%fJUw�	J"	P!3hr�)rY�strip)r�arg_line�args&& r�convert_arg_line_to_args�WTestArgumentsFromFileConverter.FromFileConverterArgumentParser.convert_arg_line_to_args�s)����~�~�'���y�y�{�{���	�(�s�+;�
;r&)r)r*r+r,r�r-r.rQs@r�FromFileConverterArgumentParserr��s����	�	rr�rtrur�rr�rxr1r&)rizworld!r�)r)r*r+r,r�rr�r!r�r r#rXr�r]r-r.r/r0s@@rr�r��sY����!��*D��3�L���5���C�s�����H�	�R�2�3�4��I�Irr�c���[O29^tt^2[OQQ[[2[
OU-U@ttPPP2!)%fhP!9h)�ignore�FileType is deprecated)ro�catch_warnings�filterwarnings�PendingDeprecationWarningr)r9�FileTyper�s*,rr�r��sL��	�	 �	 �	"�	"�����*B� 9�8�	E�� � �$�1�&�1�
#�	"�	"�	"�s�8A"�"A3	�+A3	c�(`�\sQsQsnQsQsUsP!)�TestFileTypeDeprecationi�c�.�UO[29^tt^2o[O2PPP2UO	Q[WO22UOUO[2P!)%fhKW9h)Nr�)
�assertWarnsr�r9r�rCr^�warningr�r��__file__�rrFs& r�test�TestFileTypeDeprecation.test�s[��
�
�
�7�
8�
8�B�����9��
�
�.��B�J�J��@�������h�/�9�
8�s�B�B	�
B	r&�r)r*r+r,r�r-r.rQs@rr�r��s����0�0rr�c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�TestFileTypeRepri�c�T�[Q2oUOQ[U22P!)r�z
FileType('r')�r�r��repr�rrxs& r�test_r�TestFileTypeRepr.test_r�s����}������$�t�*�5rc�V�[Q]2oUOQ[U22P!)rlzFileType('wb', 1)r�r�s& r�	test_wb_1�TestFileTypeRepr.test_wb_1�s#����a� �����,�d�4�j�9rc�X�[QQQ5oUOQ[U22P!)r��latin_1r�z!FileType('r', encoding='latin_1')r�r�s& r�test_r_latin�TestFileTypeRepr.test_r_latin�s#����i�0�����<�d�4�j�Irc�Z�[QQQQ5oUOQ[U22P!)r��big5r�)r��errorsz/FileType('w', encoding='big5', errors='ignore')r�r�s& r�test_w_big5_ignore�#TestFileTypeRepr.test_w_big5_ignore�s(����f�X�>�����J��d��	%rc�Z�[Q]QQ5oUOQ[U22P!)r��replace�r�z"FileType('r', 1, errors='replace')r�r�s& r�test_r_1_replace�!TestFileTypeRepr.test_r_1_replace�s%����Q�y�1�����=�t�D�z�Jrr&)r)r*r+r,r�r�r�r�r�r-r.rQs@rr�r��s&����6�:�J�%�
K�Krr�c�.`�\sQsQsnQsQsQsUsP!)�StdStreamCompareri�c��[OU2UmUQ6Xc[UmP!UQ6Xc[
UmP![
2UmP!)�
stdout.buffer�
stderr.buffer)�operator�
attrgetterrr�
backupattrrrd)rrs&&rr�StdStreamComparer.__init__�s=�� �*�*�4�0����?�"�1�D�O�
�_�
$�1�D�O�$�h�D�Orc�r�VO[26H![cXO6Ht!h9hr�)rr�AttributeErrorr�r�s&&rr��StdStreamComparer.__eq__s5��	,��L�L��-�-�-���	,��O�O�+�+�	,�s��	6�6�6)r�r�r)r*r+r,rr�r-r.rQs@rr�r��s����'�,�,rr��stdinr�r�zstdin.bufferr�r�c�2`�\sQsQsn-sQsQsQsUsP!)�RFileic��VmP!r��r��rr�s&&rr�RFile.__init__����	rc�J�VO7cUOU*oL.UO29p OU$UO2[U[2%fUOQ2oUOUOt96H9%cU6H!t!)�ascii)�seen�read�closerr^r#r��rr�rrs&& rr��RFile.__eq__sv���I�I���9�9�U�#�D�&+�j�j�l�2�D�9�9�U�#��K�K�M��$��$�$��;�;�w�'�D��y�y�E�J�J�.�.�$�.�.�.�.rr�)	r)r*r+r,r�rr�r-r.rQs@rr�r�s����
�D��/�/rr�c�4``�\sQsQsnU1Qks\Q\2Q5\Q\Q2Q5,s,QNsQ\	P\
Q2Q51Q	\	\
Q2\
Q
2Q51Q\	\
Q2\
Q
2Q51Q\	\\Q51Q
\	P\
Q
2Q51,sQs
UsU9s!)�
TestFileTypeRi"c	�<:�[[U_2QFD[o[[O
O
UOU2QQQ59^tt^2oUOU2PPP2J]	UOQ2P!)%fhJ�9h)r6r�rr��readonlyr�)
rr�r�r�r�r�r�r�r�r��r�	file_namer�rs&  �rr��TestFileTypeR.setUp%sz���
�m�T�(�*�'�I��b�g�g�l�l�4�=�=�)�<��G�-�-�04��
�
�9�%�-�-�(�	
�!�!�*�-�-�-�-�s�B
	�
B
�B
rlrPrr�r6�ror�
-x foo barrz�
bar -x foo�-x - -r�r&)rlr'znon-existent-file.txt)r)r*r+r,r�r�r�r#rXr�r��eq_stdinr]r-r.r/r0s@@rr�r�"s�����.�	�D�x�z�"��F��#��'���3�H�	��T��e��-�.�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2��x�0�1�	�R�$�U�:�%6�7�8��I�Irr�c�``�\sQsQsnU1Qks\Q\Q2QQ5,sP,sQ\	\
Q2Q	51,sQ
sUs
U9s!)�TestFileTypeDefaultsi:c��:�[[U_2[[O
O
UOQ2QQQ5oUOQ2UO2P!)�goodr�rr�)
rr�r�r�r�r�r�r�r�r�)rr�rs& �rr��TestFileTypeDefaults.setUp<sG���
�"�D�/�1��B�G�G�L�L�����7��w�O���
�
�6���
�
�rr�r�zno-file.txtrwz-c goodr�)rr&)r)r*r+r,r�r�r�r#rXr�r�r]r-r.r/r0s@@rr�r�:sE�����	�D�x��}�m�<����t�H��R�%��-�0�1�2�I�Irr�c	�``�\sQsQsnU1Qks\Q\Q2Q5\Q\Q2Q5,sQP,sQ\	P\
Q2Q51Q	\	\
Q2\
Q
2Q51Q\	\
Q2\
Q
2Q51Q\	\\Q51,sQ
s
UsU9s!)�TestFileTypeRBiKc	�:�[[U_2QFD[o[[O
O
UOU2QQQ59^tt^2oUOU2PPP2J]	P!)%fhJr9h)r6r�rr�r�)	rr�r�r�r�r�r�r�r�r�s&  �rr��TestFileTypeRB.setUpNsj���
�n�d�)�+�'�I��b�g�g�l�l�4�=�=�)�<��G�-�-�04��
�
�9�%�-�-�(�-�-�-�s�A9	�9B

�B

rl�rbrPrr6r�r�rzr�r�r&)r)r*r+r,r�r�r�r#rXr�r��	eq_bstdinr]r-r.r/r0s@@rr�r�Ks�����&�	�D�x��~�&��F��$��(����b�z�H�	��T��e��-�.�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2�	�	�2�3�	�I�Irr�c�<`�\sQsQsn\2sQsQsQsUs	P!)�WFileibc��VmP!r�r�r�s&&rr�WFile.__init__er�rc��VO7caQoQUO7cUOQ2oUOU2UO	2UOOU2UOUO6H!)zCheck that file is writable.rr�)r��moderr�r��addr�r�s&& rr��WFile.__eq__hsc���	�	�!�1�D��e�j�j� ��{�{�7�+���K�K����K�K�M��I�I�M�M�%� ��y�y�E�J�J�&�&rr�)
r)r*r+r,r'r�rr�r-r.rQs@rr�r�bs�����5�D��'�'rr�c
�6``�\sQsQsnU1Qks\Q\Q2Q5\Q\Q2Q5,s,QNsQ\	P\
Q2Q51Q	\	P\
Q	2Q51Q
\	\
Q2\
Q2Q51Q\	\
Q2\
Q2Q51Q
\	\\Q51,sQs
UsU9s!)�
TestFileTypeWisc�j:�[RU_2UOQ2UOQ2P!�r��writable�rr�r�r��rrs&�rr��TestFileTypeW.setUpw�(���
��
���!�!�*�-��!�!�*�-rrlr�rPrr6r�r�r�rzr�r�r&)rlr'r��r)r*r+r,r�r�r�r#rXr�r��	eq_stdoutr]r-r.r/r0s@@rr�r�ss�����.�	�D�x��}�%��F��#��'���&�H�	��T��e��-�.�	�R�$�U�:�%6�7�8�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2�	�	�2�3��I�Irr�c��``�\sQsQsnU1Qks\Q\Q2Q5\Q\Q2Q5,s,Q
NsQ\	\
Q2\
Q	2Q
51Q\	\\Q
51,sQs
UsU9s!)�
TestFileTypeXi�c�j:�[RU_2UOQ2UOQ2P!r�r�r�s&�rr��TestFileTypeX.setUp�r�rrlrorPrr�r6rzr�r�r&)rlr'r�r�r�r0s@@rr�r��sf����.�	�D�x��}�%��F��#��'���2�H�	�r�E�%�L�u�U�|�<�=�	�2�	�	�2�3��I�Irr�c	��\sQsQs\Q\Q2Q5\Q\Q2Q5,sQP,sQ\P\	Q2Q51Q\\	Q2\	Q	2Q51Q
\\	Q2\	Q	2Q51Q\\
\
Q51,sQsP!)
�TestFileTypeWBi�rlrlrPrr6r�r�rzr�r�r&)
r)r*r+r,r�r�r#rXr�r��
eq_bstdoutr]r-r&rrrr�s���
	�D�x��~�&��F��$��(����b�z�H�	��T��e��-�.�	�r�E�%�L�u�U�|�<�=�	�r�E�%�L�u�U�|�<�=�	�2�
��4�5�	�Irrc��\sQsQs\Q\Q2Q5\Q\Q2Q5,sQ\\Q2\Q2Q	51Q
\\	\	Q	51,s
QsP!)�TestFileTypeXBi�rl�xbrPrr�r6rzr�r�r&)r)r*r+r,r�r�r#r�r�rr]r-r&rrrr�sW��
	�D�x��~�&��F��$��(���

�r�E�%�L�u�U�|�<�=�	�2�
��4�5��Irrc�.`�\sQsQsnQsQsQsUsP!)�TestFileTypeOpenArgsi�c
�J�[oUQ2Q1UQ]2Q1UQQQ5Q
1UQQQ5Q1UQ]QQ2Q1,o[OQ	29^tt^2oSFD"vqEUQ
2UOQ
,UN3J$	PPP2P!)%fhP!9h)r�r�r�r�rlr�r��l1�strictz
builtins.openr6)r����NN)r��NN)r�rNr�)rlrr�N)r�rr	r
)r�rr=�assert_called_with)r�FT�casesr�rxr�s&     r�test_open_args�#TestFileTypeOpenArgs.test_open_args�s���
��
��X�-�.�
��Q�Z�-�.�
��I�
&�(B�C�
��v�
&�(@�A�
��Q��h�
'�)A�B�
���Z�Z��
(�
(�A�#�
���U���$�$�U�2�T�2�$�)�
(�
(�
(�s�*B�B"	�B"	c��UO[29^tt^2[Q2Q2PPP2P!)%fhP!9h)rz-test)r�rKr�r$s&r�test_invalid_file_type�+TestFileTypeOpenArgs.test_invalid_file_type�s.��
�
�
�z�
*�
*��S�M�'�"�+�
*�
*�
*�s�;�A	�A	r&)r)r*r+r,rrr-r.rQs@rrr�s����3�#�#rrc�(`�\sQsQsnQsQsUsP!)�!TestFileTypeMissingInitializationi�c�T�[O2oUO[29^tt^2oUO	Q[O
Q5PPP2UO
[O
8Q0[WO22P!)%fhKI9h)rlrPz: is a FileType class object, instance of it must be passed)	r9r:r�rIrr�r�r^rDrEs&  rr��&TestFileTypeMissingInitialization.test�st���(�(�*��
�
�
�y�
)�
)�R�����8�+<�+<��=�*�	
���� � �
#������	
�*�
)�s�"B�B'	� B'	r&r�rQs@rrr�s����	
�	
rrc��\sQsQs\Q\Q5\Q\Q5,s,Q
NsQ\	]*QQ51Q\	Q	QQ51Q
\	PQQ51,s
QsP!)�TestTypeCallablei�z--eggsrPrz--eggs=42 42gE@)�eggsrz--eggs 2j -- -1.5y@z1024.675g3333��@r&)rm�42jz--eggs az	--eggs 2i���)r)r*r+r,r��complexrTr#rXr�r]r-r&rrrr�s[��	�H�7�#��F�����5�H�	���$�/�0�	�b�b�t�4�5�	�R�T��1�2��Irrc��\sQsQsQQ\2s\Q\Q5\Q\Q5,s,sQ\	\Q2\Q	2Q
51Q\	\Q2\Q
2Q
51,s
QsP!)�TestTypeUserDefinedi�c�.`�\sQsQsnQsQsQsUsP!)�TestTypeUserDefined.MyTypei�c��VmP!r���value�rr%s&&rr�#TestTypeUserDefined.MyType.__init__�����Jrc�b�[U2UO1[U2UO16H!r��rxr%r�s&&rr��!TestTypeUserDefined.MyType.__eq__��'����J��
�
�+��U��U�[�[�/I�I�Irr$r�rQs@r�MyTyper"������	�	J�	Jrr-rlrPrrrrmr��-xf gr�r�r&)r)r*r+r,r�r-r�r#rXr�r]r-r&rrr r �sj��J��J�	�D�v���F�� ����H�	�2��s��&��+�6�7�	�"�v�c�{����5�6��Irr c��\sQsQsQQ2s\Q\Q5\Q\Q5,s,sQ\\Q2\Q	2Q
51Q\\Q2\Q
2Q
51,s	Qs
P!)�TestTypeClassicClassi
	c�.`�\sQsQsnQsQsQsUsP!)�TestTypeClassicClass.Ci
	c��VmP!r�r$r&s&&rr�TestTypeClassicClass.C.__init__	r(rc�b�[U2UO1[U2UO16H!r�r*r�s&&rr��TestTypeClassicClass.C.__eq__	r,rr$r�rQs@r�Cr3
	r.rr8rlrPrrrrmr�r/r�r�r&)r)r*r+r,r8r�r#rXr�r]r-r&rrr1r1
	sh��J�J�	�D�q���F������H�	�2��#��Q�s�V�,�-�	�"�q��v�A�c�F�+�,��Irr1c�(`�\sQsQsnQsQsUsP!)�TestTypeRegistrationi 	c��Qo[O2oUOQQU2UOQQQ5UOQQQ5UO	UOQO
22[PQQ52UO	UOQ	O
22[QQ
Q52P!)c��QU*!)zmy_type{%s}r&��strings&r�get_my_type�.TestTypeRegistration.test.<locals>.get_my_type%	s
�� �6�)�)rrx�my_typerlrPr�r�z
my_type{1}r�z-x 1 42zmy_type{42})r9r:�registerrr�rJrYr�)rr?r@s&  rr��TestTypeRegistration.test#	s���	*��(�(�*������	�;�7����D�y��1����C�i��0�����*�*�3�9�9�;�7��d�l�3�	5�����*�*�9�?�?�+<�=��l�m�<�	>rr&r�rQs@rr:r: 	s����
>�
>rr:c	��\sQsQsQQ\O
2sQQ\O
2s\QQ\\	QQ	5\Q
\\
Q]Q5,s,sQ
\
Q]Q51Q\
Q]*Q51Q\
Q]Q51Q\
Q]TQ51,sQsP!)�TestActionUserDefinedi7	c�,`�\sQsQsnQQksQsUsP!)�$TestActionUserDefined.OptionalActioni:	c���[QQ5oUQ7c	]UmL!UQ7c	]TUmL[QU*2g[	UQU2P![co[QS*2gPo=hh9h)��?r$�	value: %szopt_action failed: %sr)��?r)�@)r�r��AssertionErrorr�r�rr@�	namespacer%�
option_stringr_rs&&&&&  r�__call__�-TestActionUserDefined.OptionalAction.__call__<	su��
G�!�d�m���N�*�)*�K�&��e�^�)+�K�&�(��u�)<�=�=�

�I�v�u�-��"�
G�)�*A�A�*E�F�F��
G�s1�A�A�A�A�A�	A0�A0�A+�+A0r&r��r)r*r+r,rQr-r.rQs@r�OptionalActionrG:	s����	.�	.rrTc�,`�\sQsQsnQQksQsUsP!)�&TestActionUserDefined.PositionalActioniP	c��[]Q5oUQ7c	QUmL0UQ	7c	QUmL!UQ
7c	QUmL[QU*2g[	UQU2P![co[QS*2gPo=hh9h)��r�rIrrKrJzarg_action failed: %sr�)�*�T)r)rX)r�rrMr�rrNs&&&&&  rrQ�/TestActionUserDefined.PositionalAction.__call__R	s���
G�!��l���H�$�'+�K�$��c�\�',�K�$��c�\�',�K�$�(��u�)<�=�=�

�I�x��/��"�
G�)�*A�A�*E�F�F��
G�s;�A�A�A�A�A�A�A�	A?�'A?�(A:�:A?r&r�rSrQs@r�PositionalActionrVP	s����	0�	0rr]z-srrI)r�rzrxryr�r{)rzrxr~ryz-s0.125rK)rr�r
z
-s 0.625 1rz84 -s2rLr&)r)r*r+r,r9�ActionrTr]r�rTr�r#rXr�r]r-r&rrrErE7	s���.����.�,0�8�?�?�0�4	�D�v�n���	&��H�-��C��	,����H�	�B�E�!�,�-�	
�r�t�B�'�(�	�r�u�Q�/�0�	�2�3�r�*�+�	�IrrEc�R`�\sQsQsnQQ\O
2sQsQsUs	P!)�TestActionRegistrationix	c�,`�\sQsQsnQQksQsUsP!)�TestActionRegistration.MyActioni{	c�B�[V OQU*2P!)zfoo[%s])rr�)rr@rO�valuesrPs&&&&&rrQ�(TestActionRegistration.MyAction.__call__}	s���I�y�y�)�f�*<�=rr&r�rSrQs@r�MyActionrb{	s����	>�	>rrfc�B�[O2oUOQQUO2UO	QQQ5UOUO
Q,2[QQ52UOUO
Q,2[QQ52P!)	rz�	my_actionr�ryr�zfoo[1]rYr
zfoo[42])r9r:rBrfrr�rJr�r?s& rr��TestActionRegistration.test�	s{���(�(�*������+�t�}�}�=����H�[��9�����*�*�C�5�1�2�X�3F�G�����*�*�D�6�2�B�i�4H�Irr&)
r)r*r+r,r9r^rfr�r-r.rQs@rr`r`x	s!����>�8�?�?�>�
J�Jrr`c�R�\sQsQs\QQQ\Q5,sQsQ\,Q	NQ51,s	Qs
P!)
�TestActionExtendi�	rvr1r)rzr~rxz--foo f1 --foo f2 f3 f4r(r&)�f1�f2�f3�f4)r)r*r+r,r�r^r#rXr�r]r-r&rrrkrk�	s4���G�H�C�c�:����H�	"�B�+C�$D�E��Irrkc��\sQsQs\Q\Q5\Q\Q5\Q\Q5,s,QNs	Q\
QQPQ51Q\
QQPQ51Q	\
QQPQ51Q
\
PQPQ51Q\
PQPQ51Q\
PQPQ51Q
\
PQPQ51Q\
PQPQ51Q\
PQPQ51Q\
PPQQ51Q\
PPQQ51Q\
PPQQ51Q\
PPQQ51Q\
PPQQ51,sQsP!) �TestNegativeNumberi�	z--intrPz--floatz	--complexz--int -1000 --float -1000.0)r�rTrz--int -1_000 --float -1_000.0z%--int -1_000_000 --float -1_000_000.0z--float -1_000.0z--float -1_000_000.0_0z--float -.5z--float -.5_000z--float -1e3z
--float -1e-3z
--complex -1jz--complex -1_000jz--complex -1_000.0jz--complex -1e3jz--complex -1e-3jr&)z
--float -_.45z--float -1__000.0z--float -1.0.0z
--int -1__000z
--int -1.0z--complex -1__000.0jz--complex -1.0jjz--complex -_.45ji���g@��i���g��.�rSg����MbP����y�@��y�����MbP�)
r)r*r+r,r�r�rTrr#rXr�r]r-r&rrrqrq�	s)��	�G�#���I�E�"��K�g�&���
	�H�
'��u�G�T�(R�S�	(�"��g�t�*T�U�	0�"���]a�2b�c�	�R�D���F�G�	!�2�$�j�$�#O�P�	��t�4��>�?�	�B�4�t�T�B�C�	���E�4�@�A�	�"��V�T�B�C�	�"��T�3�?�@�	�b�T��v�F�G�	��t�4�� J�K�	�B�4�t�V�D�E�	�R�D��g�F�G��Irrqc�R`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sUs
P!)�#TestArgumentAndSubparserSuggestionsi�	c�&�[2oUOQQQ,Q5UO[29^tt^2oUO	Q2PPP2UOQWOO2P!)%fhK89h)r6rzr|r!�^error: argument foo: invalid choice: 'bazz', maybe you meant 'baz'? (choose from 'bar', 'baz')��bazz�rrr�r�rJrCrDr��rr@�excinfos&  r�*test_wrong_argument_error_with_suggestions�NTestArgumentAndSubparserSuggestions.test_wrong_argument_error_with_suggestions�	so��+�-�����E�E�5�>��:�
�
�
�2�
3�
3�w����i�(�4��
�
�l����$�$�	
�4�
3���B�B	�	B	c�*�[P
Q5oUOQQQ,Q5UO[29^tt^2oUO	Q2PPP2UOQWOO2P!)%fhK89h)F��suggest_on_errorr6rzr|r!zFerror: argument foo: invalid choice: 'bazz' (choose from 'bar', 'baz')rwryrzs&  r�(test_wrong_argument_error_no_suggestions�LTestArgumentAndSubparserSuggestions.test_wrong_argument_error_no_suggestions�	sq��+�U�C�����E�E�5�>��:�
�
�
�2�
3�
3�w����i�(�4��
�
�T����$�$�	
�4�
3���B�B	�B	c�d�[2oUOP	Q5oUOQ2UOQ2UO[29^tt^2oUOQ2PPP2UO
QWOO2P!)%fhK89h)T�r(r6rzzcerror: argument {foo,bar}: invalid choice: 'baz', maybe you meant 'bar'? (choose from 'foo', 'bar')rt�	r�add_subparsers�
add_parserr�r�rJrCrDr��rr@�
subparsersr{s&   r�/test_wrong_argument_subparsers_with_suggestions�STestArgumentAndSubparserSuggestions.test_wrong_argument_subparsers_with_suggestions�	s���+�-���*�*�D�*�9�
����e�$����e�$�
�
�
�2�
3�
3�w����h�'�4��
�
�
2����$�$�	
�4�
3���B�B/	�(B/	c�h�[P
Q5oUOP	Q5oUOQ2UOQ2UO[29^tt^2oUOQ2PPP2UO
QWOO2P!)%fhK89h)Fr�r�r6rzzKerror: argument {foo,bar}: invalid choice: 'baz' (choose from 'foo', 'bar')rtr�r�s&   r�-test_wrong_argument_subparsers_no_suggestions�QTestArgumentAndSubparserSuggestions.test_wrong_argument_subparsers_no_suggestions�	s���+�U�C���*�*�D�*�9�
����e�$����e�$�
�
�
�2�
3�
3�w����h�'�4��
�
�Y����$�$�	
�4�
3�s�B!�!B1	�*B1	c�*�[P	Q5oUOQQQ,Q5UO[29^tt^2oUO	Q2PPP2UOQWOO2P!)%fhK89h)Tr�r6rzr|r!rvrwryrzs&  r�,test_wrong_argument_with_suggestion_explicit�PTestArgumentAndSubparserSuggestions.test_wrong_argument_with_suggestion_explicit�	ss��+�T�B�����E�E�5�>��:�
�
�
�2�
3�
3�w����i�(�4��
�
�
2����$�$�	
�4�
3�r�c�"�[2oUOQ,Q5UO[29^tt^2oUO	Q2PPP2UOQWOO2P!)%fhK89h)r6r!z:error: argument foo: invalid choice: 'bazz' (choose from )rwryrzs&  r�test_suggestions_choices_empty�BTestArgumentAndSubparserSuggestions.test_suggestions_choices_empty�	sk��+�-�����E�2��.�
�
�
�2�
3�
3�w����i�(�4��
�
�H����$�$�	
�4�
3�s�A>�>B	�B	c�&�[2oUOQ]],Q5UO[29^tt^2oUO	Q2PPP2UOQWOO2P!)%fhK89h)r6r!�?error: argument foo: invalid choice: '3' (choose from '1', '2')�r�ryrzs&  r�test_suggestions_choices_int�@TestArgumentAndSubparserSuggestions.test_suggestions_choices_int�	so��+�-�����E�A�q�6��2�
�
�
�2�
3�
3�w����f�%�4��
�
�M����$�$�	
�4�
3�r~c�&�[2oUOQ]Q,Q5UO[29^tt^2oUO	Q2PPP2UOQWOO2P!)%fhK89h)r6rr!r�r�ryrzs&  r�$test_suggestions_choices_mixed_types�HTestArgumentAndSubparserSuggestions.test_suggestions_choices_mixed_types
so��+�-�����E�A�s�8��4�
�
�
�2�
3�
3�w����f�%�4��
�
�M����$�$�	
�4�
3�r~r&)r)r*r+r,r|r�r�r�r�r�r�r�r-r.rQs@rrtrt�	s2����
�
�
�

�	
�
�
�
�
rrtc�X`�\sQsQsnQQ\O
2sQsQsQs	Us
P!)�TestInvalidActioni
c��\sQsQsQsP!)�#TestInvalidAction.ActionWithoutCalli
r&�r)r*r+r,r-r&rr�ActionWithoutCallr�
s��rr�c��[O2oUOQUOQ5UO	[
UOQQ,2P!)rvryrz)r9r:rr�r��NotImplementedErrorrJr?s& r�test_invalid_type�#TestInvalidAction.test_invalid_type
sG���(�(�*�����G�D�,B�,B��C����-�v�/@�/@�7�E�BR�Src�v�[OP
Q5oUOQ2o]UmUO	[
QUOQQ,2QUmUO	[
QUOQQ,2[UmUO	[OQUOQQ,2P!)Frtrvz1 is not callablerzz\(\) is not callablez(argument --foo: invalid pow value: 'bar'r&)	r9r:rrxrbrIrJ�powr��rr@rzs&  r�test_modified_invalid_action�.TestInvalidAction.test_modified_invalid_action
s����(�(�u�=���$�$�W�-��������y�*=�%�0�0�7�E�2B�	D�������y�*A�%�0�0�7�E�2B�	D�������x�5�5�I�%�0�0�7�E�2B�	Drr&)r)r*r+r,r9r^r�r�r�r-r.rQs@rr�r�
s'����
�H�O�O�
�T�D�Drr�c�``�\sQsQsnQsQ&QksU1QksQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Q s"Q!s#Q"s$Q#s%Q$s&Q%s'Us(U9s)!)'�TestAddSubparsersi7
c�>�UO[,UN3-U@P!r��r�r�r�s&*,r�assertArgumentParserError�+TestAddSubparsers.assertArgumentParserError;
������-�?��?��?rc���U%c:[QQUUQ5oUOU]*]*Q*QQQ5L"[QQUQ5oUOQQQQ5UOQ	[Q
Q5QP
-oU%cQ
UQ$QUQ$LQUQ$UOQ1-U@oUO	[
QUO2[
QQ5oU%cQUQ$U%cQQ,UQ$UOQ2-U@o	U	OQ[QQ5U	OQ,Q3NQQ5[
QQ5o
U%cQ U
Q$UOQ4-U
@oUOQ!,Q5NQ"Q5UOQ#[Q$Q%Q&5[
Q'Q(Q)5oU%cQ*UQ$UOQ6-U@o
U
OQ+[Q,Q5U
OQ-Q.Q/Q05U!)7�PROG�main description)�prog�description�usager�r6rx�foo help�rzr�)r�r�r�rvrz�bar help�rxr�r(�COMMAND�metavar�commands�title�command helpr�z(cannot have multiple subparser argumentsz
1 description�r�z1 help�1alias1�1alias2�aliasesr��w helpro�x helpr�z
2 descriptionz2 helpr��y helpr�r�z help)rxr~r�z
3 descriptionzPROG --foo bar 3 t ...)r�r�z3 help�tzt help�urIzu help�r~r�r&�r�r)r�r�rr�r�)
rrrTr�rbrK�dictr�r�r)r�subparser_helpr�r�r�r@�subparsers_kwargsr��parser1_kwargs�parser1�parser2_kwargsr��parser3_kwargs�parser3s&&&&&         rr��TestAddSubparsers._get_parser>
s���/��);�5�)�+�F�
����Q��!�#�e�+�L�z�
 �
S�0��);�5�J�F������:�
 �
?������J�	�	0�(��/���+4��i�(�)3��g�&�(6��f�%��*�*�?�->�?�
����z�I�%�4�4�	6�
�/�:���%-�N�6�"��)2�I�(>�N�9�%��'�'�>�~�>�����T��(��;����S�/���I��/�:���%-�N�6�"��'�'�>�~�>�����T�?���J����S�w�c���I��/�$<�>���%-�N�6�"��'�'�>�~�>�����S�s���:����S��H��=��
rc�~:�[RU_2UO2UmUOP	Q5UmP!)T)r�)rr�r�r@�command_help_parserr�s&�rr��TestAddSubparsers.setUpy
s2���
��
���&�&�(���#'�#3�#3�4�#3�#H�� rc��QFD9oUO2oUOUOOU2J;	P!)r')r'rmza az0.5 az0.5 1�0.5 1 -yz0.5 2 -w)rYr�r@rJ)rrZr�s&  r�test_parse_args_failures�*TestAddSubparsers.test_parse_args_failures~
s4��1�H��>�>�#�D��*�*�4�;�;�+A�+A�4�H�1rc��QFD�vqoUOU29^tt^2UO2oUO[29^tt^2oUOOU2PPP2UO
WOO]*Q2UO
UOO]*UQUQ02PPP2J�	P!)%fhK~9h)%fhCJ9h)r'rr())r'z(usage: PROG [-h] [--foo] bar {1,2,3} ...�6PROG: error: the following arguments are required: bar�r�z%usage: PROG bar 1 [-h] [-w W] {a,b,c}z:PROG bar 1: error: the following arguments are required: x�z0.5 3zusage: PROG --foo bar 3 t ...z:PROG bar 3: error: the following arguments are required: t)	rKrYr�r�r@rJr�rDr�)rrZ�	usage_str�	error_strr�rFs&     r� test_parse_args_failures_details�2TestAddSubparsers.test_parse_args_failures_details�
s���
/
�*�H�����h�'�'��~�~�'���&�&�':�;�;�r��K�K�*�*�4�0�<�� � ����!2�!2�1�!5�|�D�� � ����!2�!2�1�!5�)��B�y�k�QS�7T�U�(�'�
/
�<�;��(�'�'�s0�.C7	�C$
�.A(C7	�$C4�-C4�/C7	�7D	
�D	
c�&�UOQQ5oQFD�vq#oUOU29^tt^2UO2oUO[29^tt^2oUOU2PPP2UO
WOO]*Q2UO
UOO]*UQUQ02PPP2J�	P!)%fhK~9h)%fhJ�9h)z?PROG [--foo] bar 1 [-w W] {a,b,c}
       PROG --foo bar 3 t ...)r�rr())r'zFusage: PROG [--foo] bar 1 [-w W] {a,b,c}
       PROG --foo bar 3 t ...r�r�r�)	r�rKrYr�r�rJr�rDr�)rr@rZr�r�r�rFs&      r�-test_parse_args_failures_details_custom_usage�?TestAddSubparsers.test_parse_args_failures_details_custom_usage�
s����!�!�)A�!�B��/
�*�H�����h�'�'��~�~�'���&�&�':�;�;�r��%�%�d�+�<�� � ����!2�!2�1�!5�|�D�� � ����!2�!2�1�!5�)��B�y�k�QS�7T�U�(�'�/
�<�;��(�'�'�s0�.C?	�$C,
�6A(C?	�,C<�5C<�7C?	�?D
�D
c
�@�UOUOOQO22[	P
Q]QQ52UOUOOQO22[	P	QQQQ,Q52UOUOOQ	O22[	P	Q
PQQ52UOUOOQO22[	P
Q],QNQ
52P!)�0.5 1 b -w 7rRr�r6rzr�roz0.25 --foo 2 -y 2 3j -- -1jrIry@)r6rzr�r�z--foo 0.125 1 crKrz-1.5 3 11 -- a --foo 7 -- b)r6rzr�r�rrr)rmrvr��--r)r�r@rJrYr�r$s&rrk�!TestAddSubparsers.test_parse_args�
s�������K�K�"�"�>�#7�#7�#9�:��5�c�Q�#�.�	
�	
����K�K�"�"�#@�#F�#F�#H�I��4�T�S�R��I�6�	
�	
����K�K�"�"�#4�#:�#:�#<�=��4�U�d�c�2�	
�	
����K�K�"�"�#@�#F�#F�#H�I��5�d�b�,J�K�	
rc
���UOUOOQO22[	P
Q]QQ5,12UOUOOQO22[	P
Q]QQ5Q,12UOUOOQO22[	P
Q]QQ5Q,12UOUOOQO22[	P
Q]QQ5QQ	,12UOUOOQ
O22[	P
Q]QQ5,QN12P!)r�rRrr�z0.5 -p 1 b -w 7�-p�0.5 1 b -w 7 -pz0.5 1 b -q -rs -w 7�-qz-rsz0.5 -W 1 b -X Y -w 7 Z)z-Wr�rMrJ)r�r@�parse_known_argsrYr�r$s&r�test_parse_known_args�'TestAddSubparsers.test_parse_known_args�
sC������K�K�(�(��)=�)=�)?�@�
�E�s�a�3�
/��4�	
�	
����K�K�(�(�):�)@�)@�)B�C�
�E�s�a�3�
/�$��8�	
�	
����K�K�(�(�):�)@�)@�)B�C�
�E�s�a�3�
/�$��8�	
�	
����K�K�(�(�)>�)D�)D�)F�G�
�E�s�a�3�
/�$���?�	
�	
����K�K�(�(�)A�)G�)G�)I�J�
�E�s�a�3�
/�1G�H�	
rc�x�QQ2oUOUOOQO2UQ5UQ,12UO	UO
P
2UOUOQ2UOUO]2UOUOQ2P!)c��\sQsQsQsP!)�ETestAddSubparsers.test_parse_known_args_to_class_namespace.<locals>.Ci�
r&r�r&rrr8r��
���rr8r�)rOr�rRr)	r�r@r�rY�assertIsr6rzr�ro)rr8s& r�(test_parse_known_args_to_class_namespace�:TestAddSubparsers.test_parse_known_args_to_class_namespace�
s���	�	�����K�K�(�(�):�)@�)@�)B�a�(�P�
���K�	
�	
�
�
�a�e�e�U�#��������$�������a� �������c�"rc
�>�[2oUOQ2UOQ2UO2oUOQ2oUOQ2UOQ2UO	UO,QN2[
QPPPQ52UO	UO,QN2[
PQPPQ52UOUO
,Q	N2UO	UO,Q
N2[
PPQPQ52UO	UO,QN2[
PPPQQ52UO	UO,QN2[
PPPQQ52UOUO
,Q
N2P!)r�r�rz�--foz--foonewr|)r�r��fo�foonew)r�r|rz)�--foonr|rz)rr|rz)rzrr|)rzrvr|)rzrr|)rzr�r|)rrr�r�r�rJr�r��rr@r�r�s&   r�test_abbreviation�#TestAddSubparsers.test_abbreviation�
se��+�-�����J�'����J�'��*�*�,�
��'�'��.�����V�$����Z�(�����*�*�+C�D��5��$�t�L�	N�����*�*�+C�D��4��$�t�L�	N��&�&�v�'8�'8�:P�Q�����*�*�+A�B��4���t�L�	N�����*�*�+B�C��4���e�L�	N�����*�*�+C�D��4���e�L�	N��&�&�v�'8�'8�:R�Src��[2oUOQQQ]Q5UOQQQ]Q5UOUOQQ,2[	]]Q5Q,12UOUOQQ,2[	]]Q5Q,12UOUOQ,2[	]]Q5Q,12UOUOQ	,2UOUOQ
,2[	]]Q5Q
,12UOUOQ,2[	]]Q5Q,12UOUOQ,2[	]]Q5Q
,12UOUOQ,2UOUOQ,2[	]]Q5Q,12UOUOQ,2[	]]Q5Q,12UOUOQ,2UOUOQ,2UOUOQ,2UOUOQ,2[	]]Q5Q,12P!)z-kz--knownr�r}r�z--newz-u)�known�newz-kuz-k=uz-ukz-u=kz	-kunknownz-unknownz
-k=unknownz
-ku=nknownz	-u=nknownz-knewz-ewz-kn=ewz-k-newz-kn-ewz-kne-wz-e-w)rrr�r�r�r�r?s& r�-test_parse_known_args_with_single_dash_option�?TestAddSubparsers.test_parse_known_args_with_single_dash_option�
sR��+�-�����D�)�G�Q��G����D�'�'�1��E�����0�0�$���>��1�!�,�t�f�5�	7�����0�0�$���>��1�!�,�t�f�5�	7�����0�0�%��9��1�!�,�t�f�5�	7��&�&�v�'>�'>���I�����0�0�%��9��1�!�,�u�g�6�	8�����0�0�&��:��1�!�,�v�h�7�	9�����0�0�+��?��1�!�,�z�l�;�	=��&�&�v�'>�'>���O�����0�0�,��@��1�!�,�{�m�<�	>�����0�0�'��;��1�!�,�u�g�6�	8��&�&�v�'>�'>��
�K��&�&�v�'>�'>��
�K��&�&�v�'>�'>��
�K�����0�0�(��<��1�!�,�v�h�7�	9rc� �[2oUOQQQ5UOQQ5oUOQ2oUOQ2UO	[P
QQQ5UO
Q	O222P!)
rvrxryrzr�r�r|rrZr�)rrr�r�r�r�rJrYrs&   r�	test_dest�TestAddSubparsers.test_dests{��+�-�����G�L��9��*�*��*�6�
��'�'��,�����U�#������3�C�8��*�*�5�;�;�=�9�	;rc��UOQ,2oUOUOQ2UOUOQ2P!)�runr&)rJr��commandr�)rr@�rets&& r�_test_required_subparsers�+TestAddSubparsers._test_required_subparserss@�������(��������e�,�	
�&�&�v�'8�'8�"�=rc��[2oUOQQ5oP	UmUOQ2UO	U2P!)rr�r)rr�r(r�r�rr@r�s&  r�&test_required_subparsers_via_attribute�8TestAddSubparsers.test_required_subparsers_via_attribute&sA��+�-���*�*�	�*�:�
�"�
�����e�$��&�&�v�.rc��[2oUOQP	Q5oUOQ2UOU2P!)r�r�r(r)rr�r�rrs&  r�"test_required_subparsers_via_kwarg�4TestAddSubparsers.test_required_subparsers_via_kwarg-s;��+�-���*�*�	�D�*�I�
����e�$��&�&�v�.rc��[2oUOQQ5oUOQ2UOQ2oUO	UO
2P!)rr�rr&�rr�r�rJ�assertIsNoner�rr@r�rs&   r� test_required_subparsers_default�2TestAddSubparsers.test_required_subparsers_default3sM��+�-���*�*�	�*�:�
����e�$�����#�����#�+�+�&rc�d�[2oUOP	Q5oUOQ2UOQ2UO[29^tt^2oUOQ2PPP2UO
WOOQ2P!)%fhK89h)Tr�r6rzz8error: the following arguments are required: {foo,bar}
$r&)	rr�r�r�r�rJrMrDr�r�s&   r�-test_required_subparsers_no_destination_error�?TestAddSubparsers.test_required_subparsers_no_destination_error;s���+�-���*�*�D�*�9�
����e�$����e�$�
�
�
�2�
3�
3�w����b�!�4�������$�$�G�	
�4�
3�r�c��[2oUOQP
Q5oUOQ2UOQ2oUO	UO
2P!)rrrr&rr!s&   r�test_optional_subparsers�*TestAddSubparsers.test_optional_subparsersGsO��+�-���*�*�	�E�*�J�
����e�$�����#�����#�+�+�&rc��[QQ5oUOQP	Q5UOQ2UO2oUOQ2oUOQ2UO	UO2Q2P!)r��r�rvr�r��subr�z#usage: PROG --foo FOO sub [-h] arg
)rrr�r�r�r�)rr@r��
parser_subs&   r�1test_subparser_help_with_parent_required_optional�CTestAddSubparsers.test_subparser_help_with_parent_required_optionalOsv��+��8�����G�d��3����G�$��*�*�,�
��*�*�5�1�
�����&�����0�0�2�?�	Arc���UOUOO2Q2UOUOO2[O
Q22P!)�)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
            )r�r@r�r�rdrer$s&r�	test_help�TestAddSubparsers.test_helpYsQ��������1�1�3�E�	G�������0�0�2�H�O�O�E�5�	rc���UOQQ5oUOUO2Q2UOUO2[O
Q22P!)z+:-r_z)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
            �r�r�r�r�rdrer?s& r�test_help_extra_prefix_chars�.TestAddSubparsers.test_help_extra_prefix_charsjs\���!�!�u�!�5������,�,�.�E�	G�����+�+�-�x���@�0�	rc��[QQQ5oUOQQQQ5UOUO2[O
Q22P!)r�r��r�r�z--non-breakingr5uRhelp 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
        �rrr�r�rdrer?s& r�test_help_non_breaking_spaces�/TestAddSubparsers.test_help_non_breaking_spaces}s[��+��%7�9������]�;�	�	<�	
����+�+�-�x���	@�	0
�		rc�Z�[QQQ5oUOQQQ5UOUO2[O
Q22[QQQ5oUOQ,QQ5UOUO2[O
Q	22P!)
r�r�r9r6z    �r�z�            usage: PROG [-h] foo

            main description

            positional arguments:
              foo         

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

            main description

            positional arguments:
              {}          

            options:
              -h, --help  show this help message and exit
        r:r?s& r�test_help_blank�!TestAddSubparsers.test_help_blank�s���+��%7�9�������	�	�	
����+�+�-�x���	@�	0
�		�,��%7�9������2��	�	 �	
����+�+�-�x���	@�	0
�		rc���UOQQ5oUOUO2Q2UOUO2[O
Q22P!)r�r_z)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
            r5r?s& r� test_help_alternate_prefix_chars�2TestAddSubparsers.test_help_alternate_prefix_chars�s\���!�!�u�!�5������,�,�.�E�	G�����+�+�-�x���@�0�	rc���UOUOO2Q2UOUOO2[O
Q22P!)r1a�            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
            )r�r�r�r�rdrer$s&r�test_parser_command_help�*TestAddSubparsers.test_parser_command_help�sU������1�1�>�>�@�E�	G�����1�1�=�=�?�!���*��	rc���UO[Q29^tt^2oUU-U@PPP2UOWOOU2P!)%fhK89h)�badly formed help string)rbrK�assertIsInstancerD�__context__)r�context_typerEr�r�rFs&&&*, r�assert_bad_help�!TestAddSubparsers.assert_bad_help�sO��
�
#�
#�J�0J�
K�
K�r��$�!�&�!�L����b�l�l�6�6��E�L�
K�s�
A�A*	�#A*	c��[QQ5oUO[UOQQ5[QQ5oUO[UOQQ5[QQ5oUO[
UOQQ5P!)r�r+�%Y-%m-%dr>�%(spam)s�%(prog)d)rrLrKr��KeyErrorrIr?s& r�test_invalid_subparsers_help�.TestAddSubparsers.test_invalid_subparsers_help�sq��+��8�����Z��)>�)>�Z��P�+��8�����X�v�'<�'<�:��N�+��8�����Y��(=�(=�J��Orc��[QQ5oUO2oUO[UOQQQ5UO[
UOQQQ5UO[UOQQQ5P!)r�r+r�rOr>rPrQ)rr�rLrKr�rRrIrs&  r�test_invalid_subparser_help�-TestAddSubparsers.test_invalid_subparser_help�s���+��8���*�*�,�
����Z��)>�)>��",�	�	.����X�z�'<�'<�c�",�	�	.����Y�
�(=�(=�s�",�	�	.rc��[QQQ5oUOQQQQ5UOQQQ	5UOQ
QQQ
5oUOQ2oUOQ2oUO	UO2Q2UO	UO
2[OQ22P!)r�r�r9rvrxr�r�rzr�r>�subcommandsr�zadditional text�r�r�r�r�rz'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
            )	rrr�r�r�r�r�rdre)rr@r�r�r�s&    r�test_subparser_title_help�+TestAddSubparsers.test_subparser_title_help�s���+��8J�L�����G�L�z��J����E�
��3��*�*��7E�0A�+�C�
��'�'��,���'�'��,������,�,�.�C�	E�����+�+�-�x���@�0�	rc��UO[29^tt^2oUOOUO	22PPP2UOUWOO2P!)%fhK89hr�)r�r�r@rJrYr�rDr�)rrZ�
expected_helprFs&&& r�_test_subparser_help�&TestAddSubparsers._test_subparser_help
sW��
�
�
�2�
3�
3�r��K�K�"�"�8�>�>�#3�4�4��������(;�(;�<�4�
3�s�*A9�9B		�B		c�T�UOQ[OQ22P!)z5.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
            �r_rdrer$s&r�test_subparser1_help�&TestAddSubparsers.test_subparser1_help�"���!�!�*�h�o�o�?�/�	rc�T�UOQ[OQ22P!)z5.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
            rbr$s&r�test_subparser2_help�&TestAddSubparsers.test_subparser2_help rerc
�$�UOP	Q5oUOUOQO22[	P
QPQQ5,12UOUOQO22[	P
QPQQ5,12P!)T�r�z
0.5 1alias1 brRrr�z
0.5 1alias2 b)r�r�r�rYr�r?s& r�test_alias_invocation�'TestAddSubparsers.test_alias_invocation.s����!�!�$�!�/������#�#�O�$9�$9�$;�<�
�E�s�d�c�
2�B�7�	
�	
����#�#�O�$9�$9�$;�<�
�E�s�d�c�
2�B�7�	
rc��UOP	Q5oUOUOQO22P!)Trjz
0.5 1alias3 b)r�r�rJrYr?s& r�test_error_alias_invocation�-TestAddSubparsers.test_error_alias_invocation9s8���!�!�$�!�/���&�&�v�'8�'8�'6�'<�'<�'>�	@rc��UOP	P	Q5oPUmUOUO2[O
Q22P!)T)r�r�a	            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
            )r��maxDiffr�r�rdrer?s& r�test_alias_help�!TestAddSubparsers.test_alias_help>sH���!�!�$�t�!�D���������+�+�-�x���@�0�	r)r�rqr@)FNFN)*r)r*r+r,r�r�r�r�r�r�rkr�r�rrrrrrr"r%r(r.r2r6r;r?rBrErLrSrVr[r_rcrgrkrnrrr-r.r/r0s@@rr�r�7
s�����@�9�vI�
I�V�&V�,
�&
�,
#�T�,9�8;�>�/�/�'�

�'�A��"�&�$ �D�$�*F�
P�.��<=�
��	
�@�
�rr�c�4`�\sQsQsnQsQsQsQsUsP!)�TestPositionalsGroupsiYc� �[2oUOQ2UOQ2oUOQ2UOQ2[QQQQ5oUO	QO22oUO
V42P!)	r6r�rzr|r�rr�rZ�1 2 3)rrr)r�rJrYr��rr@r*�expectedrs&    r�test_nongroup_first�)TestPositionalsGroups.test_nongroup_first\sv��+�-�����E�"��)�)�#�.��
���5�!����E�"��#�3�C�0���"�"�7�=�=�?�3������*rc� �[2oUOQ2oUOQ2UOQ2UOQ2[QQQQ5oUO	QO22oUO
V42P!)	�xxxr6rzr|r�rr�rZrw�rr)rr�rJrYr�rxs&    r�test_group_first�&TestPositionalsGroups.test_group_firstfsv��+�-���)�)�%�0��
���5�!����E�"����E�"��#�3�C�0���"�"�7�=�=�?�3������*rc�f�[2oUOQ2oUOQ2UOQ2UOQ2UOQ2oUOQ2[QQQQ	Q
5oUO	QO22oUO
V42P!)r}r6rzr|r�frellr�rr�r*)r6rzr|r�z1 2 3 4r~rxs&    r�test_interleaved_groups�-TestPositionalsGroups.test_interleaved_groupsps���+�-���)�)�%�0�����E�"�
���5�!����E�"��)�)�%�0��
���7�#��#�3�C�s�;���"�"�9�?�?�#4�5������*rr&)	r)r*r+r,rzrr�r-r.rQs@rruruYs����+�+�
+�
+rruc�4`�\sQsQsnQsQsQsQsUsP!)�TestGroupConstructori|c�@�[2oQoUO[29^tt^2oUOQQ5PPP2UO	U[WO22UO	UO[2P!)%fhKW9h)�jThe use of the undocumented 'prefix_chars' parameter in ArgumentParser.add_argument_group() is deprecated.rBr_�	rr��DeprecationWarningr)r�r^r�r�r��rr@rWrFs&   r�test_group_prefix_chars�,TestGroupConstructor.test_group_prefix_chars}sv��+�-��
A�	��
�
�0�
1�
1�R��%�%�4�%�8�2�����c�"�*�*�o�.�������h�/�2�
1���B
�
B	�B	c�@�[2oQoUO[29^tt^2oUOQQ5PPP2UO	U[WO22UO	UO[2P!)%fhKW9h)r�rCr_r�r�s&   r�test_group_prefix_chars_default�4TestGroupConstructor.test_group_prefix_chars_default�sx��,�-��
A�	��
�
�0�
1�
1�R��%�%�3�%�7�2�����c�"�*�*�o�.�������h�/�2�
1�r�c��[O2oUO2oUO[QUO2P!)z argument groups cannot be nested)r9r:r)rbrK�rr@r�s&  r�test_nested_argument_group�/TestGroupConstructor.test_nested_argument_group�s:���(�(�*���%�%�'�����z�!C�!"�!5�!5�	7rr&)	r)r*r+r,r�r�r�r-r.rQs@rr�r�|s����	0�0�7�7rr�c�``�\sQsQsnQsU1QksQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsUsU9s!)�TestParentParsersi�c�>�UO[,UN3-U@P!r�r�r�s&*,rr��+TestParentParsers.assertArgumentParserError�r�rc�D:�[RU_2[P
Q5UmUOO	Q2UOOQ2oUO	Q2UOO	Q2[P
Q5UmUOO	Q2UOO	Q2UOOQ2oUO	Q	2[P
Q5UmUOO	Q2[P
Q5UmUOO	Q2[P
Q5Um	UOO2oUO	Q
QQ5UO	QQQ5P!)
F�r�z--wror�r�rmr�rz--drwrxry)rr�r�wxyz_parentrr)�abcd_parent�w_parent�z_parent�ab_mutex_parent�add_mutually_exclusive_group)r�x_group�c_groupr*rs&   �rr��TestParentParsers.setUp�sC���
��
��5�u�E������%�%�e�,��"�"�5�5�c�:�����T�"����%�%�c�*�5�u�E������%�%�c�*����%�%�d�+��"�"�5�5�c�:�����U�#�2�E�B��
��
�
�"�"�5�)�2�E�B��
��
�
�"�"�3�'� :�5�I����$�$�A�A�C��
���4���5�
���4���5rc	��[UO,Q5oUOUOQO	22[QQQQ52P!)��parentsz-y 1 2 --w 3r�r�r�r�r�r�)rr�r�rJrYr�r?s& r�test_single_parent�$TestParentParsers.test_single_parent�sE��+�T�5E�5E�4F�G������*�*�>�+?�+?�+A�B��c�S�C�0�	2rc��UOUOO2[UO,Q5oUOUO2P!�r�)�_test_mutex_abr�rJrr?s& r�test_single_parent_mutex�*TestParentParsers.test_single_parent_mutex�sC�����D�0�0�;�;�<�+�T�5I�5I�4J�K�����F�-�-�.rc��UO,o[P
UQ5o[U,Q5oUOUO2P!)F)r�r�r�)r�rr�rJ�rr�r@s&  r�test_single_grandparent_mutex�/TestParentParsers.test_single_grandparent_mutex�s<���'�'�(��+�U�G�L��+�V�H�=�����F�-�-�.rc��UOU,2[P
P
Q52UOUQ,2[P	P
Q52UOUQ,2[P
P	Q52UOUQQ,2UOUQQ,2UOUQ,2UOUQQ,2UOUQQ,2P!)F�rmrrwr�r�)r�r�r�)rrJs&&rr�� TestParentParsers._test_mutex_ab�s�������B���e�u�)=�>�����T�F�+�R�$�%�-@�A�����T�F�+�R�%�4�-@�A��&�&�z�D�$�<�@��&�&�z�D�$�<�@��&�&�z�D�6�:��&�&�z�D�$�<�@��&�&�z�D�$�<�@rc���UOUO,o[UQ5oUOUO	QO22[
QPQQPQQ52P!)r�z--d 1 --w 2 3 4r�r�rr*)rmrrr�r�r�)r�r�rr�rJrYr�r�s&  r�test_multiple_parents�'TestParentParsers.test_multiple_parents�sZ���#�#�T�%5�%5�6��+�G�<������*�*�+<�+B�+B�+D�E��c�T�S�C�4�3�G�	Irc�r�UOUO,o[UQ5oUOUO	QO22[
P	P
QPQQ52UOUOQO22UOUOQO22P!)r�z
-a --w 2 3rr�)rmrr�r�r�z
-a --w 2 3 -bz
-a -b --w 2 3)r�r�rr�rJrYr�r�r�s&  r�test_multiple_parents_mutex�-TestParentParsers.test_multiple_parents_mutex�s����'�'��)9�)9�:��+�G�<������*�*�<�+=�+=�+?�@��d�e�s�d�c�B�	D��&�&�����4�4�6�	8��&�&�����4�4�6�	8rc��UO[O[OUOUO
,Q5P!r�)r�r9r�r:r�r�r$s&r�test_conflicting_parents�*TestParentParsers.test_conflicting_parents�s9������"�"��#�#��]�]�D�$4�$4�5�	�	7rc��UO[O[OUOUO
,Q5P!r�)r�r9r�r:r�r�r$s&r�test_conflicting_parents_mutex�0TestParentParsers.test_conflicting_parents_mutex�s;������"�"��#�#��%�%�t�';�';�<�	�	>rc	���UOUO,o[UQ5oUOUO	QO22[
PPQQ52P!)r�r�rr�)r�r�rr�rJrYr�r�s&  r�test_same_argument_name_parents�1TestParentParsers.test_same_argument_name_parents�sM���#�#�T�]�]�3��+�G�<������*�*�5�;�;�=�9��d�d�c�2�	4rc
��[2oUO2oUOQUO,Q5oUO	Q2UOUO
QO22[QQQQQ52P!)	rzr�rzbar -b 1 --d 2 3 4r�r�rr*)rmrrr)	rr�r�r�rr�rJrYr�)rr@r��abcde_parsers&   r�test_subparser_parents�(TestParentParsers.test_subparser_parents�sw��+�-���*�*�,�
�!�,�,�U�T�=M�=M�<N�,�O���!�!�#�&�����*�*�+?�+E�+E�+G�H��c�S�C�3�7�	9rc���[2oUO2oUO,oUOQUQ5oUO	Q2oUOQ2UOUO,oUOQUQ5oUOQ2UOUOQO22[P	P
QQ52UOUOQ	O22[P
P	Q
PQQQ52UOUOQ
O22UOUOQO22P!)r6r�r�rrzrzfoo -a 4r*rzbar -b  --w 2 3 4rr�)rmrr�r�r�rzfoo -a -b 4zbar -b -a 4)rr�r�r�r)rr�r�rJrYr�r�)rr@r�r��
abc_parserr��wxyzabe_parsers&      r�test_subparser_parents_mutex�.TestParentParsers.test_subparser_parents_mutex
s>��+�-���*�*�,�
��'�'�(���*�*�5�'�*�B�
��/�/�	�:�����S�!��#�#�T�%9�%9�:��#�.�.�u�g�.�F���#�#�C�(�����*�*�:�+;�+;�+=�>��d�e�s�3�	5�����*�*�+>�+D�+D�+F�G��e�t�s�d�c�S�I�	K��&�&����}�2�2�4�	6��&�&����}�2�2�4�	6rc��UOUO,o[QUQ5oUO2oUO	U[
OQ22P!)r��r�r�aH            usage: PROG [-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�r�rr�r�rdre)rr�r@�parser_helps&   r�test_parent_help�"TestParentParsers.test_parent_help
sR���#�#�T�%5�%5�6��+���I���(�(�*������h�o�o�7�'
�	rc��[P
Q5oUOQQQ5oUOQ2UOQ2UO2oUOQ2UOQ2[Q	U,Q
5oUO	[
UO,QN2UO2oUOU[OQ22P!)
Fr�r��gd�r�r�r�rlr�r~r�r�z�            usage: PROG [-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
        �r�rMr~rJ�rr)rr�r�r�rJr�r�rdre�r�parentr�r�r@r�s&     r�test_groups_parents�%TestParentParsers.test_groups_parents/
s���+�U�;���%�%�C�T�%�B��	���t��	���t���/�/�1��	���t��	���t��+��&��J�����-�v�/@�/@�"�	$��(�(�*������h�o�o�
7�
'
�
	rc�B�UO[[],Q5P!)rr�)r�rIrr$s&r�test_wrong_type_parents�)TestParentParsers.test_wrong_type_parentsL
s�����)�%?�!���Mrc��[P
Q5oUOQQQ5oUOQ2UOQ2UO2oUOQ2UOQ2[Q	U,Q
5oUO	[
UO,QN2UO2oUOU[OQ22P!)
Fr�r�r�r�r�rlr�r~r�r�z�            usage: PROG [-h] [-w W] [-x X] [-y Y | -z Z]

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

            g:
              gd

              -w W
              -x X
              -y Y
              -z Z
        r�r�r�s&     r�test_mutex_groups_parents�+TestParentParsers.test_mutex_groups_parentsO
s���+�U�;���%�%�C�T�%�B��	���t��	���t��
�*�*�,��	���t��	���t��+��&��J�����-�v�/@�/@�"�	$��(�(�*������h�o�o�
7�
'
�
	r)r�r�r�r�r�)r)r*r+r,r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r-r.r/r0s@@rr�r��sc����@�6�42�
/�
/�A�I�8�7�>�4�9�6�&�.�:N��rr�c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
� TestMutuallyExclusiveGroupErrorsip
c�f�[2oUOoU[UOQQ5P!)r6)r�)rr�rIr�)rr@�raisess&  r�test_invalid_add_argument_group�@TestMutuallyExclusiveGroupErrors.test_invalid_add_argument_groups
s'��+�-���"�"���y�&�=�=�U�Krc�$�[2oUO2oUOoUOoU[UQP	Q5U[UQ2U[UQQQ5U[UQ]Q5U[UQ[
OQ5P!)rvr�rzrr�)rr�rr�rKr9�PARSER)rr@r*rr�s&    r�test_invalid_add_argument�:TestMutuallyExclusiveGroupErrors.test_invalid_add_argumentx
sv��+�-���3�3�5���)�)���"�"���z�<��4�@��z�<��/��z�<��c�:��z�<��a�8��z�<��h�o�o�Frc�d�[QQ5oUO2oUOQQQ5UOQQQ5UO2oUOQQQ5UOQQQ5Q	oUOUO	2[
OU22P!)
r�r+rvrxryr�r5z--soupz--nutsz�            usage: PROG [-h] [--foo | --bar] [--soup | --nuts]

            options:
              -h, --help  show this help message and exit
              --foo
              --bar
              --soup
              --nuts
              �rr�rr�r�rdre)rr@�group1�group2rys&    rr2�*TestMutuallyExclusiveGroupErrors.test_help�
s���+��8���4�4�6�����G�L��9����G�M��:��4�4�6�����H�\��:����H�]��;�	��	
����+�+�-�x���x�/H�Irc���[QQ5oUOP	Q5oUOQ2UOQQQ5QoUOUO	2[
OU22[QQ5oUOP	Q5oUOQQQ5UOQ2UOUO	2[
OU22P!)r�r+r�rvrzr{r�z�            usage: PROG [-h] (--foo FOO | bar)

            positional arguments:
              bar

            options:
              -h, --help  show this help message and exit
              --foo FOO
              r�)rr@r*rys&   r�test_optional_order�4TestMutuallyExclusiveGroupErrors.test_optional_order�
s���+��8���3�3�T�3�B��
���7�#�
���5���,�	��	
����+�+�-�x���x�/H�I�+��8���3�3�T�3�B��
���5���,�
���7�#�����+�+�-�x���x�/H�Irc	���PUm[QQ5oUOQQQ5oUOQ2oUO	2oUOQQ[OQ	5UOQ
Q[OQ	5QoQoUOU2QUQUQ
UQUQ0	oUOUO2[OU22P!)Nr�r+r�r)r�r�r6r�rxr��--quietz>            usage: PROG foo [-h]
                            [� zj]

            options:
              -h, --help            show this help message and exit
              z
              z�--longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongڀLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONG)rqrr�r�r�rr9r[r�r�rdre)rr@r��cmd_foor*�longopt�longmetarys&       r�Ctest_help_subparser_all_mutually_exclusive_group_members_suppressed�dTestMutuallyExclusiveGroupErrors.test_help_subparser_all_mutually_exclusive_group_members_suppressed�
s������+��8���(�(�z�	�(�J���%�%�e�,���4�4�6��
���;�|�(�BS�BS��T�
���9�\��@Q�@Q��R�"�������W�%��%�Y�a��z�2��i�q��
�#�
��	
����,�,�.�����0I�Jrc��[QQ5oUO2oUOUO2Q2P!)r�r+�usage: PROG [-h]
)rr�r�r��rr@r*s&  r�test_usage_empty_group�7TestMutuallyExclusiveGroupErrors.test_usage_empty_group�
s4��+��8���3�3�5������,�,�.�0D�Erc��[OQQ5oUO2oUOQ2UO	[
QUO2P!)r�r+�--spamz*mutually exclusive groups cannot be nested)r9r:r�rrbrKr�s&  r�test_nested_mutex_groups�9TestMutuallyExclusiveGroupErrors.test_nested_mutex_groups�
sH���(�(�f�5���/�/�1��	���x� ����z�K� �=�=�	?r)rq)
r)r*r+r,r�r�r2r�r�rrr-r.rQs@rr�r�p
s3����L�
	G�J�(J�.K�*F�?�?rr�c�z`�\sQsQsnQsQsQsQs\Q2s	\Q2s
\Q2s\Q	2sQ
s
UsP!)�MEMixini�
c
�"�UOP
Q5Oo[oUOFDFoUO	UQ59^tt^2UOV!UO
22PPP2JH	P!)%fhJ]9h�Fr�rV��
get_parserrJr�rXrKr�rY�rrJr�args_strings&   r�test_failures_when_not_required�'MEMixin.test_failures_when_not_required�
sg���_�_�e�_�4�?�?�
�#���=�=�K����;��/�/��!�!�%�[�5F�5F�5H�I�0�/�)�/�/�/�s�!A=	�=B
�B
c
�2�UOP	Q5Oo[oUOP,*FDFoUO	UQ59^tt^2UOV!UO
22PPP2JH	P!)%fhJ]9h�Tr�rVrr
s&   r�test_failures_when_required�#MEMixin.test_failures_when_required�
sq���_�_�d�_�3�>�>�
�#���=�=�B�4�/�/�K����;��/�/��!�!�%�[�5F�5F�5H�I�0�/�0�/�/�/�s�!B	�B
�B
c	�N�UOP
Q5OoUOUO*oSFDOvq4UO	UQ59^tt^2UUO22oUO
VT2PPP2JQ	P!)%fhJf9hr
)rrJr]�successes_when_not_requiredrKrYr�)rrJr]rr_�	actual_nss&     r� test_successes_when_not_required�(MEMixin.test_successes_when_not_required�
s}���_�_�e�_�4�?�?�
��N�N�T�%E�%E�E�	�(1�$�K����;��/�/�&�{�'8�'8�':�;�	�� � ��8�0�/�)2�/�/�/�s�(B	�B$
�B$
c	�(�UOP	Q5OoUOFDOvq#UOUQ59^tt^2UUO	22oUOVC2PPP2JQ	P!)%fhJf9hr)rrJr]rKrYr�)rrJrr_rs&    r�test_successes_when_required�$MEMixin.test_successes_when_required�
sm���_�_�d�_�3�>�>�
�(,���$�K����;��/�/�&�{�'8�'8�':�;�	�� � ��8�0�/�)7�/�/�/�s�
(B	�B
�	B
c��UOP
Q5OoUOoUOU2[O
U22P!�Fr�)rr��usage_when_not_requiredr�rdre�rr��expected_usages&  r�test_usage_when_not_required�$MEMixin.test_usage_when_not_required�
s>�������6�C�C���5�5�����������)H�Irc��UOP	Q5OoUOoUOU2[O
U22P!�Tr�)rr��usage_when_requiredr�rdrer s&  r�test_usage_when_required� MEMixin.test_usage_when_required�
s>�������5�B�B���1�1�����������)H�Irc���UOP
Q5OoUOUO*oUO	U2[
OU22P!r)rr�rr�r�rdre�rr�r�s&  r�test_help_when_not_required�#MEMixin.test_help_when_not_required�
sG���o�o�u�o�5�A�A���+�+�d�i�i�7�����������(=�>rc���UOP	Q5OoUOUO*oUO	U2[
OU22P!r%)rr�r&r�r�rdrer*s&  r�test_help_when_required�MEMixin.test_help_when_requiredsG���o�o�t�o�4�@�@���'�'�$�)�)�3�����������(=�>rr&)r)r*r+r,rrrrrr"r'r+r.r-r.rQs@rrr�
so����J�J�9�9��J��J�
�J��J�
�?��?�
�?��?rrc	�`�\sQsQsnQQksQQ,sQ\QPQ51Q\Q	PQ51Q
\PQQ51Q\PQ	Q51,sP\PPQ51,sQ
s	Qs
QsQsUs
P!)�TestMutuallyExclusiveSimplei	c��[QQ5oUOUQ5oUOQQQ5UOQQQQ	Q
5U!)r�r+r�r�r�r>r�r{rJ�baz help)r~r}r��rr�r�rr(r@r*s&&  rr�&TestMutuallyExclusiveSimple.get_parsersN��+��8���3�3�X�3�F��
���7���4�
���7�#�S�z��J��
r�--bar X --baz Yz
--bar X --baz�--bar Xr��rzr|z--bar X --bar ZrJ�--baz YrMr�z;        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
        r&r��r)r*r+r,rrXr�r]rrr&r�r-r.rQs@rr1r1	s������"�?�3�H�	�B�3�D�)�*�	�B�3�D�1�2�	�B�4�S�)�*�	�"��3�'�(�	�I�
�R�D�d�
#�$�#�������Drr1c��`�\sQsQsnQQksQ,sQ\PPQPQ51Q\QPQPQ51Q	\PPPQQ51Q
\PQPQQ51,sP\PPPPQ51,sQs	Qs
Q
sQsUs
P!)�TestMutuallyExclusiveLongi,c���[QQ5oUOQQQ5UOQQQ5UOUQ5oUOQQ	Q5UOQ
QQ5U!)r�r+z--abcdez
abcde helpr>z--fghijz
fghij helpr�z--klmnoz
klmno helpz--pqrstz
pqrst help�rrr�r5s&&  rr�$TestMutuallyExclusiveLong.get_parser.sp��+��8�����I�L��9����I�L��9��3�3�X�3�F��
���9�<��8�
���9�<��8��
rz--klmno X --pqrst Yz	--klmno Xr�)�abcde�fghij�klmno�pqrstz--abcde Y --klmno XrMz	--pqrst Xz--pqrst X --fghij Yzi    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
    r&r�r;rQs@rr=r=,s������&�&�H�	�b�t�4�s�$�G�H�	��S��C�t�<�	>�	�b�t�4�t�3�G�H�	��T��D��<�	>��I�
�R�d�$�d�$�
?�@�#�������Drr=c�`�\sQsQsnQsQ,sQ\QP	Q51Q\QP	Q51Q	\PP
Q51,sP\PP	Q51,sQ
s	Qs
QsQ
sUs
P!)�$TestMutuallyExclusiveFirstSuppressediWc��[QQ5oUOUQ5oUOQ[OQ5UOQQQQ5U!)	r�r+r�rlr>r�r5r�r��rr�rr9r[r5s&&  rr�/TestMutuallyExclusiveFirstSuppressed.get_parserYsR��+��8���3�3�X�3�F��
���4�h�&7�&7��8�
���4�
�H��E��
rz-x X -yz-x Xr�r�z	-x X -x YrMr�z&        usage: PROG [-h] [-y]
        z$        usage: PROG [-h] -y
        zm
        options:
          -h, --help  show this help message and exit
          -y          y help
        r&r;rQs@rrFrFWsw������{�H�	��c�T�"�#�	�b�3�$�'�(�	
�r�D�E�"�#��I�
�R�$�$�
� �#�������DrrFc
�`�\sQsQsnQs,QNsQ\P	P	PQ51Q\P
P
PQ51Q\P
P	QQ51Q\P	P	PQ51,sP\P
P	PQ51,sQ	9s	s
Q
sQsUs
P!)
�#TestMutuallyExclusiveManySuppressedixc���[QQ5oUOUQ5oUOoUQQ[OQ5UQQ[OQ5UQ[OQ	5U!)
r�r+r�rrxr�r�r5z	--bladderr>rH)rr(r@r*r�s&&   rr�.TestMutuallyExclusiveManySuppressed.get_parserzsc��+��8���3�3�X�3�F��� � ���H�\��0A�0A�B��J�}�8�3D�3D�E��K�h�/�/�0��
rr)rr��bladderr�z--bladder Br�z
--spam --spamz!        usage: PROG [-h]
        �P
        options:
          -h, --help  show this help message and exit
        r&)z--spam --badgerz--badger --bladder Bz--bladder B --spam�r)r*r+r,rrXr�r]rr&rr�r-r.rQs@rrKrKxs�������H�
�2�4��d�;�<�	�R�U�5�$�?�@�	���d�C�@�A�	�"�$�t�T�B�C�	�I�
�R�U�4��
6�7�#��5���1��DrrKc
��`�\sQsQsnQs,Q
NsQ\P	P,Q51Q\P
Q,Q51Q\P
PQ,Q51Q\P
P,QNQ51,sP\P
P,Q51,sQ	s	Q
s
QsQsUs
P!)�*TestMutuallyExclusiveOptionalAndPositionali�c��[QQ5oUOUQ5oUOQQQQ5UOQQQ	5UOQ
QQQ
5U!)r�r+r�rvrx�FOOr�r�SPAMr>r�r�BADGERr�r4r5s&&  rr�5TestMutuallyExclusiveOptionalAndPositional.get_parser�sa��+��8���3�3�X�3�F��
���7�<�e��D�
���8�&��1�
���8�3�X��>��
rrv�r6rr�z--spam S�Sr�zX Y ZzD        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
        r&)z--foo --spam Sz
--spam S XzX --foozX Y Z --spam S�	--foo X Y�r�rMrJr;rQs@rrRrR�s�������H�
�"��D��4�5�	�R�E��B�7�8�	�b�U��s�e�4�5�	�"��T�/�B�C�	�I�
�R�E��R�
0�1�#������	�DrrRc�R`�\sQsQsnQs,QNsQ\P	P
P
P
P
P
Q51Q\P
P	P
P
P
P
Q51Q\P
P
P	P
P
P
Q51Q\P	P
P
P	P
P
Q51Q\P
P	P
P
P	P
Q51Q	\P
P
P	P	P	P
Q51,sP\P
P
P
P
P
P
Q51Q
\P
P
P
P	P
P
Q51Q\P
P
P
P
P	P
Q51,sQs	Q
s
QsQsUs
P!)�#TestMutuallyExclusiveOptionalsMixedi�c�4�[QQ5oUOQQQQ5UOUQ5oUOQQQQ5UOQ	QQ
Q5UOQQQQ5UOQ
QQQ5UOQQQQ5U!)r�r+rlrxr�r�r�rw�a helpr��b helpr�r�r��c helpr~r�r?r5s&&  rr�.TestMutuallyExclusiveOptionalsMixed.get_parser�s���+��8�����D��H��E��3�3�X�3�F��
���4��8��D�
���4��8��D����D��H��E�
���4��8��D����D��H��E��
rrw�rmrrror�r�r�r�z-a -xz-y -bz-x -y -crlr�z?        usage: PROG [-h] [-x] [-a | -b | -c] [-y] [-z]
        z?        usage: PROG [-h] [-x] (-a | -b | -c) [-y] [-z]
        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
          -z          z help
        r&)z-a -b�-b -cz-a -cz-a -b -cr;rQs@rr]r]�s����	�7�H�	
�r�D�E�U�e�u��F�G�	
�r�E�T�U�e�u��F�G�	
�r�E�U�d�e�u��F�G�	�"�t�u����%�H�I�	�"�u����$�%�H�I�	�R�%�5�D�D�D�E�J�K�
�I�
�R�%�5�E�U�e�u�
E�F�	
�r�E�U�e�t�u��F�G�	
�r�E�U�e�u���F�G�#������
�Drr]c�`�\sQsQsnQQksQQ,sQ\QPQ51Q\PQ	Q51,sP\PPQ51,sQ
s	Qs
QsQ
sUs
P!)�TestMutuallyExclusiveInGroupi�c��[QQ5oUOQQQ5oUOUQ5oUOQQQ5UOQ	Q
Q5U!)r�r+zTitled groupzGroup descriptionr�r�r�r�r>r�r3)rr)r�r)rr(r@�titled_group�mutex_groups&&   rr�'TestMutuallyExclusiveInGroup.get_parser�sk��+��8���0�0� �.A�1�C��
�5�5�x�5�H�	�� � ��z� �:�� � ��z� �:��
rr7z--baz X --bar Yr8r�r9r:rMz9        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
        r&r�r;rQs@rrfrf�sl�����"�#4�5�H�	�B�3�D�)�*�	�B�4�S�)�*��I�

�R�D�d�
#�$�#������
�Drrfc�`�\sQsQsnQs,QNsQ\QP
P
QP
P
Q51Q\PP	P
QP
P
Q51Q\PP
P	QP
P
Q51Q	\QP
P
QP	P
Q51Q
\PP	P
QP	P
Q51,sQ\PP
P
QP
P
Q51Q\PP
P
QP	P
Q51,sQs	Q
s
QsQsUs
P!)�1TestMutuallyExclusiveOptionalsAndPositionalsMixedi c�2�[QQ5oUOQQQ5UOQQQQ5UOUQ	5oUOQ
QQQ
5UOQQQQ5UOQQQQ5UOQQQQ5U!)r�r+ror�r>r�rxr�r�r�rmr{r_r�r�r`r�rar~r�r?r5s&&  rr�<TestMutuallyExclusiveOptionalsAndPositionalsMixed.get_parser"s���+��8�����C�h��/����D��H��E��3�3�X�3�F��
���3�c���9�
���4��8��D�
���4��8��D����D��H��E��
rzX ArKr�rczX -bzX -czX A -yzX -y -bzX -yz;        usage: PROG [-h] [-y] [-z] x [-b | -c | a]
        z;        usage: PROG [-h] [-y] [-z] x (-b | -c | 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
          -z          z help
        r&)zX A -brdz-c X Ar;rQs@rrlrl s�����	�-�H�	��S�E�U�c�U�e�D�E�	��d�d�e�s�e�u�E�F�	��d�e�t�s�e�u�E�F�	�2��u�����F�G�	�B����#���G�H��I�

�b�4�5�E�S�E�U�C�D�	��d�e�u��t�u�E�F�#��
�����Drrlc�`�\sQsQsnQQksQQ,sQ\QPQ51Q\PQQ51Q	\PPQ51,sP\PPQ51,sQ
s	Qs
QsQ
sUs
P!)�%TestMutuallyExclusiveOptionalOptionaliOc��[QQ5oUOUQ5oUOQ2UOQQQ5U!)r�r+r�rvr�r{r�r4r5s&&  rr�0TestMutuallyExclusiveOptionalOptional.get_parserPsE��+��8���3�3�X�3�F��
���7�#�
���7�#��.��
r�--foo X --bar Yz
--foo X --bar�--foo Xr�r�r8r�z;        usage: PROG [-h] (--foo FOO | --bar [BAR])
        z;        usage: PROG [-h] [--foo FOO | --bar [BAR]]
        z{
        options:
          -h, --help   show this help message and exit
          --foo FOO
          --bar [BAR]
        r&r�rPrQs@rrprpOs�����	���H�

�B�3�D�)�*�	�B�4�S�)�*�	�"��4�(�)��I�
�R�D�d�
#�$�#�������Drrpc�`�\sQsQsnQQksQQ,sQ\QP	Q51Q\PP	Q51Q	\PP
Q51,sP\PP	Q51,sQ
s	Qs
QsQ
sUs
P!)�(TestMutuallyExclusiveOptionalWithDefaultirc��[QQ5oUOUQ5oUOQ2UOQ[P	Q5U!)r�r+r�rvr�rw�rr�r�boolr5s&&  rr�3TestMutuallyExclusiveOptionalWithDefault.get_parserssG��+��8���3�3�X�3�F��
���7�#�
���7��t��<��
rrsz--foo X --bar=rtr�r�r8z--bar=z9        usage: PROG [-h] (--foo FOO | --bar BAR)
        z9        usage: PROG [-h] [--foo FOO | --bar BAR]
        zx
        options:
          -h, --help  show this help message and exit
          --foo FOO
          --bar BAR
        r&r�rPrQs@rrvrvrs�����	���H�

�B�3�D�)�*�	�B�4�T�*�+�	�2�$�E�*�+��I�
�R�D�d�
#�$�#�������Drrvc�`�\sQsQsnQQksQ,sQ\QP	Q51Q\PP	Q51,sP\PP	Q51,sQs	Qs
Q	sQ
sUs
P!)�*TestMutuallyExclusivePositionalWithDefaulti�c��[QQ5oUOUQ5oUOQ2UOQQ[P	Q5U!)r�r+r�rvrzr{rWrxr5s&&  rr�5TestMutuallyExclusivePositionalWithDefault.get_parser�sI��+��8���3�3�X�3�F��
���7�#�
���5��$���E��
rrZrtr�r�z3        usage: PROG [-h] (--foo FOO | bar)
        z3        usage: PROG [-h] [--foo FOO | bar]
        z�
        positional arguments:
          bar

        options:
          -h, --help  show this help message and exit
          --foo FOO
        r&r�rPrQs@rr|r|�sm�����	��H�
�B�3�D�)�*�	�b�T�t�$�%��I�

�R�D�d�
#�$�#�������Drr|c�8``�\sQsQsnQU1QkksQsUsU9s!)�MEPBasei�c�d:�[[U_UQ5o[UOP
U,Q5oU!)r�)r�r�r�)rr�rrr�)rr(r�r@rs&&  �rr�MEPBase.get_parser�s4����w��0�(�0�C��+����u�v�h�@���
rr&r�)r)r*r+r,rr-r.r/r0s@@rr�r��s�����rr�c��\sQsQsQsP!)�&TestMutuallyExclusiveGroupErrorsParenti�r&r�r&rrr�r�����rr�c��\sQsQsQsP!)�!TestMutuallyExclusiveSimpleParenti�r&r�r&rrr�r��r�rr�c��\sQsQsQsP!)�TestMutuallyExclusiveLongParenti�r&r�r&rrr�r��r�rr�c��\sQsQsQsP!)�*TestMutuallyExclusiveFirstSuppressedParenti�r&r�r&rrr�r��r�rr�c��\sQsQsQsP!)�)TestMutuallyExclusiveManySuppressedParenti�r&r�r&rrr�r��r�rr�c��\sQsQsQsP!)�0TestMutuallyExclusiveOptionalAndPositionalParenti�r&r�r&rrr�r��r�rr�c��\sQsQsQsP!)�)TestMutuallyExclusiveOptionalsMixedParenti�r&r�r&rrr�r��r�rr�c��\sQsQsQsP!)�7TestMutuallyExclusiveOptionalsAndPositionalsMixedParenti�r&r�r&rrr�r��r�rr�c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�TestSetDefaultsi�c��[2oUOQQ5UOQ]Q5UO[QQ]Q5UO	,22UO[QQ]Q5UO	,[222UO[QQ]Q5UO	,[QQ522UO[QQ]Q5UO	,[Q]Q522P!)r6rnrz)r�r�r�r|)ror��r�set_defaultsr�r�rJr?s& r�test_set_defaults_no_args�)TestSetDefaults.test_set_defaults_no_args�s���+�-�����e��$����e�q��)�����e�u��2��*�*�2�.�	0�����e�u��2��*�*�2�r�t�4�	6�����e�u��2��*�*�2�r�E�{�;�	=�����e�u��2��*�*�2�r�E�Q�/?�@�	Brc
��[2oUOQQQ5UOQQQ5UO[	QQQ5UO,22UO[	QQQ5UO,[	222UO[	QQQ5UO,[	QQ522UO[	QQQ5UOQ	O
222UO[	QQQ5UOQ	O
2[	222UO[	QQQ5UOQ	O
2[	QQ522P!)
r6rzr�rl�xfooxr�r|rnr�r))rr�rr�r�rJrYr?s& r�test_set_defaults_with_args�+TestSetDefaults.test_set_defaults_with_args�s6��+�-�����e�u��-����D�'��2�����g��/��*�*�2�.�	0�����g��/��*�*�2�r�t�4�	6�����e�u�-��*�*�2�r�E�{�;�	=�����c�U�+��*�*�6�<�<�>�:�	<�����c�U�+��*�*�6�<�<�>�2�4�@�	B�����c�U�+��*�*�6�<�<�>�2��;�G�	Irc��[2oUOQQ5UO2oUOQ2oUOQQ5UO	[QQQ5UO
QO222P!)r6rnrmrzr1r�)rr�r�r�r�r�rJrY)rr@r��parser_as&   r�test_set_defaults_subparsers�,TestSetDefaults.test_set_defaults_subparserssu��+�-�����e��$��*�*�,�
��(�(��-�������&�����e�u�-��*�*�3�9�9�;�7�	9rc��[P
Q5oUOQQ5[U,Q5oUO[QQ5UO	,22P!)Fr�r6rnr�r�)rr�r@s&  r�test_set_defaults_parents�)TestSetDefaults.test_set_defaults_parentssH��+�U�;�����e��$�+�V�H�=������e��f�&7�&7��&;�<rc��[O2oUO2OQ2oUO	]Q5UO	]Q5UO[
]Q5UOQ,22P!)r�r()r9r:r�r�r�r�r�rJ)rr@�xparsers&  r�)test_set_defaults_on_parent_and_subparser�9TestSetDefaults.test_set_defaults_on_parent_and_subparsersl���(�(�*���'�'�)�4�4�S�9�������"������#�������F�$5�$5�s�e�$<�=rc	��[2oUOQQQQQ5UOQ2UOQQQ5UOQ	Q
Q5UOQQ
Q
Q5UO[	QQQQ
Q5UO,22UOQQQQQ5UO[	QQQQQ5UO,22P!)�Wr�rMrJrr�rl�XXr�r�r{r�r��ZZr}�WW�YY)rr�rr�r�rJr?s& r�&test_set_defaults_same_as_add_argument�6TestSetDefaults.test_set_defaults_same_as_add_argument%s���+�-�����c�S�C�3��7����D�!����D�$��/����C�s��+����C�s�D��9�	
����c�T�S�D�9��*�*�2�.�	0�	���d�c�T�S��9�����d�c�T�S�9��*�*�2�.�	0rc	���[2oUOQQQQQ5UOQ2oUOQ2UOQQQ	5UOQ
QQ5UOQ
QQQ5UO	[QQQQQ5UO
,22UOQQQQQ5UO	[QQQQQ5UO
,22P!)r�r�rMrJrr6r�rlr�r�r�r{r�r�r�r}r�r�)rr�r)rr�r�rJrs&  r�,test_set_defaults_same_as_add_argument_group�<TestSetDefaults.test_set_defaults_same_as_add_argument_group6s���+�-�����c�S�C�3��7��)�)�%�0��
���4� �
���4���.�
���3�c��*�
���3�c�4��8�	
����c�T�S�D�9��*�*�2�.�	0�	���d�c�T�S��9�����d�c�T�S�9��*�*�2�.�	0rr&)
r)r*r+r,r�r�r�r�r�r�r�r-r.rQs@rr�r��s/����B�I�"9�=�>�0�"0�0rr�c�(`�\sQsQsnQsQsUsP!)�TestGetDefaultiMc��[2oUOUOQ22UOUOQ22UOQ2UOUOQ22UOUOQ22UOQ[]*Q5UOUOQ22UO]*UOQ22UO
QQ5UOQUOQ22UO]*UOQ22P!)r6rzrvr�rwr�r()rr �get_defaultrr�r�r�r?s& r�test_get_default�TestGetDefault.test_get_defaultOs��+�-�����&�,�,�U�3�4����&�,�,�U�3�4����G�$����&�,�,�U�3�4����&�,�,�U�3�4����G�#�r��:����&�,�,�U�3�4�����V�/�/��6�7������)�����6�#5�#5�e�#<�=�����V�/�/��6�7rr&)r)r*r+r,r�r-r.rQs@rr�r�Ms����8�8rr�c�.`�\sQsQsnQsQsQsUsP!)�TestNamespaceContainsSimpleidc�z�[O2oUOPU2UOQU2P!)r'ro)r9�	Namespace�assertNotIn�rr�s& r�
test_empty�&TestNamespaceContainsSimple.test_emptyfs0��
�
�
�
!������R� �����b�!rc���[O]]Q5oUOPU2UOQU2UOQU2UOQU2UOQU2P!)rr�ror��xxr�)r9r�r�rCr�s& r�test_non_empty�*TestNamespaceContainsSimple.test_non_emptyks`��
�
�
�!�q�
)������R� ��
�
�c�2���
�
�c�2������r�"�����b�!rr&)r)r*r+r,r�r�r-r.rQs@rr�r�ds����"�
"�"rr�c�(`�\sQsQsnQsQsUsP!)�TestHelpFormattingMetaclassiwc�b�UQ6XcP!QQ[2oQFDvqVUVU2J	P!)�HelpTestCasec�d`�\sQsQsnQsQsQs\Q2s\Q2s	\Q2s
QsUsP!)	�6TestHelpFormattingMetaclass.__init__.<locals>.AddTestsi}c���V mV0mUOUOUO1FD/oUO
8QU80oU1QkoVVm[VU2J1	P![cKh9h)r>c��UU2P!r�r&r@s&&r�test_wrapper�UTestHelpFormattingMetaclass.__init__.<locals>.AddTests.__init__.<locals>.test_wrapper�rDr)�func_suffix�std_name�test_format�
test_print�test_print_filer)rIr)r�
test_classr�r�rArPr�s&&&&   rr�?TestHelpFormattingMetaclass.__init__.<locals>.AddTests.__init__sw��#.� � (�
�"&�"2�"2�"&�/�/�"&�"6�"6�"8�I�,5�+=�+=�{� K�I�5>�(��09�-��J�<�@�"8��%����s�A'�'	A5�1A5�4A5c	��[OUOO-UOO@o[UQ,2FD*oUOUO-UO@J,	[UQ,2oSFD]vqVUOUO-UO@oSFD*oUOUO-UO@J,	J_	[UQ,2oU%cBUO2o	SFD*o
U	OU
O-U
O@J,	U!)r#�argument_group_signatures�subparsers_signatures)
r9r:r r�r�rrr)r�r�)rrSr@�argument_sig�
group_sigs�	group_sig�
argument_sigsr*�subparsers_sigsr��
subparser_sigs&&         rr��BTestHelpFormattingMetaclass.__init__.<locals>.AddTests._get_parser�s=��!�0�0��,�,�1�1�6��-�-�4�4�6��%,�F�4I�2�$N�L��'�'��):�):�?�*6�*=�*=�?�%O�%�V�-H�"�M�
�0:�,�I�"�5�5�y�~�~�J�8A�8H�8H�J�E�(5���*�*�L�,=�,=�B�-9�-@�-@�B�)6�1;�#*�&�2I�2�"N��"�!'�!6�!6�!8�J�)8�
�"�-�-�}�/A�/A�G�1>�1E�1E�G�*9��
rc��[VO2o[OU2oPUmUOV22P!r�)rr�rdrerqr�)rrS�parser_text�
expected_texts&&& r�_test�<TestHelpFormattingMetaclass.__init__.<locals>.AddTests._test�s5�� '��0@�0@� A�
� (���
� >�
�!%����"�"�=�>rc��UOU2o[UQUO*2oUOV22P!)z	format_%s)r�rr�r�)rrSr@�formats&&  rr��BTestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_format�s9���)�)�&�1�� ���t�7G�7G�)G�H���
�
�6�6�8�,rc���UOU2o[UQUO*2o[[UO2o[[UO[
22U2[[UO2O2o[[UOU2UOV2P![[SOS2h9h�zprint_%s)	r�rr�rr�rrr"r�)rrSr@�print_�
old_streamr�s&&    rr��ATestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_print�s����)�)�&�1�� ���d�6F�6F�)F�G��$�S�$�-�-�8�
���T�]�]�K�M�:�<��H�")�#�t�}�}�"=�"F�"F�"H�K��C����
�;��
�
�6�/���C����
�;�s�./C�C(c���UOU2o[UQUO*2o[2oUU2UO	2oUOV2P!r�)r�rr�rr"r�)rrSr@r��sfiler�s&&    rr��FTestHelpFormattingMetaclass.__init__.<locals>.AddTests.test_print_file�sO���)�)�&�1�� ���d�6F�6F�)F�G��#�
���u�
�#�n�n�.���
�
�6�/r)r�r�)
r)r*r+r,rr�r�rr�r�r�r-r.rQs@rrbr�}sQ����
A�"
�,
?�!�
-�!�
-�
!�

0�!�

0�!�
0�!�
0rrb))r�r�)r�r�)rd)rer�rfrgrbr�r�s&&&&   rr�$TestHelpFormattingMetaclass.__init__ys5���>�!��I	0�v�I	0�X&:�!�K��S�x�0�&:rr&r�rQs@rr�r�ws����R1�R1rr�r�c	��\sQsQs\QQQQ5s\QQQQ	Q
5\QQQ
Q5\QQQ5\QQQ5\QQQ5,s,sQs\Q*s	Qs
QsP!)�TestHelpBiggerOptionalsi�r��DESCRIPTION�EPILOG�r�r��epilogr�rbrc�0.1rerlrx�X HELPr��--y�Y HELPr>r6�FOO HELPrz�BAR 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
        r&�r)r*r+r,r�r r#r�r�r�rcr-r&rrr�r��s����M�"*�,��	�D�+�i��?��D��H�5��E��!��E�
�#��E�
�#���!#��
�E����D� �Grr�c�`�\sQsQsnQs\Os\Os\OsQs	\	Q*s
\OsQsUs
P!)�TestShortColumnsi�c�t�UO[O22oUOQQ2P!)r�r+)r�rr�r'r�s& rr��TestShortColumns.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
    r&)r)r*r+r,r�r�r r#r�r�r�rcr-r.rQs@rrr�sU����!�#:�"J�"J��"9�"M�"M��"9�"S�"S��
�E����D�:#:�"A�"A�Grrc	���\sQsQs\QQQQ5s\QQQQ	Q
5\QQQ
Q5\QQQ5\QQQ5\QQQ5,s\QQQ5\QQQ5\QQQQ5,1,sQs\Q *s	Q!s
Q"sP!)#�TestHelpBiggerOptionalGroupsi+r�r�r�r�r�rbrcr�rerlrxr�r�r�r�r>r6r�rzr�zGROUP TITLEzGROUP DESCRIPTIONr�r|zBAZ HELPr~rzZ HELPr�zN        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
    r�r&rr&rrrr+s�����M�"*�,��	�D�+�i��?��D��H�5��E��!��E�
�#��E�
�#���

�]�(;�	<���J�'���C�h�/�?1�	2�!��

�E����D�,�Grrc��\sQsQs\QQQ5s\QQQQ5\Q	Q
Q5\QQ
Q5\QQQ5,s,sQs\Q*s	Ps
QsP!)�TestHelpBiggerPositionalsiZ�USAGEr��r�r�rlrxr�r�r�r�r>�ekiekiekifekangzEKI HELPrzr��        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
        r&rr&rrrrZsk����m�D���D��H�5��E��!���J�/��E�
�#�	��!#��
�E����D��Grrc��\sQsQs\QQQ5s\QQQQ5\Q	Q
QQ5,s\QQ
Q5\QQQQ5,1,sQs\Q*s	Ps
QsP!)�TestHelpReformattingiyr�ze   oddly    formatted
description

that is so long that it should go onto multiple lines when wrappedr9rlr�zoddly
    formatted -x help�r�r�r�rz
normal y helpr�z'
    oddly formatted group

descriptionr�rwrxz` 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
        r&rr&rrrrys����
�)�*��	�D�$�&=�	>��C��_�5���

�W�#0�
1��d�<�$�%�
&�		'�
!��
�E����D�(�Grrc��\sQsQs\QQQ5s\QQQQ5\QQQQ5,s\Q	2\Q
QQQ5,1,sQ
s\Q*s	Ps
QsP!)�TestHelpWrappingShortNamesi�r�r9rlr�rr�r�ALPHASrwrxr�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
        r&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
DzxXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HX�dYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHzPAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHArr&rrrr�sy����[�A���D�$�]�3��C��\�2���


�X����\��@�B�	C�!��
�E����D�,�Grrc���\sQsQs\QQQ5s\QQQQQ5\QQQQ	5\Q
QQQ	5,s\Q2\QQQQ	5\Q
QQQ	5,1,sQs\Q*s	Qs
QsP!)�TestHelpWrappingLongNamesi�r	r
r�rbrcrerlrr�rrwr�rag
        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
        r&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 DzZV 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�XXXXXXXXXXXXXXXXXXXXXXXXXzdXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XH�yyyyyyyyyyyyyyyyyyyyyyyyyr�AAAAAAAAAAAAAAAAAAAAAAAAAzdAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AH�zzzzzzzzzzzzzzzzzzzzzzzzzzdZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHrr&rrrr�s�����z�B���D�+�i��D��D�(��6��C���5���

�X����h�\�:���X�L�9�;�	<�!��

�E����D�<�Grrc���\sQsQs\QQ5s\QQQQ5\QQ	Q
Q5\QQQ5\Q
Q
]Q5\QQQQ5\QQ\OQ5\QQP	\OQ5\QQQ\OQ5\Q\O\OQQ5,	s	\Q2\QQQ Q5\Q!]Q"Q5\Q#Q#Q	Q5\Q$Q$QQ5,1,s
Q%s\Q&*sPs
Q'sP!)(�
TestHelpUsageir�r+r�rr�r�rlrrormr>r)r�r~rr{rvzWhether to foo�r�rzr�zWhether to bar)r�ryrzr�z--foobarz--barfooryz--bazzzBazz!)rzryr�r*r�r�r~r�rra/        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
        r&)r)r*r+r,r�r r9rBr[r#r�r�r�rcr-r&rrrrs����'���D��#�&��D��#�&��C�c���C�c��#��C�c��%��G�*�8�3Q�3Q�R��G�*�D�$�:�:�	<��D�*�j��1O�1O�P��H�X�;�;�&�/�/�g�	?���

�W����C�c�*���A�C�(���#�S�)���#�S�)�	
�	�!��
�E����D�,�Grrc�n�\sQsQs\QQ5s\QQQ5\QQQ	Q5,sQ
s\Q*sPs	Qs
P!)
�TestHelpUsageWithParenthesesiDr�r+�
positionalz(example) positional�r�r�z
--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, --optional {1 (option A), 2 (option B)}
        r&�r)r*r+r,r�r r#r�r�rcr-r&rrrrDsL����'���L�"8�9��D�,�(F�G���

�E����D��Grrc��\sQsQs\QP
Q5s,s\Q2\QQQ5\QQQ5,1\Q	2\Q
Q
Q5\QQQ5,1,sQ
s\Q*s	Ps
QsP!)�TestHelpOnlyUserGroupsiZr��r�r��xxxxrlror>rm�yyyyrr�r�z.        usage: PROG [-x X] [-y Y] a b
        zn
        xxxx:
          -x X  x
          a     a

        yyyy:
          b     b
          -y Y  y
        r&rr&rrr$r$Zs������7����	�V����3����#��
�	�

�V����#����3��
�	�	!��
�E��	�	�D��Grr$c��\sQsQs\Q
Q5s\QQQ5\QQQ5\Q2\Q	2,s,sQ
s\Q*s	Ps
QsP!)�TestHelpUsageLongProgiyr+r�r�r!rlr�rmrzz        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
        r&�<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPrr&rrr)r)ys`����)���D�#���D�#���C���C��	��!#��
�E��
�
�D��Grr)c��\sQsQs\Q
Q5s\QQQ5\QQQ5\QQQ5\QQQ5\Q2\Q	2,s,sQ
s\Q*s	Ps
QsP!)� TestHelpUsageLongProgOptionsWrapi�r+r�r!rlr�r~rmra        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
        r&r*�WWWWWWWWWWWWWWWWWWWWWWWWWr�YYYYYYYYYYYYYYYYYYYYYYYYY�ZZZZZZZZZZZZZZZZZZZZZZZZZrr&rrr,r,�st����)���D�(�#��D�(�#��D�(�#��D�(�#��C���C��
��!#��
�E����D��Grr,c�x�\sQsQs\QP
Q5s\Q2\Q2\Q	2,s,sQs\Q*s	Ps
QsP!)
�$TestHelpUsageLongProgPositionalsWrapi�r%z�        usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
               aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
               ccccccccccccccccccccccccc
        ��
        positional arguments:
          aaaaaaaaaaaaaaaaaaaaaaaaa
          bbbbbbbbbbbbbbbbbbbbbbbbb
          ccccccccccccccccccccccccc
        r&r*�aaaaaaaaaaaaaaaaaaaaaaaaa�bbbbbbbbbbbbbbbbbbbbbbbbb�cccccccccccccccccccccccccrr&rrr1r1�sU����5�9���H�
��H�
��H�
���
!#��
�E�
���D��Grr1c	��\sQsQs\QQ5s\QQQ5\QQQ5\QQQ5\QQQ5\Q	2\Q
2\Q2,s,sQs\Q
*s	Ps
QsP!)�TestHelpUsageOptionalsWrapi�r�r+r�r!rlr�r~rmrrz�        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
        r&r-rr.r/rr&rrr7r7�s{����'���D�(�#��D�(�#��D�(�#��D�(�#��C���C���C����!#��
�E��
�
�D��Grr7c��\sQsQs\QQ5s\Q2\Q2\Q2\Q
2\Q2\Q2,s,sQs\Q*s	Ps
Q	sP!)
�TestHelpUsagePositionalsWrapi�r�r+rlr�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
        r&r3r4r5rr&rrr9r9�sh����'���D�	��D�	��D�	��H�
��H�
��H�
�
��!#��
�E�
���D��Grr9c��\sQsQs\QQ5s\QQQ5\QQQ5\QQ
Q5\Q2\Q2\Q2,s,sQs\Q	*s	Ps
Q
sP!)�%TestHelpUsageOptionalsPositionalsWrapir�r+rlr!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
        r&rr.r/r3r4r5rr&rrr;r;sq����'���D�(�#��D�(�#��D�(�#��H�
��H�
��H�
�
��!#��
�E����D��Grr;c��\sQsQs\QQ5s\QQQ5\QQQ5\QQ
Q5,s,sQs\Q	*s	Ps
Q
sP!)�TestHelpUsageOptionalsOnlyWrapi?r�r+rlr!r�r~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
        r&rr.r/rr&rrr=r=?s\����'���D�(�#��D�(�#��D�(�#���
!#��
�E�
���D��Grr=c�x�\sQsQs\QP
Q5s\Q2\Q2\Q	2,s,sQs\Q*s	Ps
QsP!)
� TestHelpUsagePositionalsOnlyWrapiYr�r%z~        usage: PROG aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb
                    ccccccccccccccccccccccccc
        r2r&r3r4r5rr&rrr?r?YsU�����7���H�
��H�
��H�
���
!#��
�E����D��Grr?c��\sQsQs\QQ5s\QQQQ5\QQ	Q
Q5\QQQ
Q5\QQQQ5\QQQQ5\QQQQ5\QQQQ5\QQQQ5\QQQQ5\Q Q!Q"Q5\Q#Q$Q%Q5\Q&Q'Q(Q5\Q)Q*Q+Q5\Q,Q-Q.Q5\Q/Q0Q1Q5\Q2Q3Q4Q5,sQ5s\Q6*sPs	Q7s
P!)8�&TestHelpUsageMetavarsSpacesParenthesesiqr�r+z-n1z()�n1rz-o1z(1, 2)�o1z-u1z (uu) �u1z-v1z( vv )�v1z-w1z(w)w�w1z-x1zx(x)�x1z-y1zyy)�y1z-z1z(zz�z1z-n2z[]�n2z-o2z[1, 2]�o2z-u2z [uu] �u2z-v2z[ vv ]�v2z-w2z[w]w�w2z-x2zx[x]�x2z-y2zyy]�y2z-z2z[zz�z2z�        usage: PROG [-h] [-n1 ()] [-o1 (1, 2)] [-u1  (uu) ] [-v1 ( vv )] [-w1 (w)w]
                    [-x1 x(x)] [-y1 yy)] [-z1 (zz] [-n2 []] [-o2 [1, 2]] [-u2  [uu] ]
                    [-v2 [ vv ]] [-w2 [w]w] [-x2 x[x]] [-y2 yy]] [-z2 [zz]
        a�
        options:
          -h, --help  show this help message and exit
          -n1 ()      n1
          -o1 (1, 2)  o1
          -u1  (uu)   u1
          -v1 ( vv )  v1
          -w1 (w)w    w1
          -x1 x(x)    x1
          -y1 yy)     y1
          -z1 (zz     z1
          -n2 []      n2
          -o2 [1, 2]  o2
          -u2  [uu]   u2
          -v2 [ vv ]  v2
          -w2 [w]w    w2
          -x2 x[x]    x2
          -y2 yy]     y2
          -z2 [zz     z2
        r&r"r&rrrArAqs�����'���E�4�d�+��E�8�$�/��E�8�$�/��E�8�$�/��E�6��-��E�6��-��E�5�t�,��E�5�t�,��E�4�d�+��E�8�$�/��E�8�$�/��E�8�$�/��E�6��-��E�6��-��E�5�t�,��E�5�t�,�!��&
�E�
���D�*�GrrAc�F`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�TestHelpUsageNoWhitespaceCrashi�c�&�[OQQ5oUO2oUOQ[OQ5UOQ2[
OQ2oUOUO2U2P!)r�r+rr>z--eggs-eggs-eggs-eggs-eggs-eggszu        usage: PROG [-h]
                    [--eggs-eggs-eggs-eggs-eggs-eggs EGGS_EGGS_EGGS_EGGS_EGGS_EGGS]
        )	r9r:r�rr[rdrer�r��rr@�mutexr�s&   r�.test_all_suppressed_mutex_followed_by_long_arg�MTestHelpUsageNoWhitespaceCrash.test_all_suppressed_mutex_followed_by_long_arg�sx���(�(�f�5���3�3�5��
���8�(�*;�*;��<����=�>����!�
��	
����,�,�.��6rc��,Q
No[OQ2oUOQQQQQ5UOQQQ	Q
OU2Q5[O
Q2oUO
UO2U2P!)�123456�11111111111111r�r�zverbose moderxr�targetszinstallation targetsrr(�r�r~r�z�        usage: 11111111111111 [-h] [-v]
                              123456
        12345
        12345
        123 [123456
        12345
        12345
        123 ...]
        )rZ�12345r^r�)r9r:rr�rdrer�r�)r�mappingr@r�s&   r�test_newline_in_metavar�6TestHelpUsageNoWhitespaceCrash.test_newline_in_metavar�s���5���(�(�)9�:�����D�+�!/��	�	F����I�!7�"%�$(�I�I�g�$6�	�	8����	!�	
��	
����,�,�.��6rc���[OQQ5oUOQPP	Q5UOQQQ5QoUOUO	2U2P!)r�r+z--nil)r�r(z--ar!zqusage: PROG [-h] --nil 
            [--a AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
�FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)r9r:rr�r�)rr@r�s&  r�test_empty_metavar_required_arg�>TestHelpUsageNoWhitespaceCrash.test_empty_metavar_required_arg�s_���(�(�f�5�����G�R�$��?����E�8��4�
)�	�
	
����,�,�.��6rc�*�[OQQ5oUO2oUOQQQQ[OQ5UOQQQQ[OQ5QoUOUO
2U2P!)	r�r+z--param1r{ry�NAME)r~r}r�r�z--param2r�)r9r:r�rr[r�r�rUs&   r�-test_all_suppressed_mutex_with_optional_nargs�LTestHelpUsageNoWhitespaceCrash.test_all_suppressed_mutex_with_optional_nargs�s����(�(�f�5���3�3�5��
�����Y��X�=N�=N�	�	P�	�����Y��X�=N�=N�	�	P�%������,�,�.��6rc���[OQQ5oUO2oUOQQQQ5UOQQQQ5UOQQQ	5UOQ
QQQ5UOQQQ	5UOQ
]Q	5UOQQ]Q5[O
Q2oUO
UO2U2P!)r�r+z--op1�METr{)r�r~z--op2rz--op3r�z--op4rz--op5z--op6z--op7z�        usage: PROG [-h] [--op1 [MET] | --op2 [MET1 [MET2 ...]] | --op3 [OP3 ...] |
                    --op4 MET1 [MET2 ...] | --op5 OP5 [OP5 ...] | --op6 OP6 OP6 OP6 |
                    --op7 MET1 MET2 MET3]
        )�MET1�MET2)rlrm�MET3�r9r:r�rrdrer�r��rr@r�r�s&   r�test_long_mutex_groups_wrap�:TestHelpUsageNoWhitespaceCrash.test_long_mutex_groups_wrap�s����(�(�f�5���/�/�1��	���w��S��9�	���w�(8���D�	���w�c��*�	���w�(8���D�	���w�c��*�	���w�a��(�	���w�(@���J����!�
��
	
����,�,�.��6rc��[OQQ5oUO2oUOQQQQ5UOQQQQ5UOQQ	Q
Q5UOQQ
Q
Q5UOQQ
Q5[O
Q2oUO
UO2U2P!)r�r+r�r�rxryr�r�rlz--extra-long-option-namer{r�r�z--yet-another-long-optionr z�        usage: PROG [-h]
                    [-v | -q | -x [EXTRA_LONG_OPTION_NAME] |
                    -y [YET_ANOTHER_LONG_OPTION] | positional]
        rorps&   r�7test_mutex_groups_with_mixed_optionals_positionals_wrap�VTestHelpUsageNoWhitespaceCrash.test_mutex_groups_with_mixed_optionals_positionals_wrap�s����(�(�f�5���/�/�1��	���t�[���>�	���t�Y�|��<�	���t�7�s��C�	���t�8���D�	���|�3��/����!�
��
	
����,�,�.��6rr&)r)r*r+r,rWr`rdrhrqrtr-r.rQs@rrSrS�s(����7�7�,
7�7�7�$7�7rrSc�
�\sQsQs\QQ5s\Q\QQ5\QQ]*Q	Q
Q5\Q,Q#NQ
Q5\QQ]],QQQ5\QQQ5\QQQQ5,s\Q2\QQQ5\QPQQ5,1,sQ s	\	Q!*s
PsQ"sP!)$�TestHelpVariableExpansioni
r�r+rlz"x %(prog)s %(default)s %(type)s %%r�r�r{�XXXz y %(prog)s %(default)s %(const)s)rzryr}r�rvz$foo %(prog)s %(default)s %(choices)sr�r�r|�BBBz!bar %(prog)s %(default)s %(dest)s)ryrr�r�rzspam %(prog)s %(default)sr>r�rRzbadger %(prog)s %(default)s�ryr�r*rwza %(prog)s %(default)sr�zb %(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
        r&r)
r)r*r+r,r�r r�r#r�r�r�rcr-r&rrrwrw
s�����'���D�s�5�	7��D���%�3�	5��G�_�7�	9��G�U�Q��F�E�4�	6��F�4�5��H�c�(E�F���

�W����3�4���b�'?�@�
�	�!���E����D�"�Grrwc�N�\sQsQs\QQQ5s,s,sQs\Q*s	Ps
QsP!)�&TestHelpVariableExpansionUsageSuppliedi8r�z%(prog)s FOO�r�r�z         usage: PROG FOO
        rOr&rr&rrr|r|8s<����n�=���� "���E����D�
�Grr|c�@�\sQsQs\QP
Q5s,s,sQs\s	Ps
QsP!)�$TestHelpVariableExpansionNoArgumentsiIr�r%z        usage: PROG
        r&rr&rrrrIs0�����7���� "���E��D��Grrc�x�\sQsQs\Q\OQ5s\QQQ5\QQQ5,s,s	Q	s
PsPsQ
s
P!)�TestHelpSuppressUsageiVr�r}rvr�r>r�	spam helpz�        positional arguments:
          spam        spam help

        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        r&)r)r*r+r,r�r9r[r r#r�r�r�rcr-r&rrr�r�VsN����h�.?�.?�@���G�*�%��F��%���!#���D�
�E��Grr�c��\sQsQs\QP
Q5s\Q\OQ5\QQQ5,s,s	Qs
\
Q	*sPsQ
s
P!)�TestHelpSuppressOptionalikr�r%rvr>rr�z!        usage: PROG spam
        zA
        positional arguments:
          spam  spam help
        r&�r)r*r+r,r�r r9r[r#r�r�r�rcr-r&rrr�r�ksZ�����7���G�(�+�+�,��F��%���!#��
�E����D�
�Grr�c��\sQsQs\QQ5s\QQQ5\QQQ5,s\Q	2\Q
\OQ5,1,s	Qs
\
Q*sPsQ
s
P!)�TestHelpSuppressOptionalGroupir�r+rvr�r>rr�r*r��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
        r&)r)r*r+r,r�r r#r9r[r�r�r�rcr-r&rrr�r�sp����'���G�*�%��F��%���


�W���G�(�*;�*;�<�=�>�!��
�E����D��Grr�c��\sQsQs\QQ5s\QQQ5\Q\OQ5,s,s	Qs
\
Q	*sPsQ
s
P!)�TestHelpSuppressPositionali�r�r+rvr�r>rz-        usage: PROG [-h] [--foo FOO]
        �o
        options:
          -h, --help  show this help message and exit
          --foo FOO   foo help
        r&r�r&rrr�r��sX����'���G�*�%��F��*�*�+���!#��
�E����D��Grr�c�`�\sQsQs\QQ5s\QP	QQ5,s,sQs\Q*s	Ps
Q	sP!)
�TestHelpRequiredOptionali�r�r+rvr��r(r�z+        usage: PROG [-h] --foo FOO
        r�r&rr&rrr�r��sJ����'���G�d��4���!#��
�E����D��Grr�c�x�\sQsQs\QQP
Q5s\QQQQ5\Q	Q
QQ5,s,sQ
s\Q*s	Ps
QsP!)�TestHelpAlternatePrefixCharsi�r�z^;)r�r�r�z^^foorxr�r�z;bz;;barr�r>z-        usage: PROG [^^foo] [;b BAR]
        z^
        options:
          ^^foo          foo help
          ;b, ;;bar BAR  bar help
        r&rr&rrr�r��sZ����T�E�J���G�L�z�:��D�'�
�+���!#��
�E����D��Grr�c�r�\sQsQs\QP
Q5s\QQQ5\QQQ5,s,sQ	s\Q
*s	Ps
QsP!)�TestHelpNoHelpOptionali�r�r%rvr�r>rr�z-        usage: PROG [--foo FOO] spam
        zv
        positional arguments:
          spam       spam help

        options:
          --foo FOO  foo help
        r&rr&rrr�r��sT�����7���G�*�%��F��%���!#��
�E����D��Grr�c�h�\sQsQs\QQ5s\Q2\Q2,s,sQs\Q*s	Ps
QsP!)	�TestHelpNonei�r�r+rvrr�z�
        positional arguments:
          spam

        options:
          -h, --help  show this help message and exit
          --foo FOO
        r&rr&rrr�r��sL����'���G���F����!#��
�E����D��Grr�c
��\sQsQs\QQ5s\QQQQQ5\QQ	Q
QQ5\QQ]QQ5\Q
QQQQ5,s,sQs\Q*s	Ps
QsP!)�TestHelpTupleMetavarOptionalir�r+r�r�rr]rlrorr�r�r~r�r{z]        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
        r&��W1�W2��X1�X2��Y1�Y2�Y3��Z1rr&rrr�r�sw����'���D�s�#�|�<��D�s�#�|�<��D�s�!�-?�@��D�s�#�x�8�	��!#��
�E����D��Grr�c
��\sQsQs\QQ5s\QQQQQ5\QQ	Q
QQ5\QQ]QQ5\Q
QQQQ5,s,sQs\Q*s	Ps
QsP!)�TestHelpTupleMetavarPositionali!r�r+r�r�rr]ror�rr�r�r�r�r{zI        usage: PROG [-h] W1 [W2 ...] [X1 [X2 ...]] Y1 Y2 Y3 [Z1]
        z�
        positional arguments:
          W1 W2       w help
          X1 X2       x help
          Y1 Y2 Y3    y help
          Z1          z help

        options:
          -h, --help  show this help message and exit
        r&r�r�r�r�rr&rrr�r�!sw����'���C�h�c�<�@��C�h�c�<�@��C�h�a�1C�D��C�h�c�7�;�	��!#��
�E��
�
�D��Grr�c��\sQsQs\Q\OQQ5s\QQQ5\QQ	Q5,s\Q
QQ5\Q
QQ5,1,s	Qs
\
Q*sPsQs
P!)�TestHelpRawTexti=r��7Keep the formatting
    exactly as it is written

here
�r��formatter_classr�rvz-    foo help should also
appear as given herer>rr�r��?    This text
  should be indented
    exactly like it is here
r�r�r��>        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
        r&)r)r*r+r,r�r9�RawTextHelpFormatterr r#r�r�r�rcr-r&rrr�r�=s����
�X�%B�%B����	�G�1�	2��F��%���

�W�#B�
C��g�J�
'�	(�	*�!��
�E����D�,�Grr�c��\sQsQs\Q\OQQ5s\QQQ5\QQ	Q5,s\Q
QQ5\Q
QQ5,1,s	Qs
\
Q*sPsQs
P!)�TestHelpRawDescriptioninr�r�r�rvz4  foo help should not
    retain this odd formattingr>rr�r�r�r�r�r�r�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 not retain this odd formatting

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

          --bar BAR   bar help
        r&)r)r*r+r,r�r9�RawDescriptionHelpFormatterr r#r�r�r�rcr-r&rrr�r�ns����
�X�%I�%I����	�G�;�	<��F��%���

�W�#B�
C��g�J�
'�	(�	*�!��
�E����D�*�Grr�c�n�\sQsQs\Q\OQQ5s\QQQ5\QQ	Q
Q5\QP	Q
Q5\Q\OQP	Q5\Q\OQ\OQ5\QQ]*Q5\QQQ5\QQQQQ5,s
\QQQ5\Q \]*Q!Q"5,1,sQ#s
\
Q$*sPsQ%sP!)&�TestHelpArgumentDefaultsi�r�r�r�rvz)foo help - oh and by the way, %(default)sr>r�rxr�r�z
--requiredz	some helpr�z--tazzWhether to taz it)rzr�ryz--corgezWhether to corge itrXzSet the quux)r�ryrr�r�r{�woodenzbadger help�r~ryr�r�r�r�r3�rxryr�z�        usage: PROG [-h] [--foo FOO] [--bar] --required REQUIRED [--taz | --no-taz]
                    [--corge | --no-corge] [--quux QUUX] [--baz BAZ]
                    spam [badger]
        a�
        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)
          --required REQUIRED  some help
          --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)
        r&)r)r*r+r,r�r9�ArgumentDefaultsHelpFormatterr rBr[r#r�r�r�r�rcr-r&rrr�r��s����
�X�%K�%K�!�#��
	�G�E�F��G�L�z�:��L�4�k�:��G�H�:�:�$�d�	4��I�h�<�<�&��0A�0A�	C��H�>�2�6��F��%��H�C��
�F���

�W�-�	0�

�g�C��*�
=�	>�	@�!��
�E�
���D�,�Grr�c�d�\sQsQs\QQQ5s\QQQQQ	5,s,sQ
s\Q*s	Ps
QsP!)
�TestHelpVersionActioni�r�r�r9�-Vrbrcz3.6rez&        usage: PROG [-h] [-V]
        z�
        description

        options:
          -h, --help     show this help message and exit
          -V, --version  show program's version number and exit
        r&rr&rrr�r��sJ����M�B���t�[��E�R�S�� "��
�E����D��Grr�c��\sQsQs\QQ5s\QQQQ\OQ5\Q	Q
Q5\QQ
Q5,s,s	Qs
\
Q*sQsP!)�TestHelpVersionActionSuppressi�r�r+r�rbrcrd)rzrcr�rvr�r>rr�r�r�r&)
r)r*r+r,r�r r9r[r#r�r�r�r-r&rrr�r��sd����'���D�+�i���"�"�	$��G�*�%��F��%�	��!#��
�E����Drr�c��\sQsQs\QQQ5s\QQQQQ	5,sQTt,tFDo[	UQ
5MJ	tosQs\Q*s	Q
s
QsP!ttoh)�TestHelpSubparsersOrderingi�r��display some subcommandsr9r�rbrcr�rer��6        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
        r�r&)rmrrrr)r)r*r+r,r�r r#r�r�r�rcr-r�s0rr�r��ss����'A�C���t�[��E�R�S��*C�D�)B��!�d�^�)B�D��
�E��
�
�D��G��'Ds�A
r�c
��\sQsQs\QQQ5s\QQQQQ	5,sQs\TTt,tFDvq[	VQ
5MJ	toosQs	\	Q*s
Q
sQsP!ttooh)�"TestHelpSubparsersWithHelpOrderingir�r�r9r�rbrcr�re�r�r�r�a�
        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
        r�r&))rmza subcommand help)rzb subcommand help)rzc subcommand help)rzd subcommand help)rze subcommand help)
r)r*r+r,r�r r#�subcommand_datar�r�r�rcr-r�s00rr�r�s|����'A�C���t�[��E�R�S���O�0?�@�/>���!�d�6�/>�@��
�E����D�"�G��1@s�Ar�c�`�\sQsQsnQs\QQ\OQ5s\Q\	Q5\Q\Q5\Q	\
Q
Q5,s,sQs
\
Q
*sPsQsUsP!)�TestHelpMetavarTypeFormatteriGc��U!r�r&r=s&r�custom_type�(TestHelpMetavarTypeFormatter.custom_typeIs���
rr�r�)r�r�r�rmrPr�r�z
SOME FLOAT)rxr�zF        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
        r&)r)r*r+r,r�r�r9�MetavarTypeHelpFormatterr r�rTr#r�r�r�rcr-r.rQs@rr�r�Gsu�������M�+3�+L�+L�N���s��-��t�+�6��t�%��F�H��!#��
�E����D��Grr�c�>`�\sQsQsnPsQsQsQsQsQs	Us
P!)�TestHelpCustomHelpFormatteridc��Qo[OQQUQ5oUOQQQQ5UOQQ	Q5UO2oUO	U[
OQ
22P!)c�4�[OU]Q5!��)�indent_increment�r9r�r+s&r�custom_formatter�TTestHelpCustomHelpFormatter.test_custom_formatter_function.<locals>.custom_formatteri����0�0���J�Jrr�rB�r�r�r�r�r[r�r>rr���            usage: PROG [-h] [+f FOO] spam

            positional arguments:
                 spam           spam help

            options:
                 -h, --help     show this help message and exit
                 +f, ++foo FOO  foo help
        )r9r:rr�r�rdre)rr�r@r�s&   r�test_custom_formatter_function�:TestHelpCustomHelpFormatter.test_custom_formatter_functionhs{��	K��(�(��!� 0�
��
	���D�'�
��;����F���5��(�(�*������h�o�o�	7�	'
�		rc�&�QQ[O2o[OQQUQ5oUOQQQQ5UOQ	Q
Q5UO	2oUOU[OQ22P!)c�4``�\sQsQsnU1QksQsUsU9s!)�PTestHelpCustomHelpFormatter.test_custom_formatter_class.<locals>.CustomFormatteri�c�,:�[RU_U]Q5P!r��rr�rr�rs&&�rr�YTestHelpCustomHelpFormatter.test_custom_formatter_class.<locals>.CustomFormatter.__init__������� ��� �:rr&�r)r*r+r,rr-r.r/r0s@@r�CustomFormatterr�������
;�
;rr�r�rBr�r�r[r�r>rr�r�)r9r�r:rr�r�rdre)rr�r@r�s&   r�test_custom_formatter_class�7TestHelpCustomHelpFormatter.test_custom_formatter_class�s���	;�h�;�;�	;��(�(��!� /�
��
	���D�'�
��;����F���5��(�(�*������h�o�o�	7�	'
�		rc�D�Qo[OQUQ5oUOQQQQ5oUOQQQ	5UOQ
QQ	5UOQQ
Q	5UO	2oUOU[OQ22P!)c�4�[OU]2Q5!)�2)�max_help_positionr�r+s&rr��WTestHelpCustomHelpFormatter.test_usage_long_subparser_command.<locals>.custom_formatter�s���0�0���L�Lrr�)r�r�r��CMDzcommand to use)r�r�r�r�z
add somethingr>�removezremove somethingza-very-long-commandzcommand that does somethinga}            usage: PROG [-h] CMD ...

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

            commands:
              CMD                    command to use
                add                  add something
                remove               remove something
                a-very-long-command  command that does something
        )r9r:r�r�r�r�rdre)rr��
parent_parser�cmd_subparsersr�s&    r�!test_usage_long_subparser_command�=TestHelpCustomHelpFormatter.test_usage_long_subparser_command�s���	M�!�/�/�� 0�
�
�
'�5�5�J�>C�;K�6�M��	�!�!�%�'6�	"�	8�	�!�!�(�'9�	"�	;�	�!�!�"7�'D�	"�	F�$�/�/�1������h�o�o�7�'
�	rc��[OQQ5oUOP,,Q5UO2oUO	UQ2P!)�programr+)r��actions�groupszusage: program
)r9�
HelpFormatter�	add_usager�r�)r�	formatter�	help_texts&  r�#test_direct_formatter_instantiation�?TestHelpCustomHelpFormatter.test_direct_formatter_instantiation�sF���*�*�	�:�	����$��2��>��)�)�+�	�����$6�7rr&)r)r*r+r,rqr�r�r�r�r-r.rQs@rr�r�ds$�����G��0�2"�H8�8rr�c�`�\sQsQsnQP-QksQP-QksQsQsQsQs	Q	s
Q
sQsQs
Q
sQsQsQsQsQsQsQsQsUsP!)�TestInvalidArgumentConstructorsi��errmsgc�~�[O2oUO[VO,UN3-U@P!r�)r9r:rbrIr�rr�r�r�r@s&$*, r�assertTypeError�/TestInvalidArgumentConstructors.assertTypeError�s8���(�(�*�����y�&�2E�2E�	0� $�	0�(.�	0rc�~�[O2oUO[VO,UN3-U@P!r�)r9r:rbrKrr�s&$*, r�assertValueError�0TestInvalidArgumentConstructors.assertValueError�s8���(�(�*�����z�6�3F�3F�	0� $�	0�(.�	0rc��UOQPQ5UOQQQ5UOQQQ5UOQ-Q5P!)rl)rzr�r6)�callback)�
callback_args)�callback_kwargsr&�rr$s&r�test_invalid_keyword_arguments�>TestInvalidArgumentConstructors.test_invalid_keyword_arguments�sN�����T�t��,����T�E��2����T���4����T�2��6rc	���UO2QFD8oUOUQ59^tt^2UOUQ5PPP2J:	P!)%fhJO9h)r-ry�r-rsr1)rrK�rrzs& r�test_missing_destination�8TestInvalidArgumentConstructors.test_missing_destination�sL������3�F����V��,�,��$�$�F�$�3�-�,�4�,�,�,�s�A	�A$
�A$
c��UOQQQ5UOQQQ5UOQQQ5UOQQQQQ5P!)rCzdest= is required�r�r�z---z3dest= is required for options like '-', '--', '---'r	r$s&r�test_invalid_option_strings�;TestInvalidArgumentConstructors.test_invalid_option_strings�s[�����S�)<��=����T�*=��>����U�+>��?����S�$��L�	�	Nrc�0�UOQQQQ5P!)rvrizmust start with a characterr�rr$s&r�test_invalid_prefix�3TestInvalidArgumentConstructors.test_invalid_prefix�s�����g�v�%B�	�	Drc�l�UOQQQQ5UOQ[[1QQ5P!)rvr�z'int' is not callable)rxr�zis not callable)rr�rTr$s&rr��1TestInvalidArgumentConstructors.test_invalid_type�s:�����W�5�$;�	�	=����W�C��<�$5�	�	7rc��UOQQQQ5UOQQQQ5UOQQQQ5UOQQQQ5P!)rlr6zunknown action�rzr�r|rvz
store-true)r-rsrr$s&r�test_invalid_action�3TestInvalidArgumentConstructors.test_invalid_action�sk�����d�5�%5�	�	7����e�E�%5�	�	7����g�.A�%5�	�	7����g�l�%5�	�	7rc��UOQQQQ5UOQQQQ5UOQQQQ5P!)rvrOrH)r�r�rPrQrr$s&r�test_invalid_help�1TestInvalidArgumentConstructors.test_invalid_help�sS�����g�J�%?�	�	A����g�J�%?�	�	A����g�J�%?�	�	Arc�8�[O2oUOQQ5UO[29^tt^2oUOQQQ5PPP2UOQ[
WO22P!)%fhK79h)r6r�rzr|zBdest supplied twice for positional argument, did you mean metavar?)r9r:rr�rIrCr^rDrEs&  r�test_multiple_dest�2TestInvalidArgumentConstructors.test_multiple_destsr���(�(�*�������'�
�
�
�y�
)�
)�R�����E��2�*��
�
�/��"�,�,�'�	)�*�
)�s�B	�	B	�B	c
�2�QFD�oUOUQ59^tt^2[[Q5[QQ5[QQ,Q51FDPoUOUQ59^tt^2UOQQ
U-U@UOQQ
U-U@PPP2JR	UO	QUQUQ
0Q5UOQ	U]Q5UO	QU]QQ5PPP2J�	P!)%fhJ�9h)%fhCJ9h)r{ryrPrr�rmrr!)�attrsrlrzrozaction 'z'' is not valid for positional argumentsrr.�"nargs for positionals must be != 0)rzr~r�)r{rxr5r�r�)rlrn)rKr�r�rr)rrzr&s&  r�test_no_argument_actions�8TestInvalidArgumentConstructors.test_no_argument_actionss��0�F����V��,�,�"��n�d��o�"�C��:�6�8�E����E��2�2��,�,�J�&�J�E�J��,�,�I��I�5�I�3�2�8�
�%�%�c�&�%�f�X�-T�U�&�W��$�$�T�&��$�B��%�%�c�&��?�&�A�-�,�0�
3�2�2��-�,�,�s1�AD	�*+C0�A
D	�0D�9D�;	D	�D
�
D
c
���QFDNoUOUQ59^tt^2UOQQUQ5UOQQUQ5PPP2JP	P!)%fhJe9h)rxryrlr6rArr9)rxr5r��rKrrs& r�!test_no_argument_no_const_actions�ATestInvalidArgumentConstructors.test_no_argument_no_const_actionss[��<�F����V��,�,��$�$�T��v�$�F��$�$�T��V�$�D�-�,�=�,�,�,�s�)A	�A*
�"A*
c
�`�QFD�oUOUQ59^tt^2UQ6XcQLSoUOQ]UQUQ0Q5UOQ]UQ	Q5Q
FD+oUOQQ
V1Q5UOQQ
V1Q5J-	PPP2J�	P!)%fhJ�9h)r-rsr1ryrlz
nargs for z actions must be != 0)r~rzr�rr'r6)r}r~rzr
)rrr)rKr)rrz�action_namer~s&   r�#test_more_than_one_argument_actions�CTestInvalidArgumentConstructors.test_more_than_one_argument_actions%s���3�F����V��,�,�*0�H�*<�h�&���%�%�d�!�F�'��}�4I�J�&�L��%�%�f�A�f�?�&�A�+�E��)�)�$�e�05�*�F��)�)�&��05�*�F�+�-�,�4�,�,�,�s�B	�A$B	�B-
�%B-
c
��QFD:oUOUQ59^tt^2UOQQUQ5PPP2J<	P!)%fhJQ9h)r{ryrlrr9)r{r�r+rs& r�test_required_const_actions�;TestInvalidArgumentConstructors.test_required_const_actions6sD��5�F����V��,�,��$�$�T��V�$�D�-�,�6�,�,�,�s�A	�A
�A
c��UOQQQ5UOQQQQ5UOQQ[OQ5P!)r�parsersryr�)rzr�)rzr!)rr9r:r$s&r�"test_parsers_action_missing_params�BTestInvalidArgumentConstructors.test_parsers_action_missing_params<sK�����Y�y��9����Y�y�v��F����Y�y�*2�*A�*A�	�	Crc�.�UOQQQ5P!)rrcryr	r$s&r�test_version_missing_params�;TestInvalidArgumentConstructors.test_version_missing_paramsBs�����Y�y��9rc�.�UOQP	Q5P!)r6r�r	r$s&r�test_required_positional�8TestInvalidArgumentConstructors.test_required_positionalEs�����U�T��2rc	�`�QQ[2nU1QkQ[2o[O2oUO	RUO
QURRQ5UO	RUO
QURRQ5P!)c��\sQsQsQsP!)�ITestInvalidArgumentConstructors.test_user_defined_action.<locals>.SuccessiJr&r�r&rr�SuccessrAJr�rrBc�::`�\sQsQsnQU1QkksQsQsUsP!)�HTestInvalidArgumentConstructors.test_user_defined_action.<locals>.ActioniMc�F:�UQ6XcURIcURIcR2gP!P!P!r$r&)r�option_stringsr�r}ryr(rBs&&&&&&�rr�QTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Action.__init__Os2����6�>���'�"�g�-�")�)�O�.�(�"rc��P!r�r&r�s&*,rrQ�QTestInvalidArgumentConstructors.test_user_defined_action.<locals>.Action.__call__Zs��rr&�F)r)r*r+r,rrQr-r.)r1rBs@�rr^rDMs����	
,�
�
rr^r)rzryr}r)r�rdr9r:r�r)rr^r@rBs&  @r�test_user_defined_action�8TestInvalidArgumentConstructors.test_user_defined_actionHsy���	�i�	�	�V�	� �(�(�*�����'�6�#6�#6��!'���	�	I����'�6�#6�#6��!'���	�	Irr&)r)r*r+r,rrr
rrrr�rr r#r(r,r0r3r7r:r=rKr-r.rQs@rr�r��s|����0�D�0�
0�T�0�
7�4�N�D�7�7�A�)�
A�E�F�"E�C�:�3�I�Irr�c�.`�\sQsQsnQsQsQsUsP!)�TestActionsReturnedigc�D�[O2oUOQ2oUOUOQ2UOQQ2oUOUOQ2UOQQ2oUOUOQ2P!)rvr6r�r�rzrlr�ro)r9r:rr�r�r�s&  rr�TestActionsReturned.test_destis����(�(�*���$�$�W�-��������e�,��$�$�T�7�3��������e�,��$�$�T�4�0��������c�*rc�>�[O2oUOQQ]*]T[]],QQQQ5	oUO	UO
Q2UO	UO]*2UO	UO]T2UO	UO[2UO	UO]],2UO	UOQ2UO	UOQ2UO	UOQ2P!)rvr{rT�BARr|)r~r}ryrxrr�r�r�)
r9r:rr�r�r~r}ryrxrr�r�r�r�s&  r�	test_misc�TestActionsReturned.test_miscrs����(�(�*���$�$�W�C�r�-/�c�A�q�6�*/��U�%�L��	
������s�+�������r�*��������,�������c�*�������!�Q��0�������e�,��������/�������e�,rr&)r)r*r+r,rrSr-r.rQs@rrNrNgs����+�-�-rrNc�D`�\sQsQsnQsQs\Q2sQsQs	Us
P!)�TestConflictHandlingi�c�T�UO[[OQQ5P!)r6)�conflict_handler)r�rKr9r:r$s&r�
test_bad_type�"TestConflictHandling.test_bad_type�s"�����*�h�&=�&=�+0�	�	2rc�"�[O2oUOQ2UO[OUOQ2UOQ2UO[OUOQ2P!)rlr)r9r:rr�r�r?s& r�test_conflict_error�(TestConflictHandling.test_conflict_error�sn���(�(�*�����D�!����(�0�0� �-�-�t�	5����H�%����(�0�0� �-�-�x�	9rc��[OoUQQQ5oUOQQQ5UOQQQ5UOUO	2[
OQ22UOQQ	Q
5UOQQQ
5UOUO	2[
OQ22P!)
r��resolve)r�rXrlzOLD Xr>zNEW Xz�            usage: PROG [-h] [-x X]

            options:
              -h, --help  show this help message and exit
              -x X        NEW X
            r�OLD_SPAMr!�NEW_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
            )r9r:rr�r�rdre)rrr@s&  r�test_resolve_error�'TestConflictHandling.test_resolve_error�s����,�,�
���)�D�����D�w��/����D�w��/�����+�+�-�x���@�0�	�	���H�j��9����H�j��9�����+�+�-�x���@�0�	rc��[O2oUO2oUOQQ,Q5UO	[
QUOQ2UO	[
QUOQ2UO	[
QUOQQ,Q5UO	[
QUOQQ,Q5P!)�fullname�aliasrjzconflicting subparser: fullnamezconflicting subparser: aliasz%conflicting subparser alias: fullnamer�z"conflicting subparser alias: alias)r9r:r�r�rbrK)rr@�sps&  r�test_subparser_conflict�,TestConflictHandling.test_subparser_conflict�s����(�(�*��
�
"�
"�
$��
�
�
�j�7�)�
�4����z�@�!�}�}�j�	:�	
���z�=�!�}�}�g�	7�	
���z�F�!�}�}�g�
�|�	�	M�	
���z�C�!�}�}�g��y�	�	Jrr&)r)r*r+r,rYr\rrbrhr-r.rQs@rrVrV�s/����2�9�����2J�JrrVc�X`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
UsP!)�TestOptionalsHelpVersionActionsi�c� �UO[29^tt^2oUOUO22PPP2UO	UO2WOO2P!)%fhKF9hr�)r�r�rJrYr�r�rDr�)rr@rZrFs&&& r�assertPrintHelpExit�3TestOptionalsHelpVersionActions.assertPrintHelpExit�s\��
�
�
�2�
3�
3�r����h�n�n�.�/�4�����+�+�-�r�|�|�/B�/B�C�4�
3�s� A=�=B
	�B
	c�J�UO[UOU2P!r�)r�r�rJr�s&&*rr��9TestOptionalsHelpVersionActions.assertArgumentParserError�s�����-�v�/@�/@�$�Grc���[2oUOQQQQQ5UOUQ2UOUQ2UO[[
UQ2P!)r�rbrcrdrerDr��format_version�rrrmr�r�rr?s& r�test_version�,TestOptionalsHelpVersionActions.test_version�sV��+�-�����D�+�i���O�� � ���.�� � ���2����.�'�6�;K�Lrc�,�[QQ5oUOQQQQQ5UO[29^tt^2oUO	Q,2PPP2UOQWOO2P!)%fhK89h)�PPPr+r�rbrcz%(prog)s 3.5rezPPP 3.5
�rrr�r�rJr�rDr�rEs&  r�test_version_format�3TestOptionalsHelpVersionActions.test_version_format�so��+��7�����D�+�i���X�
�
�
�2�
3�
3�r����t�f�%�4�����b�l�l�&9�&9�:�4�
3�s�B�B	�B	c���[P
Q5oUOQQQQQ5UOUQ2UOUQ2UO[[
UQ	2P!)
Fr�r�rbrcrdrerDr�rr)rrr�r�r�rr?s& r�test_version_no_help�4TestOptionalsHelpVersionActions.test_version_no_help�sX��+�U�;�����D�+�i���O��&�&�v�t�4��&�&�v�x�8����.�'�6�;K�Lrc�*�[QQ5oUOQQQQ5UO[29^tt^2oUO	Q,2PPP2UOQWOO2P!)%fhK89h)rxr+r�rcz%(prog)s 3.7rezXXX 3.7
rxrEs&  r�test_version_action�3TestOptionalsHelpVersionActions.test_version_action�sm��+��7�����D��N��K�
�
�
�2�
3�
3�r����t�f�%�4�����b�l�l�&9�&9�:�4�
3�s�B�B	�B	c��[P
Q5oUOUQ2UOUQ2UOUQ2UOUQ2P!)Fr�rDr�r�rb)rr�r?s& r�test_no_help�,TestOptionalsHelpVersionActions.test_no_help�sL��+�U�;���&�&�v�t�4��&�&�v�x�8��&�&�v�t�4��&�&�v�{�;rc��[2oUOQQQ5UOQQQ5UOUQ2UOUQ2UOUQ2UO	[
[UQ2P!)rlr�ryr�rcr�rbrr)rrrmr�r�r�rr?s& r�test_alternate_help_version�;TestOptionalsHelpVersionActions.test_alternate_help_version�su��+�-�����D���0����D���3�� � ���.��&�&�v�t�4��&�&�v�{�;����.�'�6�;K�Lrc�~�[2oUOQQQQ5UOQQQ5UOQ2,QNoUQQ	,*oSFDcoSFDoU8Q
U80oJ	UOUWQ*2UOVQ*2UO[[
UQ
2Je	P!)rbrcrdrerlrxryr�z--bad-optionzfoo bar bazz %s rDr�rr)r'rlr6z-x barzbaz -xrs)rr@�valid_prefixes�valid_suffixes�prefix�suffixr�s&      r�!test_help_version_extra_arguments�ATestOptionalsHelpVersionActions.test_help_version_extra_arguments�s���+�-�����K�	�5��I����D���6����C� �?��'�>�=�*I�I��$�F�(��(.��7��)��$�$�V�V�d�]�;��$�$�V�h�->�?����n�g�v�?O�P�%rr&)r)r*r+r,rmr�rtryr|rr�r�r�r-r.rQs@rrkrk�s>����D�
H�M�;�M�;�<�M�Q�Qrrkc�R`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sUs
P!)�TestStringsic�`�[[1FDoUOUU2U2J	P!r�)r^r�r�)r�obj�
result_stringrEs&&& r�assertStringEqual�TestStrings.assertStringEquals$���$�K�D����T�#�Y�
�6� rc�t�[O,QNQQQ]*,Q	NP
QQQ5	oQoUOV2P!)
rvrr�r�HELP�METAVAR�	rFr�rxr~ryrr(r�r�z�Action(option_strings=['--foo', '-a', '-b'], dest='b', nargs='+', const=None, default=42, type='int', choices=[1, 2, 3], required=False, help='HELP', metavar='METAVAR', deprecated=False))rvrwr��rrX�)r9r^r�)r�optionr>s&  r�
test_optional�TestStrings.test_optionalsE�����0���������	��
3�	�
	
���v�.rc��[O,Q[QQ,QNP	QQQ5	oQ[*oUOV2P!)ror{rQzH HH HzMV MV MVr�z�Action(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', deprecated=False))rRg�?rQ)r9r^rTr�)r�argumentr>s&  r�
test_argument�TestStrings.test_argument*sO���?�?������#����	 ��
 �#(�
(�	�
	
���x�0rc�^�[O]*QQ5oQoUOV2P!)rZrr�zNamespace(foo=42, bar='spam')�r9r�r��rr�r>s&  r�test_namespace�TestStrings.test_namespace<s'��
�
�
�B�F�
3��0�����r�*rc�`�[OQ-QQ-@oQoUOV2P!)�"�quotezNamespace(**{'"': 'quote'})r&r�r�s&  r�'test_namespace_starkwargs_notidentifier�3TestStrings.test_namespace_starkwargs_notidentifierAs,��
�
�
�
1�3��.�
1��2�����r�*rc�d�[OQQ]-QQ-@oQoUOV2P!)rmr�r�z Namespace(a=1, **{'"': 'quote'})r&r�r�s&  r�2test_namespace_kwargs_and_starkwargs_notidentifier�>TestStrings.test_namespace_kwargs_and_starkwargs_notidentifierFs1��
�
�
�
6�!�
6��W�~�
6��7�����r�*rc�`�[OQ-QP	-@oQoUOV2P!)�validzNamespace(valid=True)r&r�r�s&  r�$test_namespace_starkwargs_identifier�0TestStrings.test_namespace_starkwargs_identifierKs,��
�
�
�
2�7�D�/�
2��(�����r�*rc��[OQQ5oQ[O*oUOV2P!)r�r+zvArgumentParser(prog='PROG', usage=None, description=None, formatter_class=%r, conflict_handler='error', add_help=True))r9r:r�r�)rr@r>s&  r�test_parser�TestStrings.test_parserPs:���(�(�f�5��
�'�5�5�
6�	�	
���v�.rr&)r)r*r+r,r�r�r�r�r�r�r�r�r-r.rQs@rr�r�s2����7�/�$1�$+�
+�
+�
+�
/�/rr�c�4`�\sQsQsnQsQsQsQsUsP!)�
TestNamespacei\c�
�[O2oUO[[UQ2[O]*QQ5oUOUO]*2UOUOQ2P!)rorr�)r9r�r�r�rr�rmrr�s& r�test_constructor�TestNamespace.test_constructor^s^��
�
�
�
!�����.�'�2�s�;�
�
�
�"��
/��������r�"�������v�&rc��[O]]Q5o[O]]Q5o[O]Q5o[O]Q5oUOV2UOV2UOV2UOV#2UOV$2UO	V6g2UO	V6g2UO	V#6g2UO	V$6g2P!)rr�)rrm)rmr�)r9r�r��assertNotEqual�
assertTrue)r�ns1r�r��ns4s&    r�
test_equality�TestNamespace.test_equalityfs���� � �1��*��� � �1��*��� � �1�%��� � �1�%������"����C�%����C�%����C�%����C�%�����
�#�����
�#�����
�#�����
�#rc���[O]]Q5oUOUOP2[2UOUOP2[2P!)rr�)r9r�r�r��NotImplemented�__ne__r�s& r�$test_equality_returns_notimplemented�2TestNamespace.test_equality_returns_notimplementedvs@��
�
�
�!�q�
)���
�
�b�i�i��o�~�6��
�
�b�i�i��o�~�6rr&)	r)r*r+r,r�r�r�r-r.rQs@rr�r�\s����'�$� 7�7rr�c�4`�\sQsQsnQsQsQsQsUsP!)�TestEncodingi�c���[OOU2vqUQ*
o[UQQQ59^tt^2oUO	2PPP2P!)%fhP!9h)�.pyr�rr�)r�r��splitextr�r�)rr�r>r�s&&  r�_test_module_encoding�"TestEncoding._test_module_encoding�sJ���'�'�"�"�4�(�����
��
�$��g�
.�
.�!�
�F�F�H�/�
.�
.�
.�s�A�A.	�&A.	c�F�UO[O2P!r�)r�r9r�r$s&r�test_argparse_module_encoding�*TestEncoding.test_argparse_module_encoding�s���"�"�8�#4�#4�5rc�2�UO[2P!r�)r�r�r$s&r�"test_test_argparse_module_encoding�/TestEncoding.test_test_argparse_module_encoding�s���"�"�8�,rr&)	r)r*r+r,r�r�r�r-r.rQs@rr�r��s�����6�-�-rr�c�(`�\sQsQsnQsQsUsP!)�TestArgumentErrori�c�p�Qo[OPU2oUO[U2U2P!)z
my error here)r9r�r�r^)rrWrs&  r�test_argument_error�%TestArgumentError.test_argument_error�s-�����&�&�t�S�1������U��S�)rr&)r)r*r+r,r�r-r.rQs@rr�r��s����*�*rr�c�2`�\sQsQsn\Q2sQsUsP!)�TestArgumentTypeErrori�c�0�Qo[QP
Q5oUOQUQ5UO[29^tt^2oUO	Q,2PPP2UOQWOO2P!)%fhK89h)c�0�[OQ2g)�spam!)r9�ArgumentTypeErrorr=s&rr�<TestArgumentTypeError.test_argument_type_error.<locals>.spam�s���,�,�W�5�5rr�r%rorPrxz-usage: PROG x
PROG: error: argument x: spam!
)rrr�r�rJr�rDr�)rrr@rFs&   r�test_argument_type_error�.TestArgumentTypeError.test_argument_type_error�sx��	6�,��%�H�����C�d��+�
�
�
�2�
3�
3�r����u�g�&�4����J����,�,�	.�4�
3�s�B�B	�B	r&)r)r*r+r,rr�r-r.rQs@rr�r��s�����
.��
.rr�c�4`�\sQsQsnQsQsQsQsUsP!)�TestMessageContentErrori�c�6�[QPQ5oUOQ[Q5UOQ[P	Q5UOQ[QQ5UO	[
29^tt^2oUO
,2PPP2[WO2oUOUQ2UOUQ	2UOUQ2UO	[
29^tt^2oUO
Q
,2PPP2[UO2oUOUQ2UOUQ	2UOUQ2UO	[
29^tt^2oUO
Q
Q,2PPP2[UO2oUOUQ2UOUQ	2UOUQ2P!)%fhCKe9h)%fhK�9h)%fhK�9h)r�r}�req_posrP�-req_optr'�need_oner)rxr~�req_opt�myXargumentz
-req_opt=1)
rrr^r�r�r�rJrDrMr��rr@rFrWs&   r�%test_missing_argument_name_in_message�=TestMessageContentError.test_missing_argument_name_in_message�s���+��r�B�����I�C��0����J�S�4��@����J�S���<�
�
�
�2�
3�
3�r����b�!�4��"�,�,�������i�(�����i�(�����j�)�
�
�
�2�
3�
3�r����}�o�.�4��"�,�,�������i�(�����i�(�����j�)�
�
�
�2�
3�
3�r����}�l�;�<�4��"�,�,�������i�(�����i�(�����j�)�#4�
3�
3��4�
3��4�
3�s6�3G!�5G5�8H�!G2	�*G2	�5H	�>H	�H	�H	c��[QPQ5oUOQ[Q5UOQ[P	Q5UOQ[QP	Q5UO[29^tt^2oUO,2PPP2[WO2oUOUQ2UOUQ	2UOUQ
2UO[29^tt^2oUOQ,2PPP2[UO2oUOUQ2UOUQ	2UOUQ
2P!)%fhK�9h)%fhKp9h)r�r}r�rPz	--req_optr'z	--opt_optr{)rxr~ryr��opt_optz--req_opt=1)rrr^r�ryr�r�rJrDrMr�r�s&   r�%test_optional_optional_not_in_message�=TestMessageContentError.test_optional_optional_not_in_message�s0��+��r�B�����I�C��0����K�c�D��A����K�d�#�$(�	�	*�
�
�
�2�
3�
3�r����b�!�4��"�,�,�������i�(�����i�(�����i�(�
�
�
�2�
3�
3�r����}�o�.�4��"�,�,�������i�(�����i�(�����i�(�4�
3��4�
3�s$�4E�6E1�E.	�'E.	�1F	�:F	c�r�[QPQ5oUOQ2UOQQQQ5UO[29^tt^2oUO	,2PPP2[WO2oUOUQ2UOUQ2P!)%fhKK9h)r�r}r��optional_positionalr{rr})	rrr�r�rJr^rDrMr�r�s&   r�'test_optional_positional_not_in_message�?TestMessageContentError.test_optional_positional_not_in_message�s���+��r�B�����I�&����1��f��M�
�
�
�2�
3�
3�r����b�!�4��"�,�,�������i�(�����3�4�	4�
3�s�B&�&B6	�/B6	r&)	r)r*r+r,r�r�r�r-r.rQs@rr�r��s����*�2)�&5�5rr�c�(`�\sQsQsnQsQsUsP!)�TestTypeFunctionCallOnlyOncei�c��`�U1Qko[O2oUOQUQQ5UOQO	22oRO[
QQ5U2P!)c�.:�ROUQ2Q!)r��
foo_converted�r�)�string_to_convertrs&�rr�LTestTypeFunctionCallOnlyOnce.test_type_function_call_only_once.<locals>.spam�s������.��8�"rrvrzrwz--foo spam!r�r()r9r:rrJrYr�r��rrr@r�sf   r�!test_type_function_call_only_once�>TestTypeFunctionCallOnlyOnce.test_type_function_call_only_once�s[���	#��(�(�*�����G�$���>�� � ��!4�!4�!6�7�������0�$�7rr&)r)r*r+r,r�r-r.rQs@rr�r��s����8�8rr�c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�TestDeprecatedArgumentsi�c��[O2oUOQQP	Q5[29^tt^2oUO	QQ,2PPP2WO2oUO
UQ2UOUOQ2]2[29^tt^2oUO	QQ,2PPP2UO2oUO
UQ2UOUOQ2]2[29^tt^2oUO	,QN2PPP2UO2oUO
UQ2UO
UQ2UOUOQ2]2[29^tt^2oUO	,QN2PPP2UO2oUO
UQ2UOUOQ2]2P!)%fhCK�9h)%fhCK^9h)%fhCK9h)%fhK�9h)	r�rv)�
deprecatedr�%warning: option '--foo' is deprecated�
is deprecated�"warning: option '-f' is deprecated)rvrr��ham)rvrrvr	)	r9r:rrrJr"rMr�r��rr@r�s&  r�test_deprecated_option�.TestDeprecatedArguments.test_deprecated_options����(�(�*�����D�'�d��;�
�
�
�&����w��/�0�����"������!H�I�������o�6��:�
�
�
�&����t�V�n�-�����"������!E�F�������o�6��:�
�
�
�&����<�=�����"������!H�I�����!E�F�������o�6��:�
�
�
�&����?�@�����"������!H�I�������o�6��:�/�
�
���
�
���
�
���
�sG�H�.H�H+�"H?�H	�H	�H(	� H(	�+H<	�4H<	�?I	�I	c��[O2oUOQQ[OP	Q5[	29^tt^2oUOQ,2PPP2WO
2oUOUQ2UOUOQ2]2[	29^tt^2oUOQ,2PPP2UO
2oUOUQ2UOUOQ2]2[	29^tt^2oUOQ,2PPP2UO
2oUOUQ2UOUOQ2]2[	29^tt^2oUOQQ,2PPP2UO
2oUOUQ2UOUQ2UOUOQ2]2P!)%fhCK�9h)%fhCK]9h)%fhCK9h)%fhK�9h)r�rv�rzr	r	r	r	r?z(warning: option '--no-foo' is deprecated)
r9r:rrBrrJr"rMr�r�r	s&  r�test_deprecated_boolean_option�6TestDeprecatedArguments.test_deprecated_boolean_options����(�(�*�����D�'�(�2P�2P�]a��b�
�
�
�&����w�i�(�����"������!H�I�������o�6��:�
�
�
�&����t�f�%�����"������!E�F�������o�6��:�
�
�
�&����z�l�+�����"������!K�L�������o�6��:�
�
�
�&����w�
�3�4�����"������!H�I�����!K�L�������o�6��:�/�
�
���
�
���
�
���
�sH�H�<H#�,H7�I�H 	�H 	�#H4	�,H4	�7I	�I	�I	�I	c��[O2oUOQQP	Q5UOQQP	Q5[29^tt^2oUO	,2PPP2WO2oUO
UOQ2]2[29^tt^2oUO	Q,2PPP2UO2oUOUQ2UO
UOQ2]2[29^tt^2oUO	QQ,2PPP2UO2oUOUQ2UOUQ2UO
UOQ2]2P!)%fhCK79h)%fhK�9h)%fhK�9h)	r6r{�r~r	rzr	r�%warning: argument 'foo' is deprecatedr	z%warning: argument 'bar' is deprecated�	r9r:rrrJr"r�r�rMr	s&  r�test_deprecated_arguments�1TestDeprecatedArguments.test_deprecated_arguments<sZ���(�(�*�����E����>����E����>�
�
�
�&����b�!�����"��������o�6��:�
�
�
�&����v�h�'�����"������!H�I�������o�6��:�
�
�
�&����v�u�o�.�����"������!H�I�����!H�I�������o�6��:�!�
�
��
�
���
�s6�F�.F%�F8�F"	�F"	�%F5	�.F5	�8G	�G	c�J�[O2oUOQQP	Q5[29^tt^2oUO	,2PPP2WO2oUO
UOQ2]2[29^tt^2oUO	Q,2PPP2UO2oUOUQ2UO
UOQ2]2[29^tt^2oUO	QQ,2PPP2UO2oUOUQ2UO
UOQ2]2P!)%fhCK%9h)%fhK�9h)%fhK|9h)r6rr	r	rr	r	r	r	s&  r�test_deprecated_varargument�3TestDeprecatedArguments.test_deprecated_varargumentSs4���(�(�*�����E����>�
�
�
�&����b�!�����"��������o�6��:�
�
�
�&����v�h�'�����"������!H�I�������o�6��:�
�
�
�&����v�u�o�.�����"������!H�I�������o�6��:��
�
��
�
���
�s5�E+�E?�
F�+E<	�4E<	�?F	�F	�F"	�F"	c��[O2oUO2oUOQQ,P	Q5UOQ2[	29^tt^2oUOQ,2PPP2WO
2oUOUOQ2]2[	29^tt^2oUOQ,2PPP2UO
2oUOUQ2UOUOQ2]2[	29^tt^2oUOQ,2PPP2UO
2oUOUQ2UOUOQ2]2P!)%fhCK$9h)%fhK�9h)%fhK|9h)r6r|)r�r	rzr	z$warning: command 'foo' is deprecatedz$warning: command 'baz' is deprecated)
r9r:r�r�rrJr"r�r�rM)rr@r�r�s&   r�test_deprecated_subparser�1TestDeprecatedArguments.test_deprecated_subparserhsR���(�(�*���*�*�,�
����e�e�W���F����e�$�
�
�
�&����u�g�&�����"��������o�6��:�
�
�
�&����u�g�&�����"������!G�H�������o�6��:�
�
�
�&����u�g�&�����"������!G�H�������o�6��:��
�
��
�
���
�s6�F
�=F!�-F4�
F	�F	�!F1	�*F1	�4G	�=G	r&)r)r*r+r,r		r
	r	r	r	r-r.rQs@rr	r	�s#����;�:;�:;�.;�*;�;rr	c�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestTypeFunctionCalledOnDefaulti�c��`�U1Qko[O2oUOQU]Q5UO,2oRO	[]Q5U2P!)c�.:�ROU]2Q!)rr�r�)�int_to_convertrs&�rr�]TestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_default.<locals>.spam�s������^�Q�/�"rrvrwr(�r9r:rrJr�r�r�sf   r�/test_type_function_call_with_non_string_default�OTestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_default�sQ���	#��(�(�*�����G�$���:�� � ��$��������D�)rc��Qo[O2oUOQUQQ5UO,2oUO	[QQ5U2P!)c��Q!)r�r&)r	s&rr�YTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_default.<locals>.spam�s��"rrv�0rwr�r(r!	r�s&   r�+test_type_function_call_with_string_default�KTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_default�sQ��	#��(�(�*�����G�$���<�� � ��$�������0�$�7rc��Qo[O2oUOQUQQ5UO,2oUO	[QQ5U2P!)c��UQ*!)rr&)�str_to_converts&rr1�YTestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_default.<locals>.extend�s
��!�C�'�'r�--testrrwz**)r�r!	)rr1r@r�s&   r�)test_no_double_type_conversion_of_default�ITestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_default�sR��	(��(�(�*�����H�6�3��?�� � ��$��	
�������-rc��[O2oUOQQ[,QQ5UO	,2oUOUO,2P!)r.	r�rs)r�rxryrz)r9r:rr^rJr�r�r�s&  r�test_issue_15906�0TestTypeFunctionCalledOnDefault.test_issue_15906�sT���(�(�*�����H�6��$&�x�	�	9�� � ��$��������B�'rr&)
r)r*r+r,r"	r(	r/	r2	r-r.rQs@rr	r	�s����	*�8�
.�(�(rr	c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�TestParseKnownArgsi�c�T�[O2oUOQ2P!)Nr&�r9r:rJr?s& r�test_arguments_tuple�'TestParseKnownArgs.test_arguments_tuple�����(�(�*�����"�rc�T�[O2oUO,2P!r�r7	r?s& r�test_arguments_list�&TestParseKnownArgs.test_arguments_list�r:	rc�v�[O2oUOQ2UOQ2P!)rorn�r9r:rrJr?s& r�test_arguments_tuple_positional�2TestParseKnownArgs.test_arguments_tuple_positional�s,���(�(�*�����C� ����&�!rc�x�[O2oUOQ2UOQ,2P!rnr?	r?s& r�test_arguments_list_positional�1TestParseKnownArgs.test_arguments_list_positional�s.���(�(�*�����C� ����3�%� rc��[O2oUOQ2UOQO	22vq#UO[
QQ5U2UOQQ,U2P!)rvz--foo F --bar --baz�Fr(r�r�)r9r:rr�rYr�r�)rr@r��extrass&   r�test_optionals�!TestParseKnownArgs.test_optionals�sc���(�(�*�����G�$��.�.�/D�/J�/J�/L�M���������d�+����'�7�+�V�4rc�>�[O2oUOQQ][Q5UOQQQ5UOQ2,Q	NoUO	U2vq4UO[
]P	QQ5U2UO,Q
NU2P!)r�r{)r~r}rxrr5ryr�r�)�vrr�)r�r8rvr�r�r*)r8rvr*)r9r:rr�r�r�r�)rr@r6r�rG	s&    r�
test_mixed�TestParseKnownArgs.test_mixed�s����(�(�*�����D��1�3��?����H�]��;����H�%�2���.�.�t�4�������a�d�3�7��>����,�f�5rc��[O2oUOQQQQ5UO,2oUO	[,Q5U2P!)ror)r~rrnr�r!	r�s&  r�test_zero_or_more_optional�-TestParseKnownArgs.test_zero_or_more_optional�sI���(�(�*�����C�s�J��?�� � ��$������b��4�(rr&)
r)r*r+r,r8	r<	r@	rC	rH	rL	rO	r-r.rQs@rr5	r5	�s-������"�
!�
5�	6�)�)rr5	c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�TestDoubleDashi�c��[OP
Q5oUOQQ2UOQQQ5UOQ,2oUO	[Q,Q	5U2UO
[OQ
UOQQ,2UOQ,2oUO	[Q,Q	5U2UO
[OQ
UOQQ,2UO,QN2oUO	[QQ
Q,Q	5U2UO,QN2oUO	[QQQ
,Q	5U2UO,QN2oUO	[P,QNQ	5U2UO,QN2oUO	[P,QNQ	5U2P!)Frtr�rvrzrr��--foo=--r�r�z(argument -f/--foo: expected one argument�-f--rmrr)rvrmr�rr)rmrrvr)rmr�rrvr)rmr�rr�rrvr)rmrr�rrvr)r9r:rrJr�r�rbr�r�s&  r�test_single_argument_option�*TestDoubleDash.test_single_argument_option�s����(�(�u�=�����D�'�*����E���-�� � �*��.�������"�-�t�4����x�5�5�6�������	0�� � �&��*�������"�-�t�4����x�5�5�6�����d�|�	-�� � �!?�@�������#�s��4�d�;�� � �!9�:�������#�s��4�d�;�� � �!?�@�������*B�C�T�J�� � �!J�K�������*M�N�PT�Urc���[OP
Q5oUOQQQQ5UOQQQ5UOQ,2oUO	[Q,,Q	5U2UOQQ,2oUO	[,,Q	5U2UOQ
,2oUO	[Q,,Q	5U2UOQQ,2oUO	[,,Q	5U2UO,QN2oUO	[QQ,Q
Q,Q	5U2UO,QN2oUO	[Q
Q,QQ,Q	5U2UO,QN2oUO	[P,QNQ	5U2UO
,QN2vq#UO	[Q
,QQ,Q	5U2UO	UQQ,2P!)Frtr�rvrr�rzrT	r�r�rU	rmrrr)rvrmrr�rr)rmrrvrr)rmr�rrvrr)rmrrvrr�r)r9r:rrJr�r�r�)rr@r�r6s&   r�test_multiple_argument_option�,TestDoubleDash.test_multiple_argument_option�s����(�(�u�=�����D�'���5����E���-�� � �*��.��������B�/��6�� � �'�4��1��������+�T�2�� � �&��*��������B�/��6�� � �$���.��������+�T�2�� � �!D�E�������c�
��c�
�;�T�B�� � �!>�?�������c�
��c�
�;�T�B�� � �!D�E�������*G�H�$�O��,�,�-P�Q�
��������C��:�6��=������c�{�+rc�r�[OP
Q5oUOQ2UOQQQ5UO,QN2oUO	[QQQ	,Q
5U2UO,QN2oUO	[QQQ	,Q
5U2UO,Q
N2oUO	[QQQ	,Q
5U2UO,QN2oUO	[Q,QNQ
5U2UO,QN2oUO	[Q,QNQ
5U2P!)Frtr6rzrr�r�rmrrr��r�rmrr�rmr�rr�rmrr�r�rmr�rr�r�rr�r)r�r�rmr�rrr!	r�s&  r�test_multiple_double_dashes�*TestDoubleDash.test_multiple_double_dashess	���(�(�u�=�����E�"����E���-�� � �!6�7�������#�s��4�d�;�� � �!6�7�������#�s��4�d�;�� � �!6�7�������#�s��4�d�;�� � �!<�=�������)9�:�D�A�� � �!B�C�������*?�@�$�Grc���[OP
Q5oUOQ2UOQQQ5UO,QN2oUO	[QQQ,Q	5U2UO,QN2oUO	[QQQ,Q	5U2UO,Q
N2oUO	[Q,QNQ	5U2UO,QN2oUO	[Q,QNQ	5U2[OP
Q5oUOQ
2UOQQQ5UO,QN2oUO	[Q,QNQ	5U2P!)Frtr6rzrIr�rmrrr�rvr\	r]	r^	r`	r_	)rvrmr�rr�r)r�rr�rr!	r�s&  r�test_remainder�TestDoubleDash.test_remainder"s7���(�(�u�=�����E�"����E���/�� � �!6�7�������#�s��4�d�;�� � �!6�7�������#�s��4�d�;�� � �!6�7�������)9�:�D�A�� � �!<�=�������)9�:�D�A��(�(�u�=�����G�$����E���/�� � �!E�F�������)?�@�$�Grc��[OP
Q5oUOQQQ5UOQQQ5UO,QN2oUO	[P,Q	NQ5U2UO,Q
N2oUO	[,QN,Q5U2UO,QN2oUO	[,Q
N,Q5U2UO,QN2oUO	[,QN,Q5U2P!)FrtrvrIr�rzrr�)r�rvrmr�rvrmr)rvr�rmr)r�rmr)rvrmr�r�rmr�r)rvrmrr�)rmrr�r!	r�s&  r�test_optional_remainder�&TestDoubleDash.test_optional_remainder6s����(�(�u�=�����G�5��1����E���-�� � �!:�;�������*=�>��E�� � �!:�;������ 0�b�9�4�@�� � �!:�;������ 0�b�9�4�@�� � �!:�;������ 0�b�9�4�@rc�n�[OP
Q5oUOQ2UO2oUO	Q2oUOQ2UOQQQ5UO,QN2oUO
[QQQ	Q
,Q5U2UO,QN2oUO
[QP,QNQ5U2UO,QN2oUO
[QP,QNQ5U2UO,QN2oUO
[QP,QNQ5U2UO,QN2oUO
[QQQ	Q
,Q5U2UO,QN2oUO
[QQQ	Q
,Q5U2UO,QN2oUO
[QP,QNQ5U2UO,QN2oUO
[QP,QNQ5U2UO[OQ
UO
,QN2P!)Frtr6rr�rzrr�rormrr�r6r�rz�invalid choice: '--')rorrmrr�r)rorrmrr�r�r)rmrr�r)rorrmr�rr�r)rorr�rmrr�r)ror�rrmrr�r)r�rorrmrr�r)rorr�rmr�rrh	)ror�rr�rmr�r)r�ror�rrmr�
r9r:rr�r�rJr�r�rbr��rr@r�r�r�s&    r�test_subparser�TestDoubleDash.test_subparserDs����(�(�u�=�����E�"��*�*�,�
��'�'��.�����T�"����U�#��.�� � �!B�C�������s��c�
�;�T�B�� � �!H�I�������t�1F�G��N�� � �!H�I�������t�1F�G��N�� � �!H�I�������t�1F�G��N�� � �!H�I�������s��c�
�;�T�B�� � �!H�I�������s��c�
�;�T�B�� � �!C�D�������t�1A�B�D�I�� � �!I�J�������t�1A�B�D�I����x�5�5�"����A�	Crc��[OP
Q5oUOQQQ5UO2oUO	Q2oUOQ2UOQQQ5UO,QN2oUO
[QQ	,QQ
Q,Q
5U2UO[OQUO
,QN2P!)Frtrvrr�rr�rzror�rmrrrl	rm	)	rvror�r�rrmrr�r)rvror�r�rrmrrn	ro	s&    r�-test_subparser_after_multiple_argument_option�<TestDoubleDash.test_subparser_after_multiple_argument_option`s����(�(�u�=�����G�3��/��*�*�,�
��'�'��.�����T�"����U�#��.�� � �!V�W�������c�
�c��S�z�B�D�I����x�5�5�"����J�	Lrr&)
r)r*r+r,rV	rY	ra	rd	ri	rp	rs	r-r.rQs@rrR	rR	�s4����V�0,�.H� H�(A�C�8L�LrrR	c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�TestIntermixedArgsisc	���[OQQ5oUOQQQ5UOQQP	Q5oUOQ2UOQ	Q
[Q5QO	2oUOU2oUO
[Q
QQ,QNQ5U2UOU2vqEUO
[Q
QQ],Q5U2UO
QQ,U2UOU2vqEUO
[Q
QQ,QNQ5U2UO
,U2QO	2oUOU2vqEUO
[Q
QQ,QNQ5U2UO
Q,U2QO	2oUOU2vqEUO
[Q
QQ,QNQ5U2UO
Q,U2QO	2oUOU2vqEUO
[Q
QQ,QNQ5U2UO
Q,U2UOUO2UO
UOP	2P!)r�r+rvr6r�r�rzr�cmd�restr)r~rxzcmd --foo x 1 --bar y 2 3r�ro)rzrx	r6ry	rr�z!cmd --foo x --error 1 2 --bar y 3z--errorz!cmd --foo x 1 --error 2 --bar y 3z!cmd --foo x 1 2 --error --bar y 3r�)
r9r:rr�rY�parse_intermixed_argsr�r�r��parse_known_intermixed_argsr r�r()rr@rzr6r�rG	s&     r�
test_basic�TestIntermixedArgs.test_basicts)���(�(�f�5�����G�%��0��!�!�'���!�E�����E�"����F�#�C��8�*�0�0�2���+�+�D�1��������C�i�H�$�O��.�.�t�4���������C�q�c�B�D�I����#�s��V�,��9�9�$�?���������C�i�H�$�O�����V�$�3�8�8�:���9�9�$�?���������C�i�H�$�O����)��f�-�2�8�8�:���9�9�$�?���������C�i�H�$�O����)��f�-�2�8�8�:���9�9�$�?���������C�i�H�$�O����)��f�-�	
���&�,�,�'�������t�,rc��[QQ5oUOQ2UOQ2UOQQQ5QO2oUO[29^tt^2oUOU2PPP2UO
[WO2Q2P!)%fhK79h)	r�r+r~ror�rIr�rLz\.\.\.)	rrrYr�rIrz	rMr^rD)rr@r6rFs&   rrd	�!TestIntermixedArgs.test_remainder�s���+��8�����D�!����C� ����C�u��-��!�!�#���
�
�y�
)�
)�R��(�(��.�*�����R�\�\�*�I�6�*�
)�s�0B1�1C	�:C	c�|�[OQP
Q5oUOP	Q5oUOQQQQ5UOQQQ	5UOQ
QQQ
Q5UO	QO22oUO
[QQ,P	PQ5U2UO	QO22oUO
[QQ,P	PQ5U2UO[OQUOQO22UO
UOP	2P!)r��r�rur�rvrxrTr�rrUr>r�rr�rVr�z	--foo 1 2r�r)r�r6rz	1 --foo 2z-one of the arguments --foo --spam is requiredr�)r9r:r�rrz	rYr�r�rbr�r(�rr@r*r�s&   r�test_required_exclusive�*TestIntermixedArgs.test_required_exclusive�s���(�(�f�E�J���3�3�T�3�B��
���7�<�e��D�
���8�&��1����H�C��8��L��+�+�K�,=�,=�,?�@������C��:�4�d�C�T�J��+�+�K�,=�,=�,?�@������C��:�4�d�C�T�J����x�5�5�?��,�,�e�k�k�m�	=�	
�������.rc���[OQP
Q5oUOP	Q5oUOQQQQ5UOQQQ	5UOQ
QQQ
Q5UO	Q,2oUO[
P	PQQ5U2UO	QQ,2oUO[
P
PQQ,Q5U2UO[OQUO,2UO[OQUO,QN2UO[OQUO,QN2UOUOP	2P!)r�r�	r�rvrxrTr�rrUr>r�rr�rVr�rXrmrz4one of the arguments --foo --spam badger is requiredz0argument badger: not allowed with argument --foorg	)rmrvr)
r9r:r�rrz	r�r�rbr�r(r�	s&   r�'test_required_exclusive_with_positional�:TestIntermixedArgs.test_required_exclusive_with_positional�sL���(�(�f�E�J���3�3�T�3�B��
���7�<�e��D�
���8�&��1�
���8�3��(��K��+�+�W�I�6�������4��<�d�C��+�+�S�#�J�7�������D�#�s��D�d�K����x�5�5�F��,�,�b�	2�	
���x�5�5�B��,�,�.A�	C�	
���x�5�5�B��,�,�.A�	C�	
�������.rc�d�[QQ5oUO[UOQ,2P!)r�r+rm)rr�r�rz	r?s& r�test_invalid_args�$TestIntermixedArgs.test_invalid_args�s'��+��8�����-�v�/K�/K�c�U�Srr&)r)r*r+r,r|	rd	r�	r�	r�	r-r.rQs@rrv	rv	ss&����$-�L7�/� /�,T�Trrv	c�(`�\sQsQsnQsQsUsP!)�!TestIntermixedMessageContentErrori�c��[QPQ5oUOQ[Q5UOQ[P	Q5UO	[
29^tt^2oUO
,2PPP2[WO2oUOUQ2UOUQ2UO	[
29^tt^2oUO,2PPP2[UO2oUOUQ2UOUQ2P!)%fhK�9h)%fhK^9h)r�r}r�rPr�r'r�)
rrr^r�r�r�rJrDrMrz	r�s&   rr��GTestIntermixedMessageContentError.test_missing_argument_name_in_message�s���+��r�B�����I�C��0����J�S�4��@�
�
�
�2�
3�
3�r����b�!�4��"�,�,�������i�(�����i�(�
�
�
�2�
3�
3�r��(�(��,�4��"�,�,�������i�(�����i�(�4�
3��4�
3�s$�D �D3� D0	�)D0	�3E	�<E	r&)r)r*r+r,r�r-r.rQs@rr�	r�	�s����)�)rr�	c�@`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Q s"Q!s#Q"s$Q#s%Q$s&Q%s'Q&s(Q's)Q(s*Q)s+Q*s,Q+s-Q,s.Q-s/Q.s0Q/s1Q0s2Q1s3Q2s4Us5P!)3�TestAddArgumentMetavari�z,length of metavar tuple does not match nargsc�X�[O2oUOQVQ5P!�rv�r~r��r9r:r)rr~r�r@s&&& r�do_test_no_exception�+TestAddArgumentMetavar.do_test_no_exception�s#���(�(�*�����G�5��Brc�8�[O2oUO[29^tt^2oUO	QVQ5PPP2UOWOO]*UO2P!)%fhKI9hr�	)	r9r:r�rKrr�rDr��EXPECTED_MESSAGE)rr~r�r@rFs&&&  r�do_test_exception�(TestAddArgumentMetavar.do_test_exception�si���(�(�*��
�
�
�z�
*�
*�b�����u��F�+�������*�*�1�-�t�/D�/D�E�+�
*���B	�	B	�B	c�.�UOPQQ5P!)Nr�r�	�r�	r$s&r�test_nargs_None_metavar_string�5TestAddArgumentMetavar.test_nargs_None_metavar_string�s���!�!��c�!�:rc�>�UOP[2Q5P!)Nr�	�r�	�tupler$s&r�test_nargs_None_metavar_length0�6TestAddArgumentMetavar.test_nargs_None_metavar_length0�s�����T�5�7��;rc�.�UOPQQ5P!)Nr�	r�r�	r$s&r�test_nargs_None_metavar_length1�6TestAddArgumentMetavar.test_nargs_None_metavar_length1s���!�!��f�!�=rc�.�UOPQQ5P!)Nr�	�r�r�r�	r$s&r�test_nargs_None_metavar_length2�6TestAddArgumentMetavar.test_nargs_None_metavar_length2s�����T�:��>rc�.�UOPQQ5P!)Nr�	r�r�	r$s&r�test_nargs_None_metavar_length3�6TestAddArgumentMetavar.test_nargs_None_metavar_length3s�����T�?��Crc�.�UOQQQ5P!)r{r�r�	r�	r$s&r�"test_nargs_optional_metavar_string�9TestAddArgumentMetavar.test_nargs_optional_metavar_string����!�!��S�!�9rc�>�UOQ[2Q5P!)r{r�	r�	r$s&r�#test_nargs_optional_metavar_length0�:TestAddArgumentMetavar.test_nargs_optional_metavar_length0������S�%�'��:rc�.�UOQQQ5P!)r{r�	r�r�	r$s&r�#test_nargs_optional_metavar_length1�:TestAddArgumentMetavar.test_nargs_optional_metavar_length1����!�!��V�!�<rc�.�UOQQQ5P!)r{r�	r�	r�	r$s&r�#test_nargs_optional_metavar_length2�:TestAddArgumentMetavar.test_nargs_optional_metavar_length2s�����S�*��=rc�.�UOQQQ5P!)r{r�	r�r�	r$s&r�#test_nargs_optional_metavar_length3�:TestAddArgumentMetavar.test_nargs_optional_metavar_length3������S�/��Brc�.�UOQQQ5P!)rr�r�	r�	r$s&r�$test_nargs_zeroormore_metavar_string�;TestAddArgumentMetavar.test_nargs_zeroormore_metavar_stringr�	rc�>�UOQ[2Q5P!)rr�	r�	r$s&r�%test_nargs_zeroormore_metavar_length0�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length0r�	rc�.�UOQQQ5P!)rr�	r�r�	r$s&r�%test_nargs_zeroormore_metavar_length1�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length1"r�	rc�.�UOQQQ5P!)rr�	r�	r�	r$s&r�%test_nargs_zeroormore_metavar_length2�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length2%����!�!��Z�!�@rc�.�UOQQQ5P!)rr�	r�r�	r$s&r�%test_nargs_zeroormore_metavar_length3�<TestAddArgumentMetavar.test_nargs_zeroormore_metavar_length3(r�	rc�.�UOQQQ5P!)rr�r�	r�	r$s&r�#test_nargs_oneormore_metavar_string�:TestAddArgumentMetavar.test_nargs_oneormore_metavar_string-r�	rc�>�UOQ[2Q5P!)rr�	r�	r$s&r�$test_nargs_oneormore_metavar_length0�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length00r�	rc�.�UOQQQ5P!)rr�	r�r�	r$s&r�$test_nargs_oneormore_metavar_length1�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length13s�����S�&��9rc�.�UOQQQ5P!)rr�	r�	r�	r$s&r�$test_nargs_oneormore_metavar_length2�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length26r�	rc�.�UOQQQ5P!)rr�	r�r�	r$s&r�$test_nargs_oneormore_metavar_length3�;TestAddArgumentMetavar.test_nargs_oneormore_metavar_length39r�	rc�.�UOQQQ5P!)rIr�r�	r�	r$s&r�#test_nargs_remainder_metavar_string�:TestAddArgumentMetavar.test_nargs_remainder_metavar_string>s���!�!��s�!�;rc�>�UOQ[2Q5P!)rIr�	)r�	r�	r$s&r�$test_nargs_remainder_metavar_length0�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length0As���!�!��u�w�!�?rc�.�UOQQQ5P!)rIr�	r�r�	r$s&r�$test_nargs_remainder_metavar_length1�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length1Ds���!�!��v�!�>rc�.�UOQQQ5P!)rIr�	r�	r�	r$s&r�$test_nargs_remainder_metavar_length2�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length2Gs���!�!��z�!�Brc�.�UOQQQ5P!)rIr�	r�r�	r$s&r�$test_nargs_remainder_metavar_length3�;TestAddArgumentMetavar.test_nargs_remainder_metavar_length3Js���!�!���!�Grc�.�UOQQQ5P!)�A...r�r�	r�	r$s&r� test_nargs_parser_metavar_string�7TestAddArgumentMetavar.test_nargs_parser_metavar_stringOs���!�!���!�<rc�>�UOQ[2Q5P!)r�	r�	r�	r$s&r�!test_nargs_parser_metavar_length0�8TestAddArgumentMetavar.test_nargs_parser_metavar_length0Rs�����V�U�W��=rc�.�UOQQQ5P!)r�	r�	r�r�	r$s&r�!test_nargs_parser_metavar_length1�8TestAddArgumentMetavar.test_nargs_parser_metavar_length1Us���!�!���!�?rc�.�UOQQQ5P!)r�	r�	r�	r�	r$s&r�!test_nargs_parser_metavar_length2�8TestAddArgumentMetavar.test_nargs_parser_metavar_length2Xs�����V�Z��@rc�.�UOQQQ5P!)r�	r�	r�r�	r$s&r�!test_nargs_parser_metavar_length3�8TestAddArgumentMetavar.test_nargs_parser_metavar_length3[s�����V�_��Erc�.�UO]QQ5P!)rr�r�	r�	r$s&r�test_nargs_1_metavar_string�2TestAddArgumentMetavar.test_nargs_1_metavar_string`����!�!��3�!�7rc�>�UO][2Q5P!)rr�	r�	r$s&r�test_nargs_1_metavar_length0�3TestAddArgumentMetavar.test_nargs_1_metavar_length0c������Q����8rc�.�UO]QQ5P!)rr�	r�r�	r$s&r�test_nargs_1_metavar_length1�3TestAddArgumentMetavar.test_nargs_1_metavar_length1fs���!�!��6�!�:rc�.�UO]QQ5P!)rr�	r�	r�	r$s&r�test_nargs_1_metavar_length2�3TestAddArgumentMetavar.test_nargs_1_metavar_length2i������Q�
��;rc�.�UO]QQ5P!)rr�	r�r�	r$s&r�test_nargs_1_metavar_length3�3TestAddArgumentMetavar.test_nargs_1_metavar_length3l������Q���@rc�.�UO]QQ5P!)rXr�r�	r�	r$s&r�test_nargs_2_metavar_string�2TestAddArgumentMetavar.test_nargs_2_metavar_stringqr
rc�>�UO][2Q5P!)rXr�	r�	r$s&r�test_nargs_2_metavar_length0�3TestAddArgumentMetavar.test_nargs_2_metavar_length0tr
rc�.�UO]QQ5P!)rXr�	r�r�	r$s&r�test_nargs_2_metavar_length1�3TestAddArgumentMetavar.test_nargs_2_metavar_length1w������Q���7rc�.�UO]QQ5P!)rXr�	r�	r�	r$s&r�test_nargs_2_metavar_length2�3TestAddArgumentMetavar.test_nargs_2_metavar_length2zs���!�!��:�!�>rc�.�UO]QQ5P!)rXr�	r�r�	r$s&r�test_nargs_2_metavar_length3�3TestAddArgumentMetavar.test_nargs_2_metavar_length3}r
rc�.�UO]QQ5P!)r�r�r�	r�	r$s&r�test_nargs_3_metavar_string�2TestAddArgumentMetavar.test_nargs_3_metavar_string�r
rc�>�UO][2Q5P!)r�r�	r�	r$s&r�test_nargs_3_metavar_length0�3TestAddArgumentMetavar.test_nargs_3_metavar_length0�r
rc�.�UO]QQ5P!)r�r�	r�r�	r$s&r�test_nargs_3_metavar_length1�3TestAddArgumentMetavar.test_nargs_3_metavar_length1�r
rc�.�UO]QQ5P!)r�r�	r�	r�	r$s&r�test_nargs_3_metavar_length2�3TestAddArgumentMetavar.test_nargs_3_metavar_length2�r
rc�.�UO]QQ5P!)r�r�	r�r�	r$s&r�test_nargs_3_metavar_length3�3TestAddArgumentMetavar.test_nargs_3_metavar_length3�s���!�!��?�!�Crr&)6r)r*r+r,r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r
r
r

r
r
r
r
r
r
r"
r%
r(
r+
r.
r1
r-r.rQs@rr�	r�	�s
����E��C�F�;�<�>�?�D�
:�;�=�>�C�
:�;�=�A�C�
:�;�:�A�C�
<�@�?�C�H�
=�>�@�A�F�
8�9�;�<�A�
8�9�8�?�A�
8�9�8�<�D�Drr�	c�B`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�TestInvalidNargsi�zinvalid nargs valuez�nargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriatec�8�[O2oUO[29^tt^2oUO	QUQ5PPP2UOWOO]*UO2P!)%fhKI9h�rvr�)	r9r:r�rKrr�rDr��EXPECTED_RANGE_MESSAGE�rr~r@rFs&&  r�do_test_range_exception�(TestInvalidNargs.do_test_range_exception�si���(�(�*��
�
�
�z�
*�
*�b�����u��5�+�������*�*�1�-�t�/J�/J�K�+�
*�r�	c�8�[O2oUO[29^tt^2oUO	QUQ5PPP2UOWOO]*UO2P!)%fhKI9hr6
)	r9r:r�rKrr�rDr��EXPECTED_INVALID_MESSAGEr8
s&&  r�do_test_invalid_exception�*TestInvalidNargs.do_test_invalid_exception�si���(�(�*��
�
�
�z�
*�
*�b�����u��5�+�������*�*�1�-�t�/L�/L�M�+�
*�r�	c�P�UOQQ5UOQQ5P!)rmr��abcd)r=
r$s&r�test_nargs_alphabetic�&TestInvalidNargs.test_nargs_alphabetic�s$���&�&�S�&�1��&�&�V�&�4rc�,�UO]Q5P!)rr�)r9
r$s&r�test_nargs_zero� TestInvalidNargs.test_nargs_zero�s���$�$�1�$�-rr&)r)r*r+r,r<
r7
r9
r=
rA
rD
r-r.rQs@rr4
r4
�s/����4��L��L�N�5�.�.rr4
c�.`�\sQsQsnQsQsQsUsP!)�TestImportStari�c�d�[OFDoUO[U2J	P!r�)r9�__all__�
assertHasAttrr�s& rr��TestImportStar.test�s"���$�$�D����x��.�%rc�Z�[[2O2TTt,tFDGvqUOQ2%cJUQ6XcJ'[O
U2%cJEUMJI	oooUO
[U2[[O22P!ttooh)r>�ngettext)	r�r9r��
startswith�inspect�ismoduler�r�rI
)rr�r%r�s&   r�'test_all_exports_everything_but_modules�6TestImportStar.test_all_exports_everything_but_modules�s��� $�H�~�3�3�5�
�5����O�O�C�(�
�,0�J�,>�
��#�#�E�*�
�D�5�	�
�	
�������x�/?�/?�(@�A��

s�B'�B'�B'�*B'r&)r)r*r+r,r�rQ
r-r.rQs@rrG
rG
�s����/�B�BrrG
c�D``�\sQsQsnU1Qks\Q2sQsUsU9s	!)�TestWrappingMetavari�c�:�[RU_2[Q2UmQoUOO	QUQ5P!)�9this_is_spammy_prog_with_a_long_name_sorry_about_the_namez<http[s]://example:1234>z--proxyr!)rr�rr@r)rr�rs& �rr��TestWrappingMetavar.setUp�s9���
��
��0�G�
���
-����� � ��G� �<rc��UOO2oUOU[OQ22P!)a            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>
            )r@r�r�rdre)rr�s& r�test_help_with_metavar�*TestWrappingMetavar.test_help_with_metavar�s4���K�K�+�+�-�	�����H�O�O�5�%�	r�r@)
r)r*r+r,r�rrY
r-r.r/r0s@@rrT
rT
�s#����=��	��	�	rrT
c�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsUsP!)�TestExitOnErrori�c��[OP
QQ5UmUOOQQ[Q5P!)Frt)rurvz
--integers�N)r�rx)r9r:r@rr�r$s&rr��TestExitOnError.setUp�s3���-�-�E�DG�I������ � ��s�� �Erc��UOOQO22oUOU[O
]Q52P!)z--integers 4)�integers)r@rJrYr�r9r�r�s& r�!test_exit_on_error_with_good_args�1TestExitOnError.test_exit_on_error_with_good_args�s:��
�[�[�
#�
#�N�$8�$8�$:�
;������X�/�/��;�<rc���UO[O29^tt^2UOO	QO22PPP2P!)%fhP!9h)z--integers a)r�r9r�r@rJrYr$s&r� test_exit_on_error_with_bad_args�0TestExitOnError.test_exit_on_error_with_bad_args�sC��
�
�
�x�5�5�
6�
6��K�K�"�"�>�#7�#7�#9�:�7�
6�
6�
6�s�*A�A.	�&A.	c��UO[OQUOOQO22P!�z!unrecognized arguments: --foo barr=)rbr9r�r@rJrYr$s&r�test_unrecognized_args�&TestExitOnError.test_unrecognized_args�s4�����x�5�5�B�#�{�{�5�5�{�7H�7H�7J�	Lrc��UO[OQUOOQO22P!ri
)rbr9r�r@rz	rYr$s&r�!test_unrecognized_intermixed_args�1TestExitOnError.test_unrecognized_intermixed_args�s4�����x�5�5�B�#�{�{�@�@�+�BS�BS�BU�	Wrc���UOOQ2UOOQ2UO[OQUOO
,2P!)rzr|�/the following arguments are required: bar, baz$�r@rrbr9r�rJr$s&r�test_required_args�"TestExitOnError.test_required_args�sN����� � ��'���� � ��'����x�5�5�P�#�{�{�5�5�r�	;rc���UOOQ2UOOQQQ5UO[OQUOO
,2P!)rzr|�BaZr!z/the following arguments are required: bar, BaZ$rq
r$s&r�test_required_args_with_metavar�/TestExitOnError.test_required_args_with_metavar�sS����� � ��'���� � ��� �6����x�5�5�P�#�{�{�5�5�r�	;rc���UOOQ2UOOQ]Q5UO[OQUOO
,2P!)rzr|r�rp
rq
r$s&r�test_required_args_n�$TestExitOnError.test_required_args_nsS����� � ��'���� � ��a� �0����x�5�5�P�#�{�{�5�5�r�	;rc���UOOQ2UOOQ]QQ5UO[OQUOO
,2P!)rzr|r�	z3the following arguments are required: bar, B, A, Z$)r�rKrJrq
r$s&r�!test_required_args_n_with_metavar�1TestExitOnError.test_required_args_n_with_metavar	sU����� � ��'���� � ��a�� �I����x�5�5�T�#�{�{�5�5�r�	;rc���UOOQ2UOOQQQ5UO[OQUOO
,2P!)rzr|r{r��*the following arguments are required: bar$rq
r$s&r�test_required_args_optional�+TestExitOnError.test_required_args_optional�S����� � ��'���� � ��c� �2����x�5�5�K�#�{�{�5�5�r�	;rc���UOOQ2UOOQQQ5UO[OQUOO
,2P!)rzr|rr�r
rq
r$s&r�test_required_args_zero_or_more�/TestExitOnError.test_required_args_zero_or_morer�
rc���UOOQ2UOOQQQ5UO[OQUOO
,2P!)rzr|rr�rp
rq
r$s&r�test_required_args_one_or_more�.TestExitOnError.test_required_args_one_or_moresS����� � ��'���� � ��c� �2����x�5�5�P�#�{�{�5�5�r�	;rc���UOOQ2UOOQQQQ5UO[OQUOO
,2P!)rzr|rr�	z9the following arguments are required: bar, BaZ1\[, BaZ2]$)�BaZ1�BaZ2rq
r$s&r�+test_required_args_one_or_more_with_metavar�;TestExitOnError.test_required_args_one_or_more_with_metavar%sV����� � ��'���� � ��c�;K� �L����x�5�5�[�#�{�{�5�5�r�	;rc���UOOQ2UOOQQQ5UO[OQUOO
,2P!)rzr|rIr�r
rq
r$s&r�test_required_args_remainder�,TestExitOnError.test_required_args_remainder,sS����� � ��'���� � ��e� �4����x�5�5�K�#�{�{�5�5�r�	;rc���UOOP	Q5oUOQ2UOQ2UO[O
QUOO,2P!)Tr�r�r�z,one of the arguments --bar --baz is required�r@r�rrbr9r�rJ�rr*s& r�%test_required_mutually_exclusive_args�5TestExitOnError.test_required_mutually_exclusive_args3s]�����8�8�$�8�G��
���7�#�
���7�#����x�5�5�M�#�{�{�5�5�r�	;rc�f�UOO2oUOQ2UOQQQQ5UO[O
QUOO,QN2UO[O
QUOO,QN2P!)	r�r|r{ru
r�	z.argument BaZ: not allowed with argument --bar$z.argument --bar: not allowed with argument BaZ$�r�rmr�rmr�rr�
r�
s& r�>test_conflicting_mutually_exclusive_args_optional_with_metavar�NTestExitOnError.test_conflicting_mutually_exclusive_args_optional_with_metavar;s������8�8�:��
���7�#�
���5��U��;����x�5�5�O�#�{�{�5�5�7J�	L�	
���x�5�5�O�#�{�{�5�5�7J�	Lrc�f�UOO2oUOQ2UOQQQQ5UO[O
QUOO,QN2UO[O
QUOO,QN2P!)	r�r|rr�	z/argument BAZ1: not allowed with argument --bar$z/argument --bar: not allowed with argument BAZ1$)�BAZ1r�
r�
r�
r�
s& r�Ctest_conflicting_mutually_exclusive_args_zero_or_more_with_metavar1�STestExitOnError.test_conflicting_mutually_exclusive_args_zero_or_more_with_metavar1Fs������8�8�:��
���7�#�
���5��Y��?����x�5�5�P�#�{�{�5�5�7J�	L�	
���x�5�5�P�#�{�{�5�5�7J�	Lrc�f�UOO2oUOQ2UOQQQQ5UO[O
QUOO,QN2UO[O
QUOO,QN2P!)	r�r|rr�	z8argument BAZ1\[, BAZ2]: not allowed with argument --bar$z8argument --bar: not allowed with argument BAZ1\[, BAZ2]$)r�
�BAZ2r�
r�
r�
r�
s& r�Ctest_conflicting_mutually_exclusive_args_zero_or_more_with_metavar2�STestExitOnError.test_conflicting_mutually_exclusive_args_zero_or_more_with_metavar2Qs������8�8�:��
���7�#�
���5��5E��F����x�5�5�Z�#�{�{�5�5�7J�	L�	
���x�5�5�Z�#�{�{�5�5�7J�	Lrc�j�UOOQ2UOOQQQ5UOOQ2UO[OQUOO
Q,2UO[OQUOO
Q,2UO[OQ	UOO
,Q
N2UO[OQUOO
,QN2P!)r�r�rxry�--fooglez7ambiguous option: --foob could match --foobaz, --foobler�z:ambiguous option: --foob=1 could match --foobaz, --fooble$�--foob=1z8ambiguous option: --foob could match --foobaz, --fooble$)r�r�r�
r)r�
r�
rrq
r$s&r�test_ambiguous_option�%TestExitOnError.test_ambiguous_option\s������ � ��,���� � ��L� �A���� � ��,����x�5�5�I��K�K�"�"�X�J�	0�	
���x�5�5�L��K�K�"�"�Z�L�	2�	
���x�5�5�J��K�K�"�"�$D�	F�	
���x�5�5�L��K�K�"�"�$A�	Crc��UOOQ2UO[OQUOO
Q,2P!)r�z)No such file or directory: 'no-such-file'z
@no-such-filerq
r$s&r�
test_os_error�TestExitOnError.test_os_errorms@����� � ��(����x�5�5�J�#�{�{�5�5��7H�	Jrr[
)r)r*r+r,r�rc
rf
rj
rm
rr
rv
ry
r|
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r-r.rQs@rr]
r]
�sw����F�
=�;�L�
W�
;�;�;�;�;�;�;�;�;�;�	L�	L�	L�C�"J�Jrr]
c��`�\sQsQsn\O
Q2sQsQP
-QksQQks	Qs
QQksQ	sQQ
ks
QsQQksQ
sQQksQsQQksQsQQksQsQsUsP!)�TestProgNameitzc        import argparse
        parser = argparse.ArgumentParser()
        parser.parse_args()
    c���Q[O*UmUO[OUO2[
OUO2P!)�package)rrz�dirname�
addCleanupr�r��mkdirr$s&rr��TestProgName.setUp|s<�� �9�#8�#8�8������	�(�(�$�,�,�7�
������r�compiledc��[OVUO2oU%fU![OUP	Q5o[
OU2U!)T)�
allow_compile)r	�make_script�sourcer�make_legacy_pycr�r�)rr�
�basenamer�
�script_name�pyc_files&&&$  rr�
�TestProgName.make_script�sD��#�/�/��4�;�;�O����� �0�0��D�Q��
�	�	�+���rc�P�[OUOQV2vq4U!)�test_zip)r	�make_zip_scriptr�
)rr�
�name_in_zip�zip_namer>s&&&  rr�
�TestProgName.make_zip_script�s%��#�3�3�D�L�L�*�4?�N����rc���[OQ,UNQM3-U@oUO[OUO
O
2]*2QUQ02P!)z-Xutf8rD�usage: z [-h])r	�assert_python_okr�r�r}�out�
splitlines)rryr�r��ress&&*, r�check_usage�TestProgName.check_usage�sX���,�,�X�M��M�d�M�f�M��������S�W�W�%7�%7�%9�!�%<�=�"�8�*�E�2�	4rc���[OoUOUOV!Q5oUO	[
OOU2UQ2P!)�r�
rD)r�TESTFNr�
r�
r�
r�r�r�
)rr�
r�
r�
s&&  r�test_script�TestProgName.test_script�sG���#�#���&�&�t�|�|�X�&�Q��������)�)�+�6��T�Jrc�,�UOP	Q5P!�Tr�
)r�
r$s&r�test_script_compiled�!TestProgName.test_script_compiled�������$��'rc��[OOUO[O
2o[OU2UOUQUQ5UO[QU0U2[OO[OU2oUO[QU0U2P!��__main__r�
r�)r�r�r�r�
rr�
r�
r�
r�
�py�curdir)rr�
r�
�dirname2s&&  r�test_directory�TestProgName.test_directory�s����'�'�,�,�t�|�|�Y�-=�-=�>��
���������*�x��@����B�4�q��	�*�G�4��7�7�<�<��	�	�7�3�����B�4�q��
�+�X�6rc�,�UOP	Q5P!r�
)r�
r$s&r�test_directory_compiled�$TestProgName.test_directory_compiled�s�����T��*rc���Q[O*oUOQU0oUOUOV!Q5UO	[
QU0QU[OQ5P!)�module�.r�
� -m �-m��
PYTHONPATH)rrzr�
r�
r�
r�
r�r�
)rr�
r�
�
modulenames&&  r�test_module�TestProgName.test_module�si���i�3�3�3�����~�Q�x�j�1�
�������x��C����B�4�t�J�<�0��z�b�i�i�	�	Arc�,�UOP	Q5P!r�
)r�
r$s&r�test_module_compiled�!TestProgName.test_module_compiled�r�
rc��Q[O*oUOQU0o[OOUOU2o[OU2UOUQUQ5UO[QU0QU[OQ5UO[QU0QUQ*[OQ5P!)�
subpackager�
r�
r�
r�
r�
r�
z	.__main__)rrzr�
r�r�r�r�
r�
r�
r�
r�
)rr�
r�
�packagename�
subdirnames&&   r�test_package�TestProgName.test_package�s����)�"7�"7�7������a��z�2���W�W�\�\�$�,�,��9�
�
���������Z�(��C����B�4�t�K�=�1��{�r�y�y�	�	B����B�4�t�K�=�1��{�[�8�R�Y�Y�	�	Prc�,�UOP	Q5P!r�
)r�
r$s&r�test_package_compiled�"TestProgName.test_package_compiled�������4��(rc��UOUOQUQ5oUOU2oUO[QU0U2P!r�
)r�
r�
r�
r�
r�
)rr�
r�
r�
s&&  r�test_zipfile�TestProgName.test_zipfile�sH���&�&�t�|�|�Z�(�&�S���'�'��4�����B�4�q��
�+�X�6rc�,�UOP	Q5P!r�
)r�
r$s&r�test_zipfile_compiled�"TestProgName.test_zipfile_compiled�r�
rc��UOUOQUQ5oQQU**oUOV#2o[OOUQQ2oUO
[QU0U2P!)r�
r�
zpackage/subpackage/__main__r�
r�
r�)r�z.pyc)r�
r�
r�
r�r�r�r�
r�
)rr�
r�
r�
r�
r�
s&&    r�test_directory_in_zipfile�&TestProgName.test_directory_in_zipfile�sm���&�&�t�|�|�Z�(�&�S��3�o�h�6O�O���'�'��A���'�'�,�,�x��L�A�����B�4�q��	�*�G�4rc�,�UOP	Q5P!r�
)r�
r$s&r�"test_directory_in_zipfile_compiled�/TestProgName.test_directory_in_zipfile_compiled�s���&�&��&�5r)r�
r�rJ)r)r*r+r,rdrer�
r�r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
rr-r.rQs@rr�
r�
tsw����
�_�_��	�F��
����
4�
K�
(�7�+�A�(�	P�)�7�
)�5�6�6rr�
c�(`�\sQsQsnQsQsUsP!)�TestTranslationsi�c�2�UO[2P!r�)�assertMsgidsEqualr9r$s&r�test_translations�"TestTranslations.test_translations�s�����x�(rr&)r)r*r+r,rr-r.rQs@rrr�s����)�)rrc��``�\sQsQsnPsU1QksQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Us!U9s"!)�
TestColorizedi�c�:�[RU_2UO[[QQ22[O
P	Q5OUmP!)�can_colorizec��P	!)Tr&r�s*,r�<lambda>�%TestColorized.setUp.<locals>.<lambda>�s��Tr)�force_color)rr�r�rrp�	get_themer9�themer�s&�rr��TestColorized.setUp�sB���
��
�����)�I�~�%A�C�	D��(�(�T�:�C�C��
rc	�n
�[OP	Q[OQQQ5oUO2oUO	QQQQQ	5UO	Q
QQQQ	5UO	Q
[
QQ5UO	Q[
QP	Q5UO	Q[
QQ5UO	QQQP	Q5UO	QQQ5UO	QQoQ5UO	QQoQQ5UO	QQoQQ5UO	Q QoQQ5UO	Q!Q"QpQQ5UO	Q#Q$QQqQ%Q&5UO	Q'2UO	Q(2UO	Q)2UO	Q*Q+2UO
Q,Q-Q.Q/5oUOQ0P	Q1Q25UOQ3P	Q4Q25oUO	Q5QoQ6Q5UOOoUOOoUOOoUOOoUOOo	UOOo
UOOoUOO oUOO"o
UOO$oUOO&oUOO(oUOO*oUO-2oUO/U[0O2PO5,Q7MUMQ8MUMUMQMUMQ9MUMQ:MUMQ;MUMQMUMQ<MUMQ
MUMQ;MUMQMUMQ;MUMQ=MU	MQ>MUMQ;MUMQ?MU	MQ@MUMQAMUMQBMU	MQ@MUMQ;MUMQCMU	MQ@MUMQ;MUMQDMU	MQ@MUMQAMUMQEMU	MQFMUMQ;MUMQGMU	MQMUMQ;MUMQHMU	MQIMUMQ;MUMQJMU	MQKMUMQAMUMQLMU	MQMMUMQ;MUMQNMU	MQOMUMQPMU
MQ
MUMQQMU
MQMUMQQMU
MQMUMQQMU
MQRMUMQSMUMQTMUMQUMUMQ
MUMQVMUMQMUMQWMUMQMUMQXMUMQYMUMQUMUMQ:MUMQZMUMQ[MUMQ\MUMQMUMQZMUMQMUMQ]MUMQ^MUMUMQ_MUMUMQ`MUMQUMUMQ
MUMQZMUMQMUMQaMUMQ^MUMUMQ_MUMUMQ`MUMQUMUMQMUMQZMUMQMUMQUMUMQMUMQQMU
MQ>MUMQbMUMQ^MUMUMQcMUMUMQ`MUMQUMUMQMUMQQMU
MQ@MUMQUMUMQMUMQQMU
MQ@MUMQdMUMQ^MUMUMQcMUMUMQ`MUMQUMUMQMUMQQMU
MQ@MUMQdMUMQ^MUMUMQcMUMUMQ`MUMQUMUMQ MUMQQMU
MQ@MUMQdMUMQ^MUMUMQcMUMUMQ`MUMQUMUMQ!MUMQZMUMQ"MUMQQMU
MQFMUMQbMUMQ^MUMUMQcMUMUMQ`MUMQUMUMQ#MUMQQMU
MQMUMQeMUMQfMUMQgMUMQ$MUMQUMUMQ'MUMQQMU
MQIMUMQUMUMQ(MUMQQMU
MQKMUMQUMUMQ)MUMQQMU
MQMMUMQUMUMQ*MUMQZMUMQ+MUMQQMU
MQOMUMQhMUMQiMUMQjMUMQkMUMQlMUMQ0MUMQmMUMQ3MUMQnM222P!)rTz
Colorful helprBr�)r�r�r�r�r�r�r�rxz	more spamr�r�r�z	less spamrozthe baser�r�zthe exponent)rxr�r	�&this_indeed_is_a_very_long_action_namez-oz--optional1r	z--optional2zpick oner>z--optional3r�r!z--optional4r�z--optional5z--optional6r�z--optional7z--optional8rKz)among %(choices)s, default is %(default)s)ryr�rr�r�z++barz-+bazr�z--countrYzvalid subcommandszadditional helprZ�sub1z	sub1 help)r	r��sub2z	sub2 helpr�r3�                r�
� [rD�] [� | z--optional2 �	OPTIONAL2z--optional3 z{X,Y,Z}z]
                            [z--optional4 z--optional5 z--optional6 z-p z{Aaaaa,Bbbbb,Ccccc,Ddddd}z--optional8 �+f rF	z++bar rRz-+baz �BAZz-c �COUNTz]
                            r�z{sub1,sub2} ...z1

                Colorful help

                �positional arguments:z
                  z0                     the base
                  z4                     the exponent
                  zG
                                        the exponent

                �options:r�r�z>            show this help message and exit
                  z         more spam z
(default: �Falser�z           less spam z2
                                        pick one �Nonez   pick one z         among zA, B, Cz
, default is z

                zsubcommands:z8
                  valid subcommands

                  z{sub1,sub2}z/           additional help
                    z.                sub1 help
                    z*                sub2 help
                r[)�Aaaaa�Bbbbb�Ccccc�Ddddd)rKr�r8)r9r:r�r�rr�r�r�rr��heading�summary_long_option�summary_short_option�
summary_label�summary_action�long_option�short_option�labelrzry�interpolated_value�resetr�r�rdrer�)rr@r*r�rr�r(�long�shortr/�pos�long_b�short_b�label_b�pos_bry�interpr1r�s&                  r�test_argparse_color�!TestColorized.test_argparse_color�s����(�(��'�$�B�B���
���3�3�5��
����+�l��	�	
�	����)�L�{�	�	
�	���C�c�
��;�����c��4�	�	
�	���4���	�	
�
	����-���	�	
�	���M�
��;����M�?��C�����?��	�	
�	����?��	�	
�	����?��	�	
�	�����8��		�	
�	������#�<�	�	
�	���D�!����G�$����G�$����D�)�,��*�*��+�"�+�
�
�
	���f��K��H��$�$�V��;�$�O�����'�?���L��z�z�����*�*�$�$���z�z�-�-���
�
�/�/���
�
�(�(���j�j�'�'�����'�'���*�*�)�)���*�*�"�"���
�
�!�!���*�*�$�$�����.�.���
�
� � ���&�&�(�	�	
�����O�O�(�(��(��	�(� �(�!&��(�(,�v�(�-1�(�27��(�8:�(�;@�'�(�AC�(�DI�7�(�JM�(�NS�W�(�TV�(�W\�V]�(�]`�(�af�`g�(�gi�(�jo�ip�(�ps�(�ty�sz�(�z|�(�~C�}D�(�DG�(�HL�GM�(�MY�(�Z_�Y`�(�`i�(�jo�ip�(�ps�(�tx�sy�(�yE�(�FK�EL�(�LU�(�V[�U\�(�\�(�"�V�(�#/�(�05�w�(�6?�(�@E�w�(�FI�(�JN��(�O[�(�\a�[b�(�bk�(�lq�kr�(�ru�(�vz�u{�(�|H�(�IN�HO�(�OX�(�Y^�X_�(�_�(�$�W�(�%(�(�).�w�(�/J�(�KP��(�QT�(�UY�SY�(�Zf�(�gl�el�(�mn�(�ot�mt�(�ux�(�y~�w~�(�B�(�CH�BI�(�IJ�(�KP�JQ�(�QT�(�UY�TZ�(�Z`�(�af�`g�(�gj�(�kp�jq�(�q�(�#�V�	(�$*�	(�+0��	(�14�	(�5:�7�	(�;>�	(�?D�W�	(�EH�	(�IN�w�	(�OT�	(�UZ�SZ�	(�[�	(�
!�E�(�
"#�(�
$)�'�(�
*+�(�
,/�%�(�
01�(�
27��(�
89�(�
:=��(�
>d�(�
ej�cj�(�
kl�(�
mp�kp�(�
qB�(�
CH�BI�(�
I�(��	�(�/�(�05�g�(�6�(��'�(��(�!�'�(�"�(��'�(��(�!�'�(�"�(��'�(�@�(�AF�w�(�G�(��	�(�"�(�#(��(�)�(� �)�!(� �!(� $�W�!(� %'�!(� (.�h�!(� /5�!(� 6;�G�!(� <�!(�"�)�#(�"�#(�"$�W�#(�"%'�#(�"(.�h�#(�"/8�#(�"9>�w�#(�"?R�#(�"SZ�QZ�#(�"[e�#(�"fk�dk�#(�"ms�ks�#(�"ty�#(�"z�x�#(�"AH�@I�#(�"IJ�#(�"KP�JQ�#(�"Q�#(�$�)�%(�$�%(�$$�W�%(�$%'�%(�$(.�h�%(�$/6�%(�$7<�W�%(�$=R�%(�$SZ�QZ�%(�$[e�%(�$fk�dk�%(�$ms�ks�%(�$ty�%(�$z�x�%(�$AH�@I�%(�$IJ�%(�$KP�JQ�%(�$Q�%(�&�)�'(�&�'(�&$�W�'(�&%'�'(�&(.�h�'(�&/:�'(�&;@��'(�&A�'(�(�(�)(�(&�)(�(',�W�)(�(-.�)(�(/6�Y�)(�(7@�)(�(AF�w�)(�(G2�)(�*3:��+(�*;E�+(�*FK�G�+(�*MS�8�+(�*TX�+(�*Y^�W^�+(�*`g�^g�+(�*hi�+(�*jo�ho�+(�*p�+(�,�(�-(�,&�-(�,',�W�-(�,-.�-(�,/6�Y�-(�,7@�-(�,AF�w�-(�,G�-(�.�(�/(�.&�/(�.',�W�/(�.-.�/(�./6�Y�/(�.7@�/(�.AF�w�/(�.GS�/(�.T[�R[�/(�.\f�/(�.gl�el�/(�.nt�lt�/(�.uy�/(�.z�x�/(�.AH�@I�/(�.IJ�/(�.KP�JQ�/(�.Q�/(�0�(�1(�0&�1(�0',�W�1(�0-.�1(�0/6�Y�1(�07@�1(�0AF�w�1(�0GS�1(�0T[�R[�1(�0\f�1(�0gl�el�1(�0nt�lt�1(�0uy�1(�0z�x�1(�0AH�@I�1(�0IJ�1(�0KP�JQ�1(�0Q�1(�2�(�3(�2&�3(�2',�W�3(�2-.�3(�2/6�Y�3(�27@�3(�2AF�w�3(�2GS�3(�2T[�R[�3(�2\f�3(�2gl�el�3(�2nt�lt�3(�2uy�3(�2z�x�3(�2AH�@I�3(�2IJ�3(�2KP�JQ�3(�2Q�3(�4�)�5(�4�5(�4$�W�5(�4%'�5(�4(.�h�5(�4/:�5(�4;@��5(�4AB�5(�4CJ��5(�4Kf�5(�4gl�el�5(�4m2�5(�63:��7(�6;E�7(�6FK�G�7(�6MS�8�7(�6TX�7(�6Y^�W^�7(�6`g�^g�7(�6hi�7(�6jo�ho�7(�6p�7(�8�(�9(�8&�9(�8',�W�9(�8-.�9(�8/6�Y�9(�878�9(�89>�w�9(�8?N�9(�8OU�X�9(�8V]�9(�8^c�\c�9(�8dq�9(�8rx�px�9(�8yz�9(�8{@�zA�9(�8A�9(�:�)�;(�:�;(�:$�W�;(�:%&�;(�:'.�Y�;(�:/0�;(�:16�w�;(�:7�;(�<�(�=(�< �=(�<!&�w�=(�<'(�=(�<)0�y�=(�<14�=(�<5:�7�=(�<;�=(�>�(�?(�> �?(�>!&�w�?(�>'(�?(�>)0�y�?(�>14�?(�>5:�7�?(�>;�?(�@�)�A(�@�A(�@$�W�A(�@%'�A(�@(.�h�A(�@/6�A(�@7<�W�A(�@=>�A(�@?F�Y�A(�@GL�A(�@MR�7�A(�@S�A(�D�	�E(�D&�E(�D',�W�E(�D-�E(�J�'�K(�J'�K(�J(-�g�K(�J.�K(�L�G�M(�L �M(�L!&�w�M(�L'�M(�N�G�O(�N �O(�N!&�w�O(�N'�O(�*
�-	
rc��[OP	QQ5oUO2oUOQQQQ5UOQQQ	5UOQ
QQQ
5UOO
oUOOoUOOoUOOoUOOoUOOoUOOo	UOUO2UQU	UQU	QUQU	QUQU	QUQUQU	QUQU	Q02P!)Tr�)r�r�rvrxrTr�rrUr>r�rrVr�r�
rrDrrz--spam z
badger ...z]
)r9r:r�rrr�r(r)r*r+r,r1r�r�)
rr@r*r�r(r2r3r/r4r1s
&         r�2test_argparse_color_mutually_exclusive_group_usage�@TestColorized.test_argparse_color_mutually_exclusive_group_usagems8���(�(�t�&�A���3�3�5��
���7�<�e��D�
���8�&��1�
���8�3�X��>��z�z�����*�*�$�$���z�z�-�-���
�
�/�/���
�
�(�(���j�j�'�'���
�
� � ������,�,�.��i�w�u�g�d�V�4��w�b���r�%��I��v�U�5�'���f�G�E�7�$�u�g�S��e�:�e�W�C�
)�	*rc��[OP
P	QQQQ5oUOOoUOOoUOO
oUOOoUO2oUOU[OQUQUUQUQUUQUQ	0
22P!)
FzTest prog and usage colorsr�z[prefix] %(prog)s [suffix])r�r�r�r�r�rr�
z	[prefix] z	 [suffix]z=

                Test prog and usage colors
                )r9r:rr(r�r1�
prog_extrar�r�rdre)rr@r(r�r1r�r�s&      r� test_argparse_color_custom_usage�.TestColorized.test_argparse_color_custom_usage�s����(�(���4��.�
���*�*�$�$���z�z�����
�
� � ���
�
�%�%���&�&�(�	�	
�����O�O���	�����w�i��v�T�%����y�Y^�X_�`��
�		
rc�&�QQkoUO[O22oQoSFD�oQFD�oUOVEQ59^tt^2VRQ$UP	UQ5O	2oUP
UQ5O	2oUOUOOQUOO0U2UO[OU2U2PPP2J�	J�	P!)%fhJ�9h)	�
output.txtc��[OQUQ5oUOQQQ	QQ5UOQUQQ5U!)
r��r�r��--mode�autoziselect the operating mode from the available choices %(choices)s and note the default is %(default)s here)ryrr�z--pathz3write output to %(default)s and continue processingrz)rH�fast�slowr�	)r�r�r@s&& r�build�KTestColorized.test_argparse_color_wrapping_matches_uncolored.<locals>.build�s[���,�,�&��F�F������0�L�	
 �
�
�����J�
 �
�
�Mr)r��columnsr�)r�r�rH)rD)rDz</var/lib/application/cache/unusually_long_generated_filenamezproduction-read-only-replica)r��60�45�30�20)r�rr�rKr�rCrr0r1r�rp�decolor)rrKr��pathsr�rM�colored�plains&       r�.test_argparse_color_wrapping_matches_uncolored�<TestColorized.test_argparse_color_wrapping_matches_uncolored�s���	� ���	� =� =� ?�@��
��
�D�9���\�\�t�\�=�=�%,�	�N�#�$�T�:�F�F�H�G�!��D�9�E�E�G�E��M�M��:�:�8�8�9���:�:�+�+�,�.���
�$�$�Y�%6�%6�w�%?��G�>�=�:��=�=�=�s�BC?
�?D�Dc�P�[OQP	Q5oUOQQQQ5UO[O
22oQUQ$UO
2oUOUOOQUOO0U2P!)r�rFrGrHzeselect the %(default)s operating mode from the available options and continue with several more wordsrz�40r�)r9r:rr�rr�r�rCrr0r1)rr@r�r�s&   r�9test_argparse_color_preserved_when_wrapping_between_words�GTestColorized.test_argparse_color_preserved_when_wrapping_between_words�s����(�(�f�D�A������f�@�	�	
����	� =� =� ?�@����I���&�&�(�	��
�
��z�z�,�,�-�T�$�*�*�2B�2B�1C�D��	
rc	���Qo[OQQUP	Q5oUOQQQQ5UOQQ	Q5UOOoUOO
oUOOoUOOoUOOoUOOoUOOo	UOOo
UOOoUOOoUO2o
UOU
[ O"PO%,Q
MUMQMUMUMQMUMQMUMQ
MUMQMUMQMUMQMUMQMUMQMUMQMUMQMUMQMUMQMUMQMUMQMUMQMU	MQ
MUMQMUMQMUMQMU	MQMUMQMUMQMUMQMU
MQMUMQM222P!)c�4�[OU]Q5!r�r�r+s&rr��FTestColorized.test_custom_formatter_function.<locals>.custom_formatter�r�rr�rB�r�r�r�r�r�r[r�r>rr��            r�
rrDrrrT�] �

            r �
                 �"           spam help

            r!r�r��6     show this help message and exit
                 r��  foo help
        )r9r:rrr�r(r*r+r,r-r.r/rzr1r�r�rdrer�)rr�r@r�r(r3r/r4r5r6r7r8r1r�s&             rr��,TestColorized.test_custom_formatter_function�sL��	K��(�(���,��	
��	���D�'�
��;����F���5��z�z�����*�*�$�$���
�
�/�/���
�
�(�(���j�j�'�'�����'�'���*�*�)�)���*�*�"�"���
�
�!�!���
�
� � ���(�(�*������h�o�o�	7�	7�;
�	7�
�I�	7��	7�"�G�	7�$(�6�	7�)-�	7�.3�W�	7�46�	7�7<�g�	7�=?�	7�@E�w�	7�FI�	7�JO��	7�PS�	7�TY�SZ�	7�Z]�	7�^c�]d�	7�df�	7�gj�fk�	7�ko�	7�pu�ov�	7�w
�	7��I�	7�+�	7�,1�'�	7�2�	7���		7��		7�#�G�		7�$
�		7��I�
	7��
	7�$�W�
	7�%�
	7���	7��	7�#�G�	7�$&�	7�'-�X�	7�.4�	7�5:�7�	7�;�	7���	7��	7�#�G�	7�$&�	7�'-�X�	7�.3�	7�49�'�	7�:;�	7�<C�)�	7�DG�	7�HM�g�	7�N	�	7�	'
�		rc	��QQ[O2o[OQQUP	Q5oUOQQQQ5UOQ	Q
Q5UOO
oUOOoUOOoUOOoUOOoUOOoUOOo	UOOo
UOOoUOOoUO2o
UO!U
["O$PO',QMUMQMUMUMQMUMQ
MUMQMUMQMUMQMUMQMUMQMUMQ	MUMQMUMQMUMQMUMQ	MUMQMUMQMUMQMU	MQMUMQMUMQMUMQMU	MQMUMQMUMQMUMQMU
MQMUMQM222P!)c�4``�\sQsQsnU1QksQsUsU9s!)�BTestColorized.test_custom_formatter_class.<locals>.CustomFormatteri�c�,:�[RU_U]Q5P!r�r�r�s&&�rr�KTestColorized.test_custom_formatter_class.<locals>.CustomFormatter.__init__�r�rr&r�r0s@@rr�rj�r�rr�r�rBr_r�r[r�r>rr�r`r�
rrDrrrTrarbr rcrdr!r�r�rer�rf)r9r�r:rrr�r(r*r+r,r-r.r/rzr1r�r�rdrer�)rr�r@r�r(r3r/r4r5r6r7r8r1r�s&             rr��)TestColorized.test_custom_formatter_class�sX��	;�h�;�;�	;��(�(���+��	
��	���D�'�
��;����F���5��z�z�����*�*�$�$���
�
�/�/���
�
�(�(���j�j�'�'�����'�'���*�*�)�)���*�*�"�"���
�
�!�!���
�
� � ���(�(�*������h�o�o�	7�	7�;
�	7�
�I�	7��	7�"�G�	7�$(�6�	7�)-�	7�.3�W�	7�46�	7�7<�g�	7�=?�	7�@E�w�	7�FI�	7�JO��	7�PS�	7�TY�SZ�	7�Z]�	7�^c�]d�	7�df�	7�gj�fk�	7�ko�	7�pu�ov�	7�w
�	7��I�	7�+�	7�,1�'�	7�2�	7���		7��		7�#�G�		7�$
�		7��I�
	7��
	7�$�W�
	7�%�
	7���	7��	7�#�G�	7�$&�	7�'-�X�	7�.4�	7�5:�7�	7�;�	7���	7��	7�#�G�	7�$&�	7�'-�X�	7�.3�	7�49�'�	7�:;�	7�<C�)�	7�DG�	7�HM�g�	7�N	�	7�	'
�		rc��[OQP	Q5oUOQQ5oUOQ2oUO	QUO
2P
UmUO2oUO	QU2P!)rrFrr��demo�[)r9r:r�r�r�r�r�r�)rr@r,�demo_parserr�s&    r�+test_subparser_prog_is_stored_without_color�9TestColorized.test_subparser_prog_is_stored_without_color sq���(�(�i�t�D���#�#��#�3���n�n�V�,������+�"2�"2�3�!����+�+�-�	�����)�,rc	���[OQQ5oUOQ2UO[29^tt^2[29^tt^2oUO
,2PPP2PPP2WO2oUOOoUOOoUOUQU0U2[29^tt^2oUOQ2PPP2UO2oUOOoUOUQU0U2P!)%fhK�9h)%fhK�9h)%fhKu9h)r�r+r6�error:�test warning�warning:)r9r:rr�rrrJr"rrr1rC�_warningr�)rr@r��err�error_colorr1�warn�
warning_colors&       r�)test_error_and_warning_keywords_colorized�7TestColorized.test_error_and_warning_keywords_colorized+s���(�(�f�5�����E�"�
�
�
�z�
*�
*� �"�"�f��!�!�"�%�#�+��o�o����j�j�&�&���
�
� � ���
�
��
�V�E�7�3�S�9�
�
�
�&��O�O�N�+����� ���
�
�*�*�
��
�
���x��w�7��>�#�"��+�
*���
�sB�E
�D:	�,E
�!E �:E

�E

�E
�
E	�E	� E0	�)E0	c	��[OQP
Q5oUOQ2UO[29^tt^2[29^tt^2oUO
,2PPP2PPP2WO2oUOQU2UOQU2[29^tt^2oUOQ2PPP2UO2oUOQU2UOQU2P!)%fhK�9h)%fhK�9h)%fhKl9h)r�rFr6rprurvrw)r9r:rr�rrrJr"r�rCrx)rr@r�ryr{s&    r�2test_error_and_warning_not_colorized_when_disabled�@TestColorized.test_error_and_warning_not_colorized_when_disabled?s����(�(�f�E�B�����E�"�
�
�
�z�
*�
*� �"�"�f��!�!�"�%�#�+��o�o�������#�&��
�
�h��$�
�
�
�&��O�O�N�+����� ������$�'��
�
�j�$�'�#�"��+�
*���
�sB�D&�D	�-D&�D9�D#
�D#
�D&�&D6	�/D6	�9E		�E		c��[OQP	QQ5oUOOoUOOoUO2oUO
QUQU0U2UOQU2P!)r�z$Example: `python -m myapp --verbose`�r�r�r�z	Example: zpython -m myapp --verbose�`�r9r:rr@r1r�rCr��rr@r@r1r�s&    r�test_backtick_markup_in_epilog�,TestColorized.test_backtick_markup_in_epilogRsx���(�(���9�
���Z�Z�*�*�
��
�
� � ���&�&�(�	��
�
�	�*��-F�u�g�N��	!�����i�(rc��[OQP	QQ5oUOOoUOOoUO2oUO
QUQUQUQUQ0	U2UOQU2P!)	r�z3Run `python myapp` or ``python -m myapp`` to start.)r�r�r�zRun zpython myappz or zpython -m myappz
 to start.r�r�r�s&    r�#test_backtick_markup_in_description�1TestColorized.test_backtick_markup_in_descriptionas����(�(���M�
���Z�Z�*�*�
��
�
� � ���&�&�(�	��
�
��:�,�l�5�'���l�/�%��
�
<��	
�
	
����i�(rc�2�[OQP	QQ5oUOOoUOOoUO2oUO
UQU0U2UO
UQU0U2UOQU2P!)r�zTry `app run` or ``app test``.r�zapp runzapp testr�r�r�s&    r�test_backtick_markup_multiple�+TestColorized.test_backtick_markup_multipless����(�(���3�
���Z�Z�*�*�
��
�
� � ���&�&�(�	��
�
���G�E�7�3�Y�?��
�
���H�U�G�4�i�@�����i�(rc���[OQP
QQ5oUO2oUOQU2UOQU2UO	QU2P!)r�z6Examples: `python -m myapp` or ``python -m myapp --x``r�z`python -m myapp`z``python -m myapp --x``rp)r9r:r�rCr��rr@r�s&  r�4test_backtick_markup_not_applied_when_color_disabled�BTestColorized.test_backtick_markup_not_applied_when_color_disabled�sY���(�(���K�
���&�&�(�	��
�
�)�9�5��
�
�/��;�����)�,rc���[OQP	QQ5oUOOoUOOoUO2oUO
UQU0U2P!)�myappz$Run `%(prog)s --help` for more info.r�zmyapp --help�r9r:rr@r1r�rCr�s&    r�'test_backtick_markup_with_format_string�5TestColorized.test_backtick_markup_with_format_string�sb���(�(���9�
���Z�Z�*�*�
��
�
� � ���&�&�(�	��
�
���L���8�)�Drc�$�[OQP	Q5oUO2oUOQQQ5oUOO
oUOOoUO2oUOUQU0U2P!)r�rFr,zRun `PROG sub --foo` to start.r�zPROG sub --foo)	r9r:r�r�rr@r1r�rC)rr@r�r,r@r1r�s&      r�!test_backtick_markup_in_subparser�/TestColorized.test_backtick_markup_in_subparser�s����(�(�f�D�A���*�*�,�
��#�#��8�$�
��
�Z�Z�*�*�
��
�
� � ���O�O�%�	��
�
���N�5�'�:�I�Frc���[OQP	QQ5oUOOoUOOoUO2oUO
UQU0U2P!)r�z`grep "foo.*bar" | sort`r�zgrep "foo.*bar" | sortr�r�s&    r�(test_backtick_markup_special_regex_chars�6TestColorized.test_backtick_markup_special_regex_chars�sc���(�(���-�
���Z�Z�*�*�
��
�
� � ���&�&�(�	��
�
���$:�5�'�B�I�Nrc��[OQP	Q5oUOQQQ5UOQQQ5UOOoUOO
oUO
2oUOQUQUQ	0U2UOQUQ
UQ	0U2UOQU2P!)r�rFrv�set the `foo` valuer>r�zset the ``bar`` valuezset the r6z valuerzr�)	r9r:rrr@r1r�rCr�r�s&    r�%test_backtick_markup_in_argument_help�3TestColorized.test_backtick_markup_in_argument_help�s����(�(�f�D�A�����G�*?��@����G�*A��B��Z�Z�*�*�
��
�
� � ���&�&�(�	��
�
����C��w�f�=�y�I��
�
����C��w�f�=�y�I�����i�(rc��[OQP	Q5oUOQQQQ5UOOoUOO
oUO
2oUOQUQU0U2P!)r�rFrvrzz set `foo` (default: %(default)s)rzzset r6)r9r:rrr@r1r�rCr�s&    r�1test_backtick_markup_in_argument_help_with_format�?TestColorized.test_backtick_markup_in_argument_help_with_format�sx���(�(�f�D�A������U�)K�	�	
��Z�Z�*�*�
��
�
� � ���&�&�(�	��
�
��Z�L��E�7�3�Y�?rc���[OQP
Q5oUOQQQ5UO2oUO	QU2UOQU2P!)r�rFrvr�r>rp)r9r:rr�rCr�r�s&  r�4test_backtick_markup_in_argument_help_color_disabled�BTestColorized.test_backtick_markup_in_argument_help_color_disabled�sU���(�(�f�E�B�����G�*?��@��&�&�(�	��
�
�+�Y�7�����)�,rc��QQ2o[OQP	Q5oUOQQUQ2Q5UOQUQ	2Q
5UOOoUOO
oUO
2oUOQUQUQ0U2UOQ	U2P!)
c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�YTestColorized.test_argument_help_interpolation_accepts_string_like_proxy.<locals>.LazyStri�c��VmP!r���_message)rr8s&&rr�bTestColorized.test_argument_help_interpolation_accepts_string_like_proxy.<locals>.LazyStr.__init__�s�� '�
rc��UO!r�r�r$s&r�__str__�aTestColorized.test_argument_help_interpolation_accepts_string_like_proxy.<locals>.LazyStr.__str__�s���}�}�$rc�.�[[U2U2!r�)rr^r�s&&r�__getattr__�eTestColorized.test_argument_help_interpolation_accepts_string_like_proxy.<locals>.LazyStr.__getattr__�s���s�4�y�$�/�/rc� �VO7!r�r�)r�items&&r�__contains__�fTestColorized.test_argument_help_interpolation_accepts_string_like_proxy.<locals>.LazyStr.__contains__�s���}�}�,�,rc�*�UOU*!r�r�r�s&&r�__mod__�aTestColorized.test_argument_help_interpolation_accepts_string_like_proxy.<locals>.LazyStr.__mod__�s���}�}�u�,�,rr�)r)r*r+r,rr�r�r�r�r-r.rQs@r�LazyStrr��s#����
(�
%�
0�
-�
-�
-rr�r�rFrvrzzfoo (default: %(default)s)rzr�zbaz plain textr>zfoo (default: r�)r9r:rrr0r1r�rC)rr�r@r9r1r�s&     r�:test_argument_help_interpolation_accepts_string_like_proxy�HTestColorized.test_argument_help_interpolation_accepts_string_like_proxy�s���	-�	-� �(�(�f�D�A��������5�6�	�	
�
	�����)�*�	�	
�
���.�.���
�
� � ���&�&�(�	��
�
��v�h�c�%���:�I�F��
�
�&�	�2rc��[OQP	Q5oUOQ[]�QQ5UOQ[]QQ5UOQQQ	Q
5UOQ[]2QQ5UOQ
QQ5UOQQQ5UOQ[QQ5UOQQQ,QQ5UO	2oUO
OoUO
OoUOQUQU0U2UOQUQU0U2UOQUQU0U2UOQ UQU0U2UOQ!UQ"UQ#0U2UOQ$U2UOQ%UQU0U2UOQ&UQ'U0U2UOQ(UQ)U0U2P!)*r�rFz--hexz#hex: %(default)x, alt: %(default)#xr�z--zerozzero: %(default)05dz--strr�zstr: %(default)srzz--pctzpct: %(default)d%%z	--literalzliteral: 100%%r>z--progzprog: %(prog)sz--typeztype: %(type)sr�z	--choicesrmrzchoices: %(choices)sr�zhex: �ffzalt: �0xffzzero: �00007zstr: zpct: �50�%z
literal: 100%zprog: ztype: r�z	choices: za, b)	r9r:rr�r�rr0r1rC)rr@r�r9r1s&    r� test_help_with_format_specifiers�.TestColorized.test_help_with_format_specifiers�s����(�(�f�D�A�����G�#�s�!F�	�	H����H�3��!6�	�	8����G�V�!3�	�	5����G�#�r�!5�	�	7����K�.>��?����H�+;��<����H�3�5E��F����K�#�s��!7�	�	9��&�&�(�	����.�.���
�
� � ���
�
��f�X�R��w�/��;��
�
��f�X�T�%��1�9�=��
�
��v�h�e�E�7�3�Y�?��
�
��f�X�T�%��1�9�=��
�
��f�X�R��w�a�0�)�<��
�
�o�y�1��
�
��v�h�d�5�'�2�I�>��
�
��v�h�c�%��1�9�=��
�
�	�&���e�W�5�y�Arc��`�[OQP	Q5oUOQ2[O2o,nQP-U1Qkko[[QU29^tt^2UOUQ5PPP2UORP*U2UOUR2UOQUO22P!)%fhK]9h)r�rF�--optr�c�0:�ROU2UPI!r��rs�r��callss$�r�fake_can_colorize�\TestColorized.test_print_help_uses_target_file_for_color_decision.<locals>.fake_can_colorize!�����L�L����4�<�rr�r�rp)r9r:rr�StringIOrrprGr�rCr�r"�rr@�outputr�r�s&   @r�3test_print_help_uses_target_file_for_color_decision�ATestColorized.test_print_help_uses_target_file_for_color_decisions�����(�(�f�D�A�����G�$��������	 �d�	 ��y�.�2C�
D�
D����6��*�E�	
�
�
�e�B�i��(��
�
�f�e�$�����&�/�/�"3�4�E�
D���&C�C	�C	c��`�[OQP	Q5oUOQ2[O2o,nQP-U1Qkko[[QU29^tt^2UOUQ5PPP2UORP*U2UOUR2UOQUO22P!)%fhK]9h)r�rFr�r�c�0:�ROU2UPI!r�r�r�s$�rr��]TestColorized.test_print_usage_uses_target_file_for_color_decision.<locals>.fake_can_colorize2r�rrr�rp)r9r:rrr�rrprFr�rCr�r"r�s&   @r�4test_print_usage_uses_target_file_for_color_decision�BTestColorized.test_print_usage_uses_target_file_for_color_decision,s�����(�(�f�D�A�����G�$��������	 �d�	 ��y�.�2C�
D�
D����F��+�E�	
�
�
�e�B�i��(��
�
�f�e�$�����&�/�/�"3�4�E�
D�r�c	��]QHGo[OP	Q5OoSFD'oUO	[V2[V#22J)	P!)r��_colorless_theme)�force_no_color)r9r�rprr�r)rr��_colorize_nocolorr�s&   r�"test_fake_color_theme_matches_real�0TestColorized.test_fake_color_theme_matches_real=sG��-�&�/�/�t�D�M�M��"�A�����(�,�g�6G�.K�
�#rc�*�]QHGoUO[29^tt^2UOPPP2UO[29^tt^2UO
PPP2P!)%fhKD9h)%fhP!9h)rr�)r9r�r�r��__unknown_dunder__�_private_attribute)rr�s& r�test_fake_color_theme_raises�*TestColorized.test_fake_color_theme_raisesGs_��-��
�
�~�
.�
.��/�/�/��
�
�~�
.�
.��/�/�/�
.�/�
.��/�
.�
.�s#�
A.�
B�.A>	�7A>	�B	�
B	)r)#r)r*r+r,rqr�r:r=rArVrZr�r�rrr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r-r.r/r0s@@rr
r
�s������G�D�B
�H*�*
�:%H�N
�""�H#�J	-�?�((�&
)�)�$
)�-�E�G�O�)�
@�-�!3�FB�@5�"5�"�	0�	0rr
c�(`�\sQsQsnQsQsUsP!)�
TestModuleiSc���UO[Q29^tt^2o[[Q2PPP2UO	WO
[2P!)%fhK29h)zA'__version__' is deprecated and slated for removal in Python 3.20�__version__)�assertWarnsRegexr�rr9r�r�r�r�s& r�test_deprecated__version__�%TestModule.test_deprecated__version__TsP��
�
"�
"��O�
�
���H�m�,�	
�
	
������h�/�
�
�s�A�A+	�$A+	r&)r)r*r+r,r�r-r.rQs@rr�r�Ss����0�0rr�c�D�-[m[2[mP!r�)r�r�r'r�r&rr�tearDownModuler�]s���E�J���E�Jrr�
z--snapshot-update(rpr;rHrO
rr�r�r[r�rrdr��unittestr9ro�enumr�test.supportrrrrrrr	�test.support.i18n_helperr
rrr�r�
�
executabler�
�
TextIOWrapperrr�r3rSrrr��skip_unless_working_chmodrdr�r�r�r�r�rr:rrxrrfrrjrvr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrr%r+r/r3r7r;rPrYrgrnrqr{rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr	rr
rrrrrrrr r"r)r-r0r3r6r8r=r?rArFrHrOrVr]rargr�r�r�r�rrr�r�r��	eq_stderrr�r�
eq_bstderrr�r�r�r�r��skip_if_dac_overrider�r�rrrrrr r1r:rEr`rkrqrtr�r�rur�r�r�rr1r=rFrKrRr]rfrlrprvr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrr$r)r,r1r7r9r;r=r?rArSrwr|rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rNrVrkr�r�r�r�r�r�r�r	r	r5	rR	rv	r�	r�	r4
rG
rT
r]
r�
rr
r�r�r)�lenr6r>�mainr&rr�<module>r�s�
������	��	�
��
���������'�"�&�W���W�W���c�n�n�%��:�"�"�"�:�$F�H�%�%�F�:9
�h�'�'�9
�x'3��!2�!2�'3�T1�8�#4�#4�1�*�x� � ���$�$�D�6�D�%�D�.�&��)��)�%�)�%�# �L>��!8�!8�>�q9�D�q9�f	�	��&�'7���C���n���n��4�.��
�^�
� �~��.
�>�
��n���.��$���&�N��&���(���,���.
�^�
� ���,	�>�	�����.���.�����.�>��&�.��"�>��"
�N�
��~���N���N���>��U��U�8S�.�S�*U�N�U�,S��S�6
��
�	��	�	�>�	����&�^������~�����&�N��"�~��"�n��"�n��&�N��&
��
�B�~���N���N��	�^�	�	�N�	��N���>���.���>���>�����������(���"
�~�
� ���$
��
� �~���n���^���N��	�n�	��^���N���.��,���.���,�>��
�^�
�	�N�	��>�����
�.�
�
�.�
� 
��
� �~��"
��
�
��
��>��&�~��&
�.�
� 
��
� �^��6�.��2���(�.��**�L�.�*�Z�\�>��D2�0�h�0�K�x�K�0�h���h��,�,�,�W�%���h�'�	��h�'�	��n�-�	�
��
/�
�
��
/�
�/�F�/� �L�.��03�<��3�"�\�>��.'�F�'�"����L�.�� ��,����L�.�� ��&���
�\�>�
� �
� ���
�]�
� �
�#�8�#�,
��
�$�~���.��,�>��,>�8�>�.>�N�>�BJ�X�J�$�~��!��!�F �W
�(�W
� �W
�tD��D�J �[��[� �[�B!+�H�!+�F7�8�7�H �I��I� �I�^ �^?�x�^?� �^?�@5?�f�5?�p �'�8� �F(���(�V�7�H��B!�'�8�!�H*��(�*�Z,�'�8�,�^%�7�H�%�P,���,�^ �G�X� �F �w�� �F ��(� �L�f��	��
-�	�
	��
(�	�
	��
&�	�
	��
1�	�
	��
0�	�
	��
7�	�
	��
0�	�
	��
>�	�X0�h�X0�|8�X�8�.
"�(�
"�&T1�$�T1�l	�	��*�>�5�"�E��"�l�"�H3B�|�3B�l,�<�,�^���>1�<�1�h%��%�P3��3�l6�L�6�r�<��,�\��>�L��:!�|�!�H�<��2#��#�L�<��D!�L�!�H�\��4�|��01�\�1�h �a7�X�a7� �a7�H+��+�\�\��"
�<�
��L��*�|��(�L��4���*�|��(�<��*�\��.�<��0�<��6�\��8.�l�.�b-�\�-�`2�|�2�h�L��(�L��2���:'��'�V�<��: �\8�(�\8� �\8�DZI�h�ZI�@-�(�-�<8J�8�8J�~ �EQ�h�EQ� �EQ�XE/�(�E/�V7�H�7�J-�8�-�$*��*�
.�H�
.�&65�h�65�z
8�8�
8�" �};�h�};� �};�H+(�h�+(�b*)��*)�ZJL�X�JL�b\T��\T�~)��)�0eD�X�eD�P.�x�.�@
B�X�
B� �(��2VJ�h�VJ�r �Y6�8�Y6� �Y6�~)�+�)�q	0�H�q	0�h0��"�"�0���z��
�3�8�8�}�q��S�X�X�a�[�,?�?�$�X�.�������M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit