// File: statgen[P]statgen/lib/tclap-1.2.0/examples/../include/tclap/Arg.h
// Function: TCLAP::Arg::Arg(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool, TCLAP::Visitor*)
inline Arg::Arg(const std::string& flag,
         const std::string& name,
         const std::string& desc,
         bool req,
         bool valreq,
         Visitor* v) :
  _flag(flag),
  _name(name),
  _description(desc),
  _required(req),
  _requireLabel("required"),
  _valueRequired(valreq),
  _alreadySet(false),
  _visitor( v ),
  _ignoreable(true),
  _xorSet(false),
  _acceptsMultipleValues(false)
{
	if ( _flag.length() > 1 )
		throw(SpecificationException(
				"Argument flag can only be one character long", toString() ) );

	if ( _name != ignoreNameString() &&
		 ( _flag == Arg::flagStartString() ||
		   _flag == Arg::nameStartString() ||
		   _flag == " " ) )
		throw(SpecificationException("Argument flag cannot be either '" +
							Arg::flagStartString() + "' or '" +
							Arg::nameStartString() + "' or a space.",
							toString() ) );

	if ( ( _name.substr( 0, Arg::flagStartString().length() ) == Arg::flagStartString() ) ||
		 ( _name.substr( 0, Arg::nameStartString().length() ) == Arg::nameStartString() ) ||
		 ( _name.find( " ", 0 ) != std::string::npos ) )
		throw(SpecificationException("Argument name begin with either '" +
							Arg::flagStartString() + "' or '" +
							Arg::nameStartString() + "' or space.",
							toString() ) );

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x460, %rsp            # imm = 0x460
movl %r8d, -0x3cc(%rbp)
movq %rcx, %rax
movl -0x3cc(%rbp), %ecx
movq %rax, -0x3c8(%rbp)
movq %rdx, %rax
movq -0x3c8(%rbp), %rdx
movq %rax, -0x3c0(%rbp)
movq %rsi, %rax
movq -0x3c0(%rbp), %rsi
movq %rax, -0x3b8(%rbp)
movq %rdi, %r8
movq -0x3b8(%rbp), %rdi
movb %r9b, %al
movq 0x10(%rbp), %r9
movq %r8, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
andb $0x1, %cl
movb %cl, -0x21(%rbp)
andb $0x1, %al
movb %al, -0x22(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x3a8(%rbp)
leaq 0xe216(%rip), %rax      # 0x1a758
movq %rax, (%rdi)
addq $0x8, %rdi
movq %rdi, -0x3b0(%rbp)
movq -0x10(%rbp), %rsi
callq 0x40f0
movq -0x3a8(%rbp), %rdi
addq $0x28, %rdi
movq %rdi, -0x3a0(%rbp)
movq -0x18(%rbp), %rsi
callq 0x40f0
jmp 0xc576
movq -0x3a8(%rbp), %rdi
addq $0x48, %rdi
movq %rdi, -0x3d8(%rbp)
movq -0x20(%rbp), %rsi
callq 0x40f0
jmp 0xc593
movq -0x3a8(%rbp), %rax
movb -0x21(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x68(%rax)
addq $0x70, %rax
movq %rax, -0x3e8(%rbp)
leaq -0x35(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0x4430
movq -0x3e8(%rbp), %rdi
movq -0x3e0(%rbp), %rdx
leaq 0x6ec1(%rip), %rsi      # 0x13494
callq 0x5110
jmp 0xc5da
leaq -0x35(%rbp), %rdi
callq 0x42b0
movq -0x3a8(%rbp), %rdi
movb -0x22(%rbp), %al
andb $0x1, %al
movb %al, 0x90(%rdi)
movb $0x0, 0x91(%rdi)
movq 0x10(%rbp), %rax
movq %rax, 0x98(%rdi)
movb $0x1, 0xa0(%rdi)
movb $0x0, 0xa1(%rdi)
movb $0x0, 0xa2(%rdi)
addq $0x8, %rdi
callq 0x4390
cmpq $0x1, %rax
jbe 0xc75d
movb $0x1, -0x81(%rbp)
movl $0x68, %edi
callq 0x4140
movq %rax, -0x3f8(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x3f0(%rbp)
callq 0x4430
movq -0x3f0(%rbp), %rdx
leaq 0x6b1d(%rip), %rsi      # 0x13182
leaq -0x58(%rbp), %rdi
callq 0x5110
jmp 0xc670
movq -0x3a8(%rbp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq -0x80(%rbp), %rdi
callq *%rax
jmp 0xc686
movq -0x3f8(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0xcfd0
jmp 0xc69c
movq -0x3f8(%rbp), %rdi
movb $0x0, -0x81(%rbp)
leaq 0xe54f(%rip), %rsi      # 0x1ac00
leaq 0xb78(%rip), %rdx       # 0xd230
callq 0x4400
jmp 0xcfc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcfb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcfa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x35(%rbp), %rdi
callq 0x42b0
jmp 0xcf98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc738
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xc72f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x44d8
leaq -0x58(%rbp), %rdi
callq 0x44d8
leaq -0x59(%rbp), %rdi
callq 0x42b0
testb $0x1, -0x81(%rbp)
jne 0xc74c
jmp 0xc758
movq -0x3f8(%rbp), %rdi
callq 0x41d0
jmp 0xcf8c
movq -0x3a8(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x400(%rbp)
movb $0x0, -0xc9(%rbp)
movb $0x0, -0xf1(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xc2b0
jmp 0xc78b
movq -0x400(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0xd250
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x401(%rbp)
jne 0xc7b2
jmp 0xc87d
movq -0x3a8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x410(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x8850
jmp 0xc7d2
movq -0x410(%rbp), %rdi
movb $0x1, -0xc9(%rbp)
leaq -0xc8(%rbp), %rsi
callq 0x88c0
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x411(%rbp)
jne 0xc871
movq -0x3a8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x420(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x8950
jmp 0xc81b
movq -0x420(%rbp), %rdi
movb $0x1, -0xf1(%rbp)
leaq -0xf0(%rbp), %rsi
callq 0x88c0
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x411(%rbp)
jne 0xc871
movq -0x3a8(%rbp), %rdi
addq $0x8, %rdi
leaq 0x6bc8(%rip), %rsi      # 0x1341e
callq 0xd280
movb %al, -0x421(%rbp)
jmp 0xc863
movb -0x421(%rbp), %al
movb %al, -0x411(%rbp)
jmp 0xc871
movb -0x411(%rbp), %al
movb %al, -0x401(%rbp)
movb -0x401(%rbp), %al
movb %al, -0x422(%rbp)
testb $0x1, -0xf1(%rbp)
jne 0xc894
jmp 0xc8a0
leaq -0xf0(%rbp), %rdi
callq 0x44d8
testb $0x1, -0xc9(%rbp)
jne 0xc8ab
jmp 0xc8b7
leaq -0xc8(%rbp), %rdi
callq 0x44d8
leaq -0xa8(%rbp), %rdi
callq 0x44d8
movb -0x422(%rbp), %al
testb $0x1, %al
jne 0xc8d2
jmp 0xcb34
movb $0x1, -0x1d9(%rbp)
movl $0x68, %edi
callq 0x4140
movq %rax, -0x430(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x8850
jmp 0xc8f8
leaq 0x68b0(%rip), %rsi      # 0x131af
leaq -0x178(%rbp), %rdi
leaq -0x198(%rbp), %rdx
callq 0xb2c0
jmp 0xc914
leaq 0x68b5(%rip), %rdx      # 0x131d0
leaq -0x158(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x9170
jmp 0xc930
leaq -0x1b8(%rbp), %rdi
callq 0x8950
jmp 0xc93e
leaq -0x138(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
callq 0x8dc0
jmp 0xc95a
leaq 0x6876(%rip), %rdx      # 0x131d7
leaq -0x118(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x9170
jmp 0xc976
movq -0x3a8(%rbp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq -0x1d8(%rbp), %rdi
callq *%rax
jmp 0xc98f
movq -0x430(%rbp), %rdi
leaq -0x118(%rbp), %rsi
leaq -0x1d8(%rbp), %rdx
callq 0xcfd0
jmp 0xc9ab
movq -0x430(%rbp), %rdi
movb $0x0, -0x1d9(%rbp)
leaq 0xe240(%rip), %rsi      # 0x1ac00
leaq 0x869(%rip), %rdx       # 0xd230
callq 0x4400
jmp 0xcfc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xca3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xca23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
testb $0x1, -0xf1(%rbp)
jne 0xca15
jmp 0xca21
leaq -0xf0(%rbp), %rdi
callq 0x44d8
jmp 0xca23
testb $0x1, -0xc9(%rbp)
jne 0xca2e
jmp 0xca3a
leaq -0xc8(%rbp), %rdi
callq 0x44d8
jmp 0xca3c
leaq -0xa8(%rbp), %rdi
callq 0x44d8
jmp 0xcf8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcb00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcaf4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcae8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcadc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcad0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x44d8
leaq -0x118(%rbp), %rdi
callq 0x44d8
leaq -0x138(%rbp), %rdi
callq 0x44d8
leaq -0x1b8(%rbp), %rdi
callq 0x44d8
leaq -0x158(%rbp), %rdi
callq 0x44d8
leaq -0x178(%rbp), %rdi
callq 0x44d8
leaq -0x198(%rbp), %rdi
callq 0x44d8
testb $0x1, -0x1d9(%rbp)
jne 0xcb23
jmp 0xcb2f
movq -0x430(%rbp), %rdi
callq 0x41d0
jmp 0xcf8c
movq -0x3a8(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x438(%rbp)
movb $0x0, -0x281(%rbp)
movb $0x0, -0x282(%rbp)
movb $0x0, -0x2a9(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x8850
jmp 0xcb69
leaq -0x220(%rbp), %rdi
callq 0x4390
movq -0x438(%rbp), %rsi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x200(%rbp), %rdi
callq 0x4280
jmp 0xcb91
leaq -0x240(%rbp), %rdi
callq 0x8850
jmp 0xcb9f
leaq -0x200(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x88c0
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x439(%rbp)
jne 0xcc7a
movq -0x3a8(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x448(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x8950
jmp 0xcbe5
movb $0x1, -0x281(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x4390
movq -0x448(%rbp), %rsi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x260(%rbp), %rdi
callq 0x4280
jmp 0xcc14
movb $0x1, -0x282(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x8950
jmp 0xcc29
movb $0x1, -0x2a9(%rbp)
leaq -0x260(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x88c0
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x439(%rbp)
jne 0xcc7a
movq -0x3a8(%rbp), %rdi
addq $0x28, %rdi
leaq 0x67ba(%rip), %rsi      # 0x1341e
xorl %eax, %eax
movl %eax, %edx
callq 0x44b0
cmpq $-0x1, %rax
setne %al
movb %al, -0x439(%rbp)
movb -0x439(%rbp), %al
movb %al, -0x449(%rbp)
testb $0x1, -0x2a9(%rbp)
jne 0xcc91
jmp 0xcc9d
leaq -0x2a8(%rbp), %rdi
callq 0x44d8
testb $0x1, -0x282(%rbp)
jne 0xcca8
jmp 0xccb4
leaq -0x260(%rbp), %rdi
callq 0x44d8
testb $0x1, -0x281(%rbp)
jne 0xccbf
jmp 0xcccb
leaq -0x280(%rbp), %rdi
callq 0x44d8
leaq -0x240(%rbp), %rdi
callq 0x44d8
leaq -0x200(%rbp), %rdi
callq 0x44d8
leaq -0x220(%rbp), %rdi
callq 0x44d8
movb -0x449(%rbp), %al
testb $0x1, %al
jne 0xccfe
jmp 0xcf83
movb $0x1, -0x391(%rbp)
movl $0x68, %edi
callq 0x4140
movq %rax, -0x458(%rbp)
leaq -0x350(%rbp), %rdi
callq 0x8850
jmp 0xcd24
leaq 0x64ba(%rip), %rsi      # 0x131e5
leaq -0x330(%rbp), %rdi
leaq -0x350(%rbp), %rdx
callq 0xb2c0
jmp 0xcd40
leaq 0x6489(%rip), %rdx      # 0x131d0
leaq -0x310(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x9170
jmp 0xcd5c
leaq -0x370(%rbp), %rdi
callq 0x8950
jmp 0xcd6a
leaq -0x2f0(%rbp), %rdi
leaq -0x310(%rbp), %rsi
leaq -0x370(%rbp), %rdx
callq 0x8dc0
jmp 0xcd86
leaq 0x647a(%rip), %rdx      # 0x13207
leaq -0x2d0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x9170
jmp 0xcda2
movq -0x3a8(%rbp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq -0x390(%rbp), %rdi
callq *%rax
jmp 0xcdbb
movq -0x458(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
leaq -0x390(%rbp), %rdx
callq 0xcfd0
jmp 0xcdd7
movq -0x458(%rbp), %rdi
movb $0x0, -0x391(%rbp)
leaq 0xde14(%rip), %rsi      # 0x1ac00
leaq 0x43d(%rip), %rdx       # 0xd230
callq 0x4400
jmp 0xcfc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xce8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xce82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xce76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xce5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
testb $0x1, -0x282(%rbp)
jne 0xce4f
jmp 0xce5b
leaq -0x260(%rbp), %rdi
callq 0x44d8
jmp 0xce5d
testb $0x1, -0x281(%rbp)
jne 0xce68
jmp 0xce74
leaq -0x280(%rbp), %rdi
callq 0x44d8
jmp 0xce76
leaq -0x240(%rbp), %rdi
callq 0x44d8
leaq -0x200(%rbp), %rdi
callq 0x44d8
leaq -0x220(%rbp), %rdi
callq 0x44d8
jmp 0xcf8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x44d8
leaq -0x2d0(%rbp), %rdi
callq 0x44d8
leaq -0x2f0(%rbp), %rdi
callq 0x44d8
leaq -0x370(%rbp), %rdi
callq 0x44d8
leaq -0x310(%rbp), %rdi
callq 0x44d8
leaq -0x330(%rbp), %rdi
callq 0x44d8
leaq -0x350(%rbp), %rdi
callq 0x44d8
testb $0x1, -0x391(%rbp)
jne 0xcf75
jmp 0xcf81
movq -0x458(%rbp), %rdi
callq 0x41d0
jmp 0xcf8c
addq $0x460, %rsp            # imm = 0x460
popq %rbp
retq
movq -0x3e8(%rbp), %rdi
callq 0x44d8
movq -0x3d8(%rbp), %rdi
callq 0x44d8
movq -0x3a0(%rbp), %rdi
callq 0x44d8
movq -0x3b0(%rbp), %rdi
callq 0x44d8
movq -0x30(%rbp), %rdi
callq 0x4420
nopw %cs:(%rax,%rax)
nop