// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/unittest/Test_Json.cpp
// Function: JsonTest_ArrayMulti_Test::TestBody()
TEST_F(JsonTest, ArrayMulti)
{
  char input[] = "[false, null, true]";
  const JsonValue* v = JsonParse(input, &alloc, &scratch, error_msg);

  ASSERT_STREQ("", error_msg);
  ASSERT_NE(nullptr, v);

  const JsonArrayValue* array = v->AsArray();

  ASSERT_NE(nullptr, array);
  ASSERT_EQ(3, array->m_Count);
  ASSERT_EQ(JsonValue::kBoolean, array->m_Values[0]->m_Type);
  ASSERT_EQ(false, array->m_Values[0]->AsBoolean()->m_Boolean);
  ASSERT_EQ(JsonValue::kNull, array->m_Values[1]->m_Type);
  ASSERT_EQ(JsonValue::kBoolean, array->m_Values[2]->m_Type);
  ASSERT_EQ(true, array->m_Values[2]->AsBoolean()->m_Boolean);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movaps 0x32e96(%rip), %xmm0    # 0x8d790
movaps %xmm0, -0x20(%rbp)
movl $0x5d6575, -0x10(%rbp)  # imm = 0x5D6575
movq %rcx, %rsi
addq $0x18, %rsi
movq %rcx, %rdx
addq $0x50, %rdx
addq $0x88, %rcx
movq %rcx, -0x1c0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6ccb0
movq -0x1c0(%rbp), %r8
movq %rax, -0x28(%rbp)
leaq 0x329a3(%rip), %rsi     # 0x8d2df
leaq 0x3299f(%rip), %rdx     # 0x8d2e2
leaq 0x35e86(%rip), %rcx     # 0x907d0
leaq -0x38(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x19e10
movq -0x1b8(%rbp), %rdi
callq 0x31090
movb %al, -0x1a9(%rbp)
jmp 0x5a96e
movb -0x1a9(%rbp), %al
testb $0x1, %al
jne 0x5a97a
jmp 0x5a990
jmp 0x5aa28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5aa99
leaq -0x50(%rbp), %rdi
callq 0x16d70
jmp 0x5a99b
leaq -0x38(%rbp), %rdi
callq 0x310b0
movq %rax, -0x1c8(%rbp)
jmp 0x5a9ad
movq -0x1c8(%rbp), %r8
leaq 0x3290d(%rip), %rdx     # 0x8d2c8
leaq -0x58(%rbp), %rdi
movl $0x2, %esi
movl $0x5f, %ecx
callq 0x13fa0
jmp 0x5a9d0
leaq -0x58(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x14060
jmp 0x5a9df
leaq -0x58(%rbp), %rdi
callq 0x14020
leaq -0x50(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5aa2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5aa1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x14020
leaq -0x50(%rbp), %rdi
callq 0x31070
jmp 0x5aa99
movl $0x0, -0x5c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5aa46
jmp 0x5aa41
jmp 0x5b517
movq $0x0, -0x78(%rbp)
leaq 0x31f26(%rip), %rsi     # 0x8c97b
leaq 0x31970(%rip), %rdx     # 0x8c3cc
leaq -0x70(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
leaq -0x78(%rbp), %rcx
leaq -0x28(%rbp), %r8
callq 0x5d7f0
movq -0x1d8(%rbp), %rdi
callq 0x31090
movb %al, -0x1c9(%rbp)
jmp 0x5aa88
movb -0x1c9(%rbp), %al
testb $0x1, %al
jne 0x5aa94
jmp 0x5aab8
jmp 0x5ab5f
leaq -0x38(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5abec
leaq -0x80(%rbp), %rdi
callq 0x16d70
jmp 0x5aac3
leaq -0x70(%rbp), %rdi
callq 0x310b0
movq %rax, -0x1e0(%rbp)
jmp 0x5aad5
movq -0x1e0(%rbp), %r8
leaq 0x327e5(%rip), %rdx     # 0x8d2c8
leaq -0x88(%rbp), %rdi
movl $0x2, %esi
movl $0x60, %ecx
callq 0x13fa0
jmp 0x5aafb
leaq -0x88(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x14060
jmp 0x5ab0d
leaq -0x88(%rbp), %rdi
callq 0x14020
leaq -0x80(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5ab66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5ab51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x14020
leaq -0x80(%rbp), %rdi
callq 0x31070
jmp 0x5abec
movl $0x0, -0x5c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5ab7d
jmp 0x5ab78
jmp 0x5b517
movq -0x28(%rbp), %rdi
callq 0x5da60
movq %rax, -0x90(%rbp)
movq $0x0, -0xa8(%rbp)
leaq 0x31ddc(%rip), %rsi     # 0x8c97b
leaq 0x32915(%rip), %rdx     # 0x8d4bb
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
leaq -0xa8(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x5dba0
movq -0x1f0(%rbp), %rdi
callq 0x31090
movb %al, -0x1e1(%rbp)
jmp 0x5abdb
movb -0x1e1(%rbp), %al
testb $0x1, %al
jne 0x5abe7
jmp 0x5ac0b
jmp 0x5acc1
leaq -0x70(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5ad44
leaq -0xb0(%rbp), %rdi
callq 0x16d70
jmp 0x5ac19
leaq -0xa0(%rbp), %rdi
callq 0x310b0
movq %rax, -0x1f8(%rbp)
jmp 0x5ac2e
movq -0x1f8(%rbp), %r8
leaq 0x3268c(%rip), %rdx     # 0x8d2c8
leaq -0xb8(%rbp), %rdi
movl $0x2, %esi
movl $0x64, %ecx
callq 0x13fa0
jmp 0x5ac54
leaq -0xb8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x14060
jmp 0x5ac69
leaq -0xb8(%rbp), %rdi
callq 0x14020
leaq -0xb0(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5acc8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5acb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x14020
leaq -0xb0(%rbp), %rdi
callq 0x31070
jmp 0x5ad44
movl $0x0, -0x5c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5ace2
jmp 0x5acdd
jmp 0x5b517
movl $0x3, -0xcc(%rbp)
movq -0x90(%rbp), %r8
addq $0x8, %r8
leaq 0x32dfb(%rip), %rsi     # 0x8daf9
leaq 0x327bc(%rip), %rdx     # 0x8d4c1
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x208(%rbp)
leaq -0xcc(%rbp), %rcx
callq 0x50860
movq -0x208(%rbp), %rdi
callq 0x31090
movb %al, -0x1f9(%rbp)
jmp 0x5ad33
movb -0x1f9(%rbp), %al
testb $0x1, %al
jne 0x5ad3f
jmp 0x5ad66
jmp 0x5ae1c
leaq -0xa0(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5aea2
leaq -0xd8(%rbp), %rdi
callq 0x16d70
jmp 0x5ad74
leaq -0xc8(%rbp), %rdi
callq 0x310b0
movq %rax, -0x210(%rbp)
jmp 0x5ad89
movq -0x210(%rbp), %r8
leaq 0x32531(%rip), %rdx     # 0x8d2c8
leaq -0xe0(%rbp), %rdi
movl $0x2, %esi
movl $0x65, %ecx
callq 0x13fa0
jmp 0x5adaf
leaq -0xe0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x14060
jmp 0x5adc4
leaq -0xe0(%rbp), %rdi
callq 0x14020
leaq -0xd8(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5ae23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5ae0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x14020
leaq -0xd8(%rbp), %rdi
callq 0x31070
jmp 0x5aea2
movl $0x0, -0x5c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5ae3d
jmp 0x5ae38
jmp 0x5b517
movl $0x1, -0xf4(%rbp)
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %r8
leaq 0x32525(%rip), %rsi     # 0x8d381
leaq 0x3266d(%rip), %rdx     # 0x8d4d0
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x220(%rbp)
leaq -0xf4(%rbp), %rcx
callq 0x5d910
movq -0x220(%rbp), %rdi
callq 0x31090
movb %al, -0x211(%rbp)
jmp 0x5ae91
movb -0x211(%rbp), %al
testb $0x1, %al
jne 0x5ae9d
jmp 0x5aec4
jmp 0x5af7a
leaq -0xc8(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b009
leaq -0x100(%rbp), %rdi
callq 0x16d70
jmp 0x5aed2
leaq -0xf0(%rbp), %rdi
callq 0x310b0
movq %rax, -0x228(%rbp)
jmp 0x5aee7
movq -0x228(%rbp), %r8
leaq 0x323d3(%rip), %rdx     # 0x8d2c8
leaq -0x108(%rbp), %rdi
movl $0x2, %esi
movl $0x66, %ecx
callq 0x13fa0
jmp 0x5af0d
leaq -0x108(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x14060
jmp 0x5af22
leaq -0x108(%rbp), %rdi
callq 0x14020
leaq -0x100(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5af81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5af69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x14020
leaq -0x100(%rbp), %rdi
callq 0x31070
jmp 0x5b009
movl $0x0, -0x5c(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5af9b
jmp 0x5af96
jmp 0x5b517
movb $0x0, -0x119(%rbp)
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rdi
callq 0x5d9a0
movq %rax, %r8
addq $0x4, %r8
leaq 0x30860(%rip), %rsi     # 0x8b823
leaq 0x32521(%rip), %rdx     # 0x8d4eb
leaq -0x118(%rbp), %rdi
movq %rdi, -0x238(%rbp)
leaq -0x119(%rbp), %rcx
callq 0x566e0
movq -0x238(%rbp), %rdi
callq 0x31090
movb %al, -0x229(%rbp)
jmp 0x5aff8
movb -0x229(%rbp), %al
testb $0x1, %al
jne 0x5b004
jmp 0x5b02b
jmp 0x5b0e1
leaq -0xf0(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b168
leaq -0x128(%rbp), %rdi
callq 0x16d70
jmp 0x5b039
leaq -0x118(%rbp), %rdi
callq 0x310b0
movq %rax, -0x240(%rbp)
jmp 0x5b04e
movq -0x240(%rbp), %r8
leaq 0x3226c(%rip), %rdx     # 0x8d2c8
leaq -0x130(%rbp), %rdi
movl $0x2, %esi
movl $0x67, %ecx
callq 0x13fa0
jmp 0x5b074
leaq -0x130(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x14060
jmp 0x5b089
leaq -0x130(%rbp), %rdi
callq 0x14020
leaq -0x128(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5b0e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b0d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x14020
leaq -0x128(%rbp), %rdi
callq 0x31070
jmp 0x5b168
movl $0x0, -0x5c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5b102
jmp 0x5b0fd
jmp 0x5b517
movl $0x0, -0x144(%rbp)
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r8
leaq 0x323f4(%rip), %rsi     # 0x8d516
leaq 0x323fe(%rip), %rdx     # 0x8d527
leaq -0x140(%rbp), %rdi
movq %rdi, -0x250(%rbp)
leaq -0x144(%rbp), %rcx
callq 0x5d910
movq -0x250(%rbp), %rdi
callq 0x31090
movb %al, -0x241(%rbp)
jmp 0x5b157
movb -0x241(%rbp), %al
testb $0x1, %al
jne 0x5b163
jmp 0x5b18a
jmp 0x5b240
leaq -0x118(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b2c7
leaq -0x150(%rbp), %rdi
callq 0x16d70
jmp 0x5b198
leaq -0x140(%rbp), %rdi
callq 0x310b0
movq %rax, -0x258(%rbp)
jmp 0x5b1ad
movq -0x258(%rbp), %r8
leaq 0x3210d(%rip), %rdx     # 0x8d2c8
leaq -0x158(%rbp), %rdi
movl $0x2, %esi
movl $0x68, %ecx
callq 0x13fa0
jmp 0x5b1d3
leaq -0x158(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x14060
jmp 0x5b1e8
leaq -0x158(%rbp), %rdi
callq 0x14020
leaq -0x150(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5b247
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b22f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x14020
leaq -0x150(%rbp), %rdi
callq 0x31070
jmp 0x5b2c7
movl $0x0, -0x5c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5b261
jmp 0x5b25c
jmp 0x5b517
movl $0x1, -0x16c(%rbp)
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %r8
leaq 0x32100(%rip), %rsi     # 0x8d381
leaq 0x322ba(%rip), %rdx     # 0x8d542
leaq -0x168(%rbp), %rdi
movq %rdi, -0x268(%rbp)
leaq -0x16c(%rbp), %rcx
callq 0x5d910
movq -0x268(%rbp), %rdi
callq 0x31090
movb %al, -0x259(%rbp)
jmp 0x5b2b6
movb -0x259(%rbp), %al
testb $0x1, %al
jne 0x5b2c2
jmp 0x5b2e9
jmp 0x5b39f
leaq -0x140(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b42f
leaq -0x178(%rbp), %rdi
callq 0x16d70
jmp 0x5b2f7
leaq -0x168(%rbp), %rdi
callq 0x310b0
movq %rax, -0x270(%rbp)
jmp 0x5b30c
movq -0x270(%rbp), %r8
leaq 0x31fae(%rip), %rdx     # 0x8d2c8
leaq -0x180(%rbp), %rdi
movl $0x2, %esi
movl $0x69, %ecx
callq 0x13fa0
jmp 0x5b332
leaq -0x180(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x14060
jmp 0x5b347
leaq -0x180(%rbp), %rdi
callq 0x14020
leaq -0x178(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5b3a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b38e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x14020
leaq -0x178(%rbp), %rdi
callq 0x31070
jmp 0x5b42f
movl $0x0, -0x5c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x30d20
movl -0x5c(%rbp), %eax
testl %eax, %eax
je 0x5b3c0
jmp 0x5b3bb
jmp 0x5b517
movb $0x1, -0x191(%rbp)
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x5d9a0
movq %rax, %r8
addq $0x4, %r8
leaq 0x2f891(%rip), %rsi     # 0x8ac7a
leaq 0x3216d(%rip), %rdx     # 0x8d55d
leaq -0x190(%rbp), %rdi
movq %rdi, -0x280(%rbp)
leaq -0x191(%rbp), %rcx
callq 0x566e0
movq -0x280(%rbp), %rdi
callq 0x31090
movb %al, -0x271(%rbp)
jmp 0x5b41e
movb -0x271(%rbp), %al
testb $0x1, %al
jne 0x5b42a
jmp 0x5b451
jmp 0x5b504
leaq -0x168(%rbp), %rdi
callq 0x30d20
jmp 0x5b52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b520
leaq -0x1a0(%rbp), %rdi
callq 0x16d70
jmp 0x5b45f
leaq -0x190(%rbp), %rdi
callq 0x310b0
movq %rax, -0x288(%rbp)
jmp 0x5b474
movq -0x288(%rbp), %r8
leaq 0x31e46(%rip), %rdx     # 0x8d2c8
leaq -0x1a8(%rbp), %rdi
movl $0x2, %esi
movl $0x6a, %ecx
callq 0x13fa0
jmp 0x5b49a
leaq -0x1a8(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x14060
jmp 0x5b4af
leaq -0x1a8(%rbp), %rdi
callq 0x14020
leaq -0x1a0(%rbp), %rdi
callq 0x31070
movl $0x1, -0x5c(%rbp)
jmp 0x5b50b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5b4f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x14020
leaq -0x1a0(%rbp), %rdi
callq 0x31070
jmp 0x5b520
movl $0x0, -0x5c(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x30d20
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
leaq -0x190(%rbp), %rdi
callq 0x30d20
movq -0x40(%rbp), %rdi
callq 0xee80
nopw %cs:(%rax,%rax)