// File: Luthaf[P]zeopp/networkanalysis.cc
// Function: TRAVERSAL_NETWORK::print(std::ostream&)
void TRAVERSAL_NETWORK::print(ostream &out){
  out << "Source nodes ids:  ";
  for(unsigned int i = 0; i < sourceNodeIDs.size(); i++)
    out << sourceNodeIDs.at(i) << "  ";
  out << "\n";
  out << "Regular connections:" << "\n";
  for(unsigned int i = 0; i <regConnections.size();i++){
    vector<CONN> nodeConns = regConnections.at(i);
    if(nodeConns.size() == 0)
      continue;
    out << "From #"<<i << "   To: ";
    for(unsigned int j = 0; j< nodeConns.size(); j++){
      out << nodeConns.at(j).to << "  ";
    }
    out << "\n";
  }
  out << "Connections to source node:" << "\n";
  for(unsigned int i = 0; i <connectToSource.size();i++){
    vector<CONN> nodeConns = connectToSource.at(i);
    if(nodeConns.size() == 0)
      continue;
    out << "From #"<< i << "   To:";
    for(unsigned int j = 0; j< nodeConns.size(); j++){
      cout << nodeConns.at(j).to << "  ";
    }
    cout << "\n";
  }
    cout << "Connections to sink node:" << "\n";
    for(unsigned int i = 0; i <connectToSink.size();i++){
      vector<CONN> nodeConns = connectToSink.at(i);
      if(nodeConns.size() == 0)
	continue;
      cout << "From #"<<i << "   To:";
      for(unsigned int j = 0; j< nodeConns.size(); j++){
	cout << nodeConns.at(j).to << "  ";
      }
      cout << "\n";
    }
    cout << "\n" << "\n";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x19868c(%rip), %rsi    # 0x1f6425
callq 0x5540
movl $0x0, -0x14(%rbp)
movq -0x98(%rbp), %rdi
movl -0x14(%rbp), %eax
movq %rax, -0xa0(%rbp)
callq 0x10090
movq %rax, %rcx
movq -0xa0(%rbp), %rax
cmpq %rcx, %rax
jae 0x5de0e
movq -0x98(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
movl -0x14(%rbp), %eax
movl %eax, %esi
callq 0x101d0
movq -0xa8(%rbp), %rdi
movl (%rax), %esi
callq 0x58d0
movq %rax, %rdi
leaq 0x19468a(%rip), %rsi    # 0x1f2488
callq 0x5540
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x5dda5
movq -0x10(%rbp), %rdi
leaq 0x19b80c(%rip), %rsi    # 0x1f9625
callq 0x5540
movq -0x10(%rbp), %rdi
leaq 0x198610(%rip), %rsi    # 0x1f6439
callq 0x5540
movq %rax, %rdi
leaq 0x19b7ed(%rip), %rsi    # 0x1f9625
callq 0x5540
movl $0x0, -0x18(%rbp)
movq -0x98(%rbp), %rdi
movl -0x18(%rbp), %eax
movq %rax, -0xb0(%rbp)
addq $0x18, %rdi
callq 0x649f0
movq %rax, %rcx
movq -0xb0(%rbp), %rax
cmpq %rcx, %rax
jae 0x5dfdd
movq -0x98(%rbp), %rdi
addq $0x18, %rdi
movl -0x18(%rbp), %eax
movl %eax, %esi
callq 0x64a20
movq %rax, %rsi
leaq -0x30(%rbp), %rdi
callq 0x64a60
leaq -0x30(%rbp), %rdi
callq 0x2a9e0
cmpq $0x0, %rax
jne 0x5dead
movl $0x7, -0x34(%rbp)
jmp 0x5dfb9
movq -0x10(%rbp), %rdi
leaq 0x198596(%rip), %rsi    # 0x1f644e
callq 0x5540
movq %rax, -0xb8(%rbp)
jmp 0x5dec6
movq -0xb8(%rbp), %rdi
movl -0x18(%rbp), %esi
callq 0x56f0
movq %rax, -0xc0(%rbp)
jmp 0x5dede
movq -0xc0(%rbp), %rdi
leaq 0x198569(%rip), %rsi    # 0x1f6455
callq 0x5540
jmp 0x5def3
movl $0x0, -0x48(%rbp)
movl -0x48(%rbp), %eax
movq %rax, -0xc8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x2a9e0
movq %rax, %rcx
movq -0xc8(%rbp), %rax
cmpq %rcx, %rax
jae 0x5dfa0
movq -0x10(%rbp), %rax
movq %rax, -0xd8(%rbp)
movl -0x48(%rbp), %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0x64470
movq %rax, -0xd0(%rbp)
jmp 0x5df42
movq -0xd8(%rbp), %rdi
movq -0xd0(%rbp), %rax
movl 0x4(%rax), %esi
callq 0x58d0
movq %rax, -0xe0(%rbp)
jmp 0x5df61
movq -0xe0(%rbp), %rdi
leaq 0x194519(%rip), %rsi    # 0x1f2488
callq 0x5540
jmp 0x5df76
jmp 0x5df78
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x5defa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x11230
jmp 0x5e393
movq -0x10(%rbp), %rdi
leaq 0x19b67a(%rip), %rsi    # 0x1f9625
callq 0x5540
jmp 0x5dfb2
movl $0x0, -0x34(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x11230
movl -0x34(%rbp), %eax
testl %eax, %eax
je 0x5dfcd
jmp 0x5dfcb
jmp 0x5dfcf
jmp 0x5dfcf
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x5de44
movq -0x10(%rbp), %rdi
leaq 0x198475(%rip), %rsi    # 0x1f645d
callq 0x5540
movq %rax, %rdi
leaq 0x19b62e(%rip), %rsi    # 0x1f9625
callq 0x5540
movl $0x0, -0x4c(%rbp)
movq -0x98(%rbp), %rdi
movl -0x4c(%rbp), %eax
movq %rax, -0xe8(%rbp)
addq $0x30, %rdi
callq 0x649f0
movq %rax, %rcx
movq -0xe8(%rbp), %rax
cmpq %rcx, %rax
jae 0x5e18d
movq -0x98(%rbp), %rdi
addq $0x30, %rdi
movl -0x4c(%rbp), %eax
movl %eax, %esi
callq 0x64a20
movq %rax, %rsi
leaq -0x68(%rbp), %rdi
callq 0x64a60
leaq -0x68(%rbp), %rdi
callq 0x2a9e0
cmpq $0x0, %rax
jne 0x5e06c
movl $0xd, -0x34(%rbp)
jmp 0x5e169
movq -0x10(%rbp), %rdi
leaq 0x1983d7(%rip), %rsi    # 0x1f644e
callq 0x5540
movq %rax, -0xf0(%rbp)
jmp 0x5e085
movq -0xf0(%rbp), %rdi
movl -0x4c(%rbp), %esi
callq 0x56f0
movq %rax, -0xf8(%rbp)
jmp 0x5e09d
movq -0xf8(%rbp), %rdi
leaq 0x1983ce(%rip), %rsi    # 0x1f6479
callq 0x5540
jmp 0x5e0b2
movl $0x0, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
movq %rax, -0x100(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x2a9e0
movq %rax, %rcx
movq -0x100(%rbp), %rax
cmpq %rcx, %rax
jae 0x5e14d
movl -0x6c(%rbp), %eax
movl %eax, %esi
leaq -0x68(%rbp), %rdi
callq 0x64470
movq %rax, -0x108(%rbp)
jmp 0x5e0f2
movq -0x108(%rbp), %rax
movl 0x4(%rax), %esi
movq 0x214ebd(%rip), %rdi    # 0x272fc0
callq 0x58d0
movq %rax, -0x110(%rbp)
jmp 0x5e111
movq -0x110(%rbp), %rdi
leaq 0x194369(%rip), %rsi    # 0x1f2488
callq 0x5540
jmp 0x5e126
jmp 0x5e128
movl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0x5e0b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x11230
jmp 0x5e393
movq 0x214e6c(%rip), %rdi    # 0x272fc0
leaq 0x19b4ca(%rip), %rsi    # 0x1f9625
callq 0x5540
jmp 0x5e162
movl $0x0, -0x34(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x11230
movl -0x34(%rbp), %eax
testl %eax, %eax
je 0x5e17d
jmp 0x5e17b
jmp 0x5e17f
jmp 0x5e17f
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x5e003
movq 0x214e2c(%rip), %rdi    # 0x272fc0
leaq 0x1982e5(%rip), %rsi    # 0x1f6480
callq 0x5540
movq %rax, %rdi
leaq 0x19b47b(%rip), %rsi    # 0x1f9625
callq 0x5540
movl $0x0, -0x70(%rbp)
movq -0x98(%rbp), %rdi
movl -0x70(%rbp), %eax
movq %rax, -0x118(%rbp)
addq $0x48, %rdi
callq 0x649f0
movq %rax, %rcx
movq -0x118(%rbp), %rax
cmpq %rcx, %rax
jae 0x5e368
movq -0x98(%rbp), %rdi
addq $0x48, %rdi
movl -0x70(%rbp), %eax
movl %eax, %esi
callq 0x64a20
movq %rax, %rsi
leaq -0x88(%rbp), %rdi
callq 0x64a60
leaq -0x88(%rbp), %rdi
callq 0x2a9e0
cmpq $0x0, %rax
jne 0x5e225
movl $0x13, -0x34(%rbp)
jmp 0x5e341
movq 0x214d94(%rip), %rdi    # 0x272fc0
leaq 0x19821b(%rip), %rsi    # 0x1f644e
callq 0x5540
movq %rax, -0x120(%rbp)
jmp 0x5e241
movq -0x120(%rbp), %rdi
movl -0x70(%rbp), %esi
callq 0x56f0
movq %rax, -0x128(%rbp)
jmp 0x5e259
movq -0x128(%rbp), %rdi
leaq 0x198212(%rip), %rsi    # 0x1f6479
callq 0x5540
jmp 0x5e26e
movl $0x0, -0x8c(%rbp)
movl -0x8c(%rbp), %eax
movq %rax, -0x130(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x2a9e0
movq %rax, %rcx
movq -0x130(%rbp), %rax
cmpq %rcx, %rax
jae 0x5e325
movl -0x8c(%rbp), %eax
movl %eax, %esi
leaq -0x88(%rbp), %rdi
callq 0x64470
movq %rax, -0x138(%rbp)
jmp 0x5e2c1
movq -0x138(%rbp), %rax
movl 0x4(%rax), %esi
movq 0x214cee(%rip), %rdi    # 0x272fc0
callq 0x58d0
movq %rax, -0x140(%rbp)
jmp 0x5e2e0
movq -0x140(%rbp), %rdi
leaq 0x19419a(%rip), %rsi    # 0x1f2488
callq 0x5540
jmp 0x5e2f5
jmp 0x5e2f7
movl -0x8c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8c(%rbp)
jmp 0x5e278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x11230
jmp 0x5e393
movq 0x214c94(%rip), %rdi    # 0x272fc0
leaq 0x19b2f2(%rip), %rsi    # 0x1f9625
callq 0x5540
jmp 0x5e33a
movl $0x0, -0x34(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x11230
movl -0x34(%rbp), %eax
testl %eax, %eax
je 0x5e358
jmp 0x5e356
jmp 0x5e35a
jmp 0x5e35a
movl -0x70(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x70(%rbp)
jmp 0x5e1b6
movq 0x214c51(%rip), %rdi    # 0x272fc0
leaq 0x19b2af(%rip), %rsi    # 0x1f9625
callq 0x5540
movq %rax, %rdi
leaq 0x19b2a0(%rip), %rsi    # 0x1f9625
callq 0x5540
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x58f0
nopl (%rax)