// File: /workspace/github_cpp_makefile_star2_O3/yanlinlin82[P]jsonxx/./json.hpp
// Function: yll::json::parse_string(char const*&, yll::json&, bool)
static bool parse_string(const char*& s, json& v, bool strict = true) {
			skip_spaces(s);
			if (strict) {
				if (*s != '"') return false; else ++s;
			}
			std::string text;
			while (*s) {
				if (strict) {
					if (*s == '"') break;
				} else {
					if (*s == ':' || *s == ',' || *s == '}' || *s == ']' || isspace(*s)) break;
				}
				if (*s == '\\') {
					switch (*(++s)) {
						case '"':
						case '\\':
						case '/': text += *s++; break;
						case 'b': text += '\b'; ++s; break;
						case 'f': text += '\f'; ++s; break;
						case 'n': text += '\n'; ++s; break;
						case 'r': text += '\r'; ++s; break;
						case 't': text += '\t'; ++s; break;
						case 'u':
								  if (!isxdigit(s[1])) return false;
								  if (!isxdigit(s[2])) return false;
								  if (!isxdigit(s[3])) return false;
								  if (!isxdigit(s[4])) return false;
								  text.push_back(static_cast<char>(
											  (hex_value(s[1]) << 12) +
											  (hex_value(s[2]) << 8) +
											  (hex_value(s[3]) << 4) +
											  hex_value(s[4])));
								  s += 5;
								  break;
						default: return false;
					}
				} else {
					text += *s++;
				}
			}
			if (strict) {
				if (*s != '"') return false; else ++s;
			}
			v = text;
			return true;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movl %edx, %r15d
movq %rsi, %rbx
movq %rdi, %r14
callq 0xd4d4
movq (%r14), %r12
testl %r15d, %r15d
je 0xd589
cmpb $0x22, (%r12)
jne 0xd76a
movq %rbx, -0x30(%rbp)
incq %r12
movq %r12, (%r14)
jmp 0xd58d
movq %rbx, -0x30(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movb (%r12), %bl
testb %bl, %bl
je 0xd75d
movzbl %bl, %edx
testb %r15b, %r15b
je 0xd5cb
cmpb $0x5c, %bl
je 0xd60d
movl $0x1, %ecx
movq %r12, %rax
cmpl $0x22, %edx
jne 0xd63b
jmp 0xd772
leal -0x2c(%rdx), %eax
cmpl $0x31, %eax
ja 0xd5e7
movabsq $0x2000000004001, %rcx  # imm = 0x2000000004001
btq %rax, %rcx
jb 0xd778
cmpl $0x7d, %edx
je 0xd778
movsbl %bl, %edi
callq 0x2050
testl %eax, %eax
jne 0xd778
movl $0x1, %ecx
movq %r12, %rax
cmpb $0x5c, %bl
jne 0xd63b
leaq 0x1(%r12), %rax
movq %rax, (%r14)
movzbl 0x1(%r12), %edx
xorl %r13d, %r13d
cmpl $0x61, %edx
jg 0xd652
movl $0x2, %ecx
cmpl $0x22, %edx
je 0xd63b
cmpl $0x2f, %edx
je 0xd63b
cmpl $0x5c, %edx
jne 0xd80d
addq %rcx, %r12
movq %r12, (%r14)
movsbl (%rax), %esi
leaq -0x50(%rbp), %rdi
callq 0x21e0
jmp 0xd707
leal -0x6e(%rdx), %eax
cmpl $0x7, %eax
ja 0xd671
leaq 0x1a0f(%rip), %rcx      # 0xf070
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0xa, %al
jmp 0xd6f3
movb $0x8, %al
cmpl $0x62, %edx
je 0xd6f3
cmpl $0x66, %edx
jne 0xd80d
movb $0xc, %al
jmp 0xd6f3
movsbl 0x2(%r12), %edi
callq 0x2070
testl %eax, %eax
je 0xd762
movsbl 0x3(%r12), %edi
callq 0x2070
testl %eax, %eax
je 0xd762
movsbl 0x4(%r12), %ebx
movl %ebx, %edi
callq 0x2070
testl %eax, %eax
je 0xd762
movsbl 0x5(%r12), %r13d
movl %r13d, %edi
callq 0x2070
testl %eax, %eax
je 0xd762
leal -0x30(%rbx), %eax
cmpl $0xa, %eax
jb 0xd71b
leal -0x41(%rbx), %eax
cmpl $0x5, %eax
ja 0xd70f
addl $-0x37, %ebx
movl %ebx, %eax
jmp 0xd71b
movb $0x9, %al
jmp 0xd6f3
movb $0xd, %al
movl $0x1, %ebx
movzbl %al, %esi
leaq -0x50(%rbp), %rdi
callq 0x21e0
addq %rbx, (%r14)
movq (%r14), %r12
jmp 0xd5a0
leal -0x61(%rbx), %ecx
leal -0x57(%rbx), %eax
cmpl $0x6, %ecx
cmovael %ebx, %eax
leal -0x30(%r13), %ecx
cmpl $0xa, %ecx
jb 0xd745
leal -0x41(%r13), %ecx
cmpl $0x5, %ecx
ja 0xd736
addl $-0x37, %r13d
movl %r13d, %ecx
jmp 0xd745
leal -0x61(%r13), %edx
leal -0x57(%r13), %ecx
cmpl $0x6, %edx
cmovael %r13d, %ecx
shll $0x4, %eax
addl %ecx, %eax
movl $0x5, %ebx
movsbl %al, %esi
leaq -0x50(%rbp), %rdi
callq 0x21e0
jmp 0xd704
testb %r15b, %r15b
je 0xd778
xorl %r13d, %r13d
jmp 0xd80d
xorl %r13d, %r13d
jmp 0xd826
incq %r12
movq %r12, (%r14)
leaq -0xb8(%rbp), %rdi
movl $0x3, -0x8(%rdi)
leaq -0xa8(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0xa9d8
leaq -0x98(%rbp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
xorl %eax, %eax
movq %rax, 0x10(%rbx)
leaq -0x78(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0xc0(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0xbb60
leaq -0x80(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
movb $0x1, %r13b
cmpq %r15, %rdi
je 0xd80d
movq -0xa8(%rbp), %rsi
incq %rsi
callq 0x2220
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xd826
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2220
movl %r13d, %eax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xd83d
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xd859
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x2220
movq %rbx, %rdi
callq 0x2370
nop