// File: ncbi[P]amr/amrfinder_update.cpp
// Function: (anonymous namespace)::getLatestMinor[abi:cxx11](CURL_sp::Curl&)
string getLatestMinor (Curl &curl)
// Return: empty() <=> failure
{
  StringVector dir (curl. read (URL), '\n', true);
  if (verbose ())
  {
    save (cout, dir, '\n'); 
    cout << endl;
  }
    
  Vector<SoftwareVersion> vers;  
  for (string& line : dir)
  #if HTTPS
    if (isLeft (line, "<a href="))
  	  try 
  	  {
        const size_t pos1 = line. find ('>');
        QC_ASSERT (pos1 != string::npos);
        line. erase (0, pos1 + 1);

        const size_t pos2 = line. find ("/<");
        QC_ASSERT (pos2 != string::npos);
        line. erase (pos2);
        
    	  istringstream iss (line);
  		  SoftwareVersion ver (iss, true);
  		  vers << std::move (ver);
  		}
  		catch (...) {}
  #else
    if (! contains (line, " -> "))
    {
      trimTrailing (line);
      const size_t pos = line. rfind (' ');
      if (pos != string::npos)
      {
    	  istringstream iss (line. substr (pos + 1));
    	  try 
    	  {
    		  SoftwareVersion ver (iss, true);
    		  vers << std::move (ver);
    		}
  		  catch (...) {}    		
      }
    }
  #endif
  if (vers. empty ())
    return noString;
    
  vers. sort ();
  return vers. back (). getMinor ();
}

