	.file	"9771.c"
	.intel_syntax noprefix
	.text
	.globl	sqlite3_api
	.bss
	.align 8
	.type	sqlite3_api, @object
	.size	sqlite3_api, 8
sqlite3_api:
	.zero	8
	.section	.rodata
	.align 32
	.type	jsonIsSpace, @object
	.size	jsonIsSpace, 256
jsonIsSpace:
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001\001"
	.string	""
	.string	"\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
.LC0:
	.string	"null"
.LC1:
	.string	"true"
.LC2:
	.string	"false"
.LC3:
	.string	"integer"
.LC4:
	.string	"real"
.LC5:
	.string	"text"
.LC6:
	.string	"array"
.LC7:
	.string	"object"
	.section	.data.rel.ro.local,"aw"
	.align 32
	.type	jsonType, @object
	.size	jsonType, 64
jsonType:
	.quad	.LC0
	.quad	.LC1
	.quad	.LC2
	.quad	.LC3
	.quad	.LC4
	.quad	.LC5
	.quad	.LC6
	.quad	.LC7
	.text
	.type	jsonZero, @function
jsonZero:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 34[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 100
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 32[rax], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	jsonZero, .-jsonZero
	.type	jsonInit, @function
jsonInit:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 33[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	jsonZero
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	jsonInit, .-jsonInit
	.type	jsonReset, @function
jsonReset:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L4
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	rdx
.L4:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	jsonZero
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	jsonReset, .-jsonReset
	.type	jsonOom, @function
jsonOom:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 33[rax], 1
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	jsonReset
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	jsonOom, .-jsonOom
	.type	jsonGrow, @function
jsonGrow:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jnb	.L7
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rax, rax
	jmp	.L8
.L7:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	rax, rdx
	add	rax, 10
.L8:
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L9
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 33[rax]
	test	al, al
	je	.L10
	mov	eax, 1
	jmp	.L11
.L10:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1576[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L12
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	jsonOom
	mov	eax, 7
	jmp	.L11
.L12:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 32[rax], 0
	jmp	.L13
.L9:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 1592[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L14
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	jsonOom
	mov	eax, 7
	jmp	.L11
.L14:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L13:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 0
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	jsonGrow, .-jsonGrow
	.type	jsonAppendRaw, @function
jsonAppendRaw:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	cmp	DWORD PTR -20[rbp], 0
	je	.L19
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jb	.L18
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L20
.L18:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	add	rcx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L15
.L19:
	nop
	jmp	.L15
.L20:
	nop
.L15:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	jsonAppendRaw, .-jsonAppendRaw
	.type	jsonPrintf, @function
jsonPrintf:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 248
	.cfi_offset 3, -24
	mov	DWORD PTR -228[rbp], edi
	mov	QWORD PTR -240[rbp], rsi
	mov	QWORD PTR -248[rbp], rdx
	mov	QWORD PTR -168[rbp], rcx
	mov	QWORD PTR -160[rbp], r8
	mov	QWORD PTR -152[rbp], r9
	test	al, al
	je	.L22
	movaps	XMMWORD PTR -144[rbp], xmm0
	movaps	XMMWORD PTR -128[rbp], xmm1
	movaps	XMMWORD PTR -112[rbp], xmm2
	movaps	XMMWORD PTR -96[rbp], xmm3
	movaps	XMMWORD PTR -80[rbp], xmm4
	movaps	XMMWORD PTR -64[rbp], xmm5
	movaps	XMMWORD PTR -48[rbp], xmm6
	movaps	XMMWORD PTR -32[rbp], xmm7
.L22:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -200[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jb	.L23
	mov	edx, DWORD PTR -228[rbp]
	mov	rax, QWORD PTR -240[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L26
.L23:
	mov	DWORD PTR -224[rbp], 24
	mov	DWORD PTR -220[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -216[rbp], rax
	lea	rax, -192[rbp]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 1520[rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rsi, [rdx+rax]
	lea	rcx, -224[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	r8
	mov	rax, QWORD PTR -240[rbp]
	mov	rbx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR 24[rax]
	add	rax, rdx
	mov	rdi, rax
	call	strlen@PLT
	cdqe
	lea	rdx, [rbx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L21
.L26:
	nop
.L21:
	mov	rax, QWORD PTR -200[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	jsonPrintf, .-jsonPrintf
	.type	jsonAppendChar, @function
jsonAppendChar:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -12[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jb	.L28
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L30
.L28:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rcx
	lea	rdx, [rsi+rax]
	movzx	eax, BYTE PTR -12[rbp]
	mov	BYTE PTR [rdx], al
	jmp	.L27
.L30:
	nop
.L27:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	jsonAppendChar, .-jsonAppendChar
	.type	jsonAppendSeparator, @function
jsonAppendSeparator:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L34
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	sub	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -1[rbp], al
	cmp	BYTE PTR -1[rbp], 91
	je	.L31
	cmp	BYTE PTR -1[rbp], 123
	je	.L31
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L31
.L34:
	nop
.L31:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	jsonAppendSeparator, .-jsonAppendSeparator
	.section	.rodata
.LC8:
	.string	"the_stack_data/9771.c"
.LC9:
	.string	"aSpecial['\\b']=='b'"
.LC10:
	.string	"aSpecial['\\f']=='f'"
.LC11:
	.string	"aSpecial['\\n']=='n'"
.LC12:
	.string	"aSpecial['\\r']=='r'"
.LC13:
	.string	"aSpecial['\\t']=='t'"
.LC15:
	.string	"p->nUsed<p->nAlloc"
.LC14:
	.string	"0123456789abcdef"
	.text
	.type	jsonAppendString, @function
jsonAppendString:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	cmp	QWORD PTR -32[rbp], 0
	je	.L52
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	add	rax, rdx
	lea	rdx, 2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jb	.L37
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L52
.L37:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	BYTE PTR [rax], 34
	mov	DWORD PTR -4[rbp], 0
	jmp	.L39
.L51:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -5[rbp], al
	cmp	BYTE PTR -5[rbp], 34
	je	.L53
	cmp	BYTE PTR -5[rbp], 92
	jne	.L41
.L53:
	nop
.L40:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -4[rbp]
	sub	rax, rdx
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jbe	.L42
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, DWORD PTR -4[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L54
.L42:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	BYTE PTR [rax], 92
	jmp	.L43
.L41:
	cmp	BYTE PTR -5[rbp], 31
	ja	.L43
	movzx	eax, BYTE PTR aSpecial.27[rip+8]
	cmp	al, 98
	je	.L44
	lea	rcx, __PRETTY_FUNCTION__.26[rip]
	mov	edx, 329
	lea	rsi, .LC8[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L44:
	movzx	eax, BYTE PTR aSpecial.27[rip+12]
	cmp	al, 102
	je	.L45
	lea	rcx, __PRETTY_FUNCTION__.26[rip]
	mov	edx, 330
	lea	rsi, .LC8[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L45:
	movzx	eax, BYTE PTR aSpecial.27[rip+10]
	cmp	al, 110
	je	.L46
	lea	rcx, __PRETTY_FUNCTION__.26[rip]
	mov	edx, 331
	lea	rsi, .LC8[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L46:
	movzx	eax, BYTE PTR aSpecial.27[rip+13]
	cmp	al, 114
	je	.L47
	lea	rcx, __PRETTY_FUNCTION__.26[rip]
	mov	edx, 332
	lea	rsi, .LC8[rip]
	lea	rdi, .LC12[rip]
	call	__assert_fail@PLT
.L47:
	movzx	eax, BYTE PTR aSpecial.27[rip+9]
	cmp	al, 116
	je	.L48
	lea	rcx, __PRETTY_FUNCTION__.26[rip]
	mov	edx, 333
	lea	rsi, .LC8[rip]
	lea	rdi, .LC13[rip]
	call	__assert_fail@PLT
.L48:
	movzx	eax, BYTE PTR -5[rbp]
	cdqe
	lea	rdx, aSpecial.27[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L49
	movzx	eax, BYTE PTR -5[rbp]
	cdqe
	lea	rdx, aSpecial.27[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -5[rbp], al
	jmp	.L40
.L49:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	add	rax, rdx
	lea	rdx, 7[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jbe	.L50
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, DWORD PTR -4[rbp]
	lea	edx, 7[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L55
.L50:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	BYTE PTR [rax], 92
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	BYTE PTR [rax], 117
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	BYTE PTR [rax], 48
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	BYTE PTR [rax], 48
	movzx	eax, BYTE PTR -5[rbp]
	shr	al, 4
	lea	edi, 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	edx, edi
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR -5[rbp]
	and	eax, 15
	cdqe
	lea	rdx, .LC14[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -5[rbp], al
.L43:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	lea	rdx, [rsi+rax]
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -4[rbp], 1
.L39:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jb	.L51
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rcx
	add	rax, rsi
	mov	BYTE PTR [rax], 34
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jb	.L35
	lea	rcx, __PRETTY_FUNCTION__.26[rip]
	mov	edx, 349
	lea	rsi, .LC8[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L52:
	nop
	jmp	.L35
.L54:
	nop
	jmp	.L35
.L55:
	nop
.L35:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	jsonAppendString, .-jsonAppendString
	.section	.rodata
.LC16:
	.string	"JSON cannot hold BLOB values"
	.text
	.type	jsonAppendValue, @function
jsonAppendValue:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 904[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	rdx
	cmp	eax, 5
	je	.L57
	cmp	eax, 5
	jg	.L58
	cmp	eax, 2
	jg	.L59
	test	eax, eax
	jg	.L60
	jmp	.L58
.L59:
	cmp	eax, 3
	je	.L61
	jmp	.L58
.L57:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 4
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L62
.L60:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 824[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	rdx
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L62
.L61:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 824[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	rdx
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1664[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	rdx
	cmp	eax, 74
	jne	.L63
	mov	edx, DWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L62
.L63:
	mov	edx, DWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendString
	jmp	.L62
.L58:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 33[rax]
	test	al, al
	jne	.L66
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 640[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, -1
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 33[rax], 2
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	jsonReset
.L66:
	nop
.L62:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	jsonAppendValue, .-jsonAppendValue
	.section	.rodata
.LC17:
	.string	"p->bStatic"
	.text
	.type	jsonResult, @function
jsonResult:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 33[rax]
	test	al, al
	jne	.L68
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r9, QWORD PTR 1616[rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L69
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 464[rax]
	jmp	.L70
.L69:
	mov	rax, -1
.L70:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rdx]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 8[rcx]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdi, QWORD PTR [rcx]
	mov	r8d, 1
	mov	rcx, rax
	call	r9
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	jsonZero
.L68:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L72
	lea	rcx, __PRETTY_FUNCTION__.25[rip]
	mov	edx, 403
	lea	rsi, .LC8[rip]
	lea	rdi, .LC17[rip]
	call	__assert_fail@PLT
.L72:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	jsonResult, .-jsonResult
	.type	jsonNodeSize, @function
jsonNodeSize:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	jbe	.L74
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	jmp	.L76
.L74:
	mov	eax, 1
.L76:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	jsonNodeSize, .-jsonNodeSize
	.type	jsonParseReset, @function
jsonParseReset:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	jsonParseReset, .-jsonParseReset
	.type	jsonParseFree, @function
jsonParseFree:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	jsonParseReset
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	jsonParseFree, .-jsonParseFree
	.section	.rodata
.LC18:
	.string	"pNode!=0"
.LC19:
	.string	"0"
.LC20:
	.string	"pNode->eType==JSON_NULL"
	.text
	.type	jsonRenderNode, @function
jsonRenderNode:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L80
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 454
	lea	rsi, .LC8[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L80:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 24
	test	eax, eax
	je	.L81
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L82
	cmp	QWORD PTR -40[rbp], 0
	jne	.L83
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 456
	lea	rsi, .LC8[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L83:
	mov	eax, 1
	test	al, al
	je	.L82
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonAppendValue
	jmp	.L79
.L82:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L81:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	eax, 7
	ja	.L85
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L87[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L87[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L87:
	.long	.L85-.L87
	.long	.L92-.L87
	.long	.L91-.L87
	.long	.L90-.L87
	.long	.L90-.L87
	.long	.L89-.L87
	.long	.L88-.L87
	.long	.L86-.L87
	.text
.L85:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L93
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 464
	lea	rsi, .LC8[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L93:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 4
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L79
.L92:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 4
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L79
.L91:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 5
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L79
.L89:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L90
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendString
	jmp	.L79
.L90:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L79
.L88:
	mov	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L94
.L96:
	mov	eax, DWORD PTR -8[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 4
	test	eax, eax
	jne	.L95
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	jsonAppendSeparator
	mov	eax, DWORD PTR -8[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	jsonRenderNode
.L95:
	mov	eax, DWORD PTR -8[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	DWORD PTR -8[rbp], eax
.L94:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -8[rbp], eax
	jbe	.L96
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L108
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	sal	rax, 4
	add	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -8[rbp], 1
	jmp	.L94
.L108:
	nop
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 93
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L79
.L86:
	mov	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 123
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L100
.L102:
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 4
	test	eax, eax
	jne	.L101
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	jsonAppendSeparator
	mov	eax, DWORD PTR -4[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	jsonRenderNode
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 58
	mov	rdi, rax
	call	jsonAppendChar
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	jsonRenderNode
.L101:
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	eax, 1
	add	DWORD PTR -4[rbp], eax
.L100:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jbe	.L102
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L109
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	sal	rax, 4
	add	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -4[rbp], 1
	jmp	.L100
.L109:
	nop
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 125
	mov	rdi, rax
	call	jsonAppendChar
	nop
.L79:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	jsonRenderNode, .-jsonRenderNode
	.type	jsonReturnJson, @function
jsonReturnJson:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	QWORD PTR -168[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -160[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	mov	rdx, QWORD PTR -168[rbp]
	lea	rcx, -144[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonRenderNode
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1672[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	esi, 74
	mov	rdi, rax
	call	rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L111
	call	__stack_chk_fail@PLT
.L111:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	jsonReturnJson, .-jsonReturnJson
	.section	.rodata
	.align 8
.LC21:
	.string	"(h>='0' && h<='9') || (h>='a' && h<='f') || (h>='A' && h<='F')"
	.text
	.type	jsonHexToInt, @function
jsonHexToInt:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jle	.L113
	cmp	DWORD PTR -4[rbp], 57
	jle	.L114
.L113:
	cmp	DWORD PTR -4[rbp], 96
	jle	.L115
	cmp	DWORD PTR -4[rbp], 102
	jle	.L114
.L115:
	cmp	DWORD PTR -4[rbp], 64
	jle	.L116
	cmp	DWORD PTR -4[rbp], 70
	jle	.L114
.L116:
	lea	rcx, __PRETTY_FUNCTION__.23[rip]
	mov	edx, 550
	lea	rsi, .LC8[rip]
	lea	rdi, .LC21[rip]
	call	__assert_fail@PLT
.L114:
	mov	eax, DWORD PTR -4[rbp]
	sar	eax, 6
	and	eax, 1
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 15
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	jsonHexToInt, .-jsonHexToInt
	.section	.rodata
.LC22:
	.string	"safe_isxdigit(z[0])"
.LC23:
	.string	"safe_isxdigit(z[1])"
.LC24:
	.string	"safe_isxdigit(z[2])"
.LC25:
	.string	"safe_isxdigit(z[3])"
	.text
	.type	jsonHexToInt4, @function
jsonHexToInt4:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L119
	lea	rcx, __PRETTY_FUNCTION__.22[rip]
	mov	edx, 564
	lea	rsi, .LC8[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L119:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L120
	lea	rcx, __PRETTY_FUNCTION__.22[rip]
	mov	edx, 565
	lea	rsi, .LC8[rip]
	lea	rdi, .LC23[rip]
	call	__assert_fail@PLT
.L120:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L121
	lea	rcx, __PRETTY_FUNCTION__.22[rip]
	mov	edx, 566
	lea	rsi, .LC8[rip]
	lea	rdi, .LC24[rip]
	call	__assert_fail@PLT
.L121:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L122
	lea	rcx, __PRETTY_FUNCTION__.22[rip]
	mov	edx, 567
	lea	rsi, .LC8[rip]
	lea	rdi, .LC25[rip]
	call	__assert_fail@PLT
.L122:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	jsonHexToInt
	movzx	eax, al
	sal	eax, 12
	mov	ebx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	jsonHexToInt
	movzx	eax, al
	sal	eax, 8
	add	ebx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	jsonHexToInt
	movzx	eax, al
	sal	eax, 4
	add	ebx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	jsonHexToInt
	movzx	eax, al
	add	eax, ebx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	jsonHexToInt4, .-jsonHexToInt4
	.section	.rodata
	.align 8
.LC26:
	.string	"(pNode->jnFlags & JNODE_RAW)==0"
	.text
	.type	jsonReturn, @function
jsonReturn:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	eax, 7
	ja	.L125
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L127[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L127[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L127:
	.long	.L125-.L127
	.long	.L132-.L127
	.long	.L131-.L127
	.long	.L130-.L127
	.long	.L129-.L127
	.long	.L128-.L127
	.long	.L126-.L127
	.long	.L126-.L127
	.text
.L125:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L133
	lea	rcx, __PRETTY_FUNCTION__.21[rip]
	mov	edx, 585
	lea	rsi, .LC8[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L133:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 672[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	rdx
	jmp	.L134
.L132:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 656[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rdx
	jmp	.L134
.L131:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 656[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	rdx
	jmp	.L134
.L130:
	mov	QWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L136
	add	QWORD PTR -32[rbp], 1
	jmp	.L136
.L145:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	mov	DWORD PTR -44[rbp], eax
	movabs	rax, 922337203685477579
	cmp	QWORD PTR -40[rbp], rax
	jle	.L137
	movabs	rax, 922337203685477580
	cmp	QWORD PTR -40[rbp], rax
	jg	.L167
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L140
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L168
.L140:
	cmp	DWORD PTR -44[rbp], 9
	je	.L169
	cmp	DWORD PTR -44[rbp], 8
	jne	.L137
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L170
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 664[rax]
	mov	rax, QWORD PTR -96[rbp]
	movabs	rsi, -9223372036854775808
	mov	rdi, rax
	call	rdx
	nop
.L143:
	jmp	.L134
.L137:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	mov	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
.L136:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L144
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L145
.L144:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L146
	neg	QWORD PTR -40[rbp]
.L146:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 664[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L134
.L139:
.L167:
	nop
	jmp	.L129
.L168:
	nop
	jmp	.L129
.L169:
	nop
	jmp	.L129
.L170:
	nop
.L129:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, 0
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 632[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -96[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L134
.L128:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L147
	lea	rcx, __PRETTY_FUNCTION__.21[rip]
	mov	edx, 644
	lea	rsi, .LC8[rip]
	lea	rdi, .LC26[rip]
	call	__assert_fail@PLT
.L147:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 2
	test	eax, eax
	jne	.L148
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rsi, 1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, -1
	mov	rdi, rax
	call	r8
	jmp	.L134
.L148:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 544[rax]
	mov	edx, DWORD PTR -56[rbp]
	add	edx, 1
	mov	edi, edx
	call	rax
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L150
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	rdx
	jmp	.L134
.L150:
	mov	DWORD PTR -64[rbp], 1
	mov	DWORD PTR -60[rbp], 0
	jmp	.L151
.L166:
	mov	edx, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -65[rbp], al
	cmp	BYTE PTR -65[rbp], 92
	je	.L152
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -65[rbp]
	mov	BYTE PTR [rdx], al
	jmp	.L153
.L152:
	add	DWORD PTR -64[rbp], 1
	mov	edx, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -65[rbp], al
	cmp	BYTE PTR -65[rbp], 117
	jne	.L154
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonHexToInt4
	mov	DWORD PTR -52[rbp], eax
	add	DWORD PTR -64[rbp], 4
	cmp	DWORD PTR -52[rbp], 0
	je	.L171
	cmp	DWORD PTR -52[rbp], 127
	ja	.L157
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -52[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L153
.L157:
	cmp	DWORD PTR -52[rbp], 2047
	ja	.L159
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 6
	or	eax, -64
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L153
.L159:
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 64512
	cmp	eax, 55296
	jne	.L160
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 6
	cmp	DWORD PTR -64[rbp], eax
	jnb	.L160
	mov	eax, DWORD PTR -64[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L160
	mov	eax, DWORD PTR -64[rbp]
	add	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 117
	jne	.L160
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonHexToInt4
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 64512
	cmp	eax, 56320
	jne	.L160
	mov	eax, DWORD PTR -52[rbp]
	sal	eax, 10
	and	eax, 1047552
	mov	edx, eax
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 1023
	or	eax, edx
	add	eax, 65536
	mov	DWORD PTR -52[rbp], eax
	add	DWORD PTR -64[rbp], 6
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 18
	or	eax, -16
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 12
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L153
.L160:
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 12
	or	eax, -32
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L153
.L154:
	cmp	BYTE PTR -65[rbp], 98
	jne	.L161
	mov	BYTE PTR -65[rbp], 8
	jmp	.L162
.L161:
	cmp	BYTE PTR -65[rbp], 102
	jne	.L163
	mov	BYTE PTR -65[rbp], 12
	jmp	.L162
.L163:
	cmp	BYTE PTR -65[rbp], 110
	jne	.L164
	mov	BYTE PTR -65[rbp], 10
	jmp	.L162
.L164:
	cmp	BYTE PTR -65[rbp], 114
	jne	.L165
	mov	BYTE PTR -65[rbp], 13
	jmp	.L162
.L165:
	cmp	BYTE PTR -65[rbp], 116
	jne	.L162
	mov	BYTE PTR -65[rbp], 9
.L162:
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -60[rbp], edx
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -65[rbp]
	mov	BYTE PTR [rdx], al
.L153:
	add	DWORD PTR -64[rbp], 1
.L151:
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1
	cmp	DWORD PTR -64[rbp], eax
	jb	.L166
	jmp	.L156
.L171:
	nop
.L156:
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 464[rax]
	mov	edx, DWORD PTR -60[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	r8
	jmp	.L134
.L126:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturnJson
	nop
.L134:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	jsonReturn, .-jsonReturn
	.section	.rodata
.LC27:
	.string	"pParse->nNode>=pParse->nAlloc"
.LC28:
	.string	"pParse->nNode<pParse->nAlloc"
	.text
	.type	jsonParseAddNodeExpand, @function
jsonParseAddNodeExpand:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	QWORD PTR -40[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jnb	.L173
	lea	rcx, __PRETTY_FUNCTION__.20[rip]
	mov	edx, 750
	lea	rsi, .LC8[rip]
	lea	rdi, .LC27[rip]
	call	__assert_fail@PLT
.L173:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L174
	mov	eax, -1
	jmp	.L175
.L174:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 5
	add	eax, eax
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1592[rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L176
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 32[rax], 1
	mov	eax, -1
	jmp	.L175
.L176:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jb	.L177
	lea	rcx, __PRETTY_FUNCTION__.20[rip]
	mov	edx, 760
	lea	rsi, .LC8[rip]
	lea	rdi, .LC28[rip]
	call	__assert_fail@PLT
.L177:
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	jsonParseAddNode
.L175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	jsonParseAddNodeExpand, .-jsonParseAddNodeExpand
	.type	jsonParseAddNode, @function
jsonParseAddNode:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	QWORD PTR -40[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L179
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jb	.L180
.L179:
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	jsonParseAddNodeExpand
	jmp	.L181
.L180:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 1[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], ecx
.L181:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	jsonParseAddNode, .-jsonParseAddNode
	.type	jsonIs4Hex, @function
jsonIs4Hex:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L183
.L186:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	jne	.L184
	mov	eax, 0
	jmp	.L185
.L184:
	add	DWORD PTR -4[rbp], 1
.L183:
	cmp	DWORD PTR -4[rbp], 3
	jle	.L186
	mov	eax, 1
.L185:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	jsonIs4Hex, .-jsonIs4Hex
	.type	jsonParseValue, @function
jsonParseValue:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L188
.L189:
	add	DWORD PTR -44[rbp], 1
.L188:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, jsonIsSpace[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L189
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
	cmp	BYTE PTR -32[rbp], 123
	jne	.L190
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 7
	mov	rdi, rax
	call	jsonParseAddNode
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L191
	mov	eax, -1
	jmp	.L192
.L191:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L193
.L194:
	add	DWORD PTR -28[rbp], 1
.L193:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, jsonIsSpace[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L194
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 34[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 34[rax], dx
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 34[rax]
	cmp	ax, 2000
	jbe	.L195
	mov	eax, -1
	jmp	.L192
.L195:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonParseValue
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L196
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 34[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 34[rax], dx
	cmp	DWORD PTR -20[rbp], -2
	jne	.L197
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	add	edx, 1
	cmp	eax, edx
	jne	.L197
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L192
.L197:
	mov	eax, -1
	jmp	.L192
.L196:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L198
	mov	eax, -1
	jmp	.L192
.L198:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	je	.L199
	mov	eax, -1
	jmp	.L192
.L199:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 1[rax]
	or	eax, 64
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L200
.L201:
	add	DWORD PTR -28[rbp], 1
.L200:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, jsonIsSpace[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L201
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L202
	mov	eax, -1
	jmp	.L192
.L202:
	add	DWORD PTR -28[rbp], 1
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonParseValue
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 34[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 34[rax], dx
	cmp	DWORD PTR -20[rbp], 0
	jns	.L203
	mov	eax, -1
	jmp	.L192
.L203:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L204
.L205:
	add	DWORD PTR -28[rbp], 1
.L204:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, jsonIsSpace[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L205
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
	cmp	BYTE PTR -32[rbp], 44
	jne	.L206
	add	DWORD PTR -28[rbp], 1
	jmp	.L193
.L206:
	cmp	BYTE PTR -32[rbp], 125
	je	.L262
	mov	eax, -1
	jmp	.L192
.L262:
	nop
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	ecx, DWORD PTR -24[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 4
	add	rax, rcx
	sub	edx, 1
	mov	DWORD PTR 4[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L192
.L190:
	cmp	BYTE PTR -32[rbp], 91
	jne	.L209
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 6
	mov	rdi, rax
	call	jsonParseAddNode
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L210
	mov	eax, -1
	jmp	.L192
.L210:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L211
.L212:
	add	DWORD PTR -28[rbp], 1
.L211:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, jsonIsSpace[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L212
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 34[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 34[rax], dx
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 34[rax]
	cmp	ax, 2000
	jbe	.L213
	mov	eax, -1
	jmp	.L192
.L213:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonParseValue
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, WORD PTR 34[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR 34[rax], dx
	cmp	DWORD PTR -20[rbp], 0
	jns	.L214
	cmp	DWORD PTR -20[rbp], -3
	jne	.L215
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	add	edx, 1
	cmp	eax, edx
	jne	.L215
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L192
.L215:
	mov	eax, -1
	jmp	.L192
.L214:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L216
.L217:
	add	DWORD PTR -28[rbp], 1
.L216:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, jsonIsSpace[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L217
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
	cmp	BYTE PTR -32[rbp], 44
	jne	.L218
	add	DWORD PTR -28[rbp], 1
	jmp	.L211
.L218:
	cmp	BYTE PTR -32[rbp], 93
	je	.L263
	mov	eax, -1
	jmp	.L192
.L263:
	nop
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	ecx, DWORD PTR -24[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 4
	add	rax, rcx
	sub	edx, 1
	mov	DWORD PTR 4[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L192
.L209:
	cmp	BYTE PTR -32[rbp], 34
	jne	.L221
	mov	BYTE PTR -31[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
.L228:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
	movzx	eax, BYTE PTR -32[rbp]
	and	eax, -32
	test	al, al
	jne	.L222
	mov	eax, -1
	jmp	.L192
.L222:
	cmp	BYTE PTR -32[rbp], 92
	jne	.L223
	add	DWORD PTR -28[rbp], 1
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
	cmp	BYTE PTR -32[rbp], 34
	je	.L224
	cmp	BYTE PTR -32[rbp], 92
	je	.L224
	cmp	BYTE PTR -32[rbp], 47
	je	.L224
	cmp	BYTE PTR -32[rbp], 98
	je	.L224
	cmp	BYTE PTR -32[rbp], 102
	je	.L224
	cmp	BYTE PTR -32[rbp], 110
	je	.L224
	cmp	BYTE PTR -32[rbp], 114
	je	.L224
	cmp	BYTE PTR -32[rbp], 116
	je	.L224
	cmp	BYTE PTR -32[rbp], 117
	jne	.L225
	mov	eax, DWORD PTR -28[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonIs4Hex
	test	eax, eax
	je	.L225
.L224:
	mov	BYTE PTR -31[rbp], 2
	jmp	.L226
.L225:
	mov	eax, -1
	jmp	.L192
.L223:
	cmp	BYTE PTR -32[rbp], 34
	je	.L264
.L226:
	add	DWORD PTR -28[rbp], 1
	jmp	.L228
.L264:
	nop
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	jsonParseAddNode
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L229
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	eax, eax
	sal	rax, 4
	add	rdx, rax
	movzx	eax, BYTE PTR -31[rbp]
	mov	BYTE PTR 1[rdx], al
.L229:
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L192
.L221:
	cmp	BYTE PTR -32[rbp], 110
	jne	.L230
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, 4
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L230
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 4
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L230
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	jsonParseAddNode
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 4
	jmp	.L192
.L230:
	cmp	BYTE PTR -32[rbp], 116
	jne	.L231
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, 4
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L231
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 4
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L231
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	jsonParseAddNode
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 4
	jmp	.L192
.L231:
	cmp	BYTE PTR -32[rbp], 102
	jne	.L232
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, 5
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L232
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 5
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L232
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 2
	mov	rdi, rax
	call	jsonParseAddNode
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 5
	jmp	.L192
.L232:
	cmp	BYTE PTR -32[rbp], 45
	je	.L233
	cmp	BYTE PTR -32[rbp], 47
	jle	.L234
	cmp	BYTE PTR -32[rbp], 57
	jg	.L234
.L233:
	mov	BYTE PTR -30[rbp], 0
	mov	BYTE PTR -29[rbp], 0
	cmp	BYTE PTR -32[rbp], 48
	jg	.L235
	cmp	BYTE PTR -32[rbp], 45
	jne	.L236
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	jmp	.L237
.L236:
	mov	eax, DWORD PTR -44[rbp]
.L237:
	mov	DWORD PTR -28[rbp], eax
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 48
	jne	.L235
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L235
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jg	.L235
	mov	eax, -1
	jmp	.L192
.L235:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
.L252:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
	cmp	BYTE PTR -32[rbp], 47
	jle	.L238
	cmp	BYTE PTR -32[rbp], 57
	jle	.L265
.L238:
	cmp	BYTE PTR -32[rbp], 46
	jne	.L240
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L241
	mov	eax, -1
	jmp	.L192
.L241:
	cmp	BYTE PTR -30[rbp], 0
	je	.L242
	mov	eax, -1
	jmp	.L192
.L242:
	mov	BYTE PTR -30[rbp], 1
	jmp	.L239
.L240:
	cmp	BYTE PTR -32[rbp], 101
	je	.L243
	cmp	BYTE PTR -32[rbp], 69
	jne	.L266
.L243:
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jg	.L245
	mov	eax, -1
	jmp	.L192
.L245:
	cmp	BYTE PTR -29[rbp], 0
	je	.L246
	mov	eax, -1
	jmp	.L192
.L246:
	mov	BYTE PTR -29[rbp], 1
	movzx	eax, BYTE PTR -29[rbp]
	mov	BYTE PTR -30[rbp], al
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
	cmp	BYTE PTR -32[rbp], 43
	je	.L247
	cmp	BYTE PTR -32[rbp], 45
	jne	.L248
.L247:
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -32[rbp], al
.L248:
	cmp	BYTE PTR -32[rbp], 47
	jle	.L249
	cmp	BYTE PTR -32[rbp], 57
	jle	.L267
.L249:
	mov	eax, -1
	jmp	.L192
.L265:
	nop
	jmp	.L239
.L267:
	nop
.L239:
	add	DWORD PTR -28[rbp], 1
	jmp	.L252
.L266:
	nop
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jg	.L253
	mov	eax, -1
	jmp	.L192
.L253:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	cmp	BYTE PTR -30[rbp], 0
	je	.L254
	mov	esi, 4
	jmp	.L255
.L254:
	mov	esi, 3
.L255:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	jsonParseAddNode
	mov	eax, DWORD PTR -28[rbp]
	jmp	.L192
.L234:
	cmp	BYTE PTR -32[rbp], 125
	jne	.L256
	mov	eax, -2
	jmp	.L192
.L256:
	cmp	BYTE PTR -32[rbp], 93
	jne	.L257
	mov	eax, -3
	jmp	.L192
.L257:
	cmp	BYTE PTR -32[rbp], 0
	jne	.L258
	mov	eax, 0
	jmp	.L192
.L258:
	mov	eax, -1
.L192:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	jsonParseValue, .-jsonParseValue
	.section	.rodata
.LC29:
	.string	"pParse->iDepth==0"
.LC30:
	.string	"malformed JSON"
	.text
	.type	jsonParse, @function
jsonParse:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 48
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	QWORD PTR -40[rbp], 0
	jne	.L269
	mov	eax, 1
	jmp	.L270
.L269:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	jsonParseValue
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L271
	mov	DWORD PTR -4[rbp], -1
.L271:
	cmp	DWORD PTR -4[rbp], 0
	jle	.L272
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 34[rax]
	test	ax, ax
	je	.L274
	lea	rcx, __PRETTY_FUNCTION__.19[rip]
	mov	edx, 976
	lea	rsi, .LC8[rip]
	lea	rdi, .LC29[rip]
	call	__assert_fail@PLT
.L275:
	add	DWORD PTR -4[rbp], 1
.L274:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, jsonIsSpace[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L275
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L272
	mov	DWORD PTR -4[rbp], -1
.L272:
	cmp	DWORD PTR -4[rbp], 0
	jg	.L276
	cmp	QWORD PTR -32[rbp], 0
	je	.L277
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L278
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	rdx
	jmp	.L277
.L278:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 640[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, -1
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	call	rcx
.L277:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	jsonParseReset
	mov	eax, 1
	jmp	.L270
.L276:
	mov	eax, 0
.L270:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	jsonParse, .-jsonParse
	.type	jsonParseFillInParentage, @function
jsonParseFillInParentage:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -28[rbp]
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	eax, 6
	je	.L280
	cmp	eax, 7
	je	.L281
	jmp	.L285
.L280:
	mov	DWORD PTR -12[rbp], 1
	jmp	.L283
.L284:
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -12[rbp]
	lea	ecx, [rdx+rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	jsonParseFillInParentage
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	DWORD PTR -12[rbp], eax
.L283:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jbe	.L284
	jmp	.L285
.L281:
	mov	DWORD PTR -12[rbp], 1
	jmp	.L286
.L287:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, DWORD PTR -12[rbp]
	add	edx, ecx
	mov	edx, edx
	sal	rdx, 2
	add	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	jsonParseFillInParentage
	mov	eax, DWORD PTR -12[rbp]
	add	rax, 1
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	eax, 1
	add	DWORD PTR -12[rbp], eax
.L286:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jbe	.L287
	nop
.L285:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	jsonParseFillInParentage, .-jsonParseFillInParentage
	.section	.rodata
.LC31:
	.string	"pParse->aUp==0"
	.text
	.type	jsonParseFindParents, @function
jsonParseFindParents:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L289
	lea	rcx, __PRETTY_FUNCTION__.18[rip]
	mov	edx, 1026
	lea	rsi, .LC8[rip]
	lea	rdi, .LC31[rip]
	call	__assert_fail@PLT
.L289:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 1576[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	sal	rdx, 2
	mov	rdi, rdx
	call	rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L290
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 32[rax], 1
	mov	eax, 7
	jmp	.L291
.L290:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	jsonParseFillInParentage
	mov	eax, 0
.L291:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	jsonParseFindParents, .-jsonParseFindParents
	.type	jsonParseCached, @function
jsonParseCached:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 824[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	DWORD PTR -28[rbp], eax
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -32[rbp], 0
	cmp	QWORD PTR -16[rbp], 0
	jne	.L293
	mov	eax, 0
	jmp	.L294
.L293:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L295
.L301:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 488[rax]
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -429938[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L296
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L297
.L296:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L298
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L298
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L298
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 33[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L299
.L298:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -36[rbp], eax
	jbe	.L299
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -40[rbp], eax
.L299:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -32[rbp], eax
	jnb	.L300
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -32[rbp], eax
.L300:
	add	DWORD PTR -44[rbp], 1
.L295:
	cmp	DWORD PTR -44[rbp], 3
	jle	.L301
.L297:
	cmp	QWORD PTR -24[rbp], 0
	je	.L302
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 33[rax], 0
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L294
.L302:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 1576[rax]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	add	rdx, 49
	mov	rdi, rdx
	call	rax
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L303
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	rdx
	mov	eax, 0
	jmp	.L294
.L303:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 48
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParse
	test	eax, eax
	je	.L304
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
	mov	eax, 0
	jmp	.L294
.L304:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 736[rax]
	mov	eax, DWORD PTR -40[rbp]
	lea	esi, -429938[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, jsonParseFree[rip]
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 488[rax]
	mov	eax, DWORD PTR -40[rbp]
	lea	ecx, -429938[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	rdx
	nop
.L294:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	jsonParseCached, .-jsonParseCached
	.type	jsonLabelCompare, @function
jsonLabelCompare:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L306
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	je	.L307
	mov	eax, 0
	jmp	.L308
.L307:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L308
.L306:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, DWORD PTR -20[rbp]
	add	edx, 2
	cmp	eax, edx
	je	.L309
	mov	eax, 0
	jmp	.L308
.L309:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	strncmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
.L308:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	jsonLabelCompare, .-jsonLabelCompare
	.type	jsonLookupStep, @function
jsonLookupStep:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -92[rbp], esi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	QWORD PTR -120[rbp], r8
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -92[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L311
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L312
.L311:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L313
	mov	eax, 0
	jmp	.L312
.L313:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L314
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L315
	mov	eax, 0
	jmp	.L312
.L315:
	add	QWORD PTR -104[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L316
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -72[rbp], 1
	jmp	.L317
.L319:
	add	DWORD PTR -72[rbp], 1
.L317:
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L318
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L319
.L318:
	mov	eax, DWORD PTR -72[rbp]
	sub	eax, 1
	mov	DWORD PTR -64[rbp], eax
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L320
	add	DWORD PTR -72[rbp], 1
	jmp	.L321
.L320:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L312
.L316:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L322
.L324:
	add	DWORD PTR -72[rbp], 1
.L322:
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L323
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L323
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L324
.L323:
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -64[rbp], eax
.L321:
	cmp	DWORD PTR -64[rbp], 0
	jne	.L325
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L312
.L325:
	mov	DWORD PTR -68[rbp], 1
	jmp	.L326
.L328:
	mov	eax, DWORD PTR -68[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, [rdx+rax]
	mov	edx, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	jsonLabelCompare
	test	eax, eax
	je	.L327
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdi, [rdx+rax]
	mov	edx, DWORD PTR -92[rbp]
	mov	eax, DWORD PTR -68[rbp]
	add	eax, edx
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	call	jsonLookupStep
	jmp	.L312
.L327:
	add	DWORD PTR -68[rbp], 1
	mov	eax, DWORD PTR -68[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	DWORD PTR -68[rbp], eax
.L326:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	jbe	.L328
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L364
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -92[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -68[rbp], 1
	jmp	.L326
.L364:
	nop
	cmp	QWORD PTR -112[rbp], 0
	je	.L332
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, 0
	mov	edx, 2
	mov	esi, 7
	mov	rdi, rax
	call	jsonParseAddNode
	mov	DWORD PTR -48[rbp], eax
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	jsonParseAddNode
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	add	QWORD PTR -104[rbp], rax
	mov	rcx, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	jsonLookupAppend
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L333
	mov	eax, 0
	jmp	.L312
.L333:
	cmp	QWORD PTR -8[rbp], 0
	je	.L334
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -92[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	or	eax, 32
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	add	rax, rdx
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	add	rax, rcx
	or	edx, 1
	mov	BYTE PTR 1[rax], dl
.L334:
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L312
.L314:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L335
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 1
	jmp	.L336
.L337:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, ecx
	sub	eax, 48
	mov	DWORD PTR -72[rbp], eax
	add	DWORD PTR -68[rbp], 1
.L336:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	ecx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L337
	cmp	DWORD PTR -68[rbp], 1
	jbe	.L338
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L339
.L338:
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L340
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 6
	je	.L342
	mov	eax, 0
	jmp	.L312
.L344:
	mov	eax, DWORD PTR -68[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 4
	test	eax, eax
	jne	.L343
	add	DWORD PTR -72[rbp], 1
.L343:
	mov	eax, DWORD PTR -68[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	DWORD PTR -68[rbp], eax
.L342:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	jbe	.L344
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L365
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -68[rbp], 1
	jmp	.L342
.L365:
	nop
	mov	DWORD PTR -68[rbp], 2
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L347
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L347
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -68[rbp], 3
.L348:
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, ecx
	sub	eax, 48
	mov	DWORD PTR -56[rbp], eax
	add	DWORD PTR -68[rbp], 1
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	ecx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L348
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jbe	.L349
	mov	eax, 0
	jmp	.L312
.L349:
	mov	eax, DWORD PTR -56[rbp]
	sub	DWORD PTR -72[rbp], eax
.L347:
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L339
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L312
.L340:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L312
.L339:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 6
	je	.L350
	mov	eax, 0
	jmp	.L312
.L350:
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	mov	eax, eax
	add	QWORD PTR -104[rbp], rax
	mov	DWORD PTR -68[rbp], 1
	jmp	.L351
.L354:
	mov	eax, DWORD PTR -68[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 4
	test	eax, eax
	jne	.L352
	sub	DWORD PTR -72[rbp], 1
.L352:
	mov	eax, DWORD PTR -68[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	DWORD PTR -68[rbp], eax
.L351:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	ja	.L353
	cmp	DWORD PTR -72[rbp], 0
	jne	.L354
	mov	eax, DWORD PTR -68[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 4
	test	eax, eax
	jne	.L354
.L353:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L366
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -92[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -68[rbp], 1
	jmp	.L351
.L366:
	nop
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	ja	.L358
	mov	edx, DWORD PTR -92[rbp]
	mov	eax, DWORD PTR -68[rbp]
	lea	esi, [rdx+rax]
	mov	rdi, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	jsonLookupStep
	jmp	.L312
.L358:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L332
	cmp	QWORD PTR -112[rbp], 0
	je	.L332
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, 0
	mov	edx, 1
	mov	esi, 6
	mov	rdi, rax
	call	jsonParseAddNode
	mov	DWORD PTR -52[rbp], eax
	mov	rcx, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	jsonLookupAppend
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L359
	mov	eax, 0
	jmp	.L312
.L359:
	cmp	QWORD PTR -16[rbp], 0
	je	.L360
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -92[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	or	eax, 32
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR 1[rax], dl
.L360:
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L312
.L335:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
.L332:
	mov	eax, 0
.L312:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	jsonLookupStep, .-jsonLookupStep
	.section	.rodata
.LC32:
	.string	"[0]"
	.text
	.type	jsonLookupAppend, @function
jsonLookupAppend:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L368
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	jsonParseAddNode
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L369
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	jmp	.L371
.L369:
	mov	eax, 0
	jmp	.L371
.L368:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L372
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 7
	mov	rdi, rax
	call	jsonParseAddNode
	jmp	.L373
.L372:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 3
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L374
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 6
	mov	rdi, rax
	call	jsonParseAddNode
	jmp	.L373
.L374:
	mov	eax, 0
	jmp	.L371
.L373:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L375
	mov	eax, 0
	jmp	.L371
.L375:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	lea	esi, -1[rax]
	mov	rdi, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	jsonLookupStep
.L371:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	jsonLookupAppend, .-jsonLookupAppend
	.section	.rodata
.LC33:
	.string	"JSON path error near '%q'"
	.text
	.type	jsonPathSyntaxError, @function
jsonPathSyntaxError:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 552[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	rdx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	jsonPathSyntaxError, .-jsonPathSyntaxError
	.section	.rodata
.LC34:
	.string	"zErr!=0 && pCtx!=0"
	.text
	.type	jsonLookup, @function
jsonLookup:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	cmp	QWORD PTR -48[rbp], 0
	jne	.L379
	mov	eax, 0
	jmp	.L387
.L379:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	je	.L381
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L382
.L381:
	add	QWORD PTR -48[rbp], 1
	lea	rsi, -32[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rsi
	mov	esi, 0
	mov	rdi, rax
	call	jsonLookupStep
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jne	.L390
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L387
.L390:
	nop
.L382:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 33[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 33[rax], dl
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	je	.L383
	cmp	QWORD PTR -64[rbp], 0
	jne	.L389
.L383:
	lea	rcx, __PRETTY_FUNCTION__.17[rip]
	mov	edx, 1340
	lea	rsi, .LC8[rip]
	lea	rdi, .LC34[rip]
	call	__assert_fail@PLT
.L389:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	jsonPathSyntaxError
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L385
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 640[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	rdx
	jmp	.L386
.L385:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	rdx
.L386:
	mov	eax, 0
.L387:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L388
	call	__stack_chk_fail@PLT
.L388:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	jsonLookup, .-jsonLookup
	.section	.rodata
	.align 8
.LC35:
	.string	"json_%s() needs an odd number of arguments"
	.text
	.type	jsonWrongNumArgs, @function
jsonWrongNumArgs:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 552[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 640[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	jsonWrongNumArgs, .-jsonWrongNumArgs
	.section	.rodata
.LC36:
	.string	"pNode->eType==JSON_OBJECT"
	.text
	.type	jsonRemoveAllNulls, @function
jsonRemoveAllNulls:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L393
	lea	rcx, __PRETTY_FUNCTION__.16[rip]
	mov	edx, 1371
	lea	rsi, .LC8[rip]
	lea	rdi, .LC36[rip]
	call	__assert_fail@PLT
.L393:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -8[rbp], 2
	jmp	.L394
.L398:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	test	eax, eax
	je	.L395
	cmp	eax, 7
	je	.L396
	jmp	.L397
.L395:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR 1[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	or	edx, 4
	mov	BYTE PTR 1[rax], dl
	jmp	.L397
.L396:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonRemoveAllNulls
	nop
.L397:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
.L394:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jle	.L398
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	jsonRemoveAllNulls, .-jsonRemoveAllNulls
	.type	jsonQuoteFunc, @function
jsonQuoteFunc:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	DWORD PTR -156[rbp], esi
	mov	QWORD PTR -168[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -152[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonAppendValue
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1672[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	esi, 74
	mov	rdi, rax
	call	rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L400
	call	__stack_chk_fail@PLT
.L400:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	jsonQuoteFunc, .-jsonQuoteFunc
	.type	jsonArrayFunc, @function
jsonArrayFunc:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	DWORD PTR -172[rbp], esi
	mov	QWORD PTR -184[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -168[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	lea	rax, -144[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	jsonAppendChar
	mov	DWORD PTR -148[rbp], 0
	jmp	.L402
.L403:
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonAppendSeparator
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonAppendValue
	add	DWORD PTR -148[rbp], 1
.L402:
	mov	eax, DWORD PTR -148[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jl	.L403
	lea	rax, -144[rbp]
	mov	esi, 93
	mov	rdi, rax
	call	jsonAppendChar
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1672[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, 74
	mov	rdi, rax
	call	rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L404
	call	__stack_chk_fail@PLT
.L404:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	jsonArrayFunc, .-jsonArrayFunc
	.section	.rodata
.LC37:
	.string	"p->nNode"
	.align 8
.LC38:
	.string	"(pNode->jnFlags & JNODE_APPEND)==0"
	.text
	.type	jsonArrayLengthFunc, @function
jsonArrayLengthFunc:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -32[rbp], 0
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParseCached
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L416
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L408
	lea	rcx, __PRETTY_FUNCTION__.15[rip]
	mov	edx, 1512
	lea	rsi, .LC8[rip]
	lea	rdi, .LC37[rip]
	call	__assert_fail@PLT
.L408:
	cmp	DWORD PTR -60[rbp], 2
	jne	.L409
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	jsonLookup
	mov	QWORD PTR -24[rbp], rax
	jmp	.L410
.L409:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L410:
	cmp	QWORD PTR -24[rbp], 0
	je	.L417
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 6
	jne	.L412
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L413
	lea	rcx, __PRETTY_FUNCTION__.15[rip]
	mov	edx, 1523
	lea	rsi, .LC8[rip]
	lea	rdi, .LC38[rip]
	call	__assert_fail@PLT
.L413:
	mov	DWORD PTR -36[rbp], 1
	jmp	.L414
.L415:
	mov	eax, DWORD PTR -36[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	DWORD PTR -36[rbp], eax
	add	QWORD PTR -32[rbp], 1
.L414:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -36[rbp], eax
	jbe	.L415
.L412:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 664[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L405
.L416:
	nop
	jmp	.L405
.L417:
	nop
.L405:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	jsonArrayLengthFunc, .-jsonArrayLengthFunc
	.type	jsonExtractFunc, @function
jsonExtractFunc:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	QWORD PTR -200[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -188[rbp], 1
	jle	.L432
	mov	rdx, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParseCached
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L433
	mov	rdx, QWORD PTR -184[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	lea	rax, -144[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	jsonAppendChar
	mov	DWORD PTR -172[rbp], 1
	jmp	.L422
.L428:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -200[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -160[rbp], rax
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	jsonLookup
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 33[rax]
	test	al, al
	jne	.L434
	cmp	DWORD PTR -188[rbp], 2
	jle	.L425
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonAppendSeparator
	cmp	QWORD PTR -152[rbp], 0
	je	.L426
	lea	rcx, -144[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonRenderNode
	jmp	.L427
.L426:
	lea	rax, -144[rbp]
	mov	edx, 4
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L427
.L425:
	cmp	QWORD PTR -152[rbp], 0
	je	.L427
	mov	rcx, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
.L427:
	add	DWORD PTR -172[rbp], 1
.L422:
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L428
	jmp	.L424
.L434:
	nop
.L424:
	cmp	DWORD PTR -188[rbp], 2
	jle	.L429
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jne	.L429
	lea	rax, -144[rbp]
	mov	esi, 93
	mov	rdi, rax
	call	jsonAppendChar
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1672[rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	esi, 74
	mov	rdi, rax
	call	rdx
.L429:
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonReset
	jmp	.L418
.L432:
	nop
	jmp	.L418
.L433:
	nop
.L418:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L431
	call	__stack_chk_fail@PLT
.L431:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	jsonExtractFunc, .-jsonExtractFunc
	.section	.rodata
	.align 8
.LC39:
	.string	"iTarget>=0 && iTarget<pParse->nNode"
	.align 8
.LC40:
	.string	"(pPatch->jnFlags & JNODE_APPEND)==0"
.LC41:
	.string	"pPatch[i].eType==JSON_STRING"
	.align 8
.LC42:
	.string	"pPatch[i].jnFlags & JNODE_LABEL"
	.align 8
.LC43:
	.string	"(pPatch[i].jnFlags & JNODE_RAW)==0"
.LC44:
	.string	"pTarget[j].eType==JSON_STRING"
	.align 8
.LC45:
	.string	"pTarget[j].jnFlags & JNODE_LABEL"
	.text
	.type	jsonMergePatch, @function
jsonMergePatch:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L436
	mov	rax, QWORD PTR -72[rbp]
	jmp	.L437
.L436:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -60[rbp], eax
	jb	.L438
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1591
	lea	rsi, .LC8[rip]
	lea	rdi, .LC39[rip]
	call	__assert_fail@PLT
.L438:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L439
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1593
	lea	rsi, .LC8[rip]
	lea	rdi, .LC40[rip]
	call	__assert_fail@PLT
.L439:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L440
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	jsonRemoveAllNulls
	mov	rax, QWORD PTR -72[rbp]
	jmp	.L437
.L440:
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	DWORD PTR -48[rbp], 1
	jmp	.L441
.L458:
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	je	.L442
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1602
	lea	rsi, .LC8[rip]
	lea	rdi, .LC41[rip]
	call	__assert_fail@PLT
.L442:
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	jne	.L443
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1603
	lea	rsi, .LC8[rip]
	lea	rdi, .LC42[rip]
	call	__assert_fail@PLT
.L443:
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L444
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1606
	lea	rsi, .LC8[rip]
	lea	rdi, .LC43[rip]
	call	__assert_fail@PLT
.L444:
	mov	DWORD PTR -44[rbp], 1
	jmp	.L445
.L455:
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	je	.L446
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1608
	lea	rsi, .LC8[rip]
	lea	rdi, .LC44[rip]
	call	__assert_fail@PLT
.L446:
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	jne	.L447
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1609
	lea	rsi, .LC8[rip]
	lea	rdi, .LC45[rip]
	call	__assert_fail@PLT
.L447:
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L448
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1610
	lea	rsi, .LC8[rip]
	lea	rdi, .LC43[rip]
	call	__assert_fail@PLT
.L448:
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -36[rbp], eax
	jne	.L449
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L449
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 20
	test	eax, eax
	jne	.L459
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L452
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR 1[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	or	edx, 4
	mov	BYTE PTR 1[rax], dl
	jmp	.L460
.L452:
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	ecx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, ecx
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	jsonMergePatch
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L454
	mov	eax, 0
	jmp	.L437
.L454:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	cmp	QWORD PTR -8[rbp], rax
	je	.L460
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR 1[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	or	edx, 16
	mov	BYTE PTR 1[rax], dl
	jmp	.L460
.L449:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	eax, 1
	add	DWORD PTR -44[rbp], eax
.L445:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -44[rbp], eax
	jb	.L455
	jmp	.L451
.L459:
	nop
	jmp	.L451
.L460:
	nop
.L451:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -44[rbp], eax
	jb	.L456
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L456
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, 0
	mov	edx, 2
	mov	esi, 7
	mov	rdi, rax
	call	jsonParseAddNode
	mov	DWORD PTR -32[rbp], eax
	mov	rcx, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	jsonParseAddNode
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	jsonParseAddNode
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L457
	mov	eax, 0
	jmp	.L437
.L457:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	jsonRemoveAllNulls
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 4
	add	rax, rdx
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 4
	add	rax, rcx
	or	edx, 32
	mov	BYTE PTR 1[rax], dl
	mov	eax, DWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 8[rdx]
	mov	edx, DWORD PTR -40[rbp]
	sal	rdx, 4
	add	rdx, rcx
	sub	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR 8[rdx], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	add	rax, rcx
	or	edx, 16
	mov	BYTE PTR 1[rax], dl
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR -72[rbp]
	add	rdx, rcx
	mov	QWORD PTR 8[rax], rdx
.L456:
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	add	eax, 1
	add	DWORD PTR -48[rbp], eax
.L441:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -48[rbp], eax
	jb	.L458
	mov	rax, QWORD PTR -24[rbp]
.L437:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	jsonMergePatch, .-jsonMergePatch
	.section	.rodata
.LC46:
	.string	"pResult!=0 || x.oom"
	.text
	.type	jsonPatchFunc, @function
jsonPatchFunc:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	DWORD PTR -140[rbp], esi
	mov	QWORD PTR -152[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	rdx, rax
	mov	rcx, QWORD PTR -136[rbp]
	lea	rax, -112[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParse
	test	eax, eax
	jne	.L470
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	rdx, rax
	mov	rcx, QWORD PTR -136[rbp]
	lea	rax, -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParse
	test	eax, eax
	je	.L464
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L461
.L464:
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, -112[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	jsonMergePatch
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 0
	jne	.L465
	movzx	eax, BYTE PTR -80[rbp]
	test	al, al
	jne	.L465
	lea	rcx, __PRETTY_FUNCTION__.13[rip]
	mov	edx, 1666
	lea	rsi, .LC8[rip]
	lea	rdi, .LC46[rip]
	call	__assert_fail@PLT
.L465:
	cmp	QWORD PTR -120[rbp], 0
	je	.L466
	mov	rcx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturnJson
	jmp	.L467
.L466:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	rdx
.L467:
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	jsonParseReset
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L461
.L470:
	nop
.L461:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L469
	call	__stack_chk_fail@PLT
.L469:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	jsonPatchFunc, .-jsonPatchFunc
	.section	.rodata
	.align 8
.LC47:
	.string	"json_object() requires an even number of arguments"
	.align 8
.LC48:
	.string	"json_object() labels must be TEXT"
	.text
	.type	jsonObjectFunc, @function
jsonObjectFunc:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	DWORD PTR -172[rbp], esi
	mov	QWORD PTR -184[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -172[rbp]
	and	eax, 1
	test	eax, eax
	je	.L472
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 640[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	lea	rsi, .LC47[rip]
	mov	rdi, rax
	call	rcx
	jmp	.L471
.L472:
	mov	rdx, QWORD PTR -168[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	lea	rax, -144[rbp]
	mov	esi, 123
	mov	rdi, rax
	call	jsonAppendChar
	mov	DWORD PTR -160[rbp], 0
	jmp	.L474
.L476:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 904[rax]
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	cmp	eax, 3
	je	.L475
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 640[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	call	rcx
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonReset
	jmp	.L471
.L475:
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonAppendSeparator
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 824[rax]
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	DWORD PTR -156[rbp], eax
	mov	edx, DWORD PTR -156[rbp]
	mov	rcx, QWORD PTR -152[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendString
	lea	rax, -144[rbp]
	mov	esi, 58
	mov	rdi, rax
	call	jsonAppendChar
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonAppendValue
	add	DWORD PTR -160[rbp], 2
.L474:
	mov	eax, DWORD PTR -160[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jl	.L476
	lea	rax, -144[rbp]
	mov	esi, 125
	mov	rdi, rax
	call	jsonAppendChar
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1672[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, 74
	mov	rdi, rax
	call	rdx
.L471:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L478
	call	__stack_chk_fail@PLT
.L478:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	jsonObjectFunc, .-jsonObjectFunc
	.section	.rodata
.LC49:
	.string	"x.nNode"
	.text
	.type	jsonRemoveFunc, @function
jsonRemoveFunc:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -108[rbp], 0
	jle	.L492
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	rdx, rax
	mov	rcx, QWORD PTR -104[rbp]
	lea	rax, -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParse
	test	eax, eax
	jne	.L493
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L483
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1736
	lea	rsi, .LC8[rip]
	lea	rdi, .LC49[rip]
	call	__assert_fail@PLT
.L483:
	mov	DWORD PTR -84[rbp], 1
	jmp	.L484
.L489:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	eax, DWORD PTR -84[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -80[rbp], rax
	cmp	QWORD PTR -80[rbp], 0
	je	.L494
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	lea	rax, -64[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	jsonLookup
	mov	QWORD PTR -72[rbp], rax
	movzx	eax, BYTE PTR -31[rbp]
	test	al, al
	jne	.L495
	cmp	QWORD PTR -72[rbp], 0
	je	.L488
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR 1[rax]
	or	eax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	BYTE PTR 1[rax], dl
.L488:
	add	DWORD PTR -84[rbp], 1
.L484:
	mov	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -84[rbp], eax
	jb	.L489
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 4
	test	eax, eax
	jne	.L496
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturnJson
	jmp	.L486
.L494:
	nop
	jmp	.L486
.L495:
	nop
	jmp	.L486
.L496:
	nop
.L486:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L479
.L492:
	nop
	jmp	.L479
.L493:
	nop
.L479:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L491
	call	__stack_chk_fail@PLT
.L491:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	jsonRemoveFunc, .-jsonRemoveFunc
	.section	.rodata
.LC50:
	.string	"replace"
	.text
	.type	jsonReplaceFunc, @function
jsonReplaceFunc:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -108[rbp], 0
	jle	.L511
	mov	eax, DWORD PTR -108[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L500
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC50[rip]
	mov	rdi, rax
	call	jsonWrongNumArgs
	jmp	.L497
.L500:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	rdx, rax
	mov	rcx, QWORD PTR -104[rbp]
	lea	rax, -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParse
	test	eax, eax
	jne	.L512
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L502
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 1773
	lea	rsi, .LC8[rip]
	lea	rdi, .LC49[rip]
	call	__assert_fail@PLT
.L502:
	mov	DWORD PTR -84[rbp], 1
	jmp	.L503
.L507:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	eax, DWORD PTR -84[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	lea	rax, -64[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	jsonLookup
	mov	QWORD PTR -72[rbp], rax
	movzx	eax, BYTE PTR -31[rbp]
	test	al, al
	jne	.L513
	cmp	QWORD PTR -72[rbp], 0
	je	.L506
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR 1[rax]
	or	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	eax, DWORD PTR -84[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], edx
.L506:
	add	DWORD PTR -84[rbp], 2
.L503:
	mov	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -84[rbp], eax
	jb	.L507
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L508
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 712[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L505
.L508:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturnJson
	jmp	.L505
.L513:
	nop
.L505:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L497
.L511:
	nop
	jmp	.L497
.L512:
	nop
.L497:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L510
	call	__stack_chk_fail@PLT
.L510:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	jsonReplaceFunc, .-jsonReplaceFunc
	.section	.rodata
.LC51:
	.string	"set"
.LC52:
	.string	"insert"
	.text
	.type	jsonSetFunc, @function
jsonSetFunc:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 808[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -108[rbp], 0
	jle	.L532
	mov	eax, DWORD PTR -108[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L517
	cmp	DWORD PTR -84[rbp], 0
	je	.L518
	lea	rax, .LC51[rip]
	jmp	.L519
.L518:
	lea	rax, .LC52[rip]
.L519:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	jsonWrongNumArgs
	jmp	.L514
.L517:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	rdx, rax
	mov	rcx, QWORD PTR -104[rbp]
	lea	rax, -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParse
	test	eax, eax
	jne	.L533
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L521
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 1822
	lea	rsi, .LC8[rip]
	lea	rdi, .LC49[rip]
	call	__assert_fail@PLT
.L521:
	mov	DWORD PTR -88[rbp], 1
	jmp	.L522
.L528:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	eax, DWORD PTR -88[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -80[rbp], rax
	mov	DWORD PTR -92[rbp], 0
	mov	rcx, QWORD PTR -104[rbp]
	lea	rdx, -92[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonLookup
	mov	QWORD PTR -72[rbp], rax
	movzx	eax, BYTE PTR -32[rbp]
	test	al, al
	je	.L523
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	rdx
	jmp	.L524
.L523:
	movzx	eax, BYTE PTR -31[rbp]
	test	al, al
	jne	.L534
	cmp	QWORD PTR -72[rbp], 0
	je	.L526
	mov	eax, DWORD PTR -92[rbp]
	test	eax, eax
	jne	.L527
	cmp	DWORD PTR -84[rbp], 0
	je	.L526
.L527:
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR 1[rax]
	or	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	eax, DWORD PTR -88[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], edx
.L526:
	add	DWORD PTR -88[rbp], 2
.L522:
	mov	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -88[rbp], eax
	jb	.L528
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L529
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 712[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L524
.L529:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturnJson
	jmp	.L524
.L534:
	nop
.L524:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L514
.L532:
	nop
	jmp	.L514
.L533:
	nop
.L514:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L531
	call	__stack_chk_fail@PLT
.L531:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	jsonSetFunc, .-jsonSetFunc
	.type	jsonTypeFunc, @function
jsonTypeFunc:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParseCached
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L540
	cmp	DWORD PTR -44[rbp], 2
	jne	.L538
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	jsonLookup
	mov	QWORD PTR -24[rbp], rax
	jmp	.L539
.L538:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L539:
	cmp	QWORD PTR -24[rbp], 0
	je	.L535
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, jsonType[rip]
	mov	rsi, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	edx, -1
	mov	rdi, rax
	call	r8
	jmp	.L535
.L540:
	nop
.L535:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	jsonTypeFunc, .-jsonTypeFunc
	.type	jsonValidFunc, @function
jsonValidFunc:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonParseCached
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 656[rax]
	cmp	QWORD PTR -8[rbp], 0
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	rcx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	jsonValidFunc, .-jsonValidFunc
	.type	jsonArrayStep, @function
jsonArrayStep:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 136
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L546
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L544
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L545
.L544:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rax, 1
	jbe	.L545
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	jsonAppendChar
.L545:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonAppendValue
.L546:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	jsonArrayStep, .-jsonArrayStep
	.section	.rodata
.LC53:
	.string	"pStr->bStatic"
.LC54:
	.string	"[]"
	.text
	.type	jsonArrayCompute, @function
jsonArrayCompute:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L548
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 93
	mov	rdi, rax
	call	jsonAppendChar
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 33[rax]
	test	al, al
	je	.L549
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 33[rax]
	cmp	al, 1
	jne	.L550
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
.L550:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L551
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 1928
	lea	rsi, .LC8[rip]
	lea	rdi, .LC53[rip]
	call	__assert_fail@PLT
.L549:
	cmp	DWORD PTR -28[rbp], 0
	je	.L552
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L553
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 464[rax]
	jmp	.L554
.L553:
	mov	rax, -1
.L554:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rdx]
	mov	r9d, edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 8[rdx]
	mov	rdi, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, r9d
	call	r8
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 32[rax], 1
	jmp	.L551
.L552:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, -1
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L551
.L548:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 0
	mov	edx, 2
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	call	r8
.L551:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1672[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 74
	mov	rdi, rax
	call	rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	jsonArrayCompute, .-jsonArrayCompute
	.type	jsonArrayValue, @function
jsonArrayValue:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	jsonArrayCompute
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	jsonArrayValue, .-jsonArrayValue
	.type	jsonArrayFinal, @function
jsonArrayFinal:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	jsonArrayCompute
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	jsonArrayFinal, .-jsonArrayFinal
	.type	jsonGroupInverse, @function
jsonGroupInverse:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L558
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 1973
	lea	rsi, .LC8[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L558:
	mov	eax, 0
	test	al, al
	jne	.L571
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -28[rbp], 1
	jmp	.L561
.L569:
	cmp	BYTE PTR -29[rbp], 34
	jne	.L562
	cmp	DWORD PTR -24[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -24[rbp], eax
	jmp	.L563
.L562:
	cmp	BYTE PTR -29[rbp], 92
	jne	.L564
	add	DWORD PTR -28[rbp], 1
	jmp	.L563
.L564:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L563
	cmp	BYTE PTR -29[rbp], 123
	je	.L565
	cmp	BYTE PTR -29[rbp], 91
	jne	.L566
.L565:
	add	DWORD PTR -20[rbp], 1
.L566:
	cmp	BYTE PTR -29[rbp], 125
	je	.L567
	cmp	BYTE PTR -29[rbp], 93
	jne	.L563
.L567:
	sub	DWORD PTR -20[rbp], 1
.L563:
	add	DWORD PTR -28[rbp], 1
.L561:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rdx, rax
	jnb	.L568
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -29[rbp], al
	cmp	BYTE PTR -29[rbp], 44
	jne	.L569
	cmp	DWORD PTR -24[rbp], 0
	jne	.L569
	cmp	DWORD PTR -20[rbp], 0
	jne	.L569
.L568:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rdx, rax
	jnb	.L570
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	ecx, DWORD PTR -28[rbp]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, -1[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	jmp	.L557
.L570:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], 1
	jmp	.L557
.L571:
	nop
.L557:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	jsonGroupInverse, .-jsonGroupInverse
	.type	jsonObjectStep, @function
jsonObjectStep:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 136
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L576
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L574
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 123
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L575
.L574:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rax, 1
	jbe	.L575
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	jsonAppendChar
.L575:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 824[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendString
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 58
	mov	rdi, rax
	call	jsonAppendChar
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonAppendValue
.L576:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	jsonObjectStep, .-jsonObjectStep
	.section	.rodata
.LC55:
	.string	"{}"
	.text
	.type	jsonObjectCompute, @function
jsonObjectCompute:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L578
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 125
	mov	rdi, rax
	call	jsonAppendChar
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 33[rax]
	test	al, al
	je	.L579
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 33[rax]
	cmp	al, 1
	jne	.L580
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
.L580:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L581
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2036
	lea	rsi, .LC8[rip]
	lea	rdi, .LC53[rip]
	call	__assert_fail@PLT
.L579:
	cmp	DWORD PTR -28[rbp], 0
	je	.L582
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L583
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 464[rax]
	jmp	.L584
.L583:
	mov	rax, -1
.L584:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rdx]
	mov	r9d, edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 8[rdx]
	mov	rdi, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, r9d
	call	r8
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 32[rax], 1
	jmp	.L581
.L582:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, -1
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	jmp	.L581
.L578:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 0
	mov	edx, 2
	lea	rsi, .LC55[rip]
	mov	rdi, rax
	call	r8
.L581:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1672[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 74
	mov	rdi, rax
	call	rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	jsonObjectCompute, .-jsonObjectCompute
	.type	jsonObjectValue, @function
jsonObjectValue:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	jsonObjectCompute
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	jsonObjectValue, .-jsonObjectValue
	.type	jsonObjectFinal, @function
jsonObjectFinal:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	jsonObjectCompute
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	jsonObjectFinal, .-jsonObjectFinal
	.section	.rodata
	.align 8
.LC56:
	.string	"CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)"
	.text
	.type	jsonEachConnect, @function
jsonEachConnect:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 400[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC56[rip]
	mov	rdi, rax
	call	rdx
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L588
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 544[rax]
	mov	edi, 24
	call	rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L589
	mov	eax, 7
	jmp	.L590
.L589:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 24
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1416[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 2
	mov	rdi, rax
	mov	eax, 0
	call	rdx
.L588:
	mov	eax, DWORD PTR -12[rbp]
.L590:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	jsonEachConnect, .-jsonEachConnect
	.type	jsonEachDisconnect, @function
jsonEachDisconnect:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	jsonEachDisconnect, .-jsonEachDisconnect
	.type	jsonEachOpenEach, @function
jsonEachOpenEach:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 544[rax]
	mov	edi, 96
	call	rax
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L594
	mov	eax, 7
	jmp	.L595
.L594:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 96
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L595:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	jsonEachOpenEach, .-jsonEachOpenEach
	.type	jsonEachOpenTree, @function
jsonEachOpenTree:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonEachOpenEach
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L597
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 25[rax], 1
.L597:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	jsonEachOpenTree, .-jsonEachOpenTree
	.type	jsonEachCursorReset, @function
jsonEachCursorReset:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 48
	mov	rdi, rax
	call	jsonParseReset
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	jsonEachCursorReset, .-jsonEachCursorReset
	.type	jsonEachClose, @function
jsonEachClose:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	jsonEachCursorReset
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	jsonEachClose, .-jsonEachClose
	.type	jsonEachEof, @function
jsonEachEof:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	edx, eax
	setnb	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	jsonEachEof, .-jsonEachEof
	.type	jsonEachNext, @function
jsonEachNext:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 40
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L605
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L606
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
.L606:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	edx, eax
	jnb	.L607
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 24[rax], dl
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 6
	jne	.L607
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	sub	eax, 1
	cmp	DWORD PTR -20[rbp], eax
	jne	.L608
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	jmp	.L607
.L608:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L607
.L605:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 24[rax]
	movzx	eax, al
	cmp	eax, 6
	je	.L609
	cmp	eax, 7
	je	.L610
	jmp	.L613
.L609:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L607
.L610:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	eax, 1
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	mov	rdi, rax
	call	jsonNodeSize
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L607
.L613:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	nop
.L607:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	jsonEachNext, .-jsonEachNext
	.section	.rodata
.LC57:
	.string	"[%d]"
.LC58:
	.string	"pUp->eType==JSON_OBJECT"
.LC59:
	.string	"pNode->eType==JSON_STRING"
.LC60:
	.string	"pNode->jnFlags & JNODE_LABEL"
.LC61:
	.string	".%.*s"
	.text
	.type	jsonEachComputePath, @function
jsonEachComputePath:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	cmp	DWORD PTR -52[rbp], 0
	jne	.L615
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 36
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L614
.L615:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonEachComputePath
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 6
	jne	.L617
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, edx
	lea	rdx, .LC57[rip]
	mov	rsi, rax
	mov	edi, 30
	mov	eax, 0
	call	jsonPrintf
	jmp	.L614
.L617:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L618
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 2236
	lea	rsi, .LC8[rip]
	lea	rdi, .LC58[rip]
	call	__assert_fail@PLT
.L618:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	jne	.L619
	sub	QWORD PTR -16[rbp], 16
.L619:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	je	.L620
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 2238
	lea	rsi, .LC8[rip]
	lea	rdi, .LC59[rip]
	call	__assert_fail@PLT
.L620:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	jne	.L621
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 2239
	lea	rsi, .LC8[rip]
	lea	rdi, .LC60[rip]
	call	__assert_fail@PLT
.L621:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	mov	edi, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	r8, rcx
	mov	ecx, edx
	lea	rdx, .LC61[rip]
	mov	rsi, rax
	mov	eax, 0
	call	jsonPrintf
.L614:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	jsonEachComputePath, .-jsonEachComputePath
	.section	.rodata
.LC62:
	.string	"$"
.LC63:
	.string	"i==JEACH_JSON"
	.text
	.type	jsonEachColumn, @function
jsonEachColumn:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	QWORD PTR -192[rbp], rsi
	mov	DWORD PTR -196[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -168[rbp], rax
	cmp	DWORD PTR -196[rbp], 8
	ja	.L623
	mov	eax, DWORD PTR -196[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L625[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L625[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L625:
	.long	.L633-.L625
	.long	.L632-.L625
	.long	.L631-.L625
	.long	.L630-.L625
	.long	.L629-.L625
	.long	.L628-.L625
	.long	.L627-.L625
	.long	.L626-.L625
	.long	.L624-.L625
	.text
.L633:
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L655
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 7
	jne	.L636
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
	jmp	.L656
.L636:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 6
	jne	.L656
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L638
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L657
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -172[rbp], eax
	jmp	.L640
.L638:
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -172[rbp], eax
.L640:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 664[rax]
	mov	edx, DWORD PTR -172[rbp]
	mov	rax, QWORD PTR -192[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L656
.L632:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L641
	add	QWORD PTR -168[rbp], 16
.L641:
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
	jmp	.L635
.L631:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L642
	add	QWORD PTR -168[rbp], 16
.L642:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, jsonType[rip]
	mov	rsi, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	ecx, 0
	mov	edx, -1
	mov	rdi, rax
	call	r8
	jmp	.L635
.L630:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L643
	add	QWORD PTR -168[rbp], 16
.L643:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	ja	.L658
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
	jmp	.L635
.L629:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 664[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	ecx, eax
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	setne	al
	movzx	eax, al
	add	rcx, rax
	mov	rax, QWORD PTR -192[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	rdx
	jmp	.L635
.L628:
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	edx, eax
	jbe	.L659
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L659
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 664[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	ecx, eax
	mov	rax, QWORD PTR -192[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	rdx
	jmp	.L659
.L627:
	mov	rdx, QWORD PTR -192[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L646
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, DWORD PTR 16[rax]
	lea	rcx, -144[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonEachComputePath
	jmp	.L647
.L646:
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L648
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR 40[rax]
	lea	rax, -144[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L649
.L648:
	lea	rax, -144[rbp]
	mov	esi, 36
	mov	rdi, rax
	call	jsonAppendChar
.L649:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 6
	jne	.L650
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, DWORD PTR 8[rax]
	lea	rax, -144[rbp]
	mov	ecx, edx
	lea	rdx, .LC57[rip]
	mov	rsi, rax
	mov	edi, 30
	mov	eax, 0
	call	jsonPrintf
	jmp	.L647
.L650:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 7
	jne	.L647
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 4[rax]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edi, eax
	lea	rax, -144[rbp]
	mov	r8, rcx
	mov	ecx, edx
	lea	rdx, .LC61[rip]
	mov	rsi, rax
	mov	eax, 0
	call	jsonPrintf
.L647:
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	jmp	.L635
.L626:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L623
	mov	rdx, QWORD PTR -192[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jsonInit
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	lea	rcx, -144[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonEachComputePath
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	jmp	.L635
.L623:
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -160[rbp], rax
	cmp	QWORD PTR -160[rbp], 0
	jne	.L651
	lea	rax, .LC62[rip]
	mov	QWORD PTR -160[rbp], rax
.L651:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rsi, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -192[rbp]
	mov	ecx, 0
	mov	edx, -1
	mov	rdi, rax
	call	r8
	jmp	.L635
.L624:
	cmp	DWORD PTR -196[rbp], 8
	je	.L652
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 2335
	lea	rsi, .LC8[rip]
	lea	rdi, .LC63[rip]
	call	__assert_fail@PLT
.L652:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 680[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	ecx, 0
	mov	edx, -1
	mov	rdi, rax
	call	r8
	jmp	.L635
.L655:
	nop
	jmp	.L635
.L656:
	nop
	jmp	.L635
.L657:
	nop
	jmp	.L635
.L658:
	nop
	jmp	.L635
.L659:
	nop
.L635:
	mov	eax, 0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L654
	call	__stack_chk_fail@PLT
.L654:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	jsonEachColumn, .-jsonEachColumn
	.type	jsonEachRowid, @function
jsonEachRowid:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	jsonEachRowid, .-jsonEachRowid
	.section	.rodata
.LC64:
	.string	"iCol==0 || iCol==1"
	.text
	.type	jsonEachBestIndex, @function
jsonEachBestIndex:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -12[rbp], -1
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L663
.L668:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	jle	.L676
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 8
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L666
	cmp	DWORD PTR -32[rbp], 1
	je	.L666
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 2376
	lea	rsi, .LC8[rip]
	lea	rdi, .LC64[rip]
	call	__assert_fail@PLT
.L666:
	mov	eax, DWORD PTR -32[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 5[rax]
	test	al, al
	jne	.L667
	mov	eax, DWORD PTR -28[rbp]
	or	DWORD PTR -40[rbp], eax
	jmp	.L665
.L667:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 4[rax]
	cmp	al, 2
	jne	.L665
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR -16[rbp+rax*4], edx
	mov	eax, DWORD PTR -28[rbp]
	or	DWORD PTR -36[rbp], eax
	jmp	.L665
.L676:
	nop
.L665:
	add	DWORD PTR -44[rbp], 1
	add	QWORD PTR -24[rbp], 12
.L663:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L668
	mov	eax, DWORD PTR -36[rbp]
	not	eax
	and	eax, DWORD PTR -40[rbp]
	test	eax, eax
	je	.L669
	mov	eax, 19
	jmp	.L674
.L669:
	mov	eax, DWORD PTR -16[rbp]
	test	eax, eax
	jns	.L671
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 40[rax], 0
	jmp	.L672
.L671:
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC65[rip]
	movsd	QWORD PTR 64[rax], xmm0
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	BYTE PTR 4[rax], 1
	mov	eax, DWORD PTR -12[rbp]
	test	eax, eax
	jns	.L673
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 40[rax], 1
	jmp	.L672
.L673:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	BYTE PTR 4[rax], 1
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 40[rax], 3
.L672:
	mov	eax, 0
.L674:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L675
	call	__stack_chk_fail@PLT
.L675:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	jsonEachBestIndex, .-jsonEachBestIndex
	.type	jsonEachFilter, @function
jsonEachFilter:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 104
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -92[rbp], esi
	mov	QWORD PTR -104[rbp], rdx
	mov	DWORD PTR -96[rbp], ecx
	mov	QWORD PTR -112[rbp], r8
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	jsonEachCursorReset
	cmp	DWORD PTR -92[rbp], 0
	jne	.L678
	mov	eax, 0
	jmp	.L679
.L678:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L680
	mov	eax, 0
	jmp	.L679
.L680:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 824[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	cdqe
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 1576[rax]
	mov	rdx, QWORD PTR -32[rbp]
	add	rdx, 1
	mov	rdi, rdx
	call	rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 32[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L681
	mov	eax, 7
	jmp	.L679
.L681:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 48[rdx]
	mov	rdx, rax
	mov	esi, 0
	mov	rdi, rcx
	call	jsonParse
	test	eax, eax
	je	.L682
	mov	DWORD PTR -76[rbp], 7
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 80[rax]
	test	al, al
	jne	.L683
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 552[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rbx, QWORD PTR [rax]
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	rdx
	mov	QWORD PTR 16[rbx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L683
	mov	DWORD PTR -76[rbp], 1
.L683:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	jsonEachCursorReset
	mov	eax, DWORD PTR -76[rbp]
	jmp	.L679
.L682:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L684
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 48
	mov	rdi, rax
	call	jsonParseFindParents
	test	eax, eax
	je	.L684
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	jsonEachCursorReset
	mov	eax, 7
	jmp	.L679
.L684:
	mov	QWORD PTR -64[rbp], 0
	cmp	DWORD PTR -92[rbp], 3
	jne	.L685
	mov	QWORD PTR -72[rbp], 0
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 872[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L686
	mov	eax, 0
	jmp	.L679
.L686:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 824[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	cdqe
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 1576[rax]
	mov	rdx, QWORD PTR -32[rbp]
	add	rdx, 1
	mov	rdi, rdx
	call	rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L688
	mov	eax, 7
	jmp	.L679
.L688:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	je	.L689
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -72[rbp], rax
	jmp	.L690
.L689:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 48
	lea	rcx, -72[rbp]
	mov	r8, rcx
	mov	ecx, 0
	mov	esi, 0
	mov	rdi, rax
	call	jsonLookupStep
	mov	QWORD PTR -64[rbp], rax
.L690:
	mov	rax, QWORD PTR -72[rbp]
	test	rax, rax
	je	.L691
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 464[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rbx, QWORD PTR [rdx]
	mov	rdi, rax
	call	jsonPathSyntaxError
	mov	QWORD PTR 16[rbx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	jsonEachCursorReset
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L692
	mov	eax, 1
	jmp	.L679
.L692:
	mov	eax, 7
	jmp	.L679
.L691:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L695
	mov	eax, 0
	jmp	.L679
.L685:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -64[rbp], rax
.L695:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -64[rbp]
	sub	rax, rdx
	sar	rax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 24[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 5
	jbe	.L696
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L697
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 24[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L698
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	sub	eax, 1
	mov	eax, eax
	sal	rax, 4
	add	rax, rdx
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L698
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	jmp	.L698
.L697:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	jmp	.L698
.L696:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 20[rax], edx
.L698:
	mov	eax, 0
.L679:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L699
	call	__stack_chk_fail@PLT
.L699:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	jsonEachFilter, .-jsonEachFilter
	.section	.data.rel.local,"aw"
	.align 32
	.type	jsonEachModule, @object
	.size	jsonEachModule, 192
jsonEachModule:
	.long	0
	.zero	4
	.quad	0
	.quad	jsonEachConnect
	.quad	jsonEachBestIndex
	.quad	jsonEachDisconnect
	.quad	0
	.quad	jsonEachOpenEach
	.quad	jsonEachClose
	.quad	jsonEachFilter
	.quad	jsonEachNext
	.quad	jsonEachEof
	.quad	jsonEachColumn
	.quad	jsonEachRowid
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.align 32
	.type	jsonTreeModule, @object
	.size	jsonTreeModule, 192
jsonTreeModule:
	.long	0
	.zero	4
	.quad	0
	.quad	jsonEachConnect
	.quad	jsonEachBestIndex
	.quad	jsonEachDisconnect
	.quad	0
	.quad	jsonEachOpenTree
	.quad	jsonEachClose
	.quad	jsonEachFilter
	.quad	jsonEachNext
	.quad	jsonEachEof
	.quad	jsonEachColumn
	.quad	jsonEachRowid
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.text
	.globl	sqlite3Json1Init
	.type	sqlite3Json1Init, @function
sqlite3Json1Init:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L701
.L703:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r10, QWORD PTR 360[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, aFunc.3[rip+16]
	mov	rdi, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, aFunc.3[rip]
	add	rax, rdx
	lea	r8, 12[rax]
	mov	ecx, DWORD PTR enc.2[rip]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, aFunc.3[rip+8]
	mov	edx, DWORD PTR [rdx+rax]
	mov	esi, DWORD PTR -4[rbp]
	mov	rax, rsi
	add	rax, rax
	add	rax, rsi
	sal	rax, 3
	mov	rsi, rax
	lea	rax, aFunc.3[rip]
	mov	rsi, QWORD PTR [rsi+rax]
	mov	rax, QWORD PTR -24[rbp]
	push	0
	push	0
	mov	r9, rdi
	mov	rdi, rax
	call	r10
	add	rsp, 16
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L701:
	cmp	DWORD PTR -4[rbp], 14
	ja	.L702
	cmp	DWORD PTR -8[rbp], 0
	je	.L703
.L702:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L704
.L706:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r10, QWORD PTR 1912[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, aAgg.1[rip+32]
	mov	r8, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, aAgg.1[rip+24]
	mov	rdi, QWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, aAgg.1[rip+16]
	mov	r11, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR enc.2[rip]
	or	eax, 1048576
	mov	ecx, eax
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, aAgg.1[rip+8]
	mov	edx, DWORD PTR [rdx+rax]
	mov	esi, DWORD PTR -4[rbp]
	mov	rax, rsi
	sal	rax, 2
	add	rax, rsi
	sal	rax, 3
	mov	rsi, rax
	lea	rax, aAgg.1[rip]
	mov	rsi, QWORD PTR [rsi+rax]
	mov	rax, QWORD PTR -24[rbp]
	push	0
	lea	r9, jsonGroupInverse[rip]
	push	r9
	push	r8
	push	rdi
	mov	r9, r11
	mov	r8d, 0
	mov	rdi, rax
	call	r10
	add	rsp, 32
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L704:
	cmp	DWORD PTR -4[rbp], 1
	ja	.L705
	cmp	DWORD PTR -8[rbp], 0
	je	.L706
.L705:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L707
.L709:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	r8, QWORD PTR 376[rax]
	mov	eax, DWORD PTR -4[rbp]
	sal	rax, 4
	mov	rdx, rax
	lea	rax, aMod.0[rip+8]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	sal	rax, 4
	mov	rcx, rax
	lea	rax, aMod.0[rip]
	mov	rsi, QWORD PTR [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L707:
	cmp	DWORD PTR -4[rbp], 1
	ja	.L708
	cmp	DWORD PTR -8[rbp], 0
	je	.L709
.L708:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	sqlite3Json1Init, .-sqlite3Json1Init
	.globl	sqlite3_json_init
	.type	sqlite3_json_init, @function
sqlite3_json_init:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR sqlite3_api[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	sqlite3Json1Init
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	sqlite3_json_init, .-sqlite3_json_init
	.section	.rodata
	.align 32
	.type	aSpecial.27, @object
	.size	aSpecial.27, 32
aSpecial.27:
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"btn"
	.string	"fr"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.align 16
	.type	__PRETTY_FUNCTION__.26, @object
	.size	__PRETTY_FUNCTION__.26, 17
__PRETTY_FUNCTION__.26:
	.string	"jsonAppendString"
	.align 8
	.type	__PRETTY_FUNCTION__.25, @object
	.size	__PRETTY_FUNCTION__.25, 11
__PRETTY_FUNCTION__.25:
	.string	"jsonResult"
	.align 8
	.type	__PRETTY_FUNCTION__.24, @object
	.size	__PRETTY_FUNCTION__.24, 15
__PRETTY_FUNCTION__.24:
	.string	"jsonRenderNode"
	.align 8
	.type	__PRETTY_FUNCTION__.23, @object
	.size	__PRETTY_FUNCTION__.23, 13
__PRETTY_FUNCTION__.23:
	.string	"jsonHexToInt"
	.align 8
	.type	__PRETTY_FUNCTION__.22, @object
	.size	__PRETTY_FUNCTION__.22, 14
__PRETTY_FUNCTION__.22:
	.string	"jsonHexToInt4"
	.align 8
	.type	__PRETTY_FUNCTION__.21, @object
	.size	__PRETTY_FUNCTION__.21, 11
__PRETTY_FUNCTION__.21:
	.string	"jsonReturn"
	.align 16
	.type	__PRETTY_FUNCTION__.20, @object
	.size	__PRETTY_FUNCTION__.20, 23
__PRETTY_FUNCTION__.20:
	.string	"jsonParseAddNodeExpand"
	.align 8
	.type	__PRETTY_FUNCTION__.19, @object
	.size	__PRETTY_FUNCTION__.19, 10
__PRETTY_FUNCTION__.19:
	.string	"jsonParse"
	.align 16
	.type	__PRETTY_FUNCTION__.18, @object
	.size	__PRETTY_FUNCTION__.18, 21
__PRETTY_FUNCTION__.18:
	.string	"jsonParseFindParents"
	.align 8
	.type	__PRETTY_FUNCTION__.17, @object
	.size	__PRETTY_FUNCTION__.17, 11
__PRETTY_FUNCTION__.17:
	.string	"jsonLookup"
	.align 16
	.type	__PRETTY_FUNCTION__.16, @object
	.size	__PRETTY_FUNCTION__.16, 19
__PRETTY_FUNCTION__.16:
	.string	"jsonRemoveAllNulls"
	.align 16
	.type	__PRETTY_FUNCTION__.15, @object
	.size	__PRETTY_FUNCTION__.15, 20
__PRETTY_FUNCTION__.15:
	.string	"jsonArrayLengthFunc"
	.align 8
	.type	__PRETTY_FUNCTION__.14, @object
	.size	__PRETTY_FUNCTION__.14, 15
__PRETTY_FUNCTION__.14:
	.string	"jsonMergePatch"
	.align 8
	.type	__PRETTY_FUNCTION__.13, @object
	.size	__PRETTY_FUNCTION__.13, 14
__PRETTY_FUNCTION__.13:
	.string	"jsonPatchFunc"
	.align 8
	.type	__PRETTY_FUNCTION__.12, @object
	.size	__PRETTY_FUNCTION__.12, 15
__PRETTY_FUNCTION__.12:
	.string	"jsonRemoveFunc"
	.align 16
	.type	__PRETTY_FUNCTION__.11, @object
	.size	__PRETTY_FUNCTION__.11, 16
__PRETTY_FUNCTION__.11:
	.string	"jsonReplaceFunc"
	.align 8
	.type	__PRETTY_FUNCTION__.10, @object
	.size	__PRETTY_FUNCTION__.10, 12
__PRETTY_FUNCTION__.10:
	.string	"jsonSetFunc"
	.align 16
	.type	__PRETTY_FUNCTION__.9, @object
	.size	__PRETTY_FUNCTION__.9, 17
__PRETTY_FUNCTION__.9:
	.string	"jsonArrayCompute"
	.align 16
	.type	__PRETTY_FUNCTION__.8, @object
	.size	__PRETTY_FUNCTION__.8, 17
__PRETTY_FUNCTION__.8:
	.string	"jsonGroupInverse"
	.align 16
	.type	__PRETTY_FUNCTION__.7, @object
	.size	__PRETTY_FUNCTION__.7, 18
__PRETTY_FUNCTION__.7:
	.string	"jsonObjectCompute"
	.align 16
	.type	__PRETTY_FUNCTION__.6, @object
	.size	__PRETTY_FUNCTION__.6, 20
__PRETTY_FUNCTION__.6:
	.string	"jsonEachComputePath"
	.align 8
	.type	__PRETTY_FUNCTION__.5, @object
	.size	__PRETTY_FUNCTION__.5, 15
__PRETTY_FUNCTION__.5:
	.string	"jsonEachColumn"
	.align 16
	.type	__PRETTY_FUNCTION__.4, @object
	.size	__PRETTY_FUNCTION__.4, 18
__PRETTY_FUNCTION__.4:
	.string	"jsonEachBestIndex"
.LC66:
	.string	"json"
.LC67:
	.string	"json_array"
.LC68:
	.string	"json_array_length"
.LC69:
	.string	"json_extract"
.LC70:
	.string	"json_insert"
.LC71:
	.string	"json_object"
.LC72:
	.string	"json_patch"
.LC73:
	.string	"json_quote"
.LC74:
	.string	"json_remove"
.LC75:
	.string	"json_replace"
.LC76:
	.string	"json_set"
.LC77:
	.string	"json_type"
.LC78:
	.string	"json_valid"
	.section	.data.rel.ro.local
	.align 32
	.type	aFunc.3, @object
	.size	aFunc.3, 360
aFunc.3:
	.quad	.LC66
	.long	1
	.long	0
	.quad	jsonRemoveFunc
	.quad	.LC67
	.long	-1
	.long	0
	.quad	jsonArrayFunc
	.quad	.LC68
	.long	1
	.long	0
	.quad	jsonArrayLengthFunc
	.quad	.LC68
	.long	2
	.long	0
	.quad	jsonArrayLengthFunc
	.quad	.LC69
	.long	-1
	.long	0
	.quad	jsonExtractFunc
	.quad	.LC70
	.long	-1
	.long	0
	.quad	jsonSetFunc
	.quad	.LC71
	.long	-1
	.long	0
	.quad	jsonObjectFunc
	.quad	.LC72
	.long	2
	.long	0
	.quad	jsonPatchFunc
	.quad	.LC73
	.long	1
	.long	0
	.quad	jsonQuoteFunc
	.quad	.LC74
	.long	-1
	.long	0
	.quad	jsonRemoveFunc
	.quad	.LC75
	.long	-1
	.long	0
	.quad	jsonReplaceFunc
	.quad	.LC76
	.long	-1
	.long	1
	.quad	jsonSetFunc
	.quad	.LC77
	.long	1
	.long	0
	.quad	jsonTypeFunc
	.quad	.LC77
	.long	2
	.long	0
	.quad	jsonTypeFunc
	.quad	.LC78
	.long	1
	.long	0
	.quad	jsonValidFunc
	.section	.rodata
	.align 4
	.type	enc.2, @object
	.size	enc.2, 4
enc.2:
	.long	2099201
.LC79:
	.string	"json_group_array"
.LC80:
	.string	"json_group_object"
	.section	.data.rel.ro.local
	.align 32
	.type	aAgg.1, @object
	.size	aAgg.1, 80
aAgg.1:
	.quad	.LC79
	.long	1
	.zero	4
	.quad	jsonArrayStep
	.quad	jsonArrayFinal
	.quad	jsonArrayValue
	.quad	.LC80
	.long	2
	.zero	4
	.quad	jsonObjectStep
	.quad	jsonObjectFinal
	.quad	jsonObjectValue
	.section	.rodata
.LC81:
	.string	"json_each"
.LC82:
	.string	"json_tree"
	.section	.data.rel.ro.local
	.align 32
	.type	aMod.0, @object
	.size	aMod.0, 32
aMod.0:
	.quad	.LC81
	.quad	jsonEachModule
	.quad	.LC82
	.quad	jsonTreeModule
	.section	.rodata
	.align 8
.LC65:
	.long	0
	.long	1072693248
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"9771.c"
	.text
	.global	sqlite3_api
	.bss
	.align	2
	.type	sqlite3_api, %object
	.size	sqlite3_api, 4
sqlite3_api:
	.space	4
	.section	.rodata
	.align	2
	.type	jsonIsSpace, %object
	.size	jsonIsSpace, 256
jsonIsSpace:
	.ascii	"\000\000\000\000\000\000\000\000\000\001\001\000\000"
	.ascii	"\001\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\001\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000"
	.align	2
.LC0:
	.ascii	"null\000"
	.align	2
.LC1:
	.ascii	"true\000"
	.align	2
.LC2:
	.ascii	"false\000"
	.align	2
.LC3:
	.ascii	"integer\000"
	.align	2
.LC4:
	.ascii	"real\000"
	.align	2
.LC5:
	.ascii	"text\000"
	.align	2
.LC6:
	.ascii	"array\000"
	.align	2
.LC7:
	.ascii	"object\000"
	.align	2
	.type	jsonType, %object
	.size	jsonType, 32
jsonType:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonZero, %function
jsonZero:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r2, r3, #26
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r1, [fp, #-8]
	mov	r2, #100
	mov	r3, #0
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r1, [fp, #-8]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #16]
	str	r3, [r1, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	strb	r2, [r3, #24]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	jsonZero, .-jsonZero
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonInit, %function
jsonInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3, #25]
	ldr	r0, [fp, #-8]
	bl	jsonZero
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonInit, .-jsonInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonReset, %function
jsonReset:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L4
	ldr	r3, .L5
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #4]
	mov	r0, r2
	blx	r3
.L4:
	ldr	r0, [fp, #-8]
	bl	jsonZero
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L6:
	.align	2
.L5:
	.word	sqlite3_api
	.size	jsonReset, .-jsonReset
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonOom, %function
jsonOom:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	strb	r2, [r3, #25]
	ldr	r3, .L8
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	ldr	r0, [fp, #-8]
	bl	jsonReset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L9:
	.align	2
.L8:
	.word	sqlite3_api
	.size	jsonOom, .-jsonOom
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonGrow, %function
jsonGrow:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #24
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r1, [fp, #-52]
	mov	r8, r1
	mov	r9, #0
	ldr	r1, [fp, #-48]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	cmp	r9, r1
	cmpeq	r8, r0
	bcs	.L11
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	adds	r6, r2, r2
	adc	r7, r3, r3
	mov	r4, r6
	mov	r5, r7
	b	.L12
.L11:
	ldr	r1, [fp, #-48]
	add	r7, r1, #8
	ldmia	r7, {r6-r7}
	ldr	r1, [fp, #-52]
	mov	r0, r1
	mov	r1, #0
	adds	r2, r6, r0
	adc	r3, r7, r1
	adds	r4, r2, #10
	adc	r5, r3, #0
.L12:
	str	r4, [fp, #-36]
	str	r5, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L13
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L14
	mov	r3, #1
	b	.L15
.L14:
	ldr	r3, .L19
	ldr	r3, [r3]
	ldr	r3, [r3, #788]
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	blx	r3
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L16
	ldr	r0, [fp, #-48]
	bl	jsonOom
	mov	r3, #7
	b	.L15
.L16:
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	mov	r2, r3
	ldr	r0, [fp, #-40]
	bl	memcpy
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	strb	r2, [r3, #24]
	b	.L17
.L13:
	ldr	r3, .L19
	ldr	r3, [r3]
	ldr	r1, [r3, #796]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #4]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	blx	r1
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L18
	ldr	r0, [fp, #-48]
	bl	jsonOom
	mov	r3, #7
	b	.L15
.L18:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #4]
.L17:
	ldr	r1, [fp, #-48]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	mov	r3, #0
.L15:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L20:
	.align	2
.L19:
	.word	sqlite3_api
	.size	jsonGrow, .-jsonGrow
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonAppendRaw, %function
jsonAppendRaw:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #16
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L25
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r6, r0, r2
	adc	r7, r1, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r7, r3
	cmpeq	r6, r2
	bcc	.L24
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L26
.L24:
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-24]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-32]
	mov	r2, r3
	mov	r3, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldr	r3, [fp, #-24]
	str	r4, [r3, #16]
	str	r5, [r3, #20]
	b	.L21
.L25:
	nop
	b	.L21
.L26:
	nop
.L21:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
	.size	jsonAppendRaw, .-jsonAppendRaw
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonPrintf, %function
jsonPrintf:
	@ args = 4, pretend = 8, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r2, r3}
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #24
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-40]
	ldr	r3, .L32
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-32]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r5, r3
	cmpeq	r4, r2
	bcc	.L28
	ldr	r3, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L31
.L28:
	add	r3, fp, #8
	str	r3, [fp, #-28]
	ldr	r3, .L32+4
	ldr	r3, [r3]
	ldr	r4, [r3, #760]
	ldr	r3, [fp, #-36]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	add	r1, r1, r3
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	ldr	r0, [fp, #-32]
	blx	r4
	ldr	r3, [fp, #-36]
	add	r5, r3, #16
	ldmia	r5, {r4-r5}
	ldr	r3, [fp, #-36]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	add	r3, r1, r3
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	adds	r6, r4, r2
	adc	r7, r5, r3
	ldr	r3, [fp, #-36]
	str	r6, [r3, #16]
	str	r7, [r3, #20]
	b	.L27
.L31:
	nop
.L27:
	ldr	r3, .L32
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L30
	bl	__stack_chk_fail
.L30:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, lr}
	add	sp, sp, #8
	bx	lr
.L33:
	.align	2
.L32:
	.word	.LC8
	.word	sqlite3_api
	.size	jsonPrintf, .-jsonPrintf
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonAppendChar, %function
jsonAppendChar:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	str	r0, [fp, #-16]
	mov	r3, r1
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-16]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bcc	.L35
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L37
.L35:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	ldr	r0, [fp, #-16]
	str	r4, [r0, #16]
	str	r5, [r0, #20]
	mov	r3, r2
	add	r3, r1, r3
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	b	.L34
.L37:
	nop
.L34:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	jsonAppendChar, .-jsonAppendChar
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonAppendSeparator, %function
jsonAppendSeparator:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L41
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #91
	beq	.L38
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L38
	mov	r1, #44
	ldr	r0, [fp, #-16]
	bl	jsonAppendChar
	b	.L38
.L41:
	nop
.L38:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonAppendSeparator, .-jsonAppendSeparator
	.section	.rodata
	.align	2
.LC9:
	.ascii	"the_stack_data/9771.c\000"
	.align	2
.LC10:
	.ascii	"aSpecial['\\b']=='b'\000"
	.align	2
.LC11:
	.ascii	"aSpecial['\\f']=='f'\000"
	.align	2
.LC12:
	.ascii	"aSpecial['\\n']=='n'\000"
	.align	2
.LC13:
	.ascii	"aSpecial['\\r']=='r'\000"
	.align	2
.LC14:
	.ascii	"aSpecial['\\t']=='t'\000"
	.align	2
.LC16:
	.ascii	"p->nUsed<p->nAlloc\000"
	.align	2
.LC15:
	.ascii	"0123456789abcdef\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonAppendString, %function
jsonAppendString:
	@ args = 0, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #136
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L59
	ldr	r3, [fp, #-48]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r4, r0, r2
	adc	r5, r1, r3
	adds	r6, r4, #2
	adc	r7, r5, #0
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r7, r3
	cmpeq	r6, r2
	bcc	.L44
	ldr	r3, [fp, #-48]
	add	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L59
.L44:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r8, r2, #1
	adc	r9, r3, #0
	ldr	r1, [fp, #-40]
	str	r8, [r1, #16]
	str	r9, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	mov	r3, #34
	strb	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L46
.L58:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-33]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L60
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L48
.L60:
	nop
.L47:
	ldr	r3, [fp, #-40]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-48]
	mov	r2, r3
	mov	r3, #0
	adds	ip, r0, r2
	str	ip, [fp, #-60]
	adc	r3, r1, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	ip, r0
	subs	ip, ip, r2
	str	ip, [fp, #-68]
	sbc	r3, r1, r3
	str	r3, [fp, #-64]
	sub	r4, fp, #68
	ldmia	r4, {r3-r4}
	mov	r2, r3
	adds	r2, r2, #3
	str	r2, [fp, #-76]
	mov	r3, r4
	adc	r3, r3, #0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L49
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	add	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L61
.L49:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-84]
	adc	r1, r3, #0
	str	r1, [fp, #-80]
	ldr	r1, [fp, #-40]
	sub	r5, fp, #84
	ldmia	r5, {r4-r5}
	str	r4, [r1, #16]
	str	r5, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	mov	r3, #92
	strb	r3, [r2]
	b	.L50
.L48:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #31
	bhi	.L50
	ldr	r3, .L63
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #98
	beq	.L51
	ldr	r3, .L63+4
	ldr	r2, .L63+8
	ldr	r1, .L63+12
	ldr	r0, .L63+16
	bl	__assert_fail
.L51:
	ldr	r3, .L63
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L52
	ldr	r3, .L63+4
	ldr	r2, .L63+20
	ldr	r1, .L63+12
	ldr	r0, .L63+24
	bl	__assert_fail
.L52:
	ldr	r3, .L63
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #110
	beq	.L53
	ldr	r3, .L63+4
	ldr	r2, .L63+28
	ldr	r1, .L63+12
	ldr	r0, .L63+32
	bl	__assert_fail
.L53:
	ldr	r3, .L63
	ldrb	r3, [r3, #13]	@ zero_extendqisi2
	cmp	r3, #114
	beq	.L54
	ldr	r3, .L63+4
	mov	r2, #332
	ldr	r1, .L63+12
	ldr	r0, .L63+36
	bl	__assert_fail
.L54:
	ldr	r3, .L63
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	cmp	r3, #116
	beq	.L55
	ldr	r3, .L63+4
	ldr	r2, .L63+40
	ldr	r1, .L63+12
	ldr	r0, .L63+44
	bl	__assert_fail
.L55:
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	ldr	r3, .L63
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L56
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	ldr	r3, .L63
	ldrb	r3, [r3, r2]
	strb	r3, [fp, #-33]
	b	.L47
.L56:
	ldr	r3, [fp, #-40]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-48]
	mov	r2, r3
	mov	r3, #0
	adds	ip, r0, r2
	str	ip, [fp, #-92]
	adc	r3, r1, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	ip, ip, r2
	str	ip, [fp, #-100]
	adc	r3, r1, r3
	str	r3, [fp, #-96]
	sub	r4, fp, #100
	ldmia	r4, {r3-r4}
	mov	r2, r3
	adds	r2, r2, #7
	str	r2, [fp, #-108]
	mov	r3, r4
	adc	r3, r3, #0
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L57
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	add	r3, r3, #7
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L62
.L57:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-116]
	adc	r1, r3, #0
	str	r1, [fp, #-112]
	ldr	r1, [fp, #-40]
	sub	r5, fp, #116
	ldmia	r5, {r4-r5}
	str	r4, [r1, #16]
	str	r5, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	mov	r3, #92
	strb	r3, [r2]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-124]
	adc	r1, r3, #0
	str	r1, [fp, #-120]
	ldr	r1, [fp, #-40]
	sub	r5, fp, #124
	ldmia	r5, {r4-r5}
	str	r4, [r1, #16]
	str	r5, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	mov	r3, #117
	strb	r3, [r2]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-132]
	adc	r1, r3, #0
	str	r1, [fp, #-128]
	ldr	r1, [fp, #-40]
	sub	r5, fp, #132
	ldmia	r5, {r4-r5}
	str	r4, [r1, #16]
	str	r5, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	mov	r3, #48
	strb	r3, [r2]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-140]
	adc	r1, r3, #0
	str	r1, [fp, #-136]
	ldr	r1, [fp, #-40]
	sub	r5, fp, #140
	ldmia	r5, {r4-r5}
	str	r4, [r1, #16]
	str	r5, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	mov	r3, #48
	strb	r3, [r2]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	ip, r3, #255
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-148]
	adc	r1, r3, #0
	str	r1, [fp, #-144]
	ldr	r1, [fp, #-40]
	sub	r5, fp, #148
	ldmia	r5, {r4-r5}
	str	r4, [r1, #16]
	str	r5, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	add	r3, ip, #48
	and	r3, r3, #255
	strb	r3, [r2]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	and	r2, r3, #15
	ldr	r3, .L63+48
	ldrb	r3, [r3, r2]
	strb	r3, [fp, #-33]
.L50:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-156]
	adc	r1, r3, #0
	str	r1, [fp, #-152]
	ldr	r1, [fp, #-40]
	sub	r5, fp, #156
	ldmia	r5, {r4-r5}
	str	r4, [r1, #16]
	str	r5, [r1, #20]
	mov	r3, r2
	add	r2, r0, r3
	ldrb	r3, [fp, #-33]
	strb	r3, [r2]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L46:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bcc	.L58
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r0, r2, #1
	str	r0, [fp, #-164]
	adc	r0, r3, #0
	str	r0, [fp, #-160]
	ldr	r0, [fp, #-40]
	sub	r5, fp, #164
	ldmia	r5, {r4-r5}
	str	r4, [r0, #16]
	str	r5, [r0, #20]
	mov	r3, r2
	add	r3, r1, r3
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bcc	.L42
	ldr	r3, .L63+4
	ldr	r2, .L63+52
	ldr	r1, .L63+12
	ldr	r0, .L63+56
	bl	__assert_fail
.L59:
	nop
	b	.L42
.L61:
	nop
	b	.L42
.L62:
	nop
.L42:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L64:
	.align	2
.L63:
	.word	aSpecial.7682
	.word	__PRETTY_FUNCTION__.7683
	.word	329
	.word	.LC9
	.word	.LC10
	.word	330
	.word	.LC11
	.word	331
	.word	.LC12
	.word	.LC13
	.word	333
	.word	.LC14
	.word	.LC15
	.word	349
	.word	.LC16
	.size	jsonAppendString, .-jsonAppendString
	.section	.rodata
	.align	2
.LC17:
	.ascii	"JSON cannot hold BLOB values\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonAppendValue, %function
jsonAppendValue:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r3, [r3, #452]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	cmp	r3, #5
	beq	.L66
	cmp	r3, #5
	bgt	.L67
	cmp	r3, #2
	bgt	.L68
	cmp	r3, #0
	bgt	.L69
	b	.L67
.L68:
	cmp	r3, #3
	beq	.L70
	b	.L67
.L66:
	mov	r2, #4
	ldr	r1, .L76+4
	ldr	r0, [fp, #-24]
	bl	jsonAppendRaw
	b	.L71
.L69:
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r0, [fp, #-28]
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	jsonAppendRaw
	b	.L71
.L70:
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r0, [fp, #-28]
	blx	r3
	str	r0, [fp, #-20]
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r3, [r3, #832]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	cmp	r3, #74
	bne	.L72
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	jsonAppendRaw
	b	.L71
.L72:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	jsonAppendString
	b	.L71
.L67:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L75
	ldr	r3, .L76
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2]
	mvn	r2, #0
	ldr	r1, .L76+8
	blx	r3
	ldr	r3, [fp, #-24]
	mov	r2, #2
	strb	r2, [r3, #25]
	ldr	r0, [fp, #-24]
	bl	jsonReset
.L75:
	nop
.L71:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L77:
	.align	2
.L76:
	.word	sqlite3_api
	.word	.LC0
	.word	.LC17
	.size	jsonAppendValue, .-jsonAppendValue
	.section	.rodata
	.align	2
.LC18:
	.ascii	"p->bStatic\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonResult, %function
jsonResult:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L79
	ldr	r3, .L84
	ldr	r3, [r3]
	ldr	r4, [r3, #808]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	ldr	ip, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-16]
	ldrb	r1, [r1, #24]	@ zero_extendqisi2
	cmp	r1, #0
	bne	.L80
	ldr	r1, .L84
	ldr	r1, [r1]
	ldr	r1, [r1, #232]
	b	.L81
.L80:
	mvn	r1, #0
.L81:
	mov	lr, #1
	str	lr, [sp, #4]
	str	r1, [sp]
	mov	r1, ip
	blx	r4
	ldr	r0, [fp, #-16]
	bl	jsonZero
.L79:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L83
	ldr	r3, .L84+4
	ldr	r2, .L84+8
	ldr	r1, .L84+12
	ldr	r0, .L84+16
	bl	__assert_fail
.L83:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L85:
	.align	2
.L84:
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.7704
	.word	403
	.word	.LC9
	.word	.LC18
	.size	jsonResult, .-jsonResult
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonNodeSize, %function
jsonNodeSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	bls	.L87
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	b	.L89
.L87:
	mov	r3, #1
.L89:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	jsonNodeSize, .-jsonNodeSize
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseReset, %function
jsonParseReset:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L91
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #8]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L91
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #16]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L92:
	.align	2
.L91:
	.word	sqlite3_api
	.size	jsonParseReset, .-jsonParseReset
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseFree, %function
jsonParseFree:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	jsonParseReset
	ldr	r3, .L94
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-8]
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L95:
	.align	2
.L94:
	.word	sqlite3_api
	.size	jsonParseFree, .-jsonParseFree
	.section	.rodata
	.align	2
.LC19:
	.ascii	"pNode!=0\000"
	.align	2
.LC20:
	.ascii	"0\000"
	.align	2
.LC21:
	.ascii	"pNode->eType==JSON_NULL\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonRenderNode, %function
jsonRenderNode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L97
	ldr	r3, .L127
	ldr	r2, .L127+4
	ldr	r1, .L127+8
	ldr	r0, .L127+12
	bl	__assert_fail
.L97:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #24
	cmp	r3, #0
	beq	.L98
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L99
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L100
	ldr	r3, .L127
	mov	r2, #456
	ldr	r1, .L127+8
	ldr	r0, .L127+16
	bl	__assert_fail
.L100:
	mov	r3, #1
	cmp	r3, #0
	beq	.L99
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	jsonAppendValue
	b	.L96
.L99:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
.L98:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #1
	cmp	r3, #6
	ldrls	pc, [pc, r3, asl #2]
	b	.L102
.L104:
	.word	.L109
	.word	.L108
	.word	.L107
	.word	.L107
	.word	.L106
	.word	.L105
	.word	.L103
.L102:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L110
	ldr	r3, .L127
	mov	r2, #464
	ldr	r1, .L127+8
	ldr	r0, .L127+20
	bl	__assert_fail
.L110:
	mov	r2, #4
	ldr	r1, .L127+24
	ldr	r0, [fp, #-20]
	bl	jsonAppendRaw
	b	.L96
.L109:
	mov	r2, #4
	ldr	r1, .L127+28
	ldr	r0, [fp, #-20]
	bl	jsonAppendRaw
	b	.L96
.L108:
	mov	r2, #5
	ldr	r1, .L127+32
	ldr	r0, [fp, #-20]
	bl	jsonAppendRaw
	b	.L96
.L106:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L107
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, [fp, #-20]
	bl	jsonAppendString
	b	.L96
.L107:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, [fp, #-20]
	bl	jsonAppendRaw
	b	.L96
.L105:
	mov	r3, #1
	str	r3, [fp, #-12]
	mov	r1, #91
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	b	.L111
.L113:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L112
	ldr	r0, [fp, #-20]
	bl	jsonAppendSeparator
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	jsonRenderNode
.L112:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
.L111:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L113
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L125
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L111
.L125:
	nop
	mov	r1, #93
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	b	.L96
.L103:
	mov	r3, #1
	str	r3, [fp, #-8]
	mov	r1, #123
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	b	.L117
.L119:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L118
	ldr	r0, [fp, #-20]
	bl	jsonAppendSeparator
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	jsonRenderNode
	mov	r1, #58
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	jsonRenderNode
.L118:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
.L117:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L119
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L126
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L117
.L126:
	nop
	mov	r1, #125
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	nop
.L96:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L128:
	.align	2
.L127:
	.word	__PRETTY_FUNCTION__.7719
	.word	454
	.word	.LC9
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	jsonRenderNode, .-jsonRenderNode
	.section	.rodata
	.align	2
.LC22:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonReturnJson, %function
jsonReturnJson:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	str	r2, [fp, #-152]
	ldr	r3, .L131
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #140
	ldr	r1, [fp, #-148]
	mov	r0, r3
	bl	jsonInit
	sub	r3, fp, #140
	ldr	r2, [fp, #-152]
	mov	r1, r3
	ldr	r0, [fp, #-144]
	bl	jsonRenderNode
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonResult
	ldr	r3, .L131+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-148]
	blx	r3
	nop
	ldr	r3, .L131
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L130
	bl	__stack_chk_fail
.L130:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L132:
	.align	2
.L131:
	.word	.LC22
	.word	sqlite3_api
	.size	jsonReturnJson, .-jsonReturnJson
	.section	.rodata
	.align	2
.LC23:
	.ascii	"(h>='0' && h<='9') || (h>='a' && h<='f') || (h>='A'"
	.ascii	" && h<='F')\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonHexToInt, %function
jsonHexToInt:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	ble	.L134
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	ble	.L135
.L134:
	ldr	r3, [fp, #-8]
	cmp	r3, #96
	ble	.L136
	ldr	r3, [fp, #-8]
	cmp	r3, #102
	ble	.L135
.L136:
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	ble	.L137
	ldr	r3, [fp, #-8]
	cmp	r3, #70
	ble	.L135
.L137:
	ldr	r3, .L139
	ldr	r2, .L139+4
	ldr	r1, .L139+8
	ldr	r0, .L139+12
	bl	__assert_fail
.L135:
	ldr	r3, [fp, #-8]
	asr	r3, r3, #6
	and	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	and	r3, r3, #15
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L140:
	.align	2
.L139:
	.word	__PRETTY_FUNCTION__.7750
	.word	550
	.word	.LC9
	.word	.LC23
	.size	jsonHexToInt, .-jsonHexToInt
	.section	.rodata
	.align	2
.LC24:
	.ascii	"safe_isxdigit(z[0])\000"
	.align	2
.LC25:
	.ascii	"safe_isxdigit(z[1])\000"
	.align	2
.LC26:
	.ascii	"safe_isxdigit(z[2])\000"
	.align	2
.LC27:
	.ascii	"safe_isxdigit(z[3])\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonHexToInt4, %function
jsonHexToInt4:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L142
	ldr	r3, .L147
	mov	r2, #564
	ldr	r1, .L147+4
	ldr	r0, .L147+8
	bl	__assert_fail
.L142:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L143
	ldr	r3, .L147
	ldr	r2, .L147+12
	ldr	r1, .L147+4
	ldr	r0, .L147+16
	bl	__assert_fail
.L143:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L144
	ldr	r3, .L147
	ldr	r2, .L147+20
	ldr	r1, .L147+4
	ldr	r0, .L147+24
	bl	__assert_fail
.L144:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L145
	ldr	r3, .L147
	ldr	r2, .L147+28
	ldr	r1, .L147+4
	ldr	r0, .L147+32
	bl	__assert_fail
.L145:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	jsonHexToInt
	mov	r3, r0
	lsl	r4, r3, #12
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	jsonHexToInt
	mov	r3, r0
	lsl	r3, r3, #8
	add	r4, r4, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	jsonHexToInt
	mov	r3, r0
	lsl	r3, r3, #4
	add	r4, r4, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	jsonHexToInt
	mov	r3, r0
	add	r3, r4, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L148:
	.align	2
.L147:
	.word	__PRETTY_FUNCTION__.7755
	.word	.LC9
	.word	.LC24
	.word	565
	.word	.LC25
	.word	566
	.word	.LC26
	.word	567
	.word	.LC27
	.size	jsonHexToInt4, .-jsonHexToInt4
	.section	.rodata
	.align	2
.LC28:
	.ascii	"(pNode->jnFlags & JNODE_RAW)==0\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonReturn, %function
jsonReturn:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #72
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #1
	cmp	r3, #6
	ldrls	pc, [pc, r3, asl #2]
	b	.L150
.L152:
	.word	.L157
	.word	.L156
	.word	.L155
	.word	.L154
	.word	.L153
	.word	.L151
	.word	.L151
.L150:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L158
	ldr	r3, .L196+8
	ldr	r2, .L196+12
	ldr	r1, .L196+16
	ldr	r0, .L196+20
	bl	__assert_fail
.L158:
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r3, [r3, #336]
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L159
.L157:
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r3, [r3, #328]
	mov	r1, #1
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L159
.L156:
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r3, [r3, #328]
	mov	r1, #0
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L159
.L155:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L161
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	b	.L161
.L169:
	ldr	r3, [fp, #-80]
	add	r2, r3, #1
	str	r2, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	str	r3, [fp, #-48]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adr	r1, .L196
	ldmia	r1, {r0-r1}
	cmp	r2, r0
	sbcs	r3, r3, r1
	blt	.L162
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adr	r1, .L196
	ldmia	r1, {r0-r1}
	cmp	r0, r2
	sbcs	r3, r1, r3
	blt	.L191
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L164
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L192
.L164:
	ldr	r3, [fp, #-48]
	cmp	r3, #9
	beq	.L193
	ldr	r3, [fp, #-48]
	cmp	r3, #8
	bne	.L162
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L194
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	mov	r2, #0
	mov	r3, #-2147483648
	ldr	r0, [fp, #-92]
	blx	r1
	nop
.L167:
	b	.L159
.L162:
	sub	r5, fp, #44
	ldmia	r5, {r4-r5}
	mov	r2, r4
	mov	r3, r5
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #2
	orr	r1, r1, r2, lsr #30
	lsl	r0, r2, #2
	mov	r2, r0
	mov	r3, r1
	adds	r2, r2, r4
	adc	r3, r3, r5
	adds	r8, r2, r2
	adc	r9, r3, r3
	mov	r2, r8
	mov	r3, r9
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	mov	r2, r3
	mov	r3, #0
	adds	r6, r0, r2
	adc	r7, r1, r3
	str	r6, [fp, #-44]
	str	r7, [fp, #-40]
.L161:
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L168
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L169
.L168:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L170
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	rsbs	r2, r2, #0
	rsc	r3, r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L170:
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-92]
	blx	r1
	b	.L159
.L191:
	nop
	b	.L154
.L192:
	nop
	b	.L154
.L193:
	nop
	b	.L154
.L194:
	nop
.L154:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	mov	r1, #0
	mov	r0, r3
	bl	strtod
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r1, [r3, #316]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-92]
	blx	r1
	b	.L159
.L153:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L171
	ldr	r3, .L196+8
	mov	r2, #644
	ldr	r1, .L196+16
	ldr	r0, .L196+24
	bl	__assert_fail
.L171:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L172
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	add	r1, r3, #1
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #4]
	sub	r3, r3, #2
	mov	r2, r3
	mvn	r3, #0
	ldr	r0, [fp, #-92]
	blx	r4
	b	.L159
.L172:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-64]
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r3, [r3, #272]
	ldr	r2, [fp, #-68]
	add	r2, r2, #1
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L174
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L159
.L174:
	mov	r3, #1
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L175
.L190:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-81]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L176
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldrb	r2, [fp, #-81]
	strb	r2, [r3]
	b	.L177
.L176:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-81]
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L178
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	mov	r0, r3
	bl	jsonHexToInt4
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-76]
	add	r3, r3, #4
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L195
	ldr	r3, [fp, #-56]
	cmp	r3, #127
	bhi	.L181
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L177
.L181:
	ldr	r3, [fp, #-56]
	cmp	r3, #2048
	bcs	.L183
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #6
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #26
	mvn	r3, r3, lsr #26
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-56]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	b	.L177
.L197:
	.align	3
.L196:
	.word	-858993460
	.word	214748364
	.word	__PRETTY_FUNCTION__.7762
	.word	585
	.word	.LC9
	.word	.LC21
	.word	.LC28
	.word	1047552
	.word	sqlite3_api
.L183:
	ldr	r3, [fp, #-56]
	and	r3, r3, #64512
	cmp	r3, #55296
	bne	.L184
	ldr	r3, [fp, #-68]
	sub	r3, r3, #6
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bcs	.L184
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L184
	ldr	r3, [fp, #-76]
	add	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L184
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	mov	r0, r3
	bl	jsonHexToInt4
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	and	r3, r3, #64512
	cmp	r3, #56320
	bne	.L184
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #10
	ldr	r2, .L196+28
	and	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	orr	r3, r2, r3
	add	r3, r3, #65536
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-76]
	add	r3, r3, #6
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #18
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #28
	mvn	r3, r3, lsr #28
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #12
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-56]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	b	.L177
.L184:
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #12
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #27
	mvn	r3, r3, lsr #27
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-56]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	mvn	r3, r1, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	b	.L177
.L178:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #98
	bne	.L185
	mov	r3, #8
	strb	r3, [fp, #-81]
	b	.L186
.L185:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L187
	mov	r3, #12
	strb	r3, [fp, #-81]
	b	.L186
.L187:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L188
	mov	r3, #10
	strb	r3, [fp, #-81]
	b	.L186
.L188:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #114
	bne	.L189
	mov	r3, #13
	strb	r3, [fp, #-81]
	b	.L186
.L189:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #116
	bne	.L186
	mov	r3, #9
	strb	r3, [fp, #-81]
.L186:
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldrb	r2, [fp, #-81]
	strb	r2, [r3]
.L177:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L175:
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bcc	.L190
	b	.L180
.L195:
	nop
.L180:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r2, [fp, #-72]
	ldr	r3, .L196+32
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-92]
	blx	r4
	b	.L159
.L151:
	ldr	r2, [fp, #-96]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	bl	jsonReturnJson
	nop
.L159:
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	jsonReturn, .-jsonReturn
	.section	.rodata
	.align	2
.LC29:
	.ascii	"pParse->nNode>=pParse->nAlloc\000"
	.align	2
.LC30:
	.ascii	"pParse->nNode<pParse->nAlloc\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseAddNodeExpand, %function
jsonParseAddNodeExpand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bcs	.L199
	ldr	r3, .L204
	ldr	r2, .L204+4
	ldr	r1, .L204+8
	ldr	r0, .L204+12
	bl	__assert_fail
.L199:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L200
	mvn	r3, #0
	b	.L201
.L200:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r3, r3, #5
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L204+16
	ldr	r3, [r3]
	ldr	r1, [r3, #796]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #8]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r3, #0
	blx	r1
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L202
	ldr	r3, [fp, #-16]
	mov	r2, #1
	strb	r2, [r3, #20]
	mvn	r3, #0
	b	.L201
.L202:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bcc	.L203
	ldr	r3, .L204
	mov	r2, #760
	ldr	r1, .L204+8
	ldr	r0, .L204+20
	bl	__assert_fail
.L203:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	jsonParseAddNode
	mov	r3, r0
.L201:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L205:
	.align	2
.L204:
	.word	__PRETTY_FUNCTION__.7804
	.word	750
	.word	.LC9
	.word	.LC29
	.word	sqlite3_api
	.word	.LC30
	.size	jsonParseAddNodeExpand, .-jsonParseAddNodeExpand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseAddNode, %function
jsonParseAddNode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L207
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bcc	.L208
.L207:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	jsonParseAddNodeExpand
	mov	r3, r0
	b	.L209
.L208:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-16]
	str	r1, [r2]
.L209:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonParseAddNode, .-jsonParseAddNode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonIs4Hex, %function
jsonIs4Hex:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L211
.L214:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	bne	.L212
	mov	r3, #0
	b	.L213
.L212:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L211:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	ble	.L214
	mov	r3, #1
.L213:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonIs4Hex, .-jsonIs4Hex
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseValue, %function
jsonParseValue:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
	b	.L216
.L217:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L216:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L296
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L217
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L218
	mov	r3, #0
	mov	r2, #0
	mov	r1, #7
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L219
	mvn	r3, #0
	b	.L220
.L219:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L221
.L222:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L221:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L296
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L222
	ldr	r3, [fp, #-32]
	ldrh	r3, [r3, #22]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #22]	@ movhi
	ldr	r3, [fp, #-32]
	ldrh	r3, [r3, #22]
	cmp	r3, #2000
	bls	.L223
	mvn	r3, #0
	b	.L220
.L223:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	jsonParseValue
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L224
	ldr	r3, [fp, #-32]
	ldrh	r3, [r3, #22]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #22]	@ movhi
	ldr	r3, [fp, #-12]
	cmn	r3, #2
	bne	.L225
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L225
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L220
.L225:
	mvn	r3, #0
	b	.L220
.L224:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L226
	mvn	r3, #0
	b	.L220
.L226:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, #12
	add	r3, r1, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	beq	.L227
	mvn	r3, #0
	b	.L220
.L227:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	orr	r3, r3, #64
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	b	.L228
.L229:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L228:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L296
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L229
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L230
	mvn	r3, #0
	b	.L220
.L230:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	jsonParseValue
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldrh	r3, [r3, #22]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #22]	@ movhi
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L231
	mvn	r3, #0
	b	.L220
.L231:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	b	.L232
.L233:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L232:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L296
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L233
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L234
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L221
.L234:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L290
	mvn	r3, #0
	b	.L220
.L290:
	nop
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r1, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #8]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	sub	r2, r1, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L220
.L218:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L237
	mov	r3, #0
	mov	r2, #0
	mov	r1, #6
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L238
	mvn	r3, #0
	b	.L220
.L238:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L239
.L240:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L239:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L296
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L240
	ldr	r3, [fp, #-32]
	ldrh	r3, [r3, #22]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #22]	@ movhi
	ldr	r3, [fp, #-32]
	ldrh	r3, [r3, #22]
	cmp	r3, #2000
	bls	.L241
	mvn	r3, #0
	b	.L220
.L241:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	jsonParseValue
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldrh	r3, [r3, #22]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #22]	@ movhi
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L242
	ldr	r3, [fp, #-12]
	cmn	r3, #3
	bne	.L243
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L243
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L220
.L243:
	mvn	r3, #0
	b	.L220
.L242:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	b	.L244
.L245:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L244:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L296
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L245
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L246
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L239
.L246:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L291
	mvn	r3, #0
	b	.L220
.L291:
	nop
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r1, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #8]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	sub	r2, r1, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L220
.L237:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L249
	mov	r3, #0
	strb	r3, [fp, #-27]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L256:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	bic	r3, r3, #31
	cmp	r3, #0
	bne	.L250
	mvn	r3, #0
	b	.L220
.L250:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L251
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #98
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #110
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #114
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #116
	beq	.L252
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L253
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	mov	r0, r3
	bl	jsonIs4Hex
	mov	r3, r0
	cmp	r3, #0
	beq	.L253
.L252:
	mov	r3, #2
	strb	r3, [fp, #-27]
	b	.L254
.L253:
	mvn	r3, #0
	b	.L220
.L251:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L292
.L254:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L256
.L292:
	nop
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	add	r1, r3, #1
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, r1
	mov	r1, #5
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L257
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, #12
	add	r3, r1, r3
	ldrb	r2, [fp, #-27]
	strb	r2, [r3, #1]
.L257:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L220
.L249:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L258
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #4
	ldr	r1, .L296+4
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L258
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L258
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	b	.L220
.L258:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #116
	bne	.L259
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #4
	ldr	r1, .L296+8
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L259
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L259
	mov	r3, #0
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	b	.L220
.L259:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L260
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #5
	ldr	r1, .L296+12
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L260
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #5
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L260
	mov	r3, #0
	mov	r2, #0
	mov	r1, #2
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-36]
	add	r3, r3, #5
	b	.L220
.L260:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L261
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L262
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L262
.L261:
	mov	r3, #0
	strb	r3, [fp, #-26]
	mov	r3, #0
	strb	r3, [fp, #-25]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #48
	bhi	.L263
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L264
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	b	.L265
.L264:
	ldr	r3, [fp, #-36]
.L265:
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	bne	.L263
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L263
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L263
	mvn	r3, #0
	b	.L220
.L263:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L280:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L266
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L293
.L266:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L268
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L269
	mvn	r3, #0
	b	.L220
.L269:
	ldrb	r3, [fp, #-26]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L270
	mvn	r3, #0
	b	.L220
.L270:
	mov	r3, #1
	strb	r3, [fp, #-26]
	b	.L267
.L268:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #101
	beq	.L271
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #69
	bne	.L294
.L271:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bhi	.L273
	mvn	r3, #0
	b	.L220
.L273:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L274
	mvn	r3, #0
	b	.L220
.L274:
	mov	r3, #1
	strb	r3, [fp, #-25]
	ldrb	r3, [fp, #-25]
	strb	r3, [fp, #-26]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L275
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L276
.L275:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-28]
.L276:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L277
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L295
.L277:
	mvn	r3, #0
	b	.L220
.L293:
	nop
	b	.L267
.L295:
	nop
.L267:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L280
.L294:
	nop
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bhi	.L281
	mvn	r3, #0
	b	.L220
.L281:
	ldrb	r3, [fp, #-26]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L282
	mov	r1, #4
	b	.L283
.L282:
	mov	r1, #3
.L283:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	sub	r0, r2, r3
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, r0
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-24]
	b	.L220
.L262:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L284
	mvn	r3, #1
	b	.L220
.L284:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L285
	mvn	r3, #2
	b	.L220
.L285:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L286
	mov	r3, #0
	b	.L220
.L286:
	mvn	r3, #0
.L220:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L297:
	.align	2
.L296:
	.word	jsonIsSpace
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	jsonParseValue, .-jsonParseValue
	.section	.rodata
	.align	2
.LC31:
	.ascii	"pParse->iDepth==0\000"
	.align	2
.LC32:
	.ascii	"malformed JSON\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParse, %function
jsonParse:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r2, #32
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	memset
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L299
	mov	r3, #1
	b	.L300
.L299:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #12]
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	jsonParseValue
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L301
	mvn	r3, #0
	str	r3, [fp, #-8]
.L301:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L302
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #22]
	cmp	r3, #0
	beq	.L304
	ldr	r3, .L309
	mov	r2, #976
	ldr	r1, .L309+4
	ldr	r0, .L309+8
	bl	__assert_fail
.L305:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L304:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L309+12
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L305
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L302
	mvn	r3, #0
	str	r3, [fp, #-8]
.L302:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L306
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L307
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L308
	ldr	r3, .L309+16
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-20]
	blx	r3
	b	.L307
.L308:
	ldr	r3, .L309+16
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, .L309+20
	ldr	r0, [fp, #-20]
	blx	r3
.L307:
	ldr	r0, [fp, #-16]
	bl	jsonParseReset
	mov	r3, #1
	b	.L300
.L306:
	mov	r3, #0
.L300:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L310:
	.align	2
.L309:
	.word	__PRETTY_FUNCTION__.7868
	.word	.LC9
	.word	.LC31
	.word	jsonIsSpace
	.word	sqlite3_api
	.word	.LC32
	.size	jsonParse, .-jsonParse
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseFillInParentage, %function
jsonParseFillInParentage:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	beq	.L312
	cmp	r3, #7
	beq	.L313
	b	.L317
.L312:
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L315
.L316:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	jsonParseFillInParentage
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
.L315:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L316
	b	.L317
.L313:
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L318
.L319:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r1, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	jsonParseFillInParentage
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L318:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L319
	nop
.L317:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonParseFillInParentage, .-jsonParseFillInParentage
	.section	.rodata
	.align	2
.LC33:
	.ascii	"pParse->aUp==0\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseFindParents, %function
jsonParseFindParents:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L321
	ldr	r3, .L324
	ldr	r2, .L324+4
	ldr	r1, .L324+8
	ldr	r0, .L324+12
	bl	__assert_fail
.L321:
	ldr	r3, .L324+16
	ldr	r3, [r3]
	ldr	r4, [r3, #788]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r3, #0
	mov	r0, r2
	mov	r1, r3
	blx	r4
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L322
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #20]
	mov	r3, #7
	b	.L323
.L322:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	jsonParseFillInParentage
	mov	r3, #0
.L323:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L325:
	.align	2
.L324:
	.word	__PRETTY_FUNCTION__.7893
	.word	1026
	.word	.LC9
	.word	.LC33
	.word	sqlite3_api
	.size	jsonParseFindParents, .-jsonParseFindParents
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonParseCached, %function
jsonParseCached:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-52]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-24]
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r2, [fp, #-52]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-36]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L327
	mov	r3, #0
	b	.L328
.L327:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L329
.L335:
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r2, [r3, #244]
	ldr	r1, [fp, #-40]
	ldr	r3, .L339+4
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, [fp, #-48]
	blx	r2
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L330
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L331
.L330:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L332
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L332
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L332
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-44]
	b	.L333
.L332:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bls	.L333
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
.L333:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bcs	.L334
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-28]
.L334:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L329:
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	ble	.L335
.L331:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L336
	ldr	r3, [fp, #-44]
	mov	r2, #0
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	b	.L328
.L336:
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r4, [r3, #788]
	ldr	r3, [fp, #-20]
	add	r3, r3, #33
	mov	r2, r3
	mov	r3, #0
	mov	r0, r2
	mov	r1, r3
	blx	r4
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L337
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-48]
	blx	r3
	mov	r3, #0
	b	.L328
.L337:
	mov	r2, #32
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	memset
	ldr	r3, [fp, #-16]
	add	r2, r3, #32
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-24]
	bl	memcpy
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-16]
	bl	jsonParse
	mov	r3, r0
	cmp	r3, #0
	beq	.L338
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, #0
	b	.L328
.L338:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #28]
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r4, [r3, #368]
	ldr	r3, [fp, #-36]
	ldr	r1, .L339+4
	add	r1, r3, r1
	ldr	r3, .L339+8
	ldr	r2, [fp, #-16]
	ldr	r0, [fp, #-48]
	blx	r4
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r2, [r3, #244]
	ldr	r1, [fp, #-36]
	ldr	r3, .L339+4
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, [fp, #-48]
	blx	r2
	mov	r3, r0
	nop
.L328:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L340:
	.align	2
.L339:
	.word	sqlite3_api
	.word	-429938
	.word	jsonParseFree
	.size	jsonParseCached, .-jsonParseCached
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonLabelCompare, %function
jsonLabelCompare:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L342
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L343
	mov	r3, #0
	b	.L344
.L343:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L344
.L342:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L345
	mov	r3, #0
	b	.L344
.L345:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L344:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonLabelCompare, .-jsonLabelCompare
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonLookupStep, %function
jsonLookupStep:
	@ args = 4, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-68]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L347
	ldr	r3, [fp, #-40]
	b	.L348
.L347:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L349
	mov	r3, #0
	b	.L348
.L349:
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L350
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L351
	mov	r3, #0
	b	.L348
.L351:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L352
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L353
.L355:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L353:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L354
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L355
.L354:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L356
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L357
.L356:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L348
.L352:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L358
.L360:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L358:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L359
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L359
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L360
.L359:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-48]
.L357:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L361
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L348
.L361:
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L362
.L364:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	jsonLabelCompare
	mov	r3, r0
	cmp	r3, #0
	beq	.L363
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	add	r1, r3, #1
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r2, r2, r3
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-76]
	ldr	r0, [fp, #-64]
	bl	jsonLookupStep
	mov	r3, r0
	b	.L348
.L363:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r2, r0
	ldr	r3, [fp, #-52]
	add	r3, r3, r2
	str	r3, [fp, #-52]
.L362:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bls	.L364
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L400
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-68]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L362
.L400:
	nop
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L368
	mov	r3, #0
	mov	r2, #2
	mov	r1, #7
	ldr	r0, [fp, #-64]
	bl	jsonParseAddNode
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	mov	r1, #5
	ldr	r0, [fp, #-64]
	bl	jsonParseAddNode
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-64]
	bl	jsonLookupAppend
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L369
	mov	r3, #0
	b	.L348
.L369:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L370
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-68]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	orr	r3, r3, #32
	and	r2, r3, #255
	ldr	r3, [fp, #-40]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-64]
	ldr	r0, [r3, #8]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	orr	r2, r1, #1
	and	r2, r2, #255
	strb	r2, [r3, #1]
.L370:
	ldr	r3, [fp, #-8]
	b	.L348
.L350:
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L371
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L372
.L373:
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r1, r3
	sub	r3, r3, #48
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L372:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L373
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	bls	.L374
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L375
.L374:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L376
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	beq	.L378
	mov	r3, #0
	b	.L348
.L380:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L379
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L379:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r2, r0
	ldr	r3, [fp, #-52]
	add	r3, r3, r2
	str	r3, [fp, #-52]
.L378:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bls	.L380
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L401
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L378
.L401:
	nop
	mov	r3, #2
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-72]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L383
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L383
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #3
	str	r3, [fp, #-52]
.L384:
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r1, r3
	sub	r3, r3, #48
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L384
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	bls	.L385
	mov	r3, #0
	b	.L348
.L385:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	str	r3, [fp, #-56]
.L383:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L375
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L348
.L376:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L348
.L375:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	beq	.L386
	mov	r3, #0
	b	.L348
.L386:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-72]
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L387
.L390:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L388
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
.L388:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r2, r0
	ldr	r3, [fp, #-52]
	add	r3, r3, r2
	str	r3, [fp, #-52]
.L387:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bhi	.L389
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L390
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L390
.L389:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L402
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-68]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L387
.L402:
	nop
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bhi	.L394
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-52]
	add	r1, r2, r3
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-72]
	ldr	r0, [fp, #-64]
	bl	jsonLookupStep
	mov	r3, r0
	b	.L348
.L394:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L368
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L368
	mov	r3, #0
	mov	r2, #1
	mov	r1, #6
	ldr	r0, [fp, #-64]
	bl	jsonParseAddNode
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-64]
	bl	jsonLookupAppend
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L395
	mov	r3, #0
	b	.L348
.L395:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L396
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-68]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-68]
	sub	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	orr	r3, r3, #32
	and	r2, r3, #255
	ldr	r3, [fp, #-40]
	strb	r2, [r3, #1]
.L396:
	ldr	r3, [fp, #-20]
	b	.L348
.L371:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
.L368:
	mov	r3, #0
.L348:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonLookupStep, .-jsonLookupStep
	.section	.rodata
	.align	2
.LC34:
	.ascii	"[0]\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonLookupAppend, %function
jsonLookupAppend:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L404
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L405
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, #12
	add	r3, r1, r3
	b	.L407
.L405:
	mov	r3, #0
	b	.L407
.L404:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L408
	mov	r3, #0
	mov	r2, #0
	mov	r1, #7
	ldr	r0, [fp, #-8]
	bl	jsonParseAddNode
	b	.L409
.L408:
	mov	r2, #3
	ldr	r1, .L412
	ldr	r0, [fp, #-12]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L410
	mov	r3, #0
	mov	r2, #0
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	jsonParseAddNode
	b	.L409
.L410:
	mov	r3, #0
	b	.L407
.L409:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L411
	mov	r3, #0
	b	.L407
.L411:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r1, r3, #1
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	jsonLookupStep
	mov	r3, r0
.L407:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L413:
	.align	2
.L412:
	.word	.LC34
	.size	jsonLookupAppend, .-jsonLookupAppend
	.section	.rodata
	.align	2
.LC35:
	.ascii	"JSON path error near '%q'\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonPathSyntaxError, %function
jsonPathSyntaxError:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L416
	ldr	r3, [r3]
	ldr	r3, [r3, #276]
	ldr	r1, [fp, #-8]
	ldr	r0, .L416+4
	blx	r3
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L417:
	.align	2
.L416:
	.word	sqlite3_api
	.word	.LC35
	.size	jsonPathSyntaxError, .-jsonPathSyntaxError
	.section	.rodata
	.align	2
.LC36:
	.ascii	"zErr!=0 && pCtx!=0\000"
	.align	2
.LC37:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonLookup, %function
jsonLookup:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L431
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L419
	mov	r3, #0
	b	.L427
.L419:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	beq	.L421
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	b	.L422
.L421:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	sub	r3, fp, #20
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	jsonLookupStep
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L430
	ldr	r3, [fp, #-16]
	b	.L427
.L430:
	nop
.L422:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L423
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L429
.L423:
	ldr	r3, .L431+4
	ldr	r2, .L431+8
	ldr	r1, .L431+12
	ldr	r0, .L431+16
	bl	__assert_fail
.L429:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	jsonPathSyntaxError
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L425
	ldr	r3, .L431+20
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-36]
	blx	r3
	ldr	r3, .L431+20
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-12]
	blx	r3
	b	.L426
.L425:
	ldr	r3, .L431+20
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-36]
	blx	r3
.L426:
	mov	r3, #0
.L427:
	ldr	r2, .L431
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L428
	bl	__stack_chk_fail
.L428:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L432:
	.align	2
.L431:
	.word	.LC37
	.word	__PRETTY_FUNCTION__.7986
	.word	1340
	.word	.LC9
	.word	.LC36
	.word	sqlite3_api
	.size	jsonLookup, .-jsonLookup
	.section	.rodata
	.align	2
.LC38:
	.ascii	"json_%s() needs an odd number of arguments\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonWrongNumArgs, %function
jsonWrongNumArgs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L434
	ldr	r3, [r3]
	ldr	r3, [r3, #276]
	ldr	r1, [fp, #-20]
	ldr	r0, .L434+4
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, .L434
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	blx	r3
	ldr	r3, .L434
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-8]
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L435:
	.align	2
.L434:
	.word	sqlite3_api
	.word	.LC38
	.size	jsonWrongNumArgs, .-jsonWrongNumArgs
	.section	.rodata
	.align	2
.LC39:
	.ascii	"pNode->eType==JSON_OBJECT\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonRemoveAllNulls, %function
jsonRemoveAllNulls:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L437
	ldr	r3, .L443
	ldr	r2, .L443+4
	ldr	r1, .L443+8
	ldr	r0, .L443+12
	bl	__assert_fail
.L437:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	mov	r3, #2
	str	r3, [fp, #-12]
	b	.L438
.L442:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L439
	cmp	r3, #7
	beq	.L440
	b	.L441
.L439:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	orr	r2, r1, #4
	and	r2, r2, #255
	strb	r2, [r3, #1]
	b	.L441
.L440:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonRemoveAllNulls
	nop
.L441:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r3, r0
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L438:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	ble	.L442
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L444:
	.align	2
.L443:
	.word	__PRETTY_FUNCTION__.7997
	.word	1371
	.word	.LC9
	.word	.LC39
	.size	jsonRemoveAllNulls, .-jsonRemoveAllNulls
	.section	.rodata
	.align	2
.LC40:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonQuoteFunc, %function
jsonQuoteFunc:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	str	r2, [fp, #-152]
	ldr	r3, .L447
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #140
	ldr	r1, [fp, #-144]
	mov	r0, r3
	bl	jsonInit
	ldr	r3, [fp, #-152]
	ldr	r2, [r3]
	sub	r3, fp, #140
	mov	r1, r2
	mov	r0, r3
	bl	jsonAppendValue
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonResult
	ldr	r3, .L447+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-144]
	blx	r3
	nop
	ldr	r3, .L447
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L446
	bl	__stack_chk_fail
.L446:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L448:
	.align	2
.L447:
	.word	.LC40
	.word	sqlite3_api
	.size	jsonQuoteFunc, .-jsonQuoteFunc
	.section	.rodata
	.align	2
.LC41:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonArrayFunc, %function
jsonArrayFunc:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #160
	str	r0, [fp, #-152]
	str	r1, [fp, #-156]
	str	r2, [fp, #-160]
	ldr	r3, .L453
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #140
	ldr	r1, [fp, #-152]
	mov	r0, r3
	bl	jsonInit
	sub	r3, fp, #140
	mov	r1, #91
	mov	r0, r3
	bl	jsonAppendChar
	mov	r3, #0
	str	r3, [fp, #-144]
	b	.L450
.L451:
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonAppendSeparator
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #140
	mov	r1, r2
	mov	r0, r3
	bl	jsonAppendValue
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L450:
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	blt	.L451
	sub	r3, fp, #140
	mov	r1, #93
	mov	r0, r3
	bl	jsonAppendChar
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonResult
	ldr	r3, .L453+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-152]
	blx	r3
	nop
	ldr	r3, .L453
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L452
	bl	__stack_chk_fail
.L452:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L454:
	.align	2
.L453:
	.word	.LC41
	.word	sqlite3_api
	.size	jsonArrayFunc, .-jsonArrayFunc
	.section	.rodata
	.align	2
.LC42:
	.ascii	"p->nNode\000"
	.align	2
.LC43:
	.ascii	"(pNode->jnFlags & JNODE_APPEND)==0\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonArrayLengthFunc, %function
jsonArrayLengthFunc:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	jsonParseCached
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L466
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L458
	ldr	r3, .L468
	ldr	r2, .L468+4
	ldr	r1, .L468+8
	ldr	r0, .L468+12
	bl	__assert_fail
.L458:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bne	.L459
	ldr	r3, .L468+16
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-48]
	add	r2, r2, #4
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-28]
	bl	jsonLookup
	str	r0, [fp, #-32]
	b	.L460
.L459:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
.L460:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L467
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L462
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L463
	ldr	r3, .L468
	ldr	r2, .L468+20
	ldr	r1, .L468+8
	ldr	r0, .L468+24
	bl	__assert_fail
.L463:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L464
.L465:
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r2, r0
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	str	r3, [fp, #-36]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	str	r4, [fp, #-20]
	str	r5, [fp, #-16]
.L464:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bls	.L465
.L462:
	ldr	r3, .L468+16
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-40]
	blx	r1
	b	.L455
.L466:
	nop
	b	.L455
.L467:
	nop
.L455:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L469:
	.align	2
.L468:
	.word	__PRETTY_FUNCTION__.8029
	.word	1512
	.word	.LC9
	.word	.LC42
	.word	sqlite3_api
	.word	1523
	.word	.LC43
	.size	jsonArrayLengthFunc, .-jsonArrayLengthFunc
	.section	.rodata
	.align	2
.LC44:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonExtractFunc, %function
jsonExtractFunc:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-160]
	str	r1, [fp, #-164]
	str	r2, [fp, #-168]
	ldr	r3, .L487
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-164]
	cmp	r3, #1
	ble	.L484
	ldr	r2, [fp, #-160]
	ldr	r1, [fp, #-168]
	ldr	r0, [fp, #-160]
	bl	jsonParseCached
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	beq	.L485
	sub	r3, fp, #140
	ldr	r1, [fp, #-160]
	mov	r0, r3
	bl	jsonInit
	sub	r3, fp, #140
	mov	r1, #91
	mov	r0, r3
	bl	jsonAppendChar
	mov	r3, #1
	str	r3, [fp, #-156]
	b	.L474
.L480:
	ldr	r3, .L487+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-156]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-168]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-160]
	mov	r2, #0
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-152]
	bl	jsonLookup
	str	r0, [fp, #-144]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L486
	ldr	r3, [fp, #-164]
	cmp	r3, #2
	ble	.L477
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonAppendSeparator
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	beq	.L478
	sub	r3, fp, #140
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-144]
	bl	jsonRenderNode
	b	.L479
.L478:
	sub	r3, fp, #140
	mov	r2, #4
	ldr	r1, .L487+8
	mov	r0, r3
	bl	jsonAppendRaw
	b	.L479
.L477:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	beq	.L479
	mov	r2, #0
	ldr	r1, [fp, #-160]
	ldr	r0, [fp, #-144]
	bl	jsonReturn
.L479:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L474:
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	blt	.L480
	b	.L476
.L486:
	nop
.L476:
	ldr	r3, [fp, #-164]
	cmp	r3, #2
	ble	.L481
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	bne	.L481
	sub	r3, fp, #140
	mov	r1, #93
	mov	r0, r3
	bl	jsonAppendChar
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonResult
	ldr	r3, .L487+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-160]
	blx	r3
.L481:
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonReset
	b	.L470
.L484:
	nop
	b	.L470
.L485:
	nop
.L470:
	ldr	r3, .L487
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L483
	bl	__stack_chk_fail
.L483:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L488:
	.align	2
.L487:
	.word	.LC44
	.word	sqlite3_api
	.word	.LC0
	.size	jsonExtractFunc, .-jsonExtractFunc
	.section	.rodata
	.align	2
.LC45:
	.ascii	"iTarget>=0 && iTarget<pParse->nNode\000"
	.align	2
.LC46:
	.ascii	"(pPatch->jnFlags & JNODE_APPEND)==0\000"
	.align	2
.LC47:
	.ascii	"pPatch[i].eType==JSON_STRING\000"
	.align	2
.LC48:
	.ascii	"pPatch[i].jnFlags & JNODE_LABEL\000"
	.align	2
.LC49:
	.ascii	"(pPatch[i].jnFlags & JNODE_RAW)==0\000"
	.align	2
.LC50:
	.ascii	"pTarget[j].eType==JSON_STRING\000"
	.align	2
.LC51:
	.ascii	"pTarget[j].jnFlags & JNODE_LABEL\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonMergePatch, %function
jsonMergePatch:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L490
	ldr	r3, [fp, #-56]
	b	.L491
.L490:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bcc	.L492
	ldr	r3, .L515
	ldr	r2, .L515+4
	ldr	r1, .L515+8
	ldr	r0, .L515+12
	bl	__assert_fail
.L492:
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L493
	ldr	r3, .L515
	ldr	r2, .L515+16
	ldr	r1, .L515+8
	ldr	r0, .L515+20
	bl	__assert_fail
.L493:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L494
	ldr	r0, [fp, #-56]
	bl	jsonRemoveAllNulls
	ldr	r3, [fp, #-56]
	b	.L491
.L494:
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L495
.L512:
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	beq	.L496
	ldr	r3, .L515
	ldr	r2, .L515+24
	ldr	r1, .L515+8
	ldr	r0, .L515+28
	bl	__assert_fail
.L496:
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L497
	ldr	r3, .L515
	ldr	r2, .L515+32
	ldr	r1, .L515+8
	ldr	r0, .L515+36
	bl	__assert_fail
.L497:
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L498
	ldr	r3, .L515
	ldr	r2, .L515+40
	ldr	r1, .L515+8
	ldr	r0, .L515+44
	bl	__assert_fail
.L498:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L499
.L509:
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	beq	.L500
	ldr	r3, .L515
	ldr	r2, .L515+48
	ldr	r1, .L515+8
	ldr	r0, .L515+52
	bl	__assert_fail
.L500:
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L501
	ldr	r3, .L515
	ldr	r2, .L515+56
	ldr	r1, .L515+8
	ldr	r0, .L515+60
	bl	__assert_fail
.L501:
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L502
	ldr	r3, .L515
	ldr	r2, .L515+64
	ldr	r1, .L515+8
	ldr	r0, .L515+44
	bl	__assert_fail
.L502:
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L503
	ldr	r2, [fp, #-36]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L503
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #20
	cmp	r3, #0
	bne	.L513
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L506
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	orr	r2, r1, #4
	and	r2, r2, #255
	strb	r2, [r3, #1]
	b	.L514
.L506:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	add	r1, r3, #1
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	mov	r2, r3
	ldr	r0, [fp, #-48]
	bl	jsonMergePatch
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L508
	mov	r3, #0
	b	.L491
.L508:
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L514
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	orr	r2, r1, #16
	and	r2, r2, #255
	strb	r2, [r3, #1]
	b	.L514
.L503:
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-36]
.L499:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bcc	.L509
	b	.L505
.L513:
	nop
	b	.L505
.L514:
	nop
.L505:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bcc	.L510
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L510
	mov	r3, #0
	mov	r2, #2
	mov	r1, #7
	ldr	r0, [fp, #-48]
	bl	jsonParseAddNode
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	mov	r1, #5
	ldr	r0, [fp, #-48]
	bl	jsonParseAddNode
	mov	r3, #0
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-48]
	bl	jsonParseAddNode
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L511
	mov	r3, #0
	b	.L491
.L511:
	ldr	r0, [fp, #-56]
	bl	jsonRemoveAllNulls
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #8]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	orr	r2, r1, #32
	and	r2, r2, #255
	strb	r2, [r3, #1]
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #8]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r2, [fp, #-32]
	sub	r2, r1, r2
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r1, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	orr	r2, r1, #16
	and	r2, r2, #255
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [fp, #-56]
	add	r2, r2, r0
	str	r2, [r3, #8]
.L510:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	mov	r0, r3
	bl	jsonNodeSize
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
.L495:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bcc	.L512
	ldr	r3, [fp, #-28]
.L491:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L516:
	.align	2
.L515:
	.word	__PRETTY_FUNCTION__.8056
	.word	1591
	.word	.LC9
	.word	.LC45
	.word	1593
	.word	.LC46
	.word	1602
	.word	.LC47
	.word	1603
	.word	.LC48
	.word	1606
	.word	.LC49
	.word	1608
	.word	.LC50
	.word	1609
	.word	.LC51
	.word	1610
	.size	jsonMergePatch, .-jsonMergePatch
	.section	.rodata
	.align	2
.LC52:
	.ascii	"pResult!=0 || x.oom\000"
	.align	2
.LC53:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonPatchFunc, %function
jsonPatchFunc:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-80]
	str	r1, [fp, #-84]
	str	r2, [fp, #-88]
	ldr	r3, .L527
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L527+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-88]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	sub	r3, fp, #72
	ldr	r1, [fp, #-80]
	mov	r0, r3
	bl	jsonParse
	mov	r3, r0
	cmp	r3, #0
	bne	.L526
	ldr	r3, .L527+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-88]
	add	r2, r2, #4
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	sub	r3, fp, #40
	ldr	r1, [fp, #-80]
	mov	r0, r3
	bl	jsonParse
	mov	r3, r0
	cmp	r3, #0
	beq	.L520
	sub	r3, fp, #72
	mov	r0, r3
	bl	jsonParseReset
	b	.L517
.L520:
	ldr	r2, [fp, #-32]
	sub	r3, fp, #72
	mov	r1, #0
	mov	r0, r3
	bl	jsonMergePatch
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L521
	ldrb	r3, [fp, #-52]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L521
	ldr	r3, .L527+8
	ldr	r2, .L527+12
	ldr	r1, .L527+16
	ldr	r0, .L527+20
	bl	__assert_fail
.L521:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L522
	mov	r2, #0
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-76]
	bl	jsonReturnJson
	b	.L523
.L522:
	ldr	r3, .L527+4
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-80]
	blx	r3
.L523:
	sub	r3, fp, #72
	mov	r0, r3
	bl	jsonParseReset
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L517
.L526:
	nop
.L517:
	ldr	r3, .L527
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L525
	bl	__stack_chk_fail
.L525:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L528:
	.align	2
.L527:
	.word	.LC53
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8076
	.word	1666
	.word	.LC9
	.word	.LC52
	.size	jsonPatchFunc, .-jsonPatchFunc
	.section	.rodata
	.align	2
.LC54:
	.ascii	"json_object() requires an even number of arguments\000"
	.align	2
.LC55:
	.ascii	"json_object() labels must be TEXT\000"
	.align	2
.LC56:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonObjectFunc, %function
jsonObjectFunc:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-160]
	str	r1, [fp, #-164]
	str	r2, [fp, #-168]
	ldr	r3, .L537
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-164]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L530
	ldr	r3, .L537+4
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, .L537+8
	ldr	r0, [fp, #-160]
	blx	r3
	b	.L529
.L530:
	sub	r3, fp, #140
	ldr	r1, [fp, #-160]
	mov	r0, r3
	bl	jsonInit
	sub	r3, fp, #140
	mov	r1, #123
	mov	r0, r3
	bl	jsonAppendChar
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L532
.L534:
	ldr	r3, .L537+4
	ldr	r3, [r3]
	ldr	r3, [r3, #452]
	ldr	r2, [fp, #-152]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-168]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r3, r0
	cmp	r3, #3
	beq	.L533
	ldr	r3, .L537+4
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, .L537+12
	ldr	r0, [fp, #-160]
	blx	r3
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonReset
	b	.L529
.L533:
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonAppendSeparator
	ldr	r3, .L537+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-152]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-168]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-148]
	ldr	r3, .L537+4
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r2, [fp, #-152]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-168]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r3, r0
	str	r3, [fp, #-144]
	sub	r3, fp, #140
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-148]
	mov	r0, r3
	bl	jsonAppendString
	sub	r3, fp, #140
	mov	r1, #58
	mov	r0, r3
	bl	jsonAppendChar
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-168]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #140
	mov	r1, r2
	mov	r0, r3
	bl	jsonAppendValue
	ldr	r3, [fp, #-152]
	add	r3, r3, #2
	str	r3, [fp, #-152]
.L532:
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	blt	.L534
	sub	r3, fp, #140
	mov	r1, #125
	mov	r0, r3
	bl	jsonAppendChar
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonResult
	ldr	r3, .L537+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-160]
	blx	r3
.L529:
	ldr	r3, .L537
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L536
	bl	__stack_chk_fail
.L536:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L538:
	.align	2
.L537:
	.word	.LC56
	.word	sqlite3_api
	.word	.LC54
	.word	.LC55
	.size	jsonObjectFunc, .-jsonObjectFunc
	.section	.rodata
	.align	2
.LC57:
	.ascii	"x.nNode\000"
	.align	2
.LC58:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonRemoveFunc, %function
jsonRemoveFunc:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L557
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L552
	ldr	r3, .L557+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-64]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	sub	r3, fp, #40
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	jsonParse
	mov	r3, r0
	cmp	r3, #0
	bne	.L553
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L543
	ldr	r3, .L557+8
	ldr	r2, .L557+12
	ldr	r1, .L557+16
	ldr	r0, .L557+20
	bl	__assert_fail
.L543:
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L544
.L549:
	ldr	r3, .L557+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-52]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-64]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L554
	sub	r0, fp, #40
	ldr	r3, [fp, #-56]
	mov	r2, #0
	ldr	r1, [fp, #-48]
	bl	jsonLookup
	str	r0, [fp, #-44]
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L555
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L548
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	orr	r3, r3, #4
	and	r2, r3, #255
	ldr	r3, [fp, #-44]
	strb	r2, [r3, #1]
.L548:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L544:
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bcc	.L549
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L556
	ldr	r3, [fp, #-32]
	mov	r2, #0
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	jsonReturnJson
	b	.L546
.L554:
	nop
	b	.L546
.L555:
	nop
	b	.L546
.L556:
	nop
.L546:
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L539
.L552:
	nop
	b	.L539
.L553:
	nop
.L539:
	ldr	r3, .L557
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L551
	bl	__stack_chk_fail
.L551:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L558:
	.align	2
.L557:
	.word	.LC58
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8098
	.word	1736
	.word	.LC9
	.word	.LC57
	.size	jsonRemoveFunc, .-jsonRemoveFunc
	.section	.rodata
	.align	2
.LC59:
	.ascii	"replace\000"
	.align	2
.LC60:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonReplaceFunc, %function
jsonReplaceFunc:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L576
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L573
	ldr	r3, [fp, #-60]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L562
	ldr	r1, .L576+4
	ldr	r0, [fp, #-56]
	bl	jsonWrongNumArgs
	b	.L559
.L562:
	ldr	r3, .L576+8
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-64]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	sub	r3, fp, #40
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	jsonParse
	mov	r3, r0
	cmp	r3, #0
	bne	.L574
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L564
	ldr	r3, .L576+12
	ldr	r2, .L576+16
	ldr	r1, .L576+20
	ldr	r0, .L576+24
	bl	__assert_fail
.L564:
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L565
.L569:
	ldr	r3, .L576+8
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-52]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-64]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-48]
	sub	r0, fp, #40
	ldr	r3, [fp, #-56]
	mov	r2, #0
	ldr	r1, [fp, #-48]
	bl	jsonLookup
	str	r0, [fp, #-44]
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L575
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L568
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	orr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-44]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-52]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
.L568:
	ldr	r3, [fp, #-52]
	add	r3, r3, #2
	str	r3, [fp, #-52]
.L565:
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bcc	.L569
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L570
	ldr	r3, .L576+8
	ldr	r3, [r3]
	ldr	r3, [r3, #356]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #8]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-64]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r1, r2
	ldr	r0, [fp, #-56]
	blx	r3
	b	.L567
.L570:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	jsonReturnJson
	b	.L567
.L575:
	nop
.L567:
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L559
.L573:
	nop
	b	.L559
.L574:
	nop
.L559:
	ldr	r3, .L576
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L572
	bl	__stack_chk_fail
.L572:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L577:
	.align	2
.L576:
	.word	.LC60
	.word	.LC59
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8112
	.word	1773
	.word	.LC9
	.word	.LC57
	.size	jsonReplaceFunc, .-jsonReplaceFunc
	.section	.rodata
	.align	2
.LC61:
	.ascii	"set\000"
	.align	2
.LC62:
	.ascii	"insert\000"
	.align	2
.LC63:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonSetFunc, %function
jsonSetFunc:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L599
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L599+4
	ldr	r3, [r3]
	ldr	r3, [r3, #404]
	ldr	r0, [fp, #-64]
	blx	r3
	mov	r3, r0
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	ble	.L596
	ldr	r3, [fp, #-68]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L581
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L582
	ldr	r3, .L599+8
	b	.L583
.L582:
	ldr	r3, .L599+12
.L583:
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	jsonWrongNumArgs
	b	.L578
.L581:
	ldr	r3, .L599+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	sub	r3, fp, #40
	ldr	r1, [fp, #-64]
	mov	r0, r3
	bl	jsonParse
	mov	r3, r0
	cmp	r3, #0
	bne	.L597
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L585
	ldr	r3, .L599+16
	ldr	r2, .L599+20
	ldr	r1, .L599+24
	ldr	r0, .L599+28
	bl	__assert_fail
.L585:
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L586
.L592:
	ldr	r3, .L599+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-56]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-72]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-60]
	sub	r2, fp, #60
	sub	r0, fp, #40
	ldr	r3, [fp, #-64]
	ldr	r1, [fp, #-48]
	bl	jsonLookup
	str	r0, [fp, #-44]
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L587
	ldr	r3, .L599+4
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-64]
	blx	r3
	b	.L588
.L587:
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L598
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L590
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L591
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L590
.L591:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	orr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-44]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
.L590:
	ldr	r3, [fp, #-56]
	add	r3, r3, #2
	str	r3, [fp, #-56]
.L586:
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bcc	.L592
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L593
	ldr	r3, .L599+4
	ldr	r3, [r3]
	ldr	r3, [r3, #356]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #8]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-72]
	add	r2, r1, r2
	ldr	r2, [r2]
	mov	r1, r2
	ldr	r0, [fp, #-64]
	blx	r3
	b	.L588
.L593:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-72]
	ldr	r1, [fp, #-64]
	mov	r0, r3
	bl	jsonReturnJson
	b	.L588
.L598:
	nop
.L588:
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L578
.L596:
	nop
	b	.L578
.L597:
	nop
.L578:
	ldr	r3, .L599
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L595
	bl	__stack_chk_fail
.L595:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L600:
	.align	2
.L599:
	.word	.LC63
	.word	sqlite3_api
	.word	.LC61
	.word	.LC62
	.word	__PRETTY_FUNCTION__.8128
	.word	1822
	.word	.LC9
	.word	.LC57
	.size	jsonSetFunc, .-jsonSetFunc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonTypeFunc, %function
jsonTypeFunc:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	jsonParseCached
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L606
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bne	.L604
	ldr	r3, .L607
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-40]
	add	r2, r2, #4
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	jsonLookup
	str	r0, [fp, #-24]
	b	.L605
.L604:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
.L605:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L601
	ldr	r3, .L607
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L607+4
	ldr	r1, [r3, r2, lsl #2]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-32]
	blx	r4
	b	.L601
.L606:
	nop
.L601:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L608:
	.align	2
.L607:
	.word	sqlite3_api
	.word	jsonType
	.size	jsonTypeFunc, .-jsonTypeFunc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonValidFunc, %function
jsonValidFunc:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r2, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	jsonParseCached
	str	r0, [fp, #-8]
	ldr	r3, .L610
	ldr	r3, [r3]
	ldr	r3, [r3, #328]
	ldr	r2, [fp, #-8]
	cmp	r2, #0
	movne	r2, #1
	moveq	r2, #0
	and	r2, r2, #255
	mov	r1, r2
	ldr	r0, [fp, #-16]
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L611:
	.align	2
.L610:
	.word	sqlite3_api
	.size	jsonValidFunc, .-jsonValidFunc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonArrayStep, %function
jsonArrayStep:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L617
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #128
	ldr	r0, [fp, #-16]
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L616
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L614
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	jsonInit
	mov	r1, #91
	ldr	r0, [fp, #-8]
	bl	jsonAppendChar
	b	.L615
.L614:
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #1
	bls	.L615
	mov	r1, #44
	ldr	r0, [fp, #-8]
	bl	jsonAppendChar
.L615:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	jsonAppendValue
.L616:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L618:
	.align	2
.L617:
	.word	sqlite3_api
	.size	jsonArrayStep, .-jsonArrayStep
	.section	.rodata
	.align	2
.LC64:
	.ascii	"pStr->bStatic\000"
	.align	2
.LC65:
	.ascii	"[]\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonArrayCompute, %function
jsonArrayCompute:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #20
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L627
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-32]
	blx	r3
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L620
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	mov	r1, #93
	ldr	r0, [fp, #-24]
	bl	jsonAppendChar
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L621
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L622
	ldr	r3, .L627
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-32]
	blx	r3
.L622:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L623
	ldr	r3, .L627+4
	ldr	r2, .L627+8
	ldr	r1, .L627+12
	ldr	r0, .L627+16
	bl	__assert_fail
.L621:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L624
	ldr	r3, .L627
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L625
	ldr	r3, .L627
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	b	.L626
.L625:
	mvn	r3, #0
.L626:
	ldr	r0, [fp, #-32]
	blx	r4
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #24]
	b	.L623
.L624:
	ldr	r3, .L627
	ldr	r3, [r3]
	ldr	r6, [r3, #340]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mvn	r3, #0
	ldr	r0, [fp, #-32]
	blx	r6
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	subs	r4, r2, #1
	sbc	r5, r3, #0
	ldr	r3, [fp, #-24]
	str	r4, [r3, #16]
	str	r5, [r3, #20]
	b	.L623
.L620:
	ldr	r3, .L627
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	mov	r3, #0
	mov	r2, #2
	ldr	r1, .L627+20
	ldr	r0, [fp, #-32]
	blx	r4
.L623:
	ldr	r3, .L627
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-32]
	blx	r3
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L628:
	.align	2
.L627:
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8158
	.word	1928
	.word	.LC9
	.word	.LC64
	.word	.LC65
	.size	jsonArrayCompute, .-jsonArrayCompute
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonArrayValue, %function
jsonArrayValue:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	jsonArrayCompute
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonArrayValue, .-jsonArrayValue
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonArrayFinal, %function
jsonArrayFinal:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	jsonArrayCompute
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonArrayFinal, .-jsonArrayFinal
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonGroupInverse, %function
jsonGroupInverse:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L646
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-40]
	blx	r3
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L632
	ldr	r3, .L646+4
	ldr	r2, .L646+8
	ldr	r1, .L646+12
	ldr	r0, .L646+16
	bl	__assert_fail
.L632:
	mov	r3, #0
	cmp	r3, #0
	bne	.L645
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L635
.L643:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L636
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-28]
	b	.L637
.L636:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L638
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L637
.L638:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L637
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L639
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L640
.L639:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L640:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L641
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L637
.L641:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L637:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L635:
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, [fp, #-20]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bcs	.L642
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-33]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L643
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L643
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L643
.L642:
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, [fp, #-20]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bcs	.L644
	ldr	r3, [fp, #-20]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-32]
	mov	r2, r3
	mov	r3, #0
	subs	r4, r0, r2
	sbc	r5, r1, r3
	ldr	r3, [fp, #-20]
	str	r4, [r3, #16]
	str	r5, [r3, #20]
	ldr	r3, [fp, #-16]
	add	r0, r3, #1
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r1, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mov	r3, r2
	sub	r3, r3, #1
	mov	r2, r3
	bl	memmove
	ldr	r3, [fp, #-20]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	b	.L631
.L644:
	ldr	r1, [fp, #-20]
	mov	r2, #1
	mov	r3, #0
	str	r2, [r1, #16]
	str	r3, [r1, #20]
	b	.L631
.L645:
	nop
.L631:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L647:
	.align	2
.L646:
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8176
	.word	1973
	.word	.LC9
	.word	.LC20
	.size	jsonGroupInverse, .-jsonGroupInverse
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonObjectStep, %function
jsonObjectStep:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L653
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #128
	ldr	r0, [fp, #-24]
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L652
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L650
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	jsonInit
	mov	r1, #123
	ldr	r0, [fp, #-16]
	bl	jsonAppendChar
	b	.L651
.L650:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #1
	bls	.L651
	mov	r1, #44
	ldr	r0, [fp, #-16]
	bl	jsonAppendChar
.L651:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, .L653
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, .L653
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	jsonAppendString
	mov	r1, #58
	ldr	r0, [fp, #-16]
	bl	jsonAppendChar
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	jsonAppendValue
.L652:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L654:
	.align	2
.L653:
	.word	sqlite3_api
	.size	jsonObjectStep, .-jsonObjectStep
	.section	.rodata
	.align	2
.LC66:
	.ascii	"{}\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonObjectCompute, %function
jsonObjectCompute:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #20
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L663
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-32]
	blx	r3
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L656
	mov	r1, #125
	ldr	r0, [fp, #-24]
	bl	jsonAppendChar
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L657
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L658
	ldr	r3, .L663
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-32]
	blx	r3
.L658:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L659
	ldr	r3, .L663+4
	ldr	r2, .L663+8
	ldr	r1, .L663+12
	ldr	r0, .L663+16
	bl	__assert_fail
.L657:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L660
	ldr	r3, .L663
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L661
	ldr	r3, .L663
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	b	.L662
.L661:
	mvn	r3, #0
.L662:
	ldr	r0, [fp, #-32]
	blx	r4
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #24]
	b	.L659
.L660:
	ldr	r3, .L663
	ldr	r3, [r3]
	ldr	r6, [r3, #340]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	mvn	r3, #0
	ldr	r0, [fp, #-32]
	blx	r6
	ldr	r3, [fp, #-24]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	subs	r4, r2, #1
	sbc	r5, r3, #0
	ldr	r3, [fp, #-24]
	str	r4, [r3, #16]
	str	r5, [r3, #20]
	b	.L659
.L656:
	ldr	r3, .L663
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	mov	r3, #0
	mov	r2, #2
	ldr	r1, .L663+20
	ldr	r0, [fp, #-32]
	blx	r4
.L659:
	ldr	r3, .L663
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-32]
	blx	r3
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L664:
	.align	2
.L663:
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8193
	.word	2036
	.word	.LC9
	.word	.LC64
	.word	.LC66
	.size	jsonObjectCompute, .-jsonObjectCompute
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonObjectValue, %function
jsonObjectValue:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	jsonObjectCompute
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonObjectValue, .-jsonObjectValue
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonObjectFinal, %function
jsonObjectFinal:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	jsonObjectCompute
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonObjectFinal, .-jsonObjectFinal
	.section	.rodata
	.align	2
.LC67:
	.ascii	"CREATE TABLE x(key,value,type,atom,id,parent,fullke"
	.ascii	"y,path,json HIDDEN,root HIDDEN)\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachConnect, %function
jsonEachConnect:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L671
	ldr	r3, [r3]
	ldr	r3, [r3, #200]
	ldr	r1, .L671+4
	ldr	r0, [fp, #-16]
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L668
	ldr	r3, .L671
	ldr	r3, [r3]
	ldr	r3, [r3, #272]
	mov	r0, #12
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #4]
	str	r2, [r3]
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L669
	mov	r3, #7
	b	.L670
.L669:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, .L671
	ldr	r3, [r3]
	ldr	r3, [r3, #708]
	mov	r1, #2
	ldr	r0, [fp, #-16]
	blx	r3
.L668:
	ldr	r3, [fp, #-12]
.L670:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L672:
	.align	2
.L671:
	.word	sqlite3_api
	.word	.LC67
	.size	jsonEachConnect, .-jsonEachConnect
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachDisconnect, %function
jsonEachDisconnect:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L675
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-8]
	blx	r3
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L676:
	.align	2
.L675:
	.word	sqlite3_api
	.size	jsonEachDisconnect, .-jsonEachDisconnect
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachOpenEach, %function
jsonEachOpenEach:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L680
	ldr	r3, [r3]
	ldr	r3, [r3, #272]
	mov	r0, #64
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L678
	mov	r3, #7
	b	.L679
.L678:
	mov	r2, #64
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
.L679:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L681:
	.align	2
.L680:
	.word	sqlite3_api
	.size	jsonEachOpenEach, .-jsonEachOpenEach
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachOpenTree, %function
jsonEachOpenTree:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	jsonEachOpenEach
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L683
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	strb	r2, [r3, #21]
.L683:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonEachOpenTree, .-jsonEachOpenTree
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachCursorReset, %function
jsonEachCursorReset:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L686
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #24]
	mov	r0, r2
	blx	r3
	ldr	r3, .L686
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #28]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #32
	mov	r0, r3
	bl	jsonParseReset
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L687:
	.align	2
.L686:
	.word	sqlite3_api
	.size	jsonEachCursorReset, .-jsonEachCursorReset
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachClose, %function
jsonEachClose:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	jsonEachCursorReset
	ldr	r3, .L690
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L691:
	.align	2
.L690:
	.word	sqlite3_api
	.size	jsonEachClose, .-jsonEachClose
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachEof, %function
jsonEachEof:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	movcs	r3, #1
	movcc	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	jsonEachEof, .-jsonEachEof
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachNext, %function
jsonEachNext:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L695
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L696
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
.L696:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bcs	.L697
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #40]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L697
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L698
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	b	.L697
.L698:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L697
.L695:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #6
	beq	.L699
	cmp	r3, #7
	beq	.L700
	b	.L703
.L699:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r0, r3
	bl	jsonNodeSize
	mov	r2, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L697
.L700:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r0, r3
	bl	jsonNodeSize
	mov	r3, r0
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L697
.L703:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	nop
.L697:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonEachNext, .-jsonEachNext
	.section	.rodata
	.align	2
.LC68:
	.ascii	"[%d]\000"
	.align	2
.LC69:
	.ascii	"pUp->eType==JSON_OBJECT\000"
	.align	2
.LC70:
	.ascii	"pNode->eType==JSON_STRING\000"
	.align	2
.LC71:
	.ascii	"pNode->jnFlags & JNODE_LABEL\000"
	.align	2
.LC72:
	.ascii	".%.*s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachComputePath, %function
jsonEachComputePath:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L705
	mov	r1, #36
	ldr	r0, [fp, #-28]
	bl	jsonAppendChar
	b	.L704
.L705:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	jsonEachComputePath
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #40]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #40]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L707
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, .L712
	ldr	r1, [fp, #-28]
	mov	r0, #30
	bl	jsonPrintf
	b	.L704
.L707:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L708
	ldr	r3, .L712+4
	ldr	r2, .L712+8
	ldr	r1, .L712+12
	ldr	r0, .L712+16
	bl	__assert_fail
.L708:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L709
	ldr	r3, [fp, #-16]
	sub	r3, r3, #12
	str	r3, [fp, #-16]
.L709:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	beq	.L710
	ldr	r3, .L712+4
	ldr	r2, .L712+20
	ldr	r1, .L712+12
	ldr	r0, .L712+24
	bl	__assert_fail
.L710:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L711
	ldr	r3, .L712+4
	ldr	r2, .L712+28
	ldr	r1, .L712+12
	ldr	r0, .L712+32
	bl	__assert_fail
.L711:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	mov	r0, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r3, r3, #1
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L712+36
	ldr	r1, [fp, #-28]
	bl	jsonPrintf
.L704:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L713:
	.align	2
.L712:
	.word	.LC68
	.word	__PRETTY_FUNCTION__.8265
	.word	2236
	.word	.LC9
	.word	.LC69
	.word	2238
	.word	.LC70
	.word	2239
	.word	.LC71
	.word	.LC72
	.size	jsonEachComputePath, .-jsonEachComputePath
	.section	.rodata
	.align	2
.LC73:
	.ascii	"$\000"
	.align	2
.LC74:
	.ascii	"i==JEACH_JSON\000"
	.align	2
.LC75:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachColumn, %function
jsonEachColumn:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #180
	str	r0, [fp, #-176]
	str	r1, [fp, #-180]
	str	r2, [fp, #-184]
	ldr	r3, .L752
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-184]
	cmp	r3, #8
	ldrls	pc, [pc, r3, asl #2]
	b	.L715
.L717:
	.word	.L725
	.word	.L724
	.word	.L723
	.word	.L722
	.word	.L721
	.word	.L720
	.word	.L719
	.word	.L718
	.word	.L716
.L725:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L747
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #7
	bne	.L728
	mov	r2, #0
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-172]
	bl	jsonReturn
	b	.L748
.L728:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L748
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L730
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L749
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #8]
	str	r3, [fp, #-168]
	b	.L732
.L730:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-168]
.L732:
	ldr	r3, .L752+4
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	ldr	r3, [fp, #-168]
	mov	r2, r3
	mov	r3, #0
	ldr	r0, [fp, #-180]
	blx	r1
	b	.L748
.L724:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L733
	ldr	r3, [fp, #-172]
	add	r3, r3, #12
	str	r3, [fp, #-172]
.L733:
	mov	r2, #0
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-172]
	bl	jsonReturn
	b	.L727
.L723:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L734
	ldr	r3, [fp, #-172]
	add	r3, r3, #12
	str	r3, [fp, #-172]
.L734:
	ldr	r3, .L752+4
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L752+8
	ldr	r1, [r3, r2, lsl #2]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-180]
	blx	r4
	b	.L727
.L722:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L735
	ldr	r3, [fp, #-172]
	add	r3, r3, #12
	str	r3, [fp, #-172]
.L735:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	bhi	.L750
	mov	r2, #0
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-172]
	bl	jsonReturn
	b	.L727
.L721:
	ldr	r3, .L752+4
	ldr	r3, [r3]
	ldr	r6, [r3, #332]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	and	r2, r3, #255
	mov	r3, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [fp, #-180]
	blx	r6
	b	.L727
.L720:
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bls	.L751
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L751
	ldr	r3, .L752+4
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #0
	ldr	r0, [fp, #-180]
	blx	r1
	b	.L751
.L719:
	sub	r3, fp, #156
	ldr	r1, [fp, #-180]
	mov	r0, r3
	bl	jsonInit
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L738
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #12]
	sub	r3, fp, #156
	mov	r1, r3
	ldr	r0, [fp, #-160]
	bl	jsonEachComputePath
	b	.L739
.L738:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L740
	ldr	r3, [fp, #-160]
	ldr	r4, [r3, #28]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #28]
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #156
	mov	r1, r4
	mov	r0, r3
	bl	jsonAppendRaw
	b	.L741
.L740:
	sub	r3, fp, #156
	mov	r1, #36
	mov	r0, r3
	bl	jsonAppendChar
.L741:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L742
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	sub	r1, fp, #156
	ldr	r2, .L752+12
	mov	r0, #30
	bl	jsonPrintf
	b	.L739
.L742:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #7
	bne	.L739
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	mov	r0, r3
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #4]
	sub	r2, r3, #2
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #8]
	add	r3, r3, #1
	sub	r1, fp, #156
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L752+16
	bl	jsonPrintf
.L739:
	sub	r3, fp, #156
	mov	r0, r3
	bl	jsonResult
	b	.L727
.L718:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L715
	sub	r3, fp, #156
	ldr	r1, [fp, #-180]
	mov	r0, r3
	bl	jsonInit
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #156
	mov	r1, r3
	ldr	r0, [fp, #-160]
	bl	jsonEachComputePath
	sub	r3, fp, #156
	mov	r0, r3
	bl	jsonResult
	b	.L727
.L715:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	bne	.L743
	ldr	r3, .L752+20
	str	r3, [fp, #-164]
.L743:
	ldr	r3, .L752+4
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	mov	r3, #0
	mvn	r2, #0
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-180]
	blx	r4
	b	.L727
.L716:
	ldr	r3, [fp, #-184]
	cmp	r3, #8
	beq	.L744
	ldr	r3, .L752+24
	ldr	r2, .L752+28
	ldr	r1, .L752+32
	ldr	r0, .L752+36
	bl	__assert_fail
.L744:
	ldr	r3, .L752+4
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #44]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-180]
	blx	r4
	b	.L727
.L747:
	nop
	b	.L727
.L748:
	nop
	b	.L727
.L749:
	nop
	b	.L727
.L750:
	nop
	b	.L727
.L751:
	nop
.L727:
	mov	r3, #0
	ldr	r2, .L752
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L746
	bl	__stack_chk_fail
.L746:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L753:
	.align	2
.L752:
	.word	.LC75
	.word	sqlite3_api
	.word	jsonType
	.word	.LC68
	.word	.LC72
	.word	.LC73
	.word	__PRETTY_FUNCTION__.8288
	.word	2335
	.word	.LC9
	.word	.LC74
	.size	jsonEachColumn, .-jsonEachColumn
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachRowid, %function
jsonEachRowid:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r2, r3
	mov	r3, #0
	ldr	r1, [fp, #-20]
	stm	r1, {r2-r3}
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	jsonEachRowid, .-jsonEachRowid
	.section	.rodata
	.align	2
.LC76:
	.ascii	"iCol==0 || iCol==1\000"
	.align	2
.LC77:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachBestIndex, %function
jsonEachBestIndex:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L771
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L757
.L762:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #7
	ble	.L770
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	sub	r3, r3, #8
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L760
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	beq	.L760
	ldr	r3, .L771+4
	ldr	r2, .L771+8
	ldr	r1, .L771+12
	ldr	r0, .L771+16
	bl	__assert_fail
.L760:
	mov	r2, #1
	ldr	r3, [fp, #-24]
	lsl	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3, #5]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L761
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-20]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L759
.L761:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L759
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	str	r2, [r3, #-12]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-20]
	orr	r3, r2, r3
	str	r3, [fp, #-32]
	b	.L759
.L770:
	nop
.L759:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	str	r3, [fp, #-28]
.L757:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L762
	ldr	r3, [fp, #-32]
	mvn	r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L763
	mov	r3, #19
	b	.L768
.L763:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L765
	ldr	r3, [fp, #-52]
	mov	r2, #0
	str	r2, [r3, #20]
	b	.L766
.L765:
	ldr	r1, [fp, #-52]
	mov	r2, #0
	ldr	r3, .L771+20
	str	r2, [r1, #40]
	str	r3, [r1, #44]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L767
	ldr	r3, [fp, #-52]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L766
.L767:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	mov	r2, #3
	str	r2, [r3, #20]
.L766:
	mov	r3, #0
.L768:
	ldr	r2, .L771
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L769
	bl	__stack_chk_fail
.L769:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L772:
	.align	2
.L771:
	.word	.LC77
	.word	__PRETTY_FUNCTION__.8303
	.word	2376
	.word	.LC9
	.word	.LC76
	.word	1072693248
	.size	jsonEachBestIndex, .-jsonEachBestIndex
	.section	.rodata
	.align	2
.LC78:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jsonEachFilter, %function
jsonEachFilter:
	@ args = 4, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #76
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-88]
	ldr	r3, .L796
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r0, [fp, #-56]
	bl	jsonEachCursorReset
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L774
	mov	r3, #0
	b	.L775
.L774:
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-88]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L776
	mov	r3, #0
	b	.L775
.L776:
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r2, [fp, #-88]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r8, [r3, #788]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adds	r6, r2, #1
	adc	r7, r3, #0
	mov	r2, r6
	mov	r3, r7
	mov	r0, r2
	mov	r1, r3
	blx	r8
	mov	r2, r0
	ldr	r3, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L777
	mov	r3, #7
	b	.L775
.L777:
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #24]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-48]
	bl	memcpy
	ldr	r3, [fp, #-56]
	add	r0, r3, #32
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	mov	r2, r3
	mov	r1, #0
	bl	jsonParse
	mov	r3, r0
	cmp	r3, #0
	beq	.L778
	mov	r3, #7
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #52]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L779
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	ldr	r2, [r2, #8]
	mov	r0, r2
	blx	r3
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r3, [r3, #276]
	ldr	r2, [fp, #-72]
	ldr	r4, [r2]
	ldr	r0, .L796+8
	blx	r3
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L779
	mov	r3, #1
	str	r3, [fp, #-64]
.L779:
	ldr	r0, [fp, #-56]
	bl	jsonEachCursorReset
	ldr	r3, [fp, #-64]
	b	.L775
.L778:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L780
	ldr	r3, [fp, #-56]
	add	r3, r3, #32
	mov	r0, r3
	bl	jsonParseFindParents
	mov	r3, r0
	cmp	r3, #0
	beq	.L780
	ldr	r0, [fp, #-56]
	bl	jsonEachCursorReset
	mov	r3, #7
	b	.L775
.L780:
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	cmp	r3, #3
	bne	.L781
	mov	r3, #0
	str	r3, [fp, #-68]
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r2, [fp, #-88]
	add	r2, r2, #4
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L782
	mov	r3, #0
	b	.L775
.L782:
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r2, [fp, #-88]
	add	r2, r2, #4
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r6, [r3, #788]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	mov	r2, r4
	mov	r3, r5
	mov	r0, r2
	mov	r1, r3
	blx	r6
	mov	r2, r0
	ldr	r3, [fp, #-56]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L784
	mov	r3, #7
	b	.L775
.L784:
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #28]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-52]
	bl	memcpy
	ldr	r3, [fp, #-52]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	beq	.L785
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-68]
	b	.L786
.L785:
	ldr	r3, [fp, #-56]
	add	r0, r3, #32
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	sub	r3, fp, #68
	str	r3, [sp]
	mov	r3, #0
	mov	r1, #0
	bl	jsonLookupStep
	str	r0, [fp, #-60]
.L786:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L787
	ldr	r3, .L796+4
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	ldr	r2, [r2, #8]
	mov	r0, r2
	blx	r3
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-72]
	ldr	r4, [r3]
	mov	r0, r2
	bl	jsonPathSyntaxError
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r0, [fp, #-56]
	bl	jsonEachCursorReset
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L788
	mov	r3, #1
	b	.L775
.L788:
	mov	r3, #7
	b	.L775
.L787:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L791
	mov	r3, #0
	b	.L775
.L781:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-60]
.L791:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-60]
	sub	r3, r2, r3
	asr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r1, r3, #4
	add	r3, r3, r1
	lsl	r1, r3, #8
	add	r3, r3, r1
	lsl	r1, r3, #16
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #5
	bls	.L792
	ldr	r3, [fp, #-60]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L793
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L794
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, #12
	add	r3, r1, r3
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L794
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	b	.L794
.L793:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	b	.L794
.L792:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #16]
.L794:
	mov	r3, #0
.L775:
	ldr	r2, .L796
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L795
	bl	__stack_chk_fail
.L795:
	mov	r0, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L797:
	.align	2
.L796:
	.word	.LC78
	.word	sqlite3_api
	.word	.LC32
	.size	jsonEachFilter, .-jsonEachFilter
	.data
	.align	2
	.type	jsonEachModule, %object
	.size	jsonEachModule, 96
jsonEachModule:
	.word	0
	.word	0
	.word	jsonEachConnect
	.word	jsonEachBestIndex
	.word	jsonEachDisconnect
	.word	0
	.word	jsonEachOpenEach
	.word	jsonEachClose
	.word	jsonEachFilter
	.word	jsonEachNext
	.word	jsonEachEof
	.word	jsonEachColumn
	.word	jsonEachRowid
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.align	2
	.type	jsonTreeModule, %object
	.size	jsonTreeModule, 96
jsonTreeModule:
	.word	0
	.word	0
	.word	jsonEachConnect
	.word	jsonEachBestIndex
	.word	jsonEachDisconnect
	.word	0
	.word	jsonEachOpenTree
	.word	jsonEachClose
	.word	jsonEachFilter
	.word	jsonEachNext
	.word	jsonEachEof
	.word	jsonEachColumn
	.word	jsonEachRowid
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.text
	.align	2
	.global	sqlite3Json1Init
	.syntax unified
	.arm
	.fpu softvfp
	.type	sqlite3Json1Init, %function
sqlite3Json1Init:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #44
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L799
.L801:
	ldr	r3, .L809
	ldr	r3, [r3]
	ldr	r4, [r3, #180]
	ldr	r2, .L809+4
	ldr	r3, [fp, #-24]
	ldr	r1, [r2, r3, lsl #4]
	ldr	r2, .L809+4
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r0, [r3, #4]
	ldr	r3, .L809+8
	ldr	ip, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r3, #8
	ldr	r2, .L809+4
	add	r2, r3, r2
	ldr	lr, .L809+4
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, lr, r3
	ldr	r3, [r3, #12]
	mov	lr, #0
	str	lr, [sp, #12]
	mov	lr, #0
	str	lr, [sp, #8]
	str	r3, [sp, #4]
	str	r2, [sp]
	mov	r3, ip
	mov	r2, r0
	ldr	r0, [fp, #-32]
	blx	r4
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L799:
	ldr	r3, [fp, #-24]
	cmp	r3, #14
	bhi	.L800
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L801
.L800:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L802
.L804:
	ldr	r3, .L809
	ldr	r3, [r3]
	ldr	r4, [r3, #956]
	ldr	r1, .L809+12
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	ip, [r3]
	ldr	r1, .L809+12
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	lr, [r3]
	ldr	r3, .L809+8
	ldr	r3, [r3]
	orr	r5, r3, #1048576
	ldr	r1, .L809+12
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r0, .L809+12
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #12
	ldr	r0, [r3]
	ldr	r6, .L809+12
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r6, r3
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [sp, #20]
	ldr	r2, .L809+16
	str	r2, [sp, #16]
	str	r3, [sp, #12]
	str	r0, [sp, #8]
	str	r1, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, r5
	mov	r2, lr
	mov	r1, ip
	ldr	r0, [fp, #-32]
	blx	r4
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L802:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bhi	.L803
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L804
.L803:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L805
.L807:
	ldr	r3, .L809
	ldr	r3, [r3]
	ldr	r4, [r3, #188]
	ldr	r2, .L809+20
	ldr	r3, [fp, #-24]
	ldr	r1, [r2, r3, lsl #3]
	ldr	r2, .L809+20
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	mov	r3, #0
	ldr	r0, [fp, #-32]
	blx	r4
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L805:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bhi	.L806
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L807
.L806:
	ldr	r3, [fp, #-28]
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L810:
	.align	2
.L809:
	.word	sqlite3_api
	.word	aFunc.8339
	.word	enc.8356
	.word	aAgg.8351
	.word	jsonGroupInverse
	.word	aMod.8355
	.size	sqlite3Json1Init, .-sqlite3Json1Init
	.align	2
	.global	sqlite3_json_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	sqlite3_json_init, %function
sqlite3_json_init:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, .L813
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r0, [fp, #-8]
	bl	sqlite3Json1Init
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L814:
	.align	2
.L813:
	.word	sqlite3_api
	.size	sqlite3_json_init, .-sqlite3_json_init
	.section	.rodata
	.align	2
	.type	aSpecial.7682, %object
	.size	aSpecial.7682, 32
aSpecial.7682:
	.ascii	"\000\000\000\000\000\000\000\000btn\000fr\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7683, %object
	.size	__PRETTY_FUNCTION__.7683, 17
__PRETTY_FUNCTION__.7683:
	.ascii	"jsonAppendString\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7704, %object
	.size	__PRETTY_FUNCTION__.7704, 11
__PRETTY_FUNCTION__.7704:
	.ascii	"jsonResult\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7719, %object
	.size	__PRETTY_FUNCTION__.7719, 15
__PRETTY_FUNCTION__.7719:
	.ascii	"jsonRenderNode\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7750, %object
	.size	__PRETTY_FUNCTION__.7750, 13
__PRETTY_FUNCTION__.7750:
	.ascii	"jsonHexToInt\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7755, %object
	.size	__PRETTY_FUNCTION__.7755, 14
__PRETTY_FUNCTION__.7755:
	.ascii	"jsonHexToInt4\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7762, %object
	.size	__PRETTY_FUNCTION__.7762, 11
__PRETTY_FUNCTION__.7762:
	.ascii	"jsonReturn\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7804, %object
	.size	__PRETTY_FUNCTION__.7804, 23
__PRETTY_FUNCTION__.7804:
	.ascii	"jsonParseAddNodeExpand\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7868, %object
	.size	__PRETTY_FUNCTION__.7868, 10
__PRETTY_FUNCTION__.7868:
	.ascii	"jsonParse\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7893, %object
	.size	__PRETTY_FUNCTION__.7893, 21
__PRETTY_FUNCTION__.7893:
	.ascii	"jsonParseFindParents\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7986, %object
	.size	__PRETTY_FUNCTION__.7986, 11
__PRETTY_FUNCTION__.7986:
	.ascii	"jsonLookup\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7997, %object
	.size	__PRETTY_FUNCTION__.7997, 19
__PRETTY_FUNCTION__.7997:
	.ascii	"jsonRemoveAllNulls\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8029, %object
	.size	__PRETTY_FUNCTION__.8029, 20
__PRETTY_FUNCTION__.8029:
	.ascii	"jsonArrayLengthFunc\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8056, %object
	.size	__PRETTY_FUNCTION__.8056, 15
__PRETTY_FUNCTION__.8056:
	.ascii	"jsonMergePatch\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8076, %object
	.size	__PRETTY_FUNCTION__.8076, 14
__PRETTY_FUNCTION__.8076:
	.ascii	"jsonPatchFunc\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8098, %object
	.size	__PRETTY_FUNCTION__.8098, 15
__PRETTY_FUNCTION__.8098:
	.ascii	"jsonRemoveFunc\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8112, %object
	.size	__PRETTY_FUNCTION__.8112, 16
__PRETTY_FUNCTION__.8112:
	.ascii	"jsonReplaceFunc\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8128, %object
	.size	__PRETTY_FUNCTION__.8128, 12
__PRETTY_FUNCTION__.8128:
	.ascii	"jsonSetFunc\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8158, %object
	.size	__PRETTY_FUNCTION__.8158, 17
__PRETTY_FUNCTION__.8158:
	.ascii	"jsonArrayCompute\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8176, %object
	.size	__PRETTY_FUNCTION__.8176, 17
__PRETTY_FUNCTION__.8176:
	.ascii	"jsonGroupInverse\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8193, %object
	.size	__PRETTY_FUNCTION__.8193, 18
__PRETTY_FUNCTION__.8193:
	.ascii	"jsonObjectCompute\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8265, %object
	.size	__PRETTY_FUNCTION__.8265, 20
__PRETTY_FUNCTION__.8265:
	.ascii	"jsonEachComputePath\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8288, %object
	.size	__PRETTY_FUNCTION__.8288, 15
__PRETTY_FUNCTION__.8288:
	.ascii	"jsonEachColumn\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8303, %object
	.size	__PRETTY_FUNCTION__.8303, 18
__PRETTY_FUNCTION__.8303:
	.ascii	"jsonEachBestIndex\000"
	.align	2
.LC79:
	.ascii	"json\000"
	.align	2
.LC80:
	.ascii	"json_array\000"
	.align	2
.LC81:
	.ascii	"json_array_length\000"
	.align	2
.LC82:
	.ascii	"json_extract\000"
	.align	2
.LC83:
	.ascii	"json_insert\000"
	.align	2
.LC84:
	.ascii	"json_object\000"
	.align	2
.LC85:
	.ascii	"json_patch\000"
	.align	2
.LC86:
	.ascii	"json_quote\000"
	.align	2
.LC87:
	.ascii	"json_remove\000"
	.align	2
.LC88:
	.ascii	"json_replace\000"
	.align	2
.LC89:
	.ascii	"json_set\000"
	.align	2
.LC90:
	.ascii	"json_type\000"
	.align	2
.LC91:
	.ascii	"json_valid\000"
	.align	2
	.type	aFunc.8339, %object
	.size	aFunc.8339, 240
aFunc.8339:
	.word	.LC79
	.word	1
	.word	0
	.word	jsonRemoveFunc
	.word	.LC80
	.word	-1
	.word	0
	.word	jsonArrayFunc
	.word	.LC81
	.word	1
	.word	0
	.word	jsonArrayLengthFunc
	.word	.LC81
	.word	2
	.word	0
	.word	jsonArrayLengthFunc
	.word	.LC82
	.word	-1
	.word	0
	.word	jsonExtractFunc
	.word	.LC83
	.word	-1
	.word	0
	.word	jsonSetFunc
	.word	.LC84
	.word	-1
	.word	0
	.word	jsonObjectFunc
	.word	.LC85
	.word	2
	.word	0
	.word	jsonPatchFunc
	.word	.LC86
	.word	1
	.word	0
	.word	jsonQuoteFunc
	.word	.LC87
	.word	-1
	.word	0
	.word	jsonRemoveFunc
	.word	.LC88
	.word	-1
	.word	0
	.word	jsonReplaceFunc
	.word	.LC89
	.word	-1
	.word	1
	.word	jsonSetFunc
	.word	.LC90
	.word	1
	.word	0
	.word	jsonTypeFunc
	.word	.LC90
	.word	2
	.word	0
	.word	jsonTypeFunc
	.word	.LC91
	.word	1
	.word	0
	.word	jsonValidFunc
	.align	2
	.type	enc.8356, %object
	.size	enc.8356, 4
enc.8356:
	.word	2099201
	.align	2
.LC92:
	.ascii	"json_group_array\000"
	.align	2
.LC93:
	.ascii	"json_group_object\000"
	.align	2
	.type	aAgg.8351, %object
	.size	aAgg.8351, 40
aAgg.8351:
	.word	.LC92
	.word	1
	.word	jsonArrayStep
	.word	jsonArrayFinal
	.word	jsonArrayValue
	.word	.LC93
	.word	2
	.word	jsonObjectStep
	.word	jsonObjectFinal
	.word	jsonObjectValue
	.align	2
.LC94:
	.ascii	"json_each\000"
	.align	2
.LC95:
	.ascii	"json_tree\000"
	.align	2
	.type	aMod.8355, %object
	.size	aMod.8355, 16
aMod.8355:
	.word	.LC94
	.word	jsonEachModule
	.word	.LC95
	.word	jsonTreeModule
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
