// File: yanlinlin82[P]jsonxx/./json.hpp
// Function: yll::json::append(yll::json const&)
json& append(const json& x) {
			if (this == &x) {
				json copy(x);
				return append(copy);
			}
			if (x.type_ == type::null) return *this;
			if (type_ == type::null) {
				assign(x);
			} else if (type_ == type::array) {
				if (x.type_ == type::array) {
					array_.insert(array_.end(), x.array_.cbegin(), x.array_.cend());
				} else {
					array_.push_back(x);
				}
			} else if (type_ == type::object && x.type_ == type::object) {
				for (auto c : x.object_) {
					auto it = object_.find(c.first);
					if (it == object_.end()) {
						array_.push_back(json(c.first));
					}
					object_.insert(c);
				}
			} else {
				json ret;
				ret.type_ = type::array;
				ret.array_.push_back(*this);
				ret.array_.push_back(x);
				assign(ret);
			}
			return *this;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3a0, %rsp            # imm = 0x3A0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x350(%rbp)
cmpq -0x18(%rbp), %rax
jne 0x8e76
movq -0x18(%rbp), %rsi
leaq -0x88(%rbp), %rdi
movq %rdi, -0x360(%rbp)
callq 0xa790
movq -0x350(%rbp), %rdi
movq -0x360(%rbp), %rsi
callq 0x8de0
movq %rax, -0x358(%rbp)
jmp 0x8e37
movq -0x358(%rbp), %rax
movq %rax, -0x8(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x8b00
jmp 0x926a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x8b00
jmp 0x9277
movq -0x18(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x8e8f
movq -0x350(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x926a
movq -0x350(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x8efb
movq -0x18(%rbp), %rsi
leaq -0x108(%rbp), %rdi
movq %rdi, -0x368(%rbp)
callq 0xa790
movq -0x350(%rbp), %rdi
movq -0x368(%rbp), %rsi
callq 0xe600
jmp 0x8ec7
leaq -0x108(%rbp), %rdi
callq 0x8b00
jmp 0x925f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x8b00
jmp 0x9277
movq -0x350(%rbp), %rax
cmpl $0x4, (%rax)
jne 0x8fbb
movq -0x18(%rbp), %rax
cmpl $0x4, (%rax)
jne 0x8fa2
movq -0x350(%rbp), %rdi
movq %rdi, %rax
addq $0x28, %rax
movq %rax, -0x370(%rbp)
addq $0x28, %rdi
callq 0xe700
movq %rax, -0x118(%rbp)
leaq -0x110(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0xe730
movq -0x18(%rbp), %rdi
addq $0x28, %rdi
callq 0xe770
movq %rax, -0x120(%rbp)
movq -0x18(%rbp), %rdi
addq $0x28, %rdi
callq 0xe7a0
movq -0x370(%rbp), %rdi
movq %rax, -0x128(%rbp)
movq -0x110(%rbp), %rsi
movq -0x120(%rbp), %rdx
movq -0x128(%rbp), %rcx
callq 0xe650
movq %rax, -0x130(%rbp)
jmp 0x8fb6
movq -0x350(%rbp), %rdi
addq $0x28, %rdi
movq -0x18(%rbp), %rsi
callq 0xe7d0
jmp 0x925d
movq -0x350(%rbp), %rax
cmpl $0x5, (%rax)
jne 0x919a
movq -0x18(%rbp), %rax
cmpl $0x5, (%rax)
jne 0x919a
movq -0x18(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x138(%rbp)
movq -0x138(%rbp), %rdi
callq 0xe840
movq %rax, -0x140(%rbp)
movq -0x138(%rbp), %rdi
callq 0xa740
movq %rax, -0x148(%rbp)
leaq -0x140(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0xa710
testb $0x1, %al
jne 0x9029
jmp 0x9195
leaq -0x140(%rbp), %rdi
callq 0xe870
movq %rax, %rsi
leaq -0x1d8(%rbp), %rdi
movq %rdi, -0x380(%rbp)
callq 0xc160
movq -0x350(%rbp), %rdi
movq -0x380(%rbp), %rsi
addq $0x40, %rdi
callq 0xe890
movq %rax, -0x378(%rbp)
jmp 0x906b
movq -0x350(%rbp), %rdi
movq -0x378(%rbp), %rax
movq %rax, -0x1e0(%rbp)
addq $0x40, %rdi
callq 0xe8c0
movq %rax, -0x1e8(%rbp)
leaq -0x1e0(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0xdf90
testb $0x1, %al
jne 0x90a9
jmp 0x9127
movq -0x350(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x388(%rbp)
leaq -0x258(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x8450
jmp 0x90d0
movq -0x388(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0xe8f0
jmp 0x90e5
leaq -0x258(%rbp), %rdi
callq 0x8b00
jmp 0x9127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9184
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x8b00
jmp 0x9184
movq -0x350(%rbp), %rdi
addq $0x40, %rdi
leaq -0x1d8(%rbp), %rsi
callq 0xe920
movb %dl, -0x391(%rbp)
movq %rax, -0x390(%rbp)
jmp 0x914d
movb -0x391(%rbp), %al
movq -0x390(%rbp), %rcx
movq %rcx, -0x268(%rbp)
movb %al, -0x260(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0xc320
leaq -0x140(%rbp), %rdi
callq 0xe960
jmp 0x900d
leaq -0x1d8(%rbp), %rdi
callq 0xc320
jmp 0x9277
jmp 0x925b
leaq -0x2d8(%rbp), %rdi
callq 0x8060
movq -0x350(%rbp), %rsi
movl $0x4, -0x2d8(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0xe7d0
jmp 0x91c5
leaq -0x2b0(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xe7d0
jmp 0x91d7
leaq -0x348(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0xa790
jmp 0x91ec
movq -0x350(%rbp), %rdi
leaq -0x348(%rbp), %rsi
callq 0xe600
jmp 0x9201
leaq -0x348(%rbp), %rdi
callq 0x8b00
leaq -0x2d8(%rbp), %rdi
callq 0x8b00
jmp 0x925b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x924d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x8b00
leaq -0x2d8(%rbp), %rdi
callq 0x8b00
jmp 0x9277
jmp 0x925d
jmp 0x925f
movq -0x350(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x3a0, %rsp            # imm = 0x3A0
popq %rbp
retq
movq -0x90(%rbp), %rdi
callq 0x34e0
nopw %cs:(%rax,%rax)
nopl (%rax)