// Assembly:
subq $0x528, %rsp            # imm = 0x528
movq %rdi, 0x48(%rsp)
movq %rdi, %rax
movq %rax, 0x50(%rsp)
movq %rdi, 0x520(%rsp)
movq %rsi, 0x518(%rsp)
movq 0x518(%rsp), %rax
movq %rax, 0x58(%rsp)
leaq 0x4b7(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0xbb30
movq 0x60(%rsp), %rdx
leaq 0x8405b(%rip), %rsi     # 0x942da
leaq 0x4b8(%rsp), %rdi
callq 0x125d0
jmp 0x1028e
movq 0x58(%rsp), %rsi
leaq 0x4d8(%rsp), %rdi
leaq 0x4b8(%rsp), %rdx
callq 0x92910
jmp 0x102aa
leaq 0x4f8(%rsp), %rdi
leaq 0x4d8(%rsp), %rsi
movl $0xa, %edx
movl $0x1, %ecx
callq 0x2eb20
jmp 0x102cb
leaq 0x4d8(%rsp), %rdi
callq 0xbe38
leaq 0x4b8(%rsp), %rdi
callq 0xbe38
leaq 0x4b7(%rsp), %rdi
callq 0xbe10
xorl %edi, %edi
callq 0x2b640
movb %al, 0x47(%rsp)
jmp 0x102ff
movb 0x47(%rsp), %al
testb $0x1, %al
jne 0x1030c
jmp 0x103c6
movq 0xb0c3d(%rip), %rdi     # 0xc0f50
leaq 0x4f8(%rsp), %rsi
movl $0xa, %edx
callq 0x164a0
jmp 0x10327
movq 0xb0c22(%rip), %rdi     # 0xc0f50
movq 0xb0c7b(%rip), %rsi     # 0xc0fb0
callq 0xbbf0
jmp 0x1033c
jmp 0x103c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x1039b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x1038e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x4d8(%rsp), %rdi
callq 0xbe38
leaq 0x4b8(%rsp), %rdi
callq 0xbe38
leaq 0x4b7(%rsp), %rdi
callq 0xbe10
jmp 0x10c63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10c56
leaq 0x480(%rsp), %rdi
callq 0x16540
leaq 0x4f8(%rsp), %rax
movq %rax, 0x478(%rsp)
movq 0x478(%rsp), %rdi
callq 0x15a20
movq %rax, 0x470(%rsp)
movq 0x478(%rsp), %rdi
callq 0x15a50
movq %rax, 0x468(%rsp)
leaq 0x470(%rsp), %rdi
leaq 0x468(%rsp), %rsi
callq 0x15a80
testb $0x1, %al
jne 0x1042b
jmp 0x10bbf
leaq 0x470(%rsp), %rdi
callq 0x15ac0
movq %rax, 0x460(%rsp)
movq 0x460(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x43f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xbb30
movq 0x38(%rsp), %rdx
leaq 0x84385(%rip), %rsi     # 0x947f0
leaq 0x440(%rsp), %rdi
callq 0x125d0
jmp 0x1047a
movq 0x30(%rsp), %rdi
leaq 0x440(%rsp), %rsi
callq 0x15930
movb %al, 0x2f(%rsp)
jmp 0x10492
leaq 0x440(%rsp), %rdi
callq 0xbe38
leaq 0x43f(%rsp), %rdi
callq 0xbe10
movb 0x2f(%rsp), %al
testb $0x1, %al
jne 0x104b9
jmp 0x10bab
movq 0x460(%rsp), %rdi
movl $0x3e, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0xbca0
movq %rax, 0x430(%rsp)
callq 0xbbd0
movl $0x0, (%rax)
cmpq $-0x1, 0x430(%rsp)
jne 0x107c1
callq 0xb920
cmpl $0x0, %eax
jne 0x107b7
leaq 0x38f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xbb30
movq 0x20(%rsp), %rdx
leaq 0x83f7c(%rip), %rsi     # 0x94499
leaq 0x390(%rsp), %rdi
callq 0x125d0
jmp 0x1052c
leaq 0x368(%rsp), %rdi
movl $0x5a, %esi
callq 0x14f00
jmp 0x10540
leaq 0x3b0(%rsp), %rdi
leaq 0x390(%rsp), %rsi
leaq 0x368(%rsp), %rdx
callq 0x14520
jmp 0x1055f
leaq 0x83f51(%rip), %rdx     # 0x944b7
leaq 0x3d0(%rsp), %rdi
leaq 0x3b0(%rsp), %rsi
callq 0x14610
jmp 0x1057d
leaq 0x327(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xbb30
movq 0x18(%rsp), %rdx
leaq 0x8425e(%rip), %rsi     # 0x947f9
leaq 0x328(%rsp), %rdi
callq 0x125d0
jmp 0x105aa
leaq 0x84a93(%rip), %rdx     # 0x95044
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
callq 0x14610
jmp 0x105c8
leaq 0x3f0(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
leaq 0x348(%rsp), %rdx
callq 0x14520
jmp 0x105e7
leaq 0x84240(%rip), %rdx     # 0x9482e
leaq 0x410(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x14610
jmp 0x10605
leaq 0x410(%rsp), %rdi
callq 0x1f7f0
jmp 0x10614
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x1064b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x440(%rsp), %rdi
callq 0xbe38
leaq 0x43f(%rsp), %rdi
callq 0xbe10
jmp 0x10c49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x107a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10798
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x1078b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x1077e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10764
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10757
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x1074a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x1073d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x410(%rsp), %rdi
callq 0xbe38
leaq 0x3f0(%rsp), %rdi
callq 0xbe38
leaq 0x348(%rsp), %rdi
callq 0xbe38
leaq 0x328(%rsp), %rdi
callq 0xbe38
leaq 0x327(%rsp), %rdi
callq 0xbe10
leaq 0x3d0(%rsp), %rdi
callq 0xbe38
leaq 0x3b0(%rsp), %rdi
callq 0xbe38
leaq 0x368(%rsp), %rdi
callq 0xbe38
leaq 0x390(%rsp), %rdi
callq 0xbe38
leaq 0x38f(%rsp), %rdi
callq 0xbe10
jmp 0x10b7a
movl $0x1, %edi
callq 0xb800
movq 0x460(%rsp), %rdi
movq 0x430(%rsp), %rdx
incq %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0xb850
jmp 0x107df
movq 0x460(%rsp), %rdi
leaq 0x84055(%rip), %rsi     # 0x94843
xorl %eax, %eax
movl %eax, %edx
callq 0xb050
movq %rax, 0x318(%rsp)
callq 0xbbd0
movl $0x0, (%rax)
cmpq $-0x1, 0x318(%rsp)
jne 0x10ab9
callq 0xb920
cmpl $0x0, %eax
jne 0x10aaf
leaq 0x277(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xbb30
movq 0x10(%rsp), %rdx
leaq 0x83c54(%rip), %rsi     # 0x94499
leaq 0x278(%rsp), %rdi
callq 0x125d0
jmp 0x10854
leaq 0x250(%rsp), %rdi
movl $0x5e, %esi
callq 0x14f00
jmp 0x10868
leaq 0x298(%rsp), %rdi
leaq 0x278(%rsp), %rsi
leaq 0x250(%rsp), %rdx
callq 0x14520
jmp 0x10887
leaq 0x83c29(%rip), %rdx     # 0x944b7
leaq 0x2b8(%rsp), %rdi
leaq 0x298(%rsp), %rsi
callq 0x14610
jmp 0x108a5
leaq 0x20f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xbb30
movq 0x8(%rsp), %rdx
leaq 0x83f36(%rip), %rsi     # 0x947f9
leaq 0x210(%rsp), %rdi
callq 0x125d0
jmp 0x108d2
leaq 0x8476b(%rip), %rdx     # 0x95044
leaq 0x230(%rsp), %rdi
leaq 0x210(%rsp), %rsi
callq 0x14610
jmp 0x108f0
leaq 0x2d8(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
leaq 0x230(%rsp), %rdx
callq 0x14520
jmp 0x1090f
leaq 0x83f30(%rip), %rdx     # 0x94846
leaq 0x2f8(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
callq 0x14610
jmp 0x1092d
leaq 0x2f8(%rsp), %rdi
callq 0x1f7f0
jmp 0x1093c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10b7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10a35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x2f8(%rsp), %rdi
callq 0xbe38
leaq 0x2d8(%rsp), %rdi
callq 0xbe38
leaq 0x230(%rsp), %rdi
callq 0xbe38
leaq 0x210(%rsp), %rdi
callq 0xbe38
leaq 0x20f(%rsp), %rdi
callq 0xbe10
leaq 0x2b8(%rsp), %rdi
callq 0xbe38
leaq 0x298(%rsp), %rdi
callq 0xbe38
leaq 0x250(%rsp), %rdi
callq 0xbe38
leaq 0x278(%rsp), %rdi
callq 0xbe38
leaq 0x277(%rsp), %rdi
callq 0xbe10
jmp 0x10b7a
movl $0x1, %edi
callq 0xb800
movq 0x460(%rsp), %rdi
movq 0x318(%rsp), %rsi
movq $-0x1, %rdx
callq 0xb850
jmp 0x10ad7
movq 0x460(%rsp), %rsi
leaq 0x88(%rsp), %rdi
movl $0x8, %edx
callq 0xb560
jmp 0x10af3
leaq 0x70(%rsp), %rdi
leaq 0x88(%rsp), %rsi
movl $0x1, %edx
callq 0x40a90
jmp 0x10b0c
leaq 0x480(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x16570
jmp 0x10b20
leaq 0x70(%rsp), %rdi
callq 0x128d0
leaq 0x88(%rsp), %rdi
callq 0xb680
jmp 0x10b90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10b6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x128d0
leaq 0x88(%rsp), %rdi
callq 0xb680
movq 0x4a8(%rsp), %rdi
callq 0xb0d0
callq 0xb8e0
jmp 0x10b8e
jmp 0x10b90
jmp 0x10bab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x10c49
jmp 0x10bad
leaq 0x470(%rsp), %rdi
callq 0x15ad0
jmp 0x1040d
leaq 0x480(%rsp), %rdi
callq 0x165b0
testb $0x1, %al
jne 0x10bd2
jmp 0x10bef
movq 0x48(%rsp), %rdi
leaq 0xb100a(%rip), %rsi     # 0xc1be8
callq 0xb1c0
jmp 0x10be5
movl $0x1, 0x6c(%rsp)
jmp 0x10c22
leaq 0x480(%rsp), %rdi
callq 0x16600
jmp 0x10bfe
leaq 0x480(%rsp), %rdi
callq 0x16640
movq 0x48(%rsp), %rdi
movq %rax, %rsi
callq 0x127c0
jmp 0x10c1a
movl $0x1, 0x6c(%rsp)
leaq 0x480(%rsp), %rdi
callq 0x16680
leaq 0x4f8(%rsp), %rdi
callq 0x15800
movq 0x50(%rsp), %rax
addq $0x528, %rsp            # imm = 0x528
retq
leaq 0x480(%rsp), %rdi
callq 0x16680
leaq 0x4f8(%rsp), %rdi
callq 0x15800
movq 0x4a8(%rsp), %rdi
callq 0xb7b0