// File: harry830622[P]floorplanner/src/./././json.hpp
// Function: nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>::iter_impl<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>>::operator*() const
reference operator*() const
        {
            assert(m_object != nullptr);

            switch (m_object->m_type)
            {
                case basic_json::value_t::object:
                {
                    assert(m_it.object_iterator != m_object->m_value.object->end());
                    return m_it.object_iterator->second;
                }

                case basic_json::value_t::array:
                {
                    assert(m_it.array_iterator != m_object->m_value.array->end());
                    return *m_it.array_iterator;
                }

                case basic_json::value_t::null:
                {
                    JSON_THROW(std::out_of_range("cannot get value"));
                }

                default:
                {
                    if (m_it.primitive_iterator.is_begin())
                    {
                        return *m_object;
                    }

                    JSON_THROW(std::out_of_range("cannot get value"));
                }
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, (%rax)
je 0x302ac
jmp 0x302cb
leaq 0x1b188(%rip), %rdi     # 0x4b43b
leaq 0x1b16e(%rip), %rsi     # 0x4b428
movl $0x233d, %edx           # imm = 0x233D
leaq 0x1b5f5(%rip), %rcx     # 0x4b8bb
callq 0x9330
movq -0x38(%rbp), %rax
movq (%rax), %rax
movb (%rax), %al
movb %al, -0x39(%rbp)
testb %al, %al
je 0x303d4
jmp 0x302e1
movb -0x39(%rbp), %al
subb $0x1, %al
je 0x302f6
jmp 0x302ea
movb -0x39(%rbp), %al
subb $0x2, %al
je 0x30363
jmp 0x30424
movq -0x38(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x48(%rbp)
movq (%rax), %rax
movq 0x8(%rax), %rdi
callq 0x20a30
movq -0x48(%rbp), %rdi
movq %rax, -0x18(%rbp)
leaq -0x18(%rbp), %rsi
callq 0x30910
testb $0x1, %al
jne 0x30328
jmp 0x3032a
jmp 0x30349
leaq 0x1b70b(%rip), %rdi     # 0x4ba3c
leaq 0x1b0f0(%rip), %rsi     # 0x4b428
movl $0x2343, %edx           # imm = 0x2343
leaq 0x1b577(%rip), %rcx     # 0x4b8bb
callq 0x9330
movq -0x38(%rbp), %rdi
addq $0x8, %rdi
callq 0x30940
addq $0x20, %rax
movq %rax, -0x8(%rbp)
jmp 0x30498
movq -0x38(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
addq $0x8, %rcx
movq %rcx, -0x50(%rbp)
movq (%rax), %rax
movq 0x8(%rax), %rdi
callq 0x264f0
movq -0x50(%rbp), %rdi
movq %rax, -0x20(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x30960
testb $0x1, %al
jne 0x30399
jmp 0x3039b
jmp 0x303ba
leaq 0x1b6d2(%rip), %rdi     # 0x4ba74
leaq 0x1b07f(%rip), %rsi     # 0x4b428
movl $0x2349, %edx           # imm = 0x2349
leaq 0x1b506(%rip), %rcx     # 0x4b8bb
callq 0x9330
movq -0x38(%rbp), %rdi
addq $0x8, %rdi
addq $0x8, %rdi
callq 0x269d0
movq %rax, -0x8(%rbp)
jmp 0x30498
movl $0x10, %edi
callq 0x9240
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x58(%rbp)
leaq 0x1b6bb(%rip), %rsi     # 0x4baaa
callq 0x9090
jmp 0x303f6
movq -0x58(%rbp), %rdi
movq 0x3bbc7(%rip), %rsi     # 0x6bfc8
movq 0x3bba8(%rip), %rdx     # 0x6bfb0
callq 0x9890
movq -0x58(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x93a0
jmp 0x304a2
movq -0x38(%rbp), %rdi
addq $0x8, %rdi
addq $0x10, %rdi
callq 0x309a0
testb $0x1, %al
jne 0x3043b
jmp 0x30448
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x30498
movl $0x10, %edi
callq 0x9240
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x60(%rbp)
leaq 0x1b647(%rip), %rsi     # 0x4baaa
callq 0x9090
jmp 0x3046a
movq -0x60(%rbp), %rdi
movq 0x3bb53(%rip), %rsi     # 0x6bfc8
movq 0x3bb34(%rip), %rdx     # 0x6bfb0
callq 0x9890
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x93a0
jmp 0x304a2
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x98f0
nopl (%rax,%rax)