// File: yanlinlin82[P]jsonxx/./json.hpp
// Function: yll::json::to_string[abi:cxx11]() const
std::string to_string() const {
			std::string s;
			switch (type_) {
			default: assert(false); // should never reach here
			case type::null:
				s = text_null;
				break;
			case type::boolean:
				s = (text_.empty() ? text_false : text_true);
				break;
			case type::number:
				s = text_;
				break;
			case type::string:
				s = "\"" + encode(text_) + "\"";
				break;
			case type::array:
				s = "[";
				for (size_t i = 0; i < array_.size(); ++i) {
					if (i > 0) { s += ","; }
					s += array_[i].to_string();
				}
				s += "]";
				break;
			case type::object:
				s = "{";
				assert(array_.size() == object_.size());
				for (size_t i = 0; i < array_.size(); ++i) {
					if (i > 0) { s += ","; }
					const auto name = array_[i].text_;
					auto it = object_.find(name);
					assert(it != object_.end());
					const auto e = it->second;
					s += "\"" + encode(name) + "\":" + e.to_string();
				}
				s += "}";
				break;
			}
			return s;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x258(%rbp)
movq %rdi, %rax
movq %rax, -0x250(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x248(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x3460
movq -0x248(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x240(%rbp)
subq $0x5, %rax
ja 0x9be5
movq -0x240(%rbp), %rax
leaq 0xa43c(%rip), %rcx      # 0x14018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xa5d4(%rip), %rdi      # 0x141c0
leaq 0xaf39(%rip), %rsi      # 0x14b2c
movl $0xc9, %edx
leaq 0xaf38(%rip), %rcx      # 0x14b37
callq 0x3200
movq -0x258(%rbp), %rdi
leaq 0x126c6(%rip), %rsi     # 0x1c2d8
callq 0x3050
jmp 0x9c19
jmp 0xa234
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa25a
movq -0x248(%rbp), %rdi
addq $0x8, %rdi
callq 0x34b0
testb $0x1, %al
jne 0x9c45
jmp 0x9c55
leaq 0x126dc(%rip), %rax     # 0x1c328
movq %rax, -0x260(%rbp)
jmp 0x9c65
leaq 0x126a4(%rip), %rax     # 0x1c300
movq %rax, -0x260(%rbp)
jmp 0x9c65
movq -0x258(%rbp), %rdi
movq -0x260(%rbp), %rsi
callq 0x3050
jmp 0x9c7a
jmp 0xa234
movq -0x258(%rbp), %rdi
movq -0x248(%rbp), %rsi
addq $0x8, %rsi
callq 0x3050
jmp 0x9c98
jmp 0xa234
movq -0x248(%rbp), %rsi
addq $0x8, %rsi
leaq -0xa8(%rbp), %rdi
callq 0x3140
jmp 0x9cb6
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0xa310
jmp 0x9ccb
leaq 0xae16(%rip), %rsi      # 0x14ae8
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0xa2c0
jmp 0x9ce4
leaq 0xadfd(%rip), %rdx      # 0x14ae8
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xa270
jmp 0x9cfa
movq -0x258(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x3400
leaq -0x48(%rbp), %rdi
callq 0x3578
leaq -0x68(%rbp), %rdi
callq 0x3578
leaq -0x88(%rbp), %rdi
callq 0x3578
leaq -0xa8(%rbp), %rdi
callq 0x3578
jmp 0xa234
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x9d76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x9d6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x3578
leaq -0x88(%rbp), %rdi
callq 0x3578
leaq -0xa8(%rbp), %rdi
callq 0x3578
jmp 0xa25a
movq -0x258(%rbp), %rdi
leaq 0xadcb(%rip), %rsi      # 0x14b60
callq 0x3450
jmp 0x9d9c
movq $0x0, -0xb0(%rbp)
movq -0x248(%rbp), %rdi
movq -0xb0(%rbp), %rax
movq %rax, -0x268(%rbp)
addq $0x28, %rdi
callq 0xa670
movq %rax, %rcx
movq -0x268(%rbp), %rax
cmpq %rcx, %rax
jae 0x9e76
cmpq $0x0, -0xb0(%rbp)
jbe 0x9df9
movq -0x258(%rbp), %rdi
leaq 0xad72(%rip), %rsi      # 0x14b62
callq 0x3320
jmp 0x9df7
jmp 0x9df9
movq -0x248(%rbp), %rdi
addq $0x28, %rdi
movq -0xb0(%rbp), %rsi
callq 0xa6a0
movq %rax, %rsi
leaq -0xd0(%rbp), %rdi
callq 0x9b80
jmp 0x9e21
movq -0x258(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x3420
jmp 0x9e36
leaq -0xd0(%rbp), %rdi
callq 0x3578
movq -0xb0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xb0(%rbp)
jmp 0x9da7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x3578
jmp 0xa25a
movq -0x258(%rbp), %rdi
leaq 0xa522(%rip), %rsi      # 0x143a6
callq 0x3320
jmp 0x9e8b
jmp 0xa234
movq -0x258(%rbp), %rdi
leaq 0xacc6(%rip), %rsi      # 0x14b64
callq 0x3450
jmp 0x9ea5
movq -0x248(%rbp), %rdi
addq $0x28, %rdi
callq 0xa670
movq -0x248(%rbp), %rdi
movq %rax, -0x270(%rbp)
addq $0x40, %rdi
callq 0xa6c0
movq %rax, %rcx
movq -0x270(%rbp), %rax
cmpq %rcx, %rax
jne 0x9edd
jmp 0x9efc
leaq 0xac82(%rip), %rdi      # 0x14b66
leaq 0xac41(%rip), %rsi      # 0x14b2c
movl $0xe0, %edx
leaq 0xac40(%rip), %rcx      # 0x14b37
callq 0x3200
movq $0x0, -0xd8(%rbp)
movq -0x248(%rbp), %rdi
movq -0xd8(%rbp), %rax
movq %rax, -0x278(%rbp)
addq $0x28, %rdi
callq 0xa670
movq %rax, %rcx
movq -0x278(%rbp), %rax
cmpq %rcx, %rax
jae 0xa21d
cmpq $0x0, -0xd8(%rbp)
jbe 0x9f59
movq -0x258(%rbp), %rdi
leaq 0xac12(%rip), %rsi      # 0x14b62
callq 0x3320
jmp 0x9f57
jmp 0x9f59
movq -0x248(%rbp), %rdi
addq $0x28, %rdi
movq -0xd8(%rbp), %rsi
callq 0xa6a0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0xf8(%rbp), %rdi
callq 0x3140
jmp 0x9f85
movq -0x248(%rbp), %rdi
addq $0x40, %rdi
leaq -0xf8(%rbp), %rsi
callq 0xa6e0
movq %rax, -0x280(%rbp)
jmp 0x9fa5
movq -0x248(%rbp), %rdi
movq -0x280(%rbp), %rax
movq %rax, -0x100(%rbp)
addq $0x40, %rdi
callq 0xa740
movq %rax, -0x108(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0xa710
testb $0x1, %al
jne 0x9fe3
jmp 0x9fe5
jmp 0xa015
leaq 0xab9a(%rip), %rdi      # 0x14b86
leaq 0xab39(%rip), %rsi      # 0x14b2c
movl $0xe5, %edx
leaq 0xab38(%rip), %rcx      # 0x14b37
callq 0x3200
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa20f
leaq -0x100(%rbp), %rdi
callq 0xa770
movq %rax, %rsi
addq $0x20, %rsi
leaq -0x178(%rbp), %rdi
callq 0xa790
jmp 0xa036
leaq -0x218(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x3140
jmp 0xa04b
leaq -0x1f8(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0xa310
jmp 0xa060
leaq 0xaa81(%rip), %rsi      # 0x14ae8
leaq -0x1d8(%rbp), %rdi
leaq -0x1f8(%rbp), %rdx
callq 0xa2c0
jmp 0xa07c
leaq 0xab17(%rip), %rdx      # 0x14b9a
leaq -0x1b8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0xa270
jmp 0xa098
leaq -0x238(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x9b80
jmp 0xa0ad
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
leaq -0x238(%rbp), %rdx
callq 0xa840
jmp 0xa0c9
movq -0x258(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x3420
jmp 0xa0de
leaq -0x198(%rbp), %rdi
callq 0x3578
leaq -0x238(%rbp), %rdi
callq 0x3578
leaq -0x1b8(%rbp), %rdi
callq 0x3578
leaq -0x1d8(%rbp), %rdi
callq 0x3578
leaq -0x1f8(%rbp), %rdi
callq 0x3578
leaq -0x218(%rbp), %rdi
callq 0x3578
leaq -0x178(%rbp), %rdi
callq 0x8b00
leaq -0xf8(%rbp), %rdi
callq 0x3578
movq -0xd8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xd8(%rbp)
jmp 0x9f07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa203
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa1f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa1eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa1df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa1d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xa1c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x3578
leaq -0x238(%rbp), %rdi
callq 0x3578
leaq -0x1b8(%rbp), %rdi
callq 0x3578
leaq -0x1d8(%rbp), %rdi
callq 0x3578
leaq -0x1f8(%rbp), %rdi
callq 0x3578
leaq -0x218(%rbp), %rdi
callq 0x3578
leaq -0x178(%rbp), %rdi
callq 0x8b00
leaq -0xf8(%rbp), %rdi
callq 0x3578
jmp 0xa25a
movq -0x258(%rbp), %rdi
leaq 0xa244(%rip), %rsi      # 0x1446f
callq 0x3320
jmp 0xa232
jmp 0xa234
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0xa24a
movq -0x258(%rbp), %rdi
callq 0x3578
movq -0x250(%rbp), %rax
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq -0x258(%rbp), %rdi
callq 0x3578
movq -0x20(%rbp), %rdi
callq 0x34e0
nop