// File: Falldog[P]dcinja/src/include/nlohmann/json.hpp
// Function: nlohmann::json_pointer<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, std::vector<unsigned char, std::allocator<unsigned char>>>>::array_index(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
static typename BasicJsonType::size_type array_index(const std::string& s)
    {
        using size_type = typename BasicJsonType::size_type;

        // error condition (cf. RFC 6901, Sect. 4)
        if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && s[0] == '0'))
        {
            JSON_THROW(detail::parse_error::create(106, 0,
                                                   "array index '" + s +
                                                   "' must not begin with '0'"));
        }

        // error condition (cf. RFC 6901, Sect. 4)
        if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))
        {
            JSON_THROW(detail::parse_error::create(109, 0, "array index '" + s + "' is not a number"));
        }

        std::size_t processed_chars = 0;
        unsigned long long res = 0;
        JSON_TRY
        {
            res = std::stoull(s, &processed_chars);
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xb440
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x1, %rcx
movb %al, -0x18a(%rbp)
jbe 0x6d2d5
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xb630
movsbl (%rax), %eax
cmpl $0x30, %eax
sete %al
movb %al, -0x18a(%rbp)
movb -0x18a(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6d2e8
jmp 0x6d3ba
movb $0x1, -0x55(%rbp)
movl $0x28, %edi
callq 0xb2c0
movq %rax, -0x198(%rbp)
movq -0x8(%rbp), %rdx
leaq 0x5921e(%rip), %rsi     # 0xc6526
leaq -0x48(%rbp), %rdi
callq 0x1ce80
jmp 0x6d313
leaq 0x5921a(%rip), %rdx     # 0xc6534
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x1fa80
jmp 0x6d329
movq -0x198(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x6a, %esi
leaq -0x28(%rbp), %rcx
callq 0x63100
jmp 0x6d344
movq -0x198(%rbp), %rdi
movb $0x0, -0x55(%rbp)
leaq 0xaeb4a(%rip), %rsi     # 0x11bea0
leaq -0x27bad(%rip), %rdx    # 0x457b0
callq 0xb9f0
jmp 0x6d8bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d3a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d398
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xbb98
leaq -0x48(%rbp), %rdi
callq 0xbb98
testb $0x1, -0x55(%rbp)
jne 0x6d3a9
jmp 0x6d3b5
movq -0x198(%rbp), %rdi
callq 0xb460
jmp 0x6d8ab
movq -0x8(%rbp), %rdi
callq 0xb440
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x1, %rcx
movb %al, -0x199(%rbp)
jbe 0x6d41b
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xb630
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x31, %ecx
movb %al, -0x19a(%rbp)
jl 0x6d40d
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xb630
movsbl (%rax), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x19a(%rbp)
movb -0x19a(%rbp), %al
xorb $-0x1, %al
movb %al, -0x199(%rbp)
movb -0x199(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6d42e
jmp 0x6d512
movb $0x1, -0x99(%rbp)
movl $0x28, %edi
callq 0xb2c0
movq %rax, -0x1a8(%rbp)
movq -0x8(%rbp), %rdx
leaq 0x590d5(%rip), %rsi     # 0xc6526
leaq -0x98(%rbp), %rdi
callq 0x1ce80
jmp 0x6d45f
leaq 0x590e8(%rip), %rdx     # 0xc654e
leaq -0x78(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x1fa80
jmp 0x6d478
movq -0x1a8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x6d, %esi
leaq -0x78(%rbp), %rcx
callq 0x63100
jmp 0x6d493
movq -0x1a8(%rbp), %rdi
movb $0x0, -0x99(%rbp)
leaq 0xae9f8(%rip), %rsi     # 0x11bea0
leaq -0x27cff(%rip), %rdx    # 0x457b0
callq 0xb9f0
jmp 0x6d8bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d4f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d4ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xbb98
leaq -0x98(%rbp), %rdi
callq 0xbb98
testb $0x1, -0x99(%rbp)
jne 0x6d501
jmp 0x6d50d
movq -0x1a8(%rbp), %rdi
callq 0xb460
jmp 0x6d8ab
movq $0x0, -0xa8(%rbp)
movq $0x0, -0xb0(%rbp)
movq -0x8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
movl $0xa, %edx
callq 0x6dae0
movq %rax, -0x1b0(%rbp)
jmp 0x6d546
movq -0x1b0(%rbp), %rax
movq %rax, -0xb0(%rbp)
jmp 0x6d675
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x6d8ab
movq -0x50(%rbp), %rdi
callq 0xb1e0
movq %rax, -0xb8(%rbp)
movb $0x1, -0xf9(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0x1b8(%rbp)
movq -0x8(%rbp), %rdx
leaq 0x58fb8(%rip), %rsi     # 0xc6560
leaq -0xf8(%rbp), %rdi
callq 0x1ce80
jmp 0x6d5b6
leaq 0x57cf3(%rip), %rdx     # 0xc52b0
leaq -0xd8(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x1fa80
jmp 0x6d5d2
movq -0x1b8(%rbp), %rdi
movl $0x194, %esi            # imm = 0x194
leaq -0xd8(%rbp), %rdx
callq 0x49da0
jmp 0x6d5ec
movq -0x1b8(%rbp), %rdi
movb $0x0, -0xf9(%rbp)
leaq 0xae7b7(%rip), %rsi     # 0x11bdb8
leaq -0x23718(%rip), %rdx    # 0x49ef0
callq 0xb9f0
jmp 0x6d8bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d652
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d646
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0xbb98
leaq -0xf8(%rbp), %rdi
callq 0xbb98
testb $0x1, -0xf9(%rbp)
jne 0x6d65d
jmp 0x6d669
movq -0x1b8(%rbp), %rdi
callq 0xb460
callq 0xb980
jmp 0x6d670
jmp 0x6d8ab
movq -0xa8(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x8(%rbp), %rdi
callq 0xb440
movq %rax, %rcx
movq -0x1c0(%rbp), %rax
cmpq %rcx, %rax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6d6a9
jmp 0x6d792
movb $0x1, -0x141(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0x1c8(%rbp)
movq -0x8(%rbp), %rdx
leaq 0x58e94(%rip), %rsi     # 0xc6560
leaq -0x140(%rbp), %rdi
callq 0x1ce80
jmp 0x6d6da
leaq 0x57bcf(%rip), %rdx     # 0xc52b0
leaq -0x120(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x1fa80
jmp 0x6d6f6
movq -0x1c8(%rbp), %rdi
movl $0x194, %esi            # imm = 0x194
leaq -0x120(%rbp), %rdx
callq 0x49da0
jmp 0x6d710
movq -0x1c8(%rbp), %rdi
movb $0x0, -0x141(%rbp)
leaq 0xae693(%rip), %rsi     # 0x11bdb8
leaq -0x2383c(%rip), %rdx    # 0x49ef0
callq 0xb9f0
jmp 0x6d8bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d776
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d76a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x120(%rbp), %rdi
callq 0xbb98
leaq -0x140(%rbp), %rdi
callq 0xbb98
testb $0x1, -0x141(%rbp)
jne 0x6d781
jmp 0x6d78d
movq -0x1c8(%rbp), %rdi
callq 0xb460
jmp 0x6d8ab
movq -0xb0(%rbp), %rax
movq %rax, -0x1d0(%rbp)
callq 0x6db20
movq %rax, %rcx
movq -0x1d0(%rbp), %rax
cmpq %rcx, %rax
jb 0x6d89b
movb $0x1, -0x189(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0x1d8(%rbp)
movq -0x8(%rbp), %rdx
leaq 0x58da2(%rip), %rsi     # 0xc657d
leaq -0x188(%rbp), %rdi
callq 0x1ce80
jmp 0x6d7e9
leaq 0x58d9a(%rip), %rdx     # 0xc658a
leaq -0x168(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x1fa80
jmp 0x6d805
movq -0x1d8(%rbp), %rdi
movl $0x19a, %esi            # imm = 0x19A
leaq -0x168(%rbp), %rdx
callq 0x49da0
jmp 0x6d81f
movq -0x1d8(%rbp), %rdi
movb $0x0, -0x189(%rbp)
leaq 0xae584(%rip), %rsi     # 0x11bdb8
leaq -0x2394b(%rip), %rdx    # 0x49ef0
callq 0xb9f0
jmp 0x6d8bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d882
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6d876
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x168(%rbp), %rdi
callq 0xbb98
leaq -0x188(%rbp), %rdi
callq 0xbb98
testb $0x1, -0x189(%rbp)
jne 0x6d88d
jmp 0x6d899
movq -0x1d8(%rbp), %rdi
callq 0xb460
jmp 0x6d8ab
movq -0xb0(%rbp), %rax
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0xba60
movq %rax, %rdi
callq 0x11df0
nopl (%rax)