// File: /workspace/github_cpp_makefile_star2_O2/flastest[P]HeterogeneousParallelDijkstra/BBO_graph_creator.cc
// Function: get_teammates(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::vector<int> get_teammates (std::string team_list)
{
	if (MINIMAL_DEBUG) std::cout<<"getting teammates from "<<team_list<<std::endl;

	std::vector<int> teammates;

	std::string first_player = team_list.substr(0,team_list.find("/"));

	if (DEBUG_LOGS) std::cout<<"first player is "<<first_player<<std::endl;

	int player = std::stoi(first_player);
	std::string remaining_teammates = team_list.substr(team_list.find("/")+1);

	if (DEBUG_LOGS) std::cout<<"rest of players are "<<remaining_teammates<<std::endl;


	teammates.push_back(player);
	while(remaining_teammates.length()>0)
	{
		player = std::stoi(remaining_teammates.substr(0,remaining_teammates.find("/")));
		//if (DEBUG_LOGS) std::cout<<"next player is "<<player<<std::endl;

		// after the last teammate, there will be no "/" to look for
		if(remaining_teammates.find("/") > remaining_teammates.length()) break; 
		remaining_teammates = remaining_teammates.substr(remaining_teammates.find("/")+1);
		teammates.push_back(player);
	}
	
	return teammates;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rsi, %r14
movq %rdi, 0x10(%rsp)
cmpb $0x1, 0xac03(%rip)      # 0x174ec
jne 0xc911
movq 0xa6d6(%rip), %rdi      # 0x16fc8
leaq 0x35f8(%rip), %rsi      # 0xfef1
callq 0x3270
movq %rax, %rdi
movq %r14, %rsi
callq 0x3250
movq %rax, %rdi
callq 0x3140
xorps %xmm0, %xmm0
movq 0x10(%rsp), %rax
movups %xmm0, (%rax)
andq $0x0, 0x10(%rax)
leaq 0x35e1(%rip), %rsi      # 0xff09
movq %r14, %rdi
xorl %edx, %edx
callq 0x3470
leaq 0x38(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x32b0
cmpb $0x1, 0xaba0(%rip)      # 0x174eb
jne 0xc975
movq 0xa674(%rip), %rdi      # 0x16fc8
leaq 0x35b0(%rip), %rsi      # 0xff0b
callq 0x3270
leaq 0x38(%rsp), %rsi
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3140
leaq 0x38(%rsp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0xd4df
movl %eax, 0xc(%rsp)
leaq 0x357a(%rip), %rsi      # 0xff09
movq %r14, %rdi
xorl %edx, %edx
callq 0x3470
leaq 0x1(%rax), %rdx
leaq 0x18(%rsp), %rdi
pushq $-0x1
popq %rcx
movq %r14, %rsi
callq 0x32b0
cmpb $0x1, 0xab37(%rip)      # 0x174eb
jne 0xc9de
movq 0xa60b(%rip), %rdi      # 0x16fc8
leaq 0x3558(%rip), %rsi      # 0xff1c
callq 0x3270
leaq 0x18(%rsp), %rsi
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3140
leaq 0xc(%rsp), %rsi
movq 0x10(%rsp), %rdi
callq 0xd4fc
leaq 0x3515(%rip), %r14      # 0xff09
leaq 0x18(%rsp), %r15
leaq 0x58(%rsp), %r12
pushq $0xa
popq %rbp
pushq $-0x1
popq %r13
leaq 0xc(%rsp), %rbx
cmpq $0x0, 0x20(%rsp)
je 0xcaa3
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3470
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x32b0
movq %r12, %rdi
xorl %esi, %esi
movl %ebp, %edx
callq 0xd4df
movl %eax, 0xc(%rsp)
movq %r12, %rdi
callq 0x3110
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3470
cmpq 0x20(%rsp), %rax
ja 0xcaa3
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3470
leaq 0x1(%rax), %rdx
movq %r12, %rdi
movq %r15, %rsi
movq %r13, %rcx
callq 0x32b0
movq %r15, %rdi
movq %r12, %rsi
callq 0x32e0
movq %r12, %rdi
callq 0x3110
movq 0x10(%rsp), %rdi
movq %rbx, %rsi
callq 0xd4fc
jmp 0xca0a
leaq 0x18(%rsp), %rdi
callq 0x3110
leaq 0x38(%rsp), %rdi
callq 0x3110
movq 0x10(%rsp), %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xcad4
jmp 0xcad4
movq %rax, %rbx
jmp 0xcb05
movq %rax, %rbx
jmp 0xcafb
jmp 0xcaee
jmp 0xcaee
jmp 0xcaee
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x3110
jmp 0xcaf1
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3110
leaq 0x38(%rsp), %rdi
callq 0x3110
movq 0x10(%rsp), %rdi
callq 0x74ca
movq %rbx, %rdi
callq 0x3420