// File: ncbi[P]amr/common.cpp
// Function: Common_sp::LineInput::nextLine()
bool LineInput::nextLine ()
{ 
  ASSERT (is);

	if (eof)  
	{ 
		line. clear ();
	  return false;
	}
	
  try 
	{
    getline (*is, line);  // faster than readLine(*is,line)

		eof = is->eof ();
		if (! eof)
			lineNum++;
        
  	const bool end = line. empty () && eof;

    if (! commentStart. empty ())
    {
      const size_t pos = line. find (commentStart);
      if (pos != string::npos)
        line. erase (pos);
    }
  //trimTrailing (line); 

  	if (! end)
  		prog ();
  		
  	return ! end;
  }
  catch (const exception &e)
  {
    throw runtime_error ("Reading line " + to_string (lineNum + 1) + ":\n" + line + "\n" + e. what ());
  }
}

// Assembly:
subq $0x238, %rsp            # imm = 0x238
movq %rdi, 0x228(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x28(%rsp)
callq 0xc090
movq %rax, %rcx
movq 0x28(%rsp), %rax
movl $0x0, (%rcx)
cmpq $0x0, 0x210(%rax)
jne 0x3d654
callq 0xc8c0
cmpl $0x0, %eax
jne 0x3d64a
leaq 0x187(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xcd00
movq 0x20(%rsp), %rdx
leaq 0x90620(%rip), %rsi     # 0xcda19
leaq 0x188(%rsp), %rdi
callq 0x29fd0
jmp 0x3d408
leaq 0x150(%rsp), %rdi
movl $0x8cb, %esi            # imm = 0x8CB
callq 0x2ded0
jmp 0x3d41c
leaq 0x1a8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x150(%rsp), %rdx
callq 0x2dde0
jmp 0x3d43b
leaq 0x8e75f(%rip), %rdx     # 0xcbba1
leaq 0x1c8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x2a2f0
jmp 0x3d459
leaq 0x10f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rdx
leaq 0x912c1(%rip), %rsi     # 0xce738
leaq 0x110(%rsp), %rdi
callq 0x29fd0
jmp 0x3d486
leaq 0x90589(%rip), %rdx     # 0xcda16
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x2a2f0
jmp 0x3d4a4
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x130(%rsp), %rdx
callq 0x2dde0
jmp 0x3d4c3
leaq 0x93167(%rip), %rdx     # 0xd0631
leaq 0x208(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x2a2f0
jmp 0x3d4e1
leaq 0x208(%rsp), %rdi
callq 0x3e9b0
jmp 0x3d4f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d638
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d62b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d61e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d611
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d5f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d5ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d5dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d5d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
leaq 0x208(%rsp), %rdi
callq 0xce98
leaq 0x1e8(%rsp), %rdi
callq 0xce98
leaq 0x130(%rsp), %rdi
callq 0xce98
leaq 0x110(%rsp), %rdi
callq 0xce98
leaq 0x10f(%rsp), %rdi
callq 0xc7a0
leaq 0x1c8(%rsp), %rdi
callq 0xce98
leaq 0x1a8(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
leaq 0x188(%rsp), %rdi
callq 0xce98
leaq 0x187(%rsp), %rdi
callq 0xc7a0
jmp 0x3da28
movl $0x1, %edi
callq 0xc8d0
movq 0x28(%rsp), %rax
testb $0x1, 0x218(%rax)
je 0x3d680
movq 0x28(%rsp), %rdi
addq $0x268, %rdi            # imm = 0x268
callq 0xc9a0
movb $0x0, 0x237(%rsp)
jmp 0x3da17
movq 0x28(%rsp), %rsi
movq 0x210(%rsi), %rdi
addq $0x268, %rsi            # imm = 0x268
callq 0xc130
jmp 0x3d69a
movq 0x28(%rsp), %rax
movq 0x210(%rax), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xcd60
movb %al, 0x17(%rsp)
jmp 0x3d6bb
movq 0x28(%rsp), %rax
movb 0x17(%rsp), %cl
andb $0x1, %cl
movb %cl, 0x218(%rax)
testb $0x1, 0x218(%rax)
jne 0x3d82f
movq 0x28(%rsp), %rax
movl 0x260(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x260(%rax)
jmp 0x3d82f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
movl 0x174(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x3da28
movq 0x178(%rsp), %rdi
callq 0xc2f0
movq %rax, 0xf8(%rsp)
movb $0x1, 0x37(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x8(%rsp)
movl 0x260(%rax), %esi
incl %esi
leaq 0x38(%rsp), %rdi
callq 0x2ff40
jmp 0x3d760
leaq 0x90ff7(%rip), %rsi     # 0xce75e
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x2a340
jmp 0x3d778
leaq 0x90297(%rip), %rdx     # 0xcda16
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x2a2f0
jmp 0x3d790
movq 0x28(%rsp), %rdx
addq $0x268, %rdx            # imm = 0x268
leaq 0x98(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x2e220
jmp 0x3d7b0
leaq 0x92266(%rip), %rdx     # 0xcfa1d
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x2a2f0
jmp 0x3d7ce
movq 0xf8(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rdx
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x2a2f0
jmp 0x3d7f9
movq 0x8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0xcbb0
jmp 0x3d80d
movq 0x8(%rsp), %rdi
movb $0x0, 0x37(%rsp)
movq 0xc87d2(%rip), %rsi     # 0x105ff0
movq 0xc874b(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x3da3d
movq 0x28(%rsp), %rdi
addq $0x268, %rdi            # imm = 0x268
callq 0xcc10
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x7(%rsp)
jne 0x3d84f
jmp 0x3d85e
movq 0x28(%rsp), %rax
movb 0x218(%rax), %al
movb %al, 0x7(%rsp)
movq 0x28(%rsp), %rdi
movb 0x7(%rsp), %al
andb $0x1, %al
movb %al, 0x10e(%rsp)
addq $0x288, %rdi            # imm = 0x288
callq 0xcc10
testb $0x1, %al
jne 0x3d8d8
movq 0x28(%rsp), %rsi
movq %rsi, %rdi
addq $0x268, %rdi            # imm = 0x268
addq $0x288, %rsi            # imm = 0x288
xorl %eax, %eax
movl %eax, %edx
callq 0xce60
movq %rax, 0x100(%rsp)
cmpq $-0x1, 0x100(%rsp)
je 0x3d8d6
movq 0x28(%rsp), %rdi
addq $0x268, %rdi            # imm = 0x268
movq 0x100(%rsp), %rsi
movq $-0x1, %rdx
callq 0xc150
jmp 0x3d8d4
jmp 0x3d8d6
jmp 0x3d8d8
testb $0x1, 0x10e(%rsp)
jne 0x3d8fe
movq 0x28(%rsp), %rdi
addq $0x220, %rdi            # imm = 0x220
leaq 0xc93a3(%rip), %rsi     # 0x106c98
callq 0x4bb30
jmp 0x3d8fc
jmp 0x3d8fe
movb 0x10e(%rsp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, 0x237(%rsp)
jmp 0x3da17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d9fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d9f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d9e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d9dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d9d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0x3d9c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0xce98
leaq 0xb8(%rsp), %rdi
callq 0xce98
leaq 0x98(%rsp), %rdi
callq 0xce98
leaq 0x78(%rsp), %rdi
callq 0xce98
leaq 0x58(%rsp), %rdi
callq 0xce98
leaq 0x38(%rsp), %rdi
callq 0xce98
testb $0x1, 0x37(%rsp)
jne 0x3da04
jmp 0x3da0e
movq 0x8(%rsp), %rdi
callq 0xc580
callq 0xcbe0
jmp 0x3da15
jmp 0x3da28
movb 0x237(%rsp), %al
andb $0x1, %al
addq $0x238, %rsp            # imm = 0x238
retq
movq 0x178(%rsp), %rdi
callq 0xccf0
movq %rax, %rdi
callq 0x2ad70
nopl (%rax)