// File: DimitriDaSilva[P]42_ft_containers/tester/containers/map/test_map_element_access.cpp
// Function: test_map_element_access_at()
void
test_map_element_access_at()
{
	ft::map<std::string, int> mymap;
	mymap.insert(ft::make_pair("alpha", 0));
	mymap.insert(ft::make_pair("beta", 0));
	mymap.insert(ft::make_pair("gamma", 0));

	mymap.at("alpha") = 10;
	mymap.at("beta") = 20;
	mymap.at("gamma") = 30;

	print_map_info(mymap);

	mymap.at("delta") = 30;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
leaq -0x30(%rbp), %rdi
callq 0x24dd0
movl $0x0, -0x44(%rbp)
leaq 0x32fc4(%rip), %rdi     # 0x576f6
leaq -0x44(%rbp), %rsi
callq 0x24e30
movl %edx, -0x194(%rbp)
movq %rax, -0x190(%rbp)
jmp 0x2474a
movl -0x194(%rbp), %eax
movq -0x190(%rbp), %rcx
movq %rcx, -0x68(%rbp)
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %eax
movl %eax, -0x38(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x24df0
movb %dl, -0x1a1(%rbp)
movq %rax, -0x1a0(%rbp)
jmp 0x24788
movb -0x1a1(%rbp), %al
movq -0x1a0(%rbp), %rcx
movq %rcx, -0x78(%rbp)
movb %al, -0x70(%rbp)
movl $0x0, -0x8c(%rbp)
leaq 0x32f4f(%rip), %rdi     # 0x576fc
leaq -0x8c(%rbp), %rsi
callq 0x24e70
movl %edx, -0x1b4(%rbp)
movq %rax, -0x1b0(%rbp)
jmp 0x247c8
movl -0x1b4(%rbp), %eax
movq -0x1b0(%rbp), %rcx
movq %rcx, -0xa0(%rbp)
movl %eax, -0x98(%rbp)
movl -0x98(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x24df0
movb %dl, -0x1c1(%rbp)
movq %rax, -0x1c0(%rbp)
jmp 0x24818
movb -0x1c1(%rbp), %al
movq -0x1c0(%rbp), %rcx
movq %rcx, -0xb0(%rbp)
movb %al, -0xa8(%rbp)
movl $0x0, -0xc4(%rbp)
leaq 0x32ebe(%rip), %rdi     # 0x57701
leaq -0xc4(%rbp), %rsi
callq 0x24e30
movl %edx, -0x1d4(%rbp)
movq %rax, -0x1d0(%rbp)
jmp 0x2485e
movl -0x1d4(%rbp), %eax
movq -0x1d0(%rbp), %rcx
movq %rcx, -0xd8(%rbp)
movl %eax, -0xd0(%rbp)
movl -0xd0(%rbp), %eax
movl %eax, -0xb8(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x24df0
movb %dl, -0x1e1(%rbp)
movq %rax, -0x1e0(%rbp)
jmp 0x248b1
movb -0x1e1(%rbp), %al
movq -0x1e0(%rbp), %rcx
movq %rcx, -0xe8(%rbp)
movb %al, -0xe0(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x3370
movq -0x1f0(%rbp), %rdx
leaq 0x32e0a(%rip), %rsi     # 0x576f6
leaq -0x108(%rbp), %rdi
callq 0x3290
jmp 0x248fa
leaq -0x30(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x24eb0
movq %rax, -0x1f8(%rbp)
jmp 0x24913
movq -0x1f8(%rbp), %rax
movl $0xa, (%rax)
leaq -0x108(%rbp), %rdi
callq 0x3160
leaq -0x109(%rbp), %rdi
callq 0x3230
leaq -0x131(%rbp), %rdi
movq %rdi, -0x200(%rbp)
callq 0x3370
movq -0x200(%rbp), %rdx
leaq 0x32da3(%rip), %rsi     # 0x576fc
leaq -0x130(%rbp), %rdi
callq 0x3290
jmp 0x24967
leaq -0x30(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x24eb0
movq %rax, -0x208(%rbp)
jmp 0x24980
movq -0x208(%rbp), %rax
movl $0x14, (%rax)
leaq -0x130(%rbp), %rdi
callq 0x3160
leaq -0x131(%rbp), %rdi
callq 0x3230
leaq -0x159(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x3370
movq -0x210(%rbp), %rdx
leaq 0x32d3b(%rip), %rsi     # 0x57701
leaq -0x158(%rbp), %rdi
callq 0x3290
jmp 0x249d4
leaq -0x30(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x24eb0
movq %rax, -0x218(%rbp)
jmp 0x249ed
movq -0x218(%rbp), %rax
movl $0x1e, (%rax)
leaq -0x158(%rbp), %rdi
callq 0x3160
leaq -0x159(%rbp), %rdi
callq 0x3230
leaq -0x30(%rbp), %rdi
callq 0x24f50
jmp 0x24a1d
leaq -0x181(%rbp), %rdi
movq %rdi, -0x220(%rbp)
callq 0x3370
movq -0x220(%rbp), %rdx
leaq 0x32cc9(%rip), %rsi     # 0x57707
leaq -0x180(%rbp), %rdi
callq 0x3290
jmp 0x24a4c
leaq -0x30(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x24eb0
movq %rax, -0x228(%rbp)
jmp 0x24a65
movq -0x228(%rbp), %rax
movl $0x1e, (%rax)
leaq -0x180(%rbp), %rdi
callq 0x3160
leaq -0x181(%rbp), %rdi
callq 0x3230
leaq -0x30(%rbp), %rdi
callq 0x25090
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x24b7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x24ad3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x3160
leaq -0x109(%rbp), %rdi
callq 0x3230
jmp 0x24b7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x24b0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x3160
leaq -0x131(%rbp), %rdi
callq 0x3230
jmp 0x24b7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x24b3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x3160
leaq -0x159(%rbp), %rdi
callq 0x3230
jmp 0x24b7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x24b72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x3160
leaq -0x181(%rbp), %rdi
callq 0x3230
leaq -0x30(%rbp), %rdi
callq 0x25090
movq -0x50(%rbp), %rdi
callq 0x3360