// File: ncbi[P]amr/common.cpp
// Function: Common_sp::Application::getHelp[abi:cxx11](bool) const
string Application::getHelp (bool screen) const
{
  string instr (getInstruction (screen));

  const string par ("\n    ");

  if (! positionalArgs. empty ())
  {
	  instr += "\n\n" + colorize ("POSITIONAL PARAMETERS", screen) /*+ ":"*/;
	  for (const Positional& p : positionalArgs)
	    instr += "\n" + p. str () + par + p. description;
	}

  if (! keyArgs. empty ())
  {
	  instr += "\n\n" + colorize ("NAMED PARAMETERS", screen) /*+ ":"*/;
	  for (const Key& key : keyArgs)
	  {
	    instr += "\n" + key. getShortHelp () + par + key. description;
	    if (gnu && ! key. defaultValue. empty ())
	    	instr += par + "Default: " + key. defaultValue;
	  }
	}
	
  return instr;
}

// Assembly:
subq $0x2e8, %rsp            # imm = 0x2E8
movq %rdi, 0x28(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x30(%rsp)
movq %rdi, 0x2e0(%rsp)
movq %rsi, 0x2d8(%rsp)
andb $0x1, %al
movb %al, 0x2d7(%rsp)
movq 0x2d8(%rsp), %rsi
movq %rsi, 0x38(%rsp)
movb $0x0, 0x2d6(%rsp)
movzbl 0x2d7(%rsp), %edx
andl $0x1, %edx
callq 0x64a50
leaq 0x2af(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xcd00
movq 0x40(%rsp), %rdx
leaq 0x65c88(%rip), %rsi     # 0xcf92a
leaq 0x2b0(%rsp), %rdi
callq 0x29fd0
jmp 0x69cb1
leaq 0x2af(%rsp), %rdi
callq 0xc7a0
movq 0x38(%rsp), %rdi
addq $0xd0, %rdi
callq 0x76c50
movb %al, 0x27(%rsp)
jmp 0x69cd5
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x6a038
jmp 0x69ce3
leaq 0x237(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rdx
leaq 0x65c2f(%rip), %rsi     # 0xcf930
leaq 0x238(%rsp), %rdi
callq 0x29fd0
jmp 0x69d10
movzbl 0x2d7(%rsp), %edx
andl $0x1, %edx
leaq 0x258(%rsp), %rdi
leaq 0x238(%rsp), %rsi
callq 0x2f0a0
jmp 0x69d32
leaq 0x65ce3(%rip), %rsi     # 0xcfa1c
leaq 0x278(%rsp), %rdi
leaq 0x258(%rsp), %rdx
callq 0x2a340
jmp 0x69d50
movq 0x28(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0xc960
jmp 0x69d64
leaq 0x278(%rsp), %rdi
callq 0xce98
leaq 0x258(%rsp), %rdi
callq 0xce98
leaq 0x238(%rsp), %rdi
callq 0xce98
leaq 0x237(%rsp), %rdi
callq 0xc7a0
movq 0x38(%rsp), %rax
addq $0xd0, %rax
movq %rax, 0x228(%rsp)
movq 0x228(%rsp), %rdi
callq 0x76c70
movq %rax, 0x220(%rsp)
movq 0x228(%rsp), %rdi
callq 0x76ca0
movq %rax, 0x218(%rsp)
leaq 0x220(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x76cd0
testb $0x1, %al
jne 0x69df3
jmp 0x6a036
leaq 0x220(%rsp), %rdi
callq 0x76cf0
movq %rax, 0x210(%rsp)
movq 0x210(%rsp), %rsi
leaq 0x190(%rsp), %rdi
callq 0x2ee30
jmp 0x69e1f
leaq 0x65bf7(%rip), %rsi     # 0xcfa1d
leaq 0x1b0(%rsp), %rdi
leaq 0x190(%rsp), %rdx
callq 0x2a340
jmp 0x69e3d
leaq 0x1d0(%rsp), %rdi
leaq 0x1b0(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
callq 0x2e220
jmp 0x69e5c
movq 0x210(%rsp), %rdx
addq $0x28, %rdx
leaq 0x1f0(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
callq 0x2e220
jmp 0x69e7f
movq 0x28(%rsp), %rdi
leaq 0x1f0(%rsp), %rsi
callq 0xc960
jmp 0x69e93
leaq 0x1f0(%rsp), %rdi
callq 0xce98
leaq 0x1d0(%rsp), %rdi
callq 0xce98
leaq 0x1b0(%rsp), %rdi
callq 0xce98
leaq 0x190(%rsp), %rdi
callq 0xce98
leaq 0x220(%rsp), %rdi
callq 0x76d20
jmp 0x69dd5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
leaq 0x2af(%rsp), %rdi
callq 0xc7a0
jmp 0x6a48c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a466
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x69f95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x69f88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x69f7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
leaq 0x278(%rsp), %rdi
callq 0xce98
leaq 0x258(%rsp), %rdi
callq 0xce98
leaq 0x238(%rsp), %rdi
callq 0xce98
leaq 0x237(%rsp), %rdi
callq 0xc7a0
jmp 0x6a466
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a024
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a017
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a00a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0xce98
leaq 0x1d0(%rsp), %rdi
callq 0xce98
leaq 0x1b0(%rsp), %rdi
callq 0xce98
leaq 0x190(%rsp), %rdi
callq 0xce98
jmp 0x6a466
jmp 0x6a038
movq 0x38(%rsp), %rdi
addq $0xe8, %rdi
callq 0x772a0
movb %al, 0x17(%rsp)
jmp 0x6a04f
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x6a445
jmp 0x6a05d
leaq 0x12f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xcd00
movq 0x8(%rsp), %rdx
leaq 0x658cb(%rip), %rsi     # 0xcf946
leaq 0x130(%rsp), %rdi
callq 0x29fd0
jmp 0x6a08a
movzbl 0x2d7(%rsp), %edx
andl $0x1, %edx
leaq 0x150(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x2f0a0
jmp 0x6a0ac
leaq 0x65969(%rip), %rsi     # 0xcfa1c
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rdx
callq 0x2a340
jmp 0x6a0ca
movq 0x28(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0xc960
jmp 0x6a0de
leaq 0x170(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
leaq 0x130(%rsp), %rdi
callq 0xce98
leaq 0x12f(%rsp), %rdi
callq 0xc7a0
movq 0x38(%rsp), %rax
addq $0xe8, %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rdi
callq 0x76d50
movq %rax, 0x118(%rsp)
movq 0x120(%rsp), %rdi
callq 0x76d80
movq %rax, 0x110(%rsp)
leaq 0x118(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x76db0
testb $0x1, %al
jne 0x6a16d
jmp 0x6a443
leaq 0x118(%rsp), %rdi
callq 0x76dd0
movq %rax, 0x108(%rsp)
movq 0x108(%rsp), %rsi
leaq 0x88(%rsp), %rdi
callq 0x62d70
jmp 0x6a199
leaq 0x6587d(%rip), %rsi     # 0xcfa1d
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rdx
callq 0x2a340
jmp 0x6a1b7
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
callq 0x2e220
jmp 0x6a1d6
movq 0x108(%rsp), %rdx
addq $0x28, %rdx
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x2e220
jmp 0x6a1f9
movq 0x28(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0xc960
jmp 0x6a20d
leaq 0xe8(%rsp), %rdi
callq 0xce98
leaq 0xc8(%rsp), %rdi
callq 0xce98
leaq 0xa8(%rsp), %rdi
callq 0xce98
leaq 0x88(%rsp), %rdi
callq 0xce98
movq 0x38(%rsp), %rax
testb $0x1, 0xa9(%rax)
je 0x6a42f
movq 0x108(%rsp), %rdi
addq $0xc0, %rdi
callq 0xcc10
testb $0x1, %al
jne 0x6a42f
leaq 0x656e1(%rip), %rdx     # 0xcf957
leaq 0x48(%rsp), %rdi
leaq 0x2b0(%rsp), %rsi
callq 0x2d9a0
jmp 0x6a28a
movq 0x108(%rsp), %rdx
addq $0xc0, %rdx
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x2e220
jmp 0x6a2aa
movq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0xc960
jmp 0x6a2bb
leaq 0x68(%rsp), %rdi
callq 0xce98
leaq 0x48(%rsp), %rdi
callq 0xce98
jmp 0x6a42f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a351
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a337
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
leaq 0x170(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
leaq 0x130(%rsp), %rdi
callq 0xce98
leaq 0x12f(%rsp), %rdi
callq 0xc7a0
jmp 0x6a466
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a3e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a3d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a3c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0xce98
leaq 0xc8(%rsp), %rdi
callq 0xce98
leaq 0xa8(%rsp), %rdi
callq 0xce98
leaq 0x88(%rsp), %rdi
callq 0xce98
jmp 0x6a466
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
jmp 0x6a423
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0xce98
leaq 0x48(%rsp), %rdi
callq 0xce98
jmp 0x6a466
jmp 0x6a431
leaq 0x118(%rsp), %rdi
callq 0x76f40
jmp 0x6a14f
jmp 0x6a445
movb $0x1, 0x2d6(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0xce98
testb $0x1, 0x2d6(%rsp)
jne 0x6a47f
jmp 0x6a475
leaq 0x2b0(%rsp), %rdi
callq 0xce98
jmp 0x6a48c
movq 0x28(%rsp), %rdi
callq 0xce98
movq 0x30(%rsp), %rax
addq $0x2e8, %rsp            # imm = 0x2E8
retq
movq 0x28(%rsp), %rdi
callq 0xce98
movq 0x2a0(%rsp), %rdi
callq 0xccf0
nopw %cs:(%rax,%rax)