	.file	"161081794.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
	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	.L16
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L18
.L16:
	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
.L18:
	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	.L20
	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
.L20:
	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	.L21
	mov	edx, DWORD PTR -228[rbp]
	mov	rax, QWORD PTR -240[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L24
.L21:
	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	.L19
.L24:
	nop
.L19:
	mov	rax, QWORD PTR -200[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L23
	call	__stack_chk_fail@PLT
.L23:
	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	.L26
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	jsonGrow
	test	eax, eax
	jne	.L28
.L26:
	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	.L25
.L28:
	nop
.L25:
	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	.L32
	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	.L29
	cmp	BYTE PTR -1[rbp], 123
	je	.L29
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L29
.L32:
	nop
.L29:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	jsonAppendSeparator, .-jsonAppendSeparator
	.section	.rodata
.LC8:
	.string	"the_stack_data/161081794.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
	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	.L34
	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	.L49
.L34:
	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	.L36
.L48:
	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	.L50
	cmp	BYTE PTR -5[rbp], 92
	jne	.L38
.L50:
	nop
.L37:
	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	.L39
	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	.L51
.L39:
	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	.L40
.L38:
	cmp	BYTE PTR -5[rbp], 31
	ja	.L40
	movzx	eax, BYTE PTR aSpecial.25[rip+8]
	cmp	al, 98
	je	.L41
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 311
	lea	rsi, .LC8[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L41:
	movzx	eax, BYTE PTR aSpecial.25[rip+12]
	cmp	al, 102
	je	.L42
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 312
	lea	rsi, .LC8[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L42:
	movzx	eax, BYTE PTR aSpecial.25[rip+10]
	cmp	al, 110
	je	.L43
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 313
	lea	rsi, .LC8[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L43:
	movzx	eax, BYTE PTR aSpecial.25[rip+13]
	cmp	al, 114
	je	.L44
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 314
	lea	rsi, .LC8[rip]
	lea	rdi, .LC12[rip]
	call	__assert_fail@PLT
.L44:
	movzx	eax, BYTE PTR aSpecial.25[rip+9]
	cmp	al, 116
	je	.L45
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 315
	lea	rsi, .LC8[rip]
	lea	rdi, .LC13[rip]
	call	__assert_fail@PLT
.L45:
	movzx	eax, BYTE PTR -5[rbp]
	cdqe
	lea	rdx, aSpecial.25[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L46
	movzx	eax, BYTE PTR -5[rbp]
	cdqe
	lea	rdx, aSpecial.25[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -5[rbp], al
	jmp	.L37
.L46:
	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	.L47
	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	.L52
.L47:
	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
.L40:
	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
.L36:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jb	.L48
	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	.L33
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 331
	lea	rsi, .LC8[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L49:
	nop
	jmp	.L33
.L51:
	nop
	jmp	.L33
.L52:
	nop
.L33:
	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	.L54
	cmp	eax, 5
	jg	.L55
	cmp	eax, 2
	jg	.L56
	test	eax, eax
	jg	.L57
	jmp	.L55
.L56:
	cmp	eax, 3
	je	.L58
	jmp	.L55
.L54:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 4
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L59
.L57:
	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	.L59
.L58:
	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	.L60
	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	.L59
.L60:
	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	.L59
.L55:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 33[rax]
	test	al, al
	jne	.L63
	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
.L63:
	nop
.L59:
	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	.L65
	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	.L66
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 464[rax]
	jmp	.L67
.L66:
	mov	rax, -1
.L67:
	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
.L65:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L69
	lea	rcx, __PRETTY_FUNCTION__.23[rip]
	mov	edx, 393
	lea	rsi, .LC8[rip]
	lea	rdi, .LC17[rip]
	call	__assert_fail@PLT
.L69:
	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	.L71
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	jmp	.L73
.L71:
	mov	eax, 1
.L73:
	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->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
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 24
	test	eax, eax
	je	.L77
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L78
	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	.L76
.L78:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L77:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	eax, 7
	ja	.L80
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L82[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L82[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L82:
	.long	.L80-.L82
	.long	.L87-.L82
	.long	.L86-.L82
	.long	.L85-.L82
	.long	.L85-.L82
	.long	.L84-.L82
	.long	.L83-.L82
	.long	.L81-.L82
	.text
.L80:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L88
	lea	rcx, __PRETTY_FUNCTION__.22[rip]
	mov	edx, 453
	lea	rsi, .LC8[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L88:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 4
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L76
.L87:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 4
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L76
.L86:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 5
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L76
.L84:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L85
	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	.L76
.L85:
	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	.L76
.L83:
	mov	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L89
.L91:
	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	.L90
	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
.L90:
	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
.L89:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -8[rbp], eax
	jbe	.L91
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L103
	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	.L89
.L103:
	nop
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 93
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L76
.L81:
	mov	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 123
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L95
.L97:
	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	.L96
	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
.L96:
	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
.L95:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jbe	.L97
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L104
	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	.L95
.L104:
	nop
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 125
	mov	rdi, rax
	call	jsonAppendChar
	nop
.L76:
	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	.L106
	call	__stack_chk_fail@PLT
.L106:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	jsonReturnJson, .-jsonReturnJson
	.section	.rodata
	.align 8
.LC19:
	.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	.L108
	cmp	DWORD PTR -4[rbp], 57
	jle	.L109
.L108:
	cmp	DWORD PTR -4[rbp], 96
	jle	.L110
	cmp	DWORD PTR -4[rbp], 102
	jle	.L109
.L110:
	cmp	DWORD PTR -4[rbp], 64
	jle	.L111
	cmp	DWORD PTR -4[rbp], 70
	jle	.L109
.L111:
	lea	rcx, __PRETTY_FUNCTION__.21[rip]
	mov	edx, 539
	lea	rsi, .LC8[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L109:
	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
.LC20:
	.string	"safe_isxdigit(z[0])"
.LC21:
	.string	"safe_isxdigit(z[1])"
.LC22:
	.string	"safe_isxdigit(z[2])"
.LC23:
	.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	.L114
	lea	rcx, __PRETTY_FUNCTION__.20[rip]
	mov	edx, 553
	lea	rsi, .LC8[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L114:
	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	.L115
	lea	rcx, __PRETTY_FUNCTION__.20[rip]
	mov	edx, 554
	lea	rsi, .LC8[rip]
	lea	rdi, .LC21[rip]
	call	__assert_fail@PLT
.L115:
	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	.L116
	lea	rcx, __PRETTY_FUNCTION__.20[rip]
	mov	edx, 555
	lea	rsi, .LC8[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L116:
	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	.L117
	lea	rcx, __PRETTY_FUNCTION__.20[rip]
	mov	edx, 556
	lea	rsi, .LC8[rip]
	lea	rdi, .LC23[rip]
	call	__assert_fail@PLT
.L117:
	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
.LC24:
	.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	.L120
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L122[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L122[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L122:
	.long	.L120-.L122
	.long	.L127-.L122
	.long	.L126-.L122
	.long	.L125-.L122
	.long	.L124-.L122
	.long	.L123-.L122
	.long	.L121-.L122
	.long	.L121-.L122
	.text
.L120:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L128
	lea	rcx, __PRETTY_FUNCTION__.19[rip]
	mov	edx, 574
	lea	rsi, .LC8[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L128:
	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	.L129
.L127:
	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	.L129
.L126:
	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	.L129
.L125:
	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	.L131
	add	QWORD PTR -32[rbp], 1
	jmp	.L131
.L140:
	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	.L132
	movabs	rax, 922337203685477580
	cmp	QWORD PTR -40[rbp], rax
	jg	.L162
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L135
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L163
.L135:
	cmp	DWORD PTR -44[rbp], 9
	je	.L164
	cmp	DWORD PTR -44[rbp], 8
	jne	.L132
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L165
	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
.L138:
	jmp	.L129
.L132:
	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
.L131:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L139
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L140
.L139:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L141
	neg	QWORD PTR -40[rbp]
.L141:
	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	.L129
.L134:
.L162:
	nop
	jmp	.L124
.L163:
	nop
	jmp	.L124
.L164:
	nop
	jmp	.L124
.L165:
	nop
.L124:
	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	.L129
.L123:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L142
	lea	rcx, __PRETTY_FUNCTION__.19[rip]
	mov	edx, 633
	lea	rsi, .LC8[rip]
	lea	rdi, .LC24[rip]
	call	__assert_fail@PLT
.L142:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 2
	test	eax, eax
	jne	.L143
	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	.L129
.L143:
	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	.L145
	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	.L129
.L145:
	mov	DWORD PTR -64[rbp], 1
	mov	DWORD PTR -60[rbp], 0
	jmp	.L146
.L161:
	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	.L147
	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	.L148
.L147:
	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	.L149
	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	.L166
	cmp	DWORD PTR -52[rbp], 127
	ja	.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	rax, rdx
	mov	edx, DWORD PTR -52[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L148
.L152:
	cmp	DWORD PTR -52[rbp], 2047
	ja	.L154
	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	.L148
.L154:
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 64512
	cmp	eax, 55296
	jne	.L155
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 6
	cmp	DWORD PTR -64[rbp], eax
	jnb	.L155
	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	.L155
	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	.L155
	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	.L155
	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	.L148
.L155:
	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	.L148
.L149:
	cmp	BYTE PTR -65[rbp], 98
	jne	.L156
	mov	BYTE PTR -65[rbp], 8
	jmp	.L157
.L156:
	cmp	BYTE PTR -65[rbp], 102
	jne	.L158
	mov	BYTE PTR -65[rbp], 12
	jmp	.L157
.L158:
	cmp	BYTE PTR -65[rbp], 110
	jne	.L159
	mov	BYTE PTR -65[rbp], 10
	jmp	.L157
.L159:
	cmp	BYTE PTR -65[rbp], 114
	jne	.L160
	mov	BYTE PTR -65[rbp], 13
	jmp	.L157
.L160:
	cmp	BYTE PTR -65[rbp], 116
	jne	.L157
	mov	BYTE PTR -65[rbp], 9
.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	rdx, rax
	movzx	eax, BYTE PTR -65[rbp]
	mov	BYTE PTR [rdx], al
.L148:
	add	DWORD PTR -64[rbp], 1
.L146:
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1
	cmp	DWORD PTR -64[rbp], eax
	jb	.L161
	jmp	.L151
.L166:
	nop
.L151:
	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	.L129
.L121:
	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
.L129:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	jsonReturn, .-jsonReturn
	.section	.rodata
.LC25:
	.string	"pParse->nNode>=pParse->nAlloc"
.LC26:
	.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	.L168
	lea	rcx, __PRETTY_FUNCTION__.18[rip]
	mov	edx, 739
	lea	rsi, .LC8[rip]
	lea	rdi, .LC25[rip]
	call	__assert_fail@PLT
.L168:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L169
	mov	eax, -1
	jmp	.L170
.L169:
	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	.L171
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 32[rax], 1
	mov	eax, -1
	jmp	.L170
.L171:
	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	.L172
	lea	rcx, __PRETTY_FUNCTION__.18[rip]
	mov	edx, 749
	lea	rsi, .LC8[rip]
	lea	rdi, .LC26[rip]
	call	__assert_fail@PLT
.L172:
	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
.L170:
	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	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jb	.L174
	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	.L175
.L174:
	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
.L175:
	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	.L177
.L180:
	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	.L178
	mov	eax, 0
	jmp	.L179
.L178:
	add	DWORD PTR -4[rbp], 1
.L177:
	cmp	DWORD PTR -4[rbp], 3
	jle	.L180
	mov	eax, 1
.L179:
	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	.L182
.L183:
	add	DWORD PTR -44[rbp], 1
.L182:
	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	.L183
	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	.L184
	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	.L185
	mov	eax, -1
	jmp	.L186
.L185:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L187
.L188:
	add	DWORD PTR -28[rbp], 1
.L187:
	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	.L188
	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	.L189
	mov	eax, -1
	jmp	.L186
.L189:
	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	.L190
	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	.L191
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	add	edx, 1
	cmp	eax, edx
	jne	.L191
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L186
.L191:
	mov	eax, -1
	jmp	.L186
.L190:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L192
	mov	eax, -1
	jmp	.L186
.L192:
	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	.L193
	mov	eax, -1
	jmp	.L186
.L193:
	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	.L194
.L195:
	add	DWORD PTR -28[rbp], 1
.L194:
	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	.L195
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L196
	mov	eax, -1
	jmp	.L186
.L196:
	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	.L197
	mov	eax, -1
	jmp	.L186
.L197:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L198
.L199:
	add	DWORD PTR -28[rbp], 1
.L198:
	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	.L199
	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	.L200
	add	DWORD PTR -28[rbp], 1
	jmp	.L187
.L200:
	cmp	BYTE PTR -32[rbp], 125
	je	.L256
	mov	eax, -1
	jmp	.L186
.L256:
	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	.L186
.L184:
	cmp	BYTE PTR -32[rbp], 91
	jne	.L203
	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	.L204
	mov	eax, -1
	jmp	.L186
.L204:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L205
.L206:
	add	DWORD PTR -28[rbp], 1
.L205:
	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	.L206
	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	.L207
	mov	eax, -1
	jmp	.L186
.L207:
	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	.L208
	cmp	DWORD PTR -20[rbp], -3
	jne	.L209
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	add	edx, 1
	cmp	eax, edx
	jne	.L209
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L186
.L209:
	mov	eax, -1
	jmp	.L186
.L208:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L210
.L211:
	add	DWORD PTR -28[rbp], 1
.L210:
	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	.L211
	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	.L212
	add	DWORD PTR -28[rbp], 1
	jmp	.L205
.L212:
	cmp	BYTE PTR -32[rbp], 93
	je	.L257
	mov	eax, -1
	jmp	.L186
.L257:
	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	.L186
.L203:
	cmp	BYTE PTR -32[rbp], 34
	jne	.L215
	mov	BYTE PTR -31[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
.L222:
	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	.L216
	mov	eax, -1
	jmp	.L186
.L216:
	cmp	BYTE PTR -32[rbp], 92
	jne	.L217
	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	.L218
	cmp	BYTE PTR -32[rbp], 92
	je	.L218
	cmp	BYTE PTR -32[rbp], 47
	je	.L218
	cmp	BYTE PTR -32[rbp], 98
	je	.L218
	cmp	BYTE PTR -32[rbp], 102
	je	.L218
	cmp	BYTE PTR -32[rbp], 110
	je	.L218
	cmp	BYTE PTR -32[rbp], 114
	je	.L218
	cmp	BYTE PTR -32[rbp], 116
	je	.L218
	cmp	BYTE PTR -32[rbp], 117
	jne	.L219
	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	.L219
.L218:
	mov	BYTE PTR -31[rbp], 2
	jmp	.L220
.L219:
	mov	eax, -1
	jmp	.L186
.L217:
	cmp	BYTE PTR -32[rbp], 34
	je	.L258
.L220:
	add	DWORD PTR -28[rbp], 1
	jmp	.L222
.L258:
	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	.L223
	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
.L223:
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	jmp	.L186
.L215:
	cmp	BYTE PTR -32[rbp], 110
	jne	.L224
	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	.L224
	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	.L224
	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	.L186
.L224:
	cmp	BYTE PTR -32[rbp], 116
	jne	.L225
	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	.L225
	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	.L225
	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	.L186
.L225:
	cmp	BYTE PTR -32[rbp], 102
	jne	.L226
	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	.L226
	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	.L226
	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	.L186
.L226:
	cmp	BYTE PTR -32[rbp], 45
	je	.L227
	cmp	BYTE PTR -32[rbp], 47
	jle	.L228
	cmp	BYTE PTR -32[rbp], 57
	jg	.L228
.L227:
	mov	BYTE PTR -30[rbp], 0
	mov	BYTE PTR -29[rbp], 0
	cmp	BYTE PTR -32[rbp], 48
	jg	.L229
	cmp	BYTE PTR -32[rbp], 45
	jne	.L230
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	jmp	.L231
.L230:
	mov	eax, DWORD PTR -44[rbp]
.L231:
	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	.L229
	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	.L229
	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	.L229
	mov	eax, -1
	jmp	.L186
.L229:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
.L246:
	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	.L232
	cmp	BYTE PTR -32[rbp], 57
	jle	.L259
.L232:
	cmp	BYTE PTR -32[rbp], 46
	jne	.L234
	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	.L235
	mov	eax, -1
	jmp	.L186
.L235:
	cmp	BYTE PTR -30[rbp], 0
	je	.L236
	mov	eax, -1
	jmp	.L186
.L236:
	mov	BYTE PTR -30[rbp], 1
	jmp	.L233
.L234:
	cmp	BYTE PTR -32[rbp], 101
	je	.L237
	cmp	BYTE PTR -32[rbp], 69
	jne	.L260
.L237:
	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	.L239
	mov	eax, -1
	jmp	.L186
.L239:
	cmp	BYTE PTR -29[rbp], 0
	je	.L240
	mov	eax, -1
	jmp	.L186
.L240:
	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	.L241
	cmp	BYTE PTR -32[rbp], 45
	jne	.L242
.L241:
	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
.L242:
	cmp	BYTE PTR -32[rbp], 47
	jle	.L243
	cmp	BYTE PTR -32[rbp], 57
	jle	.L261
.L243:
	mov	eax, -1
	jmp	.L186
.L259:
	nop
	jmp	.L233
.L261:
	nop
.L233:
	add	DWORD PTR -28[rbp], 1
	jmp	.L246
.L260:
	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	.L247
	mov	eax, -1
	jmp	.L186
.L247:
	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	.L248
	mov	esi, 4
	jmp	.L249
.L248:
	mov	esi, 3
.L249:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	jsonParseAddNode
	mov	eax, DWORD PTR -28[rbp]
	jmp	.L186
.L228:
	cmp	BYTE PTR -32[rbp], 125
	jne	.L250
	mov	eax, -2
	jmp	.L186
.L250:
	cmp	BYTE PTR -32[rbp], 93
	jne	.L251
	mov	eax, -3
	jmp	.L186
.L251:
	cmp	BYTE PTR -32[rbp], 0
	jne	.L252
	mov	eax, 0
	jmp	.L186
.L252:
	mov	eax, -1
.L186:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	jsonParseValue, .-jsonParseValue
	.section	.rodata
.LC27:
	.string	"pParse->iDepth==0"
.LC28:
	.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	.L263
	mov	eax, 1
	jmp	.L264
.L263:
	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	.L265
	mov	DWORD PTR -4[rbp], -1
.L265:
	cmp	DWORD PTR -4[rbp], 0
	jle	.L266
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR 34[rax]
	test	ax, ax
	je	.L268
	lea	rcx, __PRETTY_FUNCTION__.17[rip]
	mov	edx, 965
	lea	rsi, .LC8[rip]
	lea	rdi, .LC27[rip]
	call	__assert_fail@PLT
.L269:
	add	DWORD PTR -4[rbp], 1
.L268:
	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	.L269
	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	.L266
	mov	DWORD PTR -4[rbp], -1
.L266:
	cmp	DWORD PTR -4[rbp], 0
	jg	.L270
	cmp	QWORD PTR -32[rbp], 0
	je	.L271
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L272
	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	.L271
.L272:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 640[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, -1
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	call	rcx
.L271:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	jsonParseReset
	mov	eax, 1
	jmp	.L264
.L270:
	mov	eax, 0
.L264:
	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	.L274
	cmp	eax, 7
	je	.L275
	jmp	.L279
.L274:
	mov	DWORD PTR -12[rbp], 1
	jmp	.L277
.L278:
	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
.L277:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jbe	.L278
	jmp	.L279
.L275:
	mov	DWORD PTR -12[rbp], 1
	jmp	.L280
.L281:
	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
.L280:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jbe	.L281
	nop
.L279:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	jsonParseFillInParentage, .-jsonParseFillInParentage
	.section	.rodata
.LC29:
	.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	.L283
	lea	rcx, __PRETTY_FUNCTION__.16[rip]
	mov	edx, 1015
	lea	rsi, .LC8[rip]
	lea	rdi, .LC29[rip]
	call	__assert_fail@PLT
.L283:
	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	.L284
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 32[rax], 1
	mov	eax, 7
	jmp	.L285
.L284:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	jsonParseFillInParentage
	mov	eax, 0
.L285:
	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	.L287
	mov	eax, 0
	jmp	.L288
.L287:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L289
.L295:
	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	.L290
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L291
.L290:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L292
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L292
	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	.L292
	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	.L293
.L292:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -36[rbp], eax
	jbe	.L293
	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
.L293:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -32[rbp], eax
	jnb	.L294
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -32[rbp], eax
.L294:
	add	DWORD PTR -44[rbp], 1
.L289:
	cmp	DWORD PTR -44[rbp], 3
	jle	.L295
.L291:
	cmp	QWORD PTR -24[rbp], 0
	je	.L296
	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	.L288
.L296:
	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	.L297
	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	.L288
.L297:
	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	.L298
	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	.L288
.L298:
	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
.L288:
	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	.L300
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	je	.L301
	mov	eax, 0
	jmp	.L302
.L301:
	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	.L302
.L300:
	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	.L303
	mov	eax, 0
	jmp	.L302
.L303:
	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
.L302:
	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	.L305
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L306
.L305:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L307
	mov	eax, 0
	jmp	.L306
.L307:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L308
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L309
	mov	eax, 0
	jmp	.L306
.L309:
	add	QWORD PTR -104[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L310
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -72[rbp], 1
	jmp	.L311
.L313:
	add	DWORD PTR -72[rbp], 1
.L311:
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L312
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L313
.L312:
	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	.L314
	add	DWORD PTR -72[rbp], 1
	jmp	.L315
.L314:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L306
.L310:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L316
.L318:
	add	DWORD PTR -72[rbp], 1
.L316:
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L317
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L317
	mov	edx, DWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L318
.L317:
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -64[rbp], eax
.L315:
	cmp	DWORD PTR -64[rbp], 0
	jne	.L319
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L306
.L319:
	mov	DWORD PTR -68[rbp], 1
	jmp	.L320
.L322:
	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	.L321
	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	.L306
.L321:
	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
.L320:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	jbe	.L322
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L358
	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	.L320
.L358:
	nop
	cmp	QWORD PTR -112[rbp], 0
	je	.L326
	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	.L327
	mov	eax, 0
	jmp	.L306
.L327:
	cmp	QWORD PTR -8[rbp], 0
	je	.L328
	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
.L328:
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L306
.L308:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L329
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 1
	jmp	.L330
.L331:
	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
.L330:
	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	.L331
	cmp	DWORD PTR -68[rbp], 1
	jbe	.L332
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L333
.L332:
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L334
	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	.L336
	mov	eax, 0
	jmp	.L306
.L338:
	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	.L337
	add	DWORD PTR -72[rbp], 1
.L337:
	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
.L336:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	jbe	.L338
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L359
	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	.L336
.L359:
	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	.L341
	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	.L341
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -68[rbp], 3
.L342:
	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	.L342
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jbe	.L343
	mov	eax, 0
	jmp	.L306
.L343:
	mov	eax, DWORD PTR -56[rbp]
	sub	DWORD PTR -72[rbp], eax
.L341:
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L333
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L306
.L334:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L306
.L333:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 6
	je	.L344
	mov	eax, 0
	jmp	.L306
.L344:
	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	.L345
.L348:
	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	.L346
	sub	DWORD PTR -72[rbp], 1
.L346:
	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
.L345:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	ja	.L347
	cmp	DWORD PTR -72[rbp], 0
	jne	.L348
	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	.L348
.L347:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L360
	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	.L345
.L360:
	nop
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	ja	.L352
	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	.L306
.L352:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L326
	cmp	QWORD PTR -112[rbp], 0
	je	.L326
	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	.L353
	mov	eax, 0
	jmp	.L306
.L353:
	cmp	QWORD PTR -16[rbp], 0
	je	.L354
	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
.L354:
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L306
.L329:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
.L326:
	mov	eax, 0
.L306:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	jsonLookupStep, .-jsonLookupStep
	.section	.rodata
.LC30:
	.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	.L362
	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	.L363
	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	.L365
.L363:
	mov	eax, 0
	jmp	.L365
.L362:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L366
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 7
	mov	rdi, rax
	call	jsonParseAddNode
	jmp	.L367
.L366:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 3
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L368
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 6
	mov	rdi, rax
	call	jsonParseAddNode
	jmp	.L367
.L368:
	mov	eax, 0
	jmp	.L365
.L367:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	je	.L369
	mov	eax, 0
	jmp	.L365
.L369:
	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
.L365:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	jsonLookupAppend, .-jsonLookupAppend
	.section	.rodata
.LC31:
	.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, .LC31[rip]
	mov	eax, 0
	call	rdx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	jsonPathSyntaxError, .-jsonPathSyntaxError
	.section	.rodata
.LC32:
	.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	.L373
	mov	eax, 0
	jmp	.L381
.L373:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	je	.L375
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L376
.L375:
	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	.L384
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L381
.L384:
	nop
.L376:
	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	.L377
	cmp	QWORD PTR -64[rbp], 0
	jne	.L383
.L377:
	lea	rcx, __PRETTY_FUNCTION__.15[rip]
	mov	edx, 1329
	lea	rsi, .LC8[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L383:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	jsonPathSyntaxError
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L379
	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	.L380
.L379:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	rdx
.L380:
	mov	eax, 0
.L381:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L382
	call	__stack_chk_fail@PLT
.L382:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	jsonLookup, .-jsonLookup
	.section	.rodata
	.align 8
.LC33:
	.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, .LC33[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
.LC34:
	.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	.L387
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1360
	lea	rsi, .LC8[rip]
	lea	rdi, .LC34[rip]
	call	__assert_fail@PLT
.L387:
	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	.L388
.L392:
	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	.L389
	cmp	eax, 7
	je	.L390
	jmp	.L391
.L389:
	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	.L391
.L390:
	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
.L391:
	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
.L388:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jle	.L392
	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	.L394
	call	__stack_chk_fail@PLT
.L394:
	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	.L396
.L397:
	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
.L396:
	mov	eax, DWORD PTR -148[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jl	.L397
	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	.L398
	call	__stack_chk_fail@PLT
.L398:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	jsonArrayFunc, .-jsonArrayFunc
	.section	.rodata
.LC35:
	.string	"p->nNode"
	.align 8
.LC36:
	.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	.L410
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L402
	lea	rcx, __PRETTY_FUNCTION__.13[rip]
	mov	edx, 1501
	lea	rsi, .LC8[rip]
	lea	rdi, .LC35[rip]
	call	__assert_fail@PLT
.L402:
	cmp	DWORD PTR -60[rbp], 2
	jne	.L403
	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	.L404
.L403:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L404:
	cmp	QWORD PTR -24[rbp], 0
	je	.L411
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 6
	jne	.L406
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 32
	test	eax, eax
	je	.L407
	lea	rcx, __PRETTY_FUNCTION__.13[rip]
	mov	edx, 1512
	lea	rsi, .LC8[rip]
	lea	rdi, .LC36[rip]
	call	__assert_fail@PLT
.L407:
	mov	DWORD PTR -36[rbp], 1
	jmp	.L408
.L409:
	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
.L408:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -36[rbp], eax
	jbe	.L409
.L406:
	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	.L399
.L410:
	nop
	jmp	.L399
.L411:
	nop
.L399:
	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	.L426
	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	.L427
	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	.L416
.L422:
	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	.L428
	cmp	DWORD PTR -188[rbp], 2
	jle	.L419
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonAppendSeparator
	cmp	QWORD PTR -152[rbp], 0
	je	.L420
	lea	rcx, -144[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonRenderNode
	jmp	.L421
.L420:
	lea	rax, -144[rbp]
	mov	edx, 4
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	jsonAppendRaw
	jmp	.L421
.L419:
	cmp	QWORD PTR -152[rbp], 0
	je	.L421
	mov	rcx, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
.L421:
	add	DWORD PTR -172[rbp], 1
.L416:
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L422
	jmp	.L418
.L428:
	nop
.L418:
	cmp	DWORD PTR -188[rbp], 2
	jle	.L423
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jne	.L423
	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
.L423:
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonReset
	jmp	.L412
.L426:
	nop
	jmp	.L412
.L427:
	nop
.L412:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L425
	call	__stack_chk_fail@PLT
.L425:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	jsonExtractFunc, .-jsonExtractFunc
	.section	.rodata
	.align 8
.LC37:
	.string	"iTarget>=0 && iTarget<pParse->nNode"
	.align 8
.LC38:
	.string	"(pPatch->jnFlags & JNODE_APPEND)==0"
.LC39:
	.string	"pPatch[i].eType==JSON_STRING"
	.align 8
.LC40:
	.string	"pPatch[i].jnFlags & JNODE_LABEL"
	.align 8
.LC41:
	.string	"(pPatch[i].jnFlags & JNODE_RAW)==0"
.LC42:
	.string	"pTarget[j].eType==JSON_STRING"
	.align 8
.LC43:
	.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	.L430
	mov	rax, QWORD PTR -72[rbp]
	jmp	.L431
.L430:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -60[rbp], eax
	jb	.L432
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1580
	lea	rsi, .LC8[rip]
	lea	rdi, .LC37[rip]
	call	__assert_fail@PLT
.L432:
	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	.L433
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1582
	lea	rsi, .LC8[rip]
	lea	rdi, .LC38[rip]
	call	__assert_fail@PLT
.L433:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L434
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	jsonRemoveAllNulls
	mov	rax, QWORD PTR -72[rbp]
	jmp	.L431
.L434:
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	DWORD PTR -48[rbp], 1
	jmp	.L435
.L452:
	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	.L436
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1591
	lea	rsi, .LC8[rip]
	lea	rdi, .LC39[rip]
	call	__assert_fail@PLT
.L436:
	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	.L437
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1592
	lea	rsi, .LC8[rip]
	lea	rdi, .LC40[rip]
	call	__assert_fail@PLT
.L437:
	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	.L438
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1595
	lea	rsi, .LC8[rip]
	lea	rdi, .LC41[rip]
	call	__assert_fail@PLT
.L438:
	mov	DWORD PTR -44[rbp], 1
	jmp	.L439
.L449:
	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	.L440
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1597
	lea	rsi, .LC8[rip]
	lea	rdi, .LC42[rip]
	call	__assert_fail@PLT
.L440:
	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	.L441
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1598
	lea	rsi, .LC8[rip]
	lea	rdi, .LC43[rip]
	call	__assert_fail@PLT
.L441:
	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	.L442
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 1599
	lea	rsi, .LC8[rip]
	lea	rdi, .LC41[rip]
	call	__assert_fail@PLT
.L442:
	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	.L443
	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	.L443
	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	.L453
	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	.L446
	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	.L454
.L446:
	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	.L448
	mov	eax, 0
	jmp	.L431
.L448:
	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	.L454
	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	.L454
.L443:
	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
.L439:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -44[rbp], eax
	jb	.L449
	jmp	.L445
.L453:
	nop
	jmp	.L445
.L454:
	nop
.L445:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -44[rbp], eax
	jb	.L450
	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	.L450
	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	.L451
	mov	eax, 0
	jmp	.L431
.L451:
	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
.L450:
	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
.L435:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -48[rbp], eax
	jb	.L452
	mov	rax, QWORD PTR -24[rbp]
.L431:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	jsonMergePatch, .-jsonMergePatch
	.section	.rodata
.LC44:
	.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	.L464
	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	.L458
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L455
.L458:
	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	.L459
	movzx	eax, BYTE PTR -80[rbp]
	test	al, al
	jne	.L459
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 1655
	lea	rsi, .LC8[rip]
	lea	rdi, .LC44[rip]
	call	__assert_fail@PLT
.L459:
	cmp	QWORD PTR -120[rbp], 0
	je	.L460
	mov	rcx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturnJson
	jmp	.L461
.L460:
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	rdx
.L461:
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	jsonParseReset
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L455
.L464:
	nop
.L455:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L463
	call	__stack_chk_fail@PLT
.L463:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	jsonPatchFunc, .-jsonPatchFunc
	.section	.rodata
	.align 8
.LC45:
	.string	"json_object() requires an even number of arguments"
	.align 8
.LC46:
	.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	.L466
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 640[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	lea	rsi, .LC45[rip]
	mov	rdi, rax
	call	rcx
	jmp	.L465
.L466:
	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	.L468
.L470:
	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	.L469
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rcx, QWORD PTR 640[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	lea	rsi, .LC46[rip]
	mov	rdi, rax
	call	rcx
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonReset
	jmp	.L465
.L469:
	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
.L468:
	mov	eax, DWORD PTR -160[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jl	.L470
	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
.L465:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L472
	call	__stack_chk_fail@PLT
.L472:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	jsonObjectFunc, .-jsonObjectFunc
	.section	.rodata
.LC47:
	.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	.L486
	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	.L487
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L477
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 1725
	lea	rsi, .LC8[rip]
	lea	rdi, .LC47[rip]
	call	__assert_fail@PLT
.L477:
	mov	DWORD PTR -84[rbp], 1
	jmp	.L478
.L483:
	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	.L488
	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	.L489
	cmp	QWORD PTR -72[rbp], 0
	je	.L482
	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
.L482:
	add	DWORD PTR -84[rbp], 1
.L478:
	mov	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -84[rbp], eax
	jb	.L483
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 4
	test	eax, eax
	jne	.L490
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturnJson
	jmp	.L480
.L488:
	nop
	jmp	.L480
.L489:
	nop
	jmp	.L480
.L490:
	nop
.L480:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L473
.L486:
	nop
	jmp	.L473
.L487:
	nop
.L473:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L485
	call	__stack_chk_fail@PLT
.L485:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	jsonRemoveFunc, .-jsonRemoveFunc
	.section	.rodata
.LC48:
	.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	.L505
	mov	eax, DWORD PTR -108[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L494
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	call	jsonWrongNumArgs
	jmp	.L491
.L494:
	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	.L506
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L496
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 1762
	lea	rsi, .LC8[rip]
	lea	rdi, .LC47[rip]
	call	__assert_fail@PLT
.L496:
	mov	DWORD PTR -84[rbp], 1
	jmp	.L497
.L501:
	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	.L507
	cmp	QWORD PTR -72[rbp], 0
	je	.L500
	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
.L500:
	add	DWORD PTR -84[rbp], 2
.L497:
	mov	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -84[rbp], eax
	jb	.L501
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L502
	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	.L499
.L502:
	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	.L499
.L507:
	nop
.L499:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L491
.L505:
	nop
	jmp	.L491
.L506:
	nop
.L491:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L504
	call	__stack_chk_fail@PLT
.L504:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	jsonReplaceFunc, .-jsonReplaceFunc
	.section	.rodata
.LC49:
	.string	"set"
.LC50:
	.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	.L526
	mov	eax, DWORD PTR -108[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L511
	cmp	DWORD PTR -84[rbp], 0
	je	.L512
	lea	rax, .LC49[rip]
	jmp	.L513
.L512:
	lea	rax, .LC50[rip]
.L513:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	jsonWrongNumArgs
	jmp	.L508
.L511:
	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	.L527
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jne	.L515
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 1811
	lea	rsi, .LC8[rip]
	lea	rdi, .LC47[rip]
	call	__assert_fail@PLT
.L515:
	mov	DWORD PTR -88[rbp], 1
	jmp	.L516
.L522:
	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	.L517
	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	.L518
.L517:
	movzx	eax, BYTE PTR -31[rbp]
	test	al, al
	jne	.L528
	cmp	QWORD PTR -72[rbp], 0
	je	.L520
	mov	eax, DWORD PTR -92[rbp]
	test	eax, eax
	jne	.L521
	cmp	DWORD PTR -84[rbp], 0
	je	.L520
.L521:
	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
.L520:
	add	DWORD PTR -88[rbp], 2
.L516:
	mov	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -88[rbp], eax
	jb	.L522
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 8
	test	eax, eax
	je	.L523
	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	.L518
.L523:
	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	.L518
.L528:
	nop
.L518:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	jsonParseReset
	jmp	.L508
.L526:
	nop
	jmp	.L508
.L527:
	nop
.L508:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L525
	call	__stack_chk_fail@PLT
.L525:
	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	.L534
	cmp	DWORD PTR -44[rbp], 2
	jne	.L532
	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	.L533
.L532:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L533:
	cmp	QWORD PTR -24[rbp], 0
	je	.L529
	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	.L529
.L534:
	nop
.L529:
	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	.L540
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L538
	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	.L539
.L538:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rax, 1
	jbe	.L539
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	jsonAppendChar
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L539:
	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
.L540:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	jsonArrayStep, .-jsonArrayStep
	.section	.rodata
.LC51:
	.string	"pStr->bStatic"
.LC52:
	.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	.L542
	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	.L543
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 33[rax]
	cmp	al, 1
	jne	.L544
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
.L544:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L545
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 1917
	lea	rsi, .LC8[rip]
	lea	rdi, .LC51[rip]
	call	__assert_fail@PLT
.L543:
	cmp	DWORD PTR -28[rbp], 0
	je	.L546
	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	.L547
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 464[rax]
	jmp	.L548
.L547:
	mov	rax, -1
.L548:
	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	.L545
.L546:
	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	.L545
.L542:
	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, .LC52[rip]
	mov	rdi, rax
	call	r8
.L545:
	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
	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	.L552
.L561:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rdx, rax
	jb	.L553
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], 1
	jmp	.L551
.L553:
	cmp	BYTE PTR -29[rbp], 34
	jne	.L555
	cmp	DWORD PTR -24[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -24[rbp], eax
	jmp	.L556
.L555:
	cmp	BYTE PTR -29[rbp], 92
	jne	.L557
	add	DWORD PTR -28[rbp], 1
	jmp	.L556
.L557:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L556
	cmp	BYTE PTR -29[rbp], 123
	je	.L558
	cmp	BYTE PTR -29[rbp], 91
	jne	.L559
.L558:
	add	DWORD PTR -20[rbp], 1
.L559:
	cmp	BYTE PTR -29[rbp], 125
	je	.L560
	cmp	BYTE PTR -29[rbp], 93
	jne	.L556
.L560:
	sub	DWORD PTR -20[rbp], 1
.L556:
	add	DWORD PTR -28[rbp], 1
.L552:
	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	.L561
	cmp	DWORD PTR -24[rbp], 0
	jne	.L561
	cmp	DWORD PTR -20[rbp], 0
	jne	.L561
	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
.L551:
	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	.L566
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L564
	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	.L565
.L564:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rax, 1
	jbe	.L565
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	jsonAppendChar
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
.L565:
	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
.L566:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	jsonObjectStep, .-jsonObjectStep
	.section	.rodata
.LC53:
	.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	.L568
	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	.L569
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 33[rax]
	cmp	al, 1
	jne	.L570
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rdx, QWORD PTR 1096[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
.L570:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 32[rax]
	test	al, al
	jne	.L571
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 2024
	lea	rsi, .LC8[rip]
	lea	rdi, .LC51[rip]
	call	__assert_fail@PLT
.L569:
	cmp	DWORD PTR -28[rbp], 0
	je	.L572
	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	.L573
	mov	rax, QWORD PTR sqlite3_api[rip]
	mov	rax, QWORD PTR 464[rax]
	jmp	.L574
.L573:
	mov	rax, -1
.L574:
	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	.L571
.L572:
	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	.L571
.L568:
	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, .LC53[rip]
	mov	rdi, rax
	call	r8
.L571:
	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
.LC54:
	.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, .LC54[rip]
	mov	rdi, rax
	call	rdx
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L578
	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	.L579
	mov	eax, 7
	jmp	.L580
.L579:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 24
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
.L578:
	mov	eax, DWORD PTR -12[rbp]
.L580:
	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	.L584
	mov	eax, 7
	jmp	.L585
.L584:
	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
.L585:
	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	.L587
	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
.L587:
	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	.L595
	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	.L596
	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
.L596:
	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	.L597
	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	.L597
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	sub	eax, 1
	cmp	DWORD PTR -20[rbp], eax
	jne	.L598
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	jmp	.L597
.L598:
	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	.L597
.L595:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 24[rax]
	movzx	eax, al
	cmp	eax, 6
	je	.L599
	cmp	eax, 7
	je	.L600
	jmp	.L603
.L599:
	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	.L597
.L600:
	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	.L597
.L603:
	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
.L597:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	jsonEachNext, .-jsonEachNext
	.section	.rodata
.LC55:
	.string	"[%d]"
.LC56:
	.string	"pUp->eType==JSON_OBJECT"
.LC57:
	.string	"pNode->eType==JSON_STRING"
.LC58:
	.string	"pNode->jnFlags & JNODE_LABEL"
.LC59:
	.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	.L605
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 36
	mov	rdi, rax
	call	jsonAppendChar
	jmp	.L604
.L605:
	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	.L607
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, edx
	lea	rdx, .LC55[rip]
	mov	rsi, rax
	mov	edi, 30
	mov	eax, 0
	call	jsonPrintf
	jmp	.L604
.L607:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 7
	je	.L608
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 2223
	lea	rsi, .LC8[rip]
	lea	rdi, .LC56[rip]
	call	__assert_fail@PLT
.L608:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	jne	.L609
	sub	QWORD PTR -16[rbp], 16
.L609:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	je	.L610
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 2225
	lea	rsi, .LC8[rip]
	lea	rdi, .LC57[rip]
	call	__assert_fail@PLT
.L610:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	jne	.L611
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 2226
	lea	rsi, .LC8[rip]
	lea	rdi, .LC58[rip]
	call	__assert_fail@PLT
.L611:
	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, .LC59[rip]
	mov	rsi, rax
	mov	eax, 0
	call	jsonPrintf
.L604:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	jsonEachComputePath, .-jsonEachComputePath
	.section	.rodata
.LC60:
	.string	"$"
.LC61:
	.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	.L613
	mov	eax, DWORD PTR -196[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L615[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L615[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L615:
	.long	.L623-.L615
	.long	.L622-.L615
	.long	.L621-.L615
	.long	.L620-.L615
	.long	.L619-.L615
	.long	.L618-.L615
	.long	.L617-.L615
	.long	.L616-.L615
	.long	.L614-.L615
	.text
.L623:
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L645
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 7
	jne	.L626
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
	jmp	.L646
.L626:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 6
	jne	.L646
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L628
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L647
	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	.L630
.L628:
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -172[rbp], eax
.L630:
	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	.L646
.L622:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L631
	add	QWORD PTR -168[rbp], 16
.L631:
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
	jmp	.L625
.L621:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L632
	add	QWORD PTR -168[rbp], 16
.L632:
	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	.L625
.L620:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	and	eax, 64
	test	eax, eax
	je	.L633
	add	QWORD PTR -168[rbp], 16
.L633:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 5
	ja	.L648
	mov	rcx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	jsonReturn
	jmp	.L625
.L619:
	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	.L625
.L618:
	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	.L649
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L649
	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	.L649
.L617:
	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	.L636
	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	.L637
.L636:
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L638
	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	.L639
.L638:
	lea	rax, -144[rbp]
	mov	esi, 36
	mov	rdi, rax
	call	jsonAppendChar
.L639:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 6
	jne	.L640
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, DWORD PTR 8[rax]
	lea	rax, -144[rbp]
	mov	ecx, edx
	lea	rdx, .LC55[rip]
	mov	rsi, rax
	mov	edi, 30
	mov	eax, 0
	call	jsonPrintf
	jmp	.L637
.L640:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 24[rax]
	cmp	al, 7
	jne	.L637
	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, .LC59[rip]
	mov	rsi, rax
	mov	eax, 0
	call	jsonPrintf
.L637:
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	jsonResult
	jmp	.L625
.L616:
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L613
	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	.L625
.L613:
	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	.L641
	lea	rax, .LC60[rip]
	mov	QWORD PTR -160[rbp], rax
.L641:
	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	.L625
.L614:
	cmp	DWORD PTR -196[rbp], 8
	je	.L642
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 2321
	lea	rsi, .LC8[rip]
	lea	rdi, .LC61[rip]
	call	__assert_fail@PLT
.L642:
	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	.L625
.L645:
	nop
	jmp	.L625
.L646:
	nop
	jmp	.L625
.L647:
	nop
	jmp	.L625
.L648:
	nop
	jmp	.L625
.L649:
	nop
.L625:
	mov	eax, 0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L644
	call	__stack_chk_fail@PLT
.L644:
	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
.LC62:
	.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	.L653
.L658:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	jle	.L666
	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	.L656
	cmp	DWORD PTR -32[rbp], 1
	je	.L656
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 2362
	lea	rsi, .LC8[rip]
	lea	rdi, .LC62[rip]
	call	__assert_fail@PLT
.L656:
	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	.L657
	mov	eax, DWORD PTR -28[rbp]
	or	DWORD PTR -40[rbp], eax
	jmp	.L655
.L657:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 4[rax]
	cmp	al, 2
	jne	.L655
	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	.L655
.L666:
	nop
.L655:
	add	DWORD PTR -44[rbp], 1
	add	QWORD PTR -24[rbp], 12
.L653:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L658
	mov	eax, DWORD PTR -36[rbp]
	not	eax
	and	eax, DWORD PTR -40[rbp]
	test	eax, eax
	je	.L659
	mov	eax, 19
	jmp	.L664
.L659:
	mov	eax, DWORD PTR -16[rbp]
	test	eax, eax
	jns	.L661
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 40[rax], 0
	jmp	.L662
.L661:
	mov	rax, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC63[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	.L663
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 40[rax], 1
	jmp	.L662
.L663:
	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
.L662:
	mov	eax, 0
.L664:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L665
	call	__stack_chk_fail@PLT
.L665:
	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	.L668
	mov	eax, 0
	jmp	.L669
.L668:
	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	.L670
	mov	eax, 0
	jmp	.L669
.L670:
	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	.L671
	mov	eax, 7
	jmp	.L669
.L671:
	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	.L672
	mov	DWORD PTR -76[rbp], 7
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 80[rax]
	test	al, al
	jne	.L673
	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, .LC28[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	.L673
	mov	DWORD PTR -76[rbp], 1
.L673:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	jsonEachCursorReset
	mov	eax, DWORD PTR -76[rbp]
	jmp	.L669
.L672:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 25[rax]
	test	al, al
	je	.L674
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 48
	mov	rdi, rax
	call	jsonParseFindParents
	test	eax, eax
	je	.L674
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	jsonEachCursorReset
	mov	eax, 7
	jmp	.L669
.L674:
	mov	QWORD PTR -64[rbp], 0
	cmp	DWORD PTR -92[rbp], 3
	jne	.L675
	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	.L676
	mov	eax, 0
	jmp	.L669
.L676:
	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	.L678
	mov	eax, 7
	jmp	.L669
.L678:
	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	.L679
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -72[rbp], rax
	jmp	.L680
.L679:
	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
.L680:
	mov	rax, QWORD PTR -72[rbp]
	test	rax, rax
	je	.L681
	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	.L682
	mov	eax, 1
	jmp	.L669
.L682:
	mov	eax, 7
	jmp	.L669
.L681:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L685
	mov	eax, 0
	jmp	.L669
.L675:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -64[rbp], rax
.L685:
	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	.L686
	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	.L687
	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	.L688
	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	.L688
	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	.L688
.L687:
	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	.L688
.L686:
	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
.L688:
	mov	eax, 0
.L669:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L689
	call	__stack_chk_fail@PLT
.L689:
	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	.L691
.L693:
	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.2[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.2[rip]
	add	rax, rdx
	lea	r8, 12[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.2[rip+8]
	mov	edx, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR -4[rbp]
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 3
	mov	rcx, rax
	lea	rax, aFunc.2[rip]
	mov	rsi, QWORD PTR [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	push	0
	push	0
	mov	r9, rdi
	mov	ecx, 2049
	mov	rdi, rax
	call	r10
	add	rsp, 16
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L691:
	cmp	DWORD PTR -4[rbp], 14
	ja	.L692
	cmp	DWORD PTR -8[rbp], 0
	je	.L693
.L692:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L694
.L696:
	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	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+24]
	mov	rcx, 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	r9, 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+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	r8, jsonGroupInverse[rip]
	push	r8
	push	rdi
	push	rcx
	mov	r8d, 0
	mov	ecx, 1050625
	mov	rdi, rax
	call	r10
	add	rsp, 32
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L694:
	cmp	DWORD PTR -4[rbp], 1
	ja	.L695
	cmp	DWORD PTR -8[rbp], 0
	je	.L696
.L695:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L697
.L699:
	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
.L697:
	cmp	DWORD PTR -4[rbp], 1
	ja	.L698
	cmp	DWORD PTR -8[rbp], 0
	je	.L699
.L698:
	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.25, @object
	.size	aSpecial.25, 32
aSpecial.25:
	.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__.24, @object
	.size	__PRETTY_FUNCTION__.24, 17
__PRETTY_FUNCTION__.24:
	.string	"jsonAppendString"
	.align 8
	.type	__PRETTY_FUNCTION__.23, @object
	.size	__PRETTY_FUNCTION__.23, 11
__PRETTY_FUNCTION__.23:
	.string	"jsonResult"
	.align 8
	.type	__PRETTY_FUNCTION__.22, @object
	.size	__PRETTY_FUNCTION__.22, 15
__PRETTY_FUNCTION__.22:
	.string	"jsonRenderNode"
	.align 8
	.type	__PRETTY_FUNCTION__.21, @object
	.size	__PRETTY_FUNCTION__.21, 13
__PRETTY_FUNCTION__.21:
	.string	"jsonHexToInt"
	.align 8
	.type	__PRETTY_FUNCTION__.20, @object
	.size	__PRETTY_FUNCTION__.20, 14
__PRETTY_FUNCTION__.20:
	.string	"jsonHexToInt4"
	.align 8
	.type	__PRETTY_FUNCTION__.19, @object
	.size	__PRETTY_FUNCTION__.19, 11
__PRETTY_FUNCTION__.19:
	.string	"jsonReturn"
	.align 16
	.type	__PRETTY_FUNCTION__.18, @object
	.size	__PRETTY_FUNCTION__.18, 23
__PRETTY_FUNCTION__.18:
	.string	"jsonParseAddNodeExpand"
	.align 8
	.type	__PRETTY_FUNCTION__.17, @object
	.size	__PRETTY_FUNCTION__.17, 10
__PRETTY_FUNCTION__.17:
	.string	"jsonParse"
	.align 16
	.type	__PRETTY_FUNCTION__.16, @object
	.size	__PRETTY_FUNCTION__.16, 21
__PRETTY_FUNCTION__.16:
	.string	"jsonParseFindParents"
	.align 8
	.type	__PRETTY_FUNCTION__.15, @object
	.size	__PRETTY_FUNCTION__.15, 11
__PRETTY_FUNCTION__.15:
	.string	"jsonLookup"
	.align 16
	.type	__PRETTY_FUNCTION__.14, @object
	.size	__PRETTY_FUNCTION__.14, 19
__PRETTY_FUNCTION__.14:
	.string	"jsonRemoveAllNulls"
	.align 16
	.type	__PRETTY_FUNCTION__.13, @object
	.size	__PRETTY_FUNCTION__.13, 20
__PRETTY_FUNCTION__.13:
	.string	"jsonArrayLengthFunc"
	.align 8
	.type	__PRETTY_FUNCTION__.12, @object
	.size	__PRETTY_FUNCTION__.12, 15
__PRETTY_FUNCTION__.12:
	.string	"jsonMergePatch"
	.align 8
	.type	__PRETTY_FUNCTION__.11, @object
	.size	__PRETTY_FUNCTION__.11, 14
__PRETTY_FUNCTION__.11:
	.string	"jsonPatchFunc"
	.align 8
	.type	__PRETTY_FUNCTION__.10, @object
	.size	__PRETTY_FUNCTION__.10, 15
__PRETTY_FUNCTION__.10:
	.string	"jsonRemoveFunc"
	.align 16
	.type	__PRETTY_FUNCTION__.9, @object
	.size	__PRETTY_FUNCTION__.9, 16
__PRETTY_FUNCTION__.9:
	.string	"jsonReplaceFunc"
	.align 8
	.type	__PRETTY_FUNCTION__.8, @object
	.size	__PRETTY_FUNCTION__.8, 12
__PRETTY_FUNCTION__.8:
	.string	"jsonSetFunc"
	.align 16
	.type	__PRETTY_FUNCTION__.7, @object
	.size	__PRETTY_FUNCTION__.7, 17
__PRETTY_FUNCTION__.7:
	.string	"jsonArrayCompute"
	.align 16
	.type	__PRETTY_FUNCTION__.6, @object
	.size	__PRETTY_FUNCTION__.6, 18
__PRETTY_FUNCTION__.6:
	.string	"jsonObjectCompute"
	.align 16
	.type	__PRETTY_FUNCTION__.5, @object
	.size	__PRETTY_FUNCTION__.5, 20
__PRETTY_FUNCTION__.5:
	.string	"jsonEachComputePath"
	.align 8
	.type	__PRETTY_FUNCTION__.4, @object
	.size	__PRETTY_FUNCTION__.4, 15
__PRETTY_FUNCTION__.4:
	.string	"jsonEachColumn"
	.align 16
	.type	__PRETTY_FUNCTION__.3, @object
	.size	__PRETTY_FUNCTION__.3, 18
__PRETTY_FUNCTION__.3:
	.string	"jsonEachBestIndex"
.LC64:
	.string	"json"
.LC65:
	.string	"json_array"
.LC66:
	.string	"json_array_length"
.LC67:
	.string	"json_extract"
.LC68:
	.string	"json_insert"
.LC69:
	.string	"json_object"
.LC70:
	.string	"json_patch"
.LC71:
	.string	"json_quote"
.LC72:
	.string	"json_remove"
.LC73:
	.string	"json_replace"
.LC74:
	.string	"json_set"
.LC75:
	.string	"json_type"
.LC76:
	.string	"json_valid"
	.section	.data.rel.ro.local
	.align 32
	.type	aFunc.2, @object
	.size	aFunc.2, 360
aFunc.2:
	.quad	.LC64
	.long	1
	.long	0
	.quad	jsonRemoveFunc
	.quad	.LC65
	.long	-1
	.long	0
	.quad	jsonArrayFunc
	.quad	.LC66
	.long	1
	.long	0
	.quad	jsonArrayLengthFunc
	.quad	.LC66
	.long	2
	.long	0
	.quad	jsonArrayLengthFunc
	.quad	.LC67
	.long	-1
	.long	0
	.quad	jsonExtractFunc
	.quad	.LC68
	.long	-1
	.long	0
	.quad	jsonSetFunc
	.quad	.LC69
	.long	-1
	.long	0
	.quad	jsonObjectFunc
	.quad	.LC70
	.long	2
	.long	0
	.quad	jsonPatchFunc
	.quad	.LC71
	.long	1
	.long	0
	.quad	jsonQuoteFunc
	.quad	.LC72
	.long	-1
	.long	0
	.quad	jsonRemoveFunc
	.quad	.LC73
	.long	-1
	.long	0
	.quad	jsonReplaceFunc
	.quad	.LC74
	.long	-1
	.long	1
	.quad	jsonSetFunc
	.quad	.LC75
	.long	1
	.long	0
	.quad	jsonTypeFunc
	.quad	.LC75
	.long	2
	.long	0
	.quad	jsonTypeFunc
	.quad	.LC76
	.long	1
	.long	0
	.quad	jsonValidFunc
	.section	.rodata
.LC77:
	.string	"json_group_array"
.LC78:
	.string	"json_group_object"
	.section	.data.rel.ro.local
	.align 32
	.type	aAgg.1, @object
	.size	aAgg.1, 80
aAgg.1:
	.quad	.LC77
	.long	1
	.zero	4
	.quad	jsonArrayStep
	.quad	jsonArrayFinal
	.quad	jsonArrayValue
	.quad	.LC78
	.long	2
	.zero	4
	.quad	jsonObjectStep
	.quad	jsonObjectFinal
	.quad	jsonObjectValue
	.section	.rodata
.LC79:
	.string	"json_each"
.LC80:
	.string	"json_tree"
	.section	.data.rel.ro.local
	.align 32
	.type	aMod.0, @object
	.size	aMod.0, 32
aMod.0:
	.quad	.LC79
	.quad	jsonEachModule
	.quad	.LC80
	.quad	jsonTreeModule
	.section	.rodata
	.align 8
.LC63:
	.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	"161081794.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]
	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	.L22
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L24
.L22:
	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
.L24:
	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, .L30
	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	.L26
	ldr	r3, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L29
.L26:
	add	r3, fp, #8
	str	r3, [fp, #-28]
	ldr	r3, .L30+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	.L25
.L29:
	nop
.L25:
	ldr	r3, .L30
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L28
	bl	__stack_chk_fail
.L28:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, lr}
	add	sp, sp, #8
	bx	lr
.L31:
	.align	2
.L30:
	.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	.L33
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L35
.L33:
	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	.L32
.L35:
	nop
.L32:
	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	.L39
	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	.L36
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L36
	mov	r1, #44
	ldr	r0, [fp, #-16]
	bl	jsonAppendChar
	b	.L36
.L39:
	nop
.L36:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonAppendSeparator, .-jsonAppendSeparator
	.section	.rodata
	.align	2
.LC9:
	.ascii	"the_stack_data/161081794.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, #-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	.L41
	ldr	r3, [fp, #-48]
	add	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	jsonGrow
	mov	r3, r0
	cmp	r3, #0
	bne	.L56
.L41:
	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	.L43
.L55:
	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	.L57
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L45
.L57:
	nop
.L44:
	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	.L46
	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	.L58
.L46:
	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	.L47
.L45:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #31
	bhi	.L47
	ldr	r3, .L60
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r3, #98
	beq	.L48
	ldr	r3, .L60+4
	ldr	r2, .L60+8
	ldr	r1, .L60+12
	ldr	r0, .L60+16
	bl	__assert_fail
.L48:
	ldr	r3, .L60
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L49
	ldr	r3, .L60+4
	mov	r2, #312
	ldr	r1, .L60+12
	ldr	r0, .L60+20
	bl	__assert_fail
.L49:
	ldr	r3, .L60
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #110
	beq	.L50
	ldr	r3, .L60+4
	ldr	r2, .L60+24
	ldr	r1, .L60+12
	ldr	r0, .L60+28
	bl	__assert_fail
.L50:
	ldr	r3, .L60
	ldrb	r3, [r3, #13]	@ zero_extendqisi2
	cmp	r3, #114
	beq	.L51
	ldr	r3, .L60+4
	ldr	r2, .L60+32
	ldr	r1, .L60+12
	ldr	r0, .L60+36
	bl	__assert_fail
.L51:
	ldr	r3, .L60
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	cmp	r3, #116
	beq	.L52
	ldr	r3, .L60+4
	ldr	r2, .L60+40
	ldr	r1, .L60+12
	ldr	r0, .L60+44
	bl	__assert_fail
.L52:
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	ldr	r3, .L60
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L53
	ldrb	r2, [fp, #-33]	@ zero_extendqisi2
	ldr	r3, .L60
	ldrb	r3, [r3, r2]
	strb	r3, [fp, #-33]
	b	.L44
.L53:
	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	.L54
	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	.L59
.L54:
	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, .L60+48
	ldrb	r3, [r3, r2]
	strb	r3, [fp, #-33]
.L47:
	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]
.L43:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bcc	.L55
	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	.L40
	ldr	r3, .L60+4
	ldr	r2, .L60+52
	ldr	r1, .L60+12
	ldr	r0, .L60+56
	bl	__assert_fail
.L56:
	nop
	b	.L40
.L58:
	nop
	b	.L40
.L59:
	nop
.L40:
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L61:
	.align	2
.L60:
	.word	aSpecial.7682
	.word	__PRETTY_FUNCTION__.7683
	.word	311
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	313
	.word	.LC12
	.word	314
	.word	.LC13
	.word	315
	.word	.LC14
	.word	.LC15
	.word	331
	.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, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #452]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	cmp	r3, #5
	beq	.L63
	cmp	r3, #5
	bgt	.L64
	cmp	r3, #2
	bgt	.L65
	cmp	r3, #0
	bgt	.L66
	b	.L64
.L65:
	cmp	r3, #3
	beq	.L67
	b	.L64
.L63:
	mov	r2, #4
	ldr	r1, .L73+4
	ldr	r0, [fp, #-24]
	bl	jsonAppendRaw
	b	.L68
.L66:
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r0, [fp, #-28]
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, .L73
	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	.L68
.L67:
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #436]
	ldr	r0, [fp, #-28]
	blx	r3
	str	r0, [fp, #-20]
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #412]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #832]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r3, r0
	cmp	r3, #74
	bne	.L69
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	jsonAppendRaw
	b	.L68
.L69:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	jsonAppendString
	b	.L68
.L64:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L72
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2]
	mvn	r2, #0
	ldr	r1, .L73+8
	blx	r3
	ldr	r3, [fp, #-24]
	mov	r2, #2
	strb	r2, [r3, #25]
	ldr	r0, [fp, #-24]
	bl	jsonReset
.L72:
	nop
.L68:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L74:
	.align	2
.L73:
	.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	.L76
	ldr	r3, .L81
	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	.L77
	ldr	r1, .L81
	ldr	r1, [r1]
	ldr	r1, [r1, #232]
	b	.L78
.L77:
	mvn	r1, #0
.L78:
	mov	lr, #1
	str	lr, [sp, #4]
	str	r1, [sp]
	mov	r1, ip
	blx	r4
	ldr	r0, [fp, #-16]
	bl	jsonZero
.L76:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L80
	ldr	r3, .L81+4
	ldr	r2, .L81+8
	ldr	r1, .L81+12
	ldr	r0, .L81+16
	bl	__assert_fail
.L80:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L82:
	.align	2
.L81:
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.7704
	.word	393
	.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	.L84
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	b	.L86
.L84:
	mov	r3, #1
.L86:
	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, .L88
	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, .L88
	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}
.L89:
	.align	2
.L88:
	.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, .L91
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-8]
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L92:
	.align	2
.L91:
	.word	sqlite3_api
	.size	jsonParseFree, .-jsonParseFree
	.section	.rodata
	.align	2
.LC19:
	.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]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #24
	cmp	r3, #0
	beq	.L94
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L95
	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	.L93
.L95:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
.L94:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #1
	cmp	r3, #6
	ldrls	pc, [pc, r3, asl #2]
	b	.L97
.L99:
	.word	.L104
	.word	.L103
	.word	.L102
	.word	.L102
	.word	.L101
	.word	.L100
	.word	.L98
.L97:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L105
	ldr	r3, .L122
	ldr	r2, .L122+4
	ldr	r1, .L122+8
	ldr	r0, .L122+12
	bl	__assert_fail
.L105:
	mov	r2, #4
	ldr	r1, .L122+16
	ldr	r0, [fp, #-20]
	bl	jsonAppendRaw
	b	.L93
.L104:
	mov	r2, #4
	ldr	r1, .L122+20
	ldr	r0, [fp, #-20]
	bl	jsonAppendRaw
	b	.L93
.L103:
	mov	r2, #5
	ldr	r1, .L122+24
	ldr	r0, [fp, #-20]
	bl	jsonAppendRaw
	b	.L93
.L101:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L102
	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	.L93
.L102:
	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	.L93
.L100:
	mov	r3, #1
	str	r3, [fp, #-12]
	mov	r1, #91
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	b	.L106
.L108:
	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	.L107
	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
.L107:
	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]
.L106:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L108
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L120
	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	.L106
.L120:
	nop
	mov	r1, #93
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	b	.L93
.L98:
	mov	r3, #1
	str	r3, [fp, #-8]
	mov	r1, #123
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	b	.L112
.L114:
	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	.L113
	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
.L113:
	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]
.L112:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L114
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L121
	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	.L112
.L121:
	nop
	mov	r1, #125
	ldr	r0, [fp, #-20]
	bl	jsonAppendChar
	nop
.L93:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L123:
	.align	2
.L122:
	.word	__PRETTY_FUNCTION__.7720
	.word	453
	.word	.LC9
	.word	.LC19
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	jsonRenderNode, .-jsonRenderNode
	.section	.rodata
	.align	2
.LC20:
	.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, .L126
	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, .L126+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-148]
	blx	r3
	nop
	ldr	r3, .L126
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L125
	bl	__stack_chk_fail
.L125:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L127:
	.align	2
.L126:
	.word	.LC20
	.word	sqlite3_api
	.size	jsonReturnJson, .-jsonReturnJson
	.section	.rodata
	.align	2
.LC21:
	.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	.L129
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	ble	.L130
.L129:
	ldr	r3, [fp, #-8]
	cmp	r3, #96
	ble	.L131
	ldr	r3, [fp, #-8]
	cmp	r3, #102
	ble	.L130
.L131:
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	ble	.L132
	ldr	r3, [fp, #-8]
	cmp	r3, #70
	ble	.L130
.L132:
	ldr	r3, .L134
	ldr	r2, .L134+4
	ldr	r1, .L134+8
	ldr	r0, .L134+12
	bl	__assert_fail
.L130:
	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}
.L135:
	.align	2
.L134:
	.word	__PRETTY_FUNCTION__.7750
	.word	539
	.word	.LC9
	.word	.LC21
	.size	jsonHexToInt, .-jsonHexToInt
	.section	.rodata
	.align	2
.LC22:
	.ascii	"safe_isxdigit(z[0])\000"
	.align	2
.LC23:
	.ascii	"safe_isxdigit(z[1])\000"
	.align	2
.LC24:
	.ascii	"safe_isxdigit(z[2])\000"
	.align	2
.LC25:
	.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	.L137
	ldr	r3, .L142
	ldr	r2, .L142+4
	ldr	r1, .L142+8
	ldr	r0, .L142+12
	bl	__assert_fail
.L137:
	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	.L138
	ldr	r3, .L142
	ldr	r2, .L142+16
	ldr	r1, .L142+8
	ldr	r0, .L142+20
	bl	__assert_fail
.L138:
	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	.L139
	ldr	r3, .L142
	ldr	r2, .L142+24
	ldr	r1, .L142+8
	ldr	r0, .L142+28
	bl	__assert_fail
.L139:
	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	.L140
	ldr	r3, .L142
	mov	r2, #556
	ldr	r1, .L142+8
	ldr	r0, .L142+32
	bl	__assert_fail
.L140:
	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}
.L143:
	.align	2
.L142:
	.word	__PRETTY_FUNCTION__.7755
	.word	553
	.word	.LC9
	.word	.LC22
	.word	554
	.word	.LC23
	.word	555
	.word	.LC24
	.word	.LC25
	.size	jsonHexToInt4, .-jsonHexToInt4
	.section	.rodata
	.align	2
.LC26:
	.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	.L145
.L147:
	.word	.L152
	.word	.L151
	.word	.L150
	.word	.L149
	.word	.L148
	.word	.L146
	.word	.L146
.L145:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L153
	ldr	r3, .L191+8
	ldr	r2, .L191+12
	ldr	r1, .L191+16
	ldr	r0, .L191+20
	bl	__assert_fail
.L153:
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r3, [r3, #336]
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L154
.L152:
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r3, [r3, #328]
	mov	r1, #1
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L154
.L151:
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r3, [r3, #328]
	mov	r1, #0
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L154
.L150:
	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	.L156
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	b	.L156
.L164:
	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, .L191
	ldmia	r1, {r0-r1}
	cmp	r2, r0
	sbcs	r3, r3, r1
	blt	.L157
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adr	r1, .L191
	ldmia	r1, {r0-r1}
	cmp	r0, r2
	sbcs	r3, r1, r3
	blt	.L186
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L159
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L187
.L159:
	ldr	r3, [fp, #-48]
	cmp	r3, #9
	beq	.L188
	ldr	r3, [fp, #-48]
	cmp	r3, #8
	bne	.L157
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L189
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	mov	r2, #0
	mov	r3, #-2147483648
	ldr	r0, [fp, #-92]
	blx	r1
	nop
.L162:
	b	.L154
.L157:
	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]
.L156:
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L163
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L164
.L163:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L165
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	rsbs	r2, r2, #0
	rsc	r3, r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L165:
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-92]
	blx	r1
	b	.L154
.L186:
	nop
	b	.L149
.L187:
	nop
	b	.L149
.L188:
	nop
	b	.L149
.L189:
	nop
.L149:
	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, .L191+36
	ldr	r3, [r3]
	ldr	r1, [r3, #316]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-92]
	blx	r1
	b	.L154
.L148:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L166
	ldr	r3, .L191+8
	ldr	r2, .L191+24
	ldr	r1, .L191+16
	ldr	r0, .L191+28
	bl	__assert_fail
.L166:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L167
	ldr	r3, .L191+36
	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	.L154
.L167:
	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, .L191+36
	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	.L169
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-92]
	blx	r3
	b	.L154
.L169:
	mov	r3, #1
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L170
.L185:
	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	.L171
	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	.L172
.L171:
	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	.L173
	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	.L190
	ldr	r3, [fp, #-56]
	cmp	r3, #127
	bhi	.L176
	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	.L172
.L176:
	ldr	r3, [fp, #-56]
	cmp	r3, #2048
	bcs	.L178
	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	.L172
.L192:
	.align	3
.L191:
	.word	-858993460
	.word	214748364
	.word	__PRETTY_FUNCTION__.7762
	.word	574
	.word	.LC9
	.word	.LC19
	.word	633
	.word	.LC26
	.word	1047552
	.word	sqlite3_api
.L178:
	ldr	r3, [fp, #-56]
	and	r3, r3, #64512
	cmp	r3, #55296
	bne	.L179
	ldr	r3, [fp, #-68]
	sub	r3, r3, #6
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bcs	.L179
	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	.L179
	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	.L179
	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	.L179
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #10
	ldr	r2, .L191+32
	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	.L172
.L179:
	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	.L172
.L173:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #98
	bne	.L180
	mov	r3, #8
	strb	r3, [fp, #-81]
	b	.L181
.L180:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L182
	mov	r3, #12
	strb	r3, [fp, #-81]
	b	.L181
.L182:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L183
	mov	r3, #10
	strb	r3, [fp, #-81]
	b	.L181
.L183:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #114
	bne	.L184
	mov	r3, #13
	strb	r3, [fp, #-81]
	b	.L181
.L184:
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r3, #116
	bne	.L181
	mov	r3, #9
	strb	r3, [fp, #-81]
.L181:
	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]
.L172:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L170:
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bcc	.L185
	b	.L175
.L190:
	nop
.L175:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r2, [fp, #-72]
	ldr	r3, .L191+36
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-92]
	blx	r4
	b	.L154
.L146:
	ldr	r2, [fp, #-96]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	bl	jsonReturnJson
	nop
.L154:
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	jsonReturn, .-jsonReturn
	.section	.rodata
	.align	2
.LC27:
	.ascii	"pParse->nNode>=pParse->nAlloc\000"
	.align	2
.LC28:
	.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	.L194
	ldr	r3, .L199
	ldr	r2, .L199+4
	ldr	r1, .L199+8
	ldr	r0, .L199+12
	bl	__assert_fail
.L194:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L195
	mvn	r3, #0
	b	.L196
.L195:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r3, r3, #5
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L199+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	.L197
	ldr	r3, [fp, #-16]
	mov	r2, #1
	strb	r2, [r3, #20]
	mvn	r3, #0
	b	.L196
.L197:
	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	.L198
	ldr	r3, .L199
	ldr	r2, .L199+20
	ldr	r1, .L199+8
	ldr	r0, .L199+24
	bl	__assert_fail
.L198:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	jsonParseAddNode
	mov	r3, r0
.L196:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L200:
	.align	2
.L199:
	.word	__PRETTY_FUNCTION__.7804
	.word	739
	.word	.LC9
	.word	.LC27
	.word	sqlite3_api
	.word	749
	.word	.LC28
	.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	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bcc	.L202
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	jsonParseAddNodeExpand
	mov	r3, r0
	b	.L203
.L202:
	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]
.L203:
	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	.L205
.L208:
	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	.L206
	mov	r3, #0
	b	.L207
.L206:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L205:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	ble	.L208
	mov	r3, #1
.L207:
	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	.L210
.L211:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L210:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L290
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L211
	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	.L212
	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	.L213
	mvn	r3, #0
	b	.L214
.L213:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L215
.L216:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L215:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L290
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L216
	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	.L217
	mvn	r3, #0
	b	.L214
.L217:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	jsonParseValue
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L218
	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	.L219
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L219
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L214
.L219:
	mvn	r3, #0
	b	.L214
.L218:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L220
	mvn	r3, #0
	b	.L214
.L220:
	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	.L221
	mvn	r3, #0
	b	.L214
.L221:
	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	.L222
.L223:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L222:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L290
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L223
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L224
	mvn	r3, #0
	b	.L214
.L224:
	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	.L225
	mvn	r3, #0
	b	.L214
.L225:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	b	.L226
.L227:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L226:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L290
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L227
	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	.L228
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L215
.L228:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L284
	mvn	r3, #0
	b	.L214
.L284:
	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	.L214
.L212:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L231
	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	.L232
	mvn	r3, #0
	b	.L214
.L232:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L233
.L234:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L233:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L290
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L234
	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	.L235
	mvn	r3, #0
	b	.L214
.L235:
	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	.L236
	ldr	r3, [fp, #-12]
	cmn	r3, #3
	bne	.L237
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L237
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L214
.L237:
	mvn	r3, #0
	b	.L214
.L236:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	b	.L238
.L239:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L238:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L290
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L239
	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	.L240
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L233
.L240:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L285
	mvn	r3, #0
	b	.L214
.L285:
	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	.L214
.L231:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L243
	mov	r3, #0
	strb	r3, [fp, #-27]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L250:
	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	.L244
	mvn	r3, #0
	b	.L214
.L244:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L245
	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	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #98
	beq	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #110
	beq	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #114
	beq	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #116
	beq	.L246
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L247
	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	.L247
.L246:
	mov	r3, #2
	strb	r3, [fp, #-27]
	b	.L248
.L247:
	mvn	r3, #0
	b	.L214
.L245:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L286
.L248:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L250
.L286:
	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	.L251
	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]
.L251:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	b	.L214
.L243:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L252
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #4
	ldr	r1, .L290+4
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L252
	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	.L252
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	b	.L214
.L252:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #116
	bne	.L253
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #4
	ldr	r1, .L290+8
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L253
	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	.L253
	mov	r3, #0
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	b	.L214
.L253:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L254
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #5
	ldr	r1, .L290+12
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L254
	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	.L254
	mov	r3, #0
	mov	r2, #0
	mov	r1, #2
	ldr	r0, [fp, #-32]
	bl	jsonParseAddNode
	ldr	r3, [fp, #-36]
	add	r3, r3, #5
	b	.L214
.L254:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L255
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L256
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L256
.L255:
	mov	r3, #0
	strb	r3, [fp, #-26]
	mov	r3, #0
	strb	r3, [fp, #-25]
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #48
	bhi	.L257
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L258
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	b	.L259
.L258:
	ldr	r3, [fp, #-36]
.L259:
	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	.L257
	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	.L257
	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	.L257
	mvn	r3, #0
	b	.L214
.L257:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L274:
	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	.L260
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L287
.L260:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L262
	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	.L263
	mvn	r3, #0
	b	.L214
.L263:
	ldrb	r3, [fp, #-26]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L264
	mvn	r3, #0
	b	.L214
.L264:
	mov	r3, #1
	strb	r3, [fp, #-26]
	b	.L261
.L262:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #101
	beq	.L265
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #69
	bne	.L288
.L265:
	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	.L267
	mvn	r3, #0
	b	.L214
.L267:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L268
	mvn	r3, #0
	b	.L214
.L268:
	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	.L269
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L270
.L269:
	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]
.L270:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L271
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L289
.L271:
	mvn	r3, #0
	b	.L214
.L287:
	nop
	b	.L261
.L289:
	nop
.L261:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L274
.L288:
	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	.L275
	mvn	r3, #0
	b	.L214
.L275:
	ldrb	r3, [fp, #-26]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L276
	mov	r1, #4
	b	.L277
.L276:
	mov	r1, #3
.L277:
	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	.L214
.L256:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L278
	mvn	r3, #1
	b	.L214
.L278:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L279
	mvn	r3, #2
	b	.L214
.L279:
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L280
	mov	r3, #0
	b	.L214
.L280:
	mvn	r3, #0
.L214:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L291:
	.align	2
.L290:
	.word	jsonIsSpace
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	jsonParseValue, .-jsonParseValue
	.section	.rodata
	.align	2
.LC29:
	.ascii	"pParse->iDepth==0\000"
	.align	2
.LC30:
	.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	.L293
	mov	r3, #1
	b	.L294
.L293:
	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	.L295
	mvn	r3, #0
	str	r3, [fp, #-8]
.L295:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L296
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3, #22]
	cmp	r3, #0
	beq	.L298
	ldr	r3, .L303
	ldr	r2, .L303+4
	ldr	r1, .L303+8
	ldr	r0, .L303+12
	bl	__assert_fail
.L299:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L298:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L303+16
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L299
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L296
	mvn	r3, #0
	str	r3, [fp, #-8]
.L296:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L300
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L301
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L302
	ldr	r3, .L303+20
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-20]
	blx	r3
	b	.L301
.L302:
	ldr	r3, .L303+20
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, .L303+24
	ldr	r0, [fp, #-20]
	blx	r3
.L301:
	ldr	r0, [fp, #-16]
	bl	jsonParseReset
	mov	r3, #1
	b	.L294
.L300:
	mov	r3, #0
.L294:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L304:
	.align	2
.L303:
	.word	__PRETTY_FUNCTION__.7868
	.word	965
	.word	.LC9
	.word	.LC29
	.word	jsonIsSpace
	.word	sqlite3_api
	.word	.LC30
	.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	.L306
	cmp	r3, #7
	beq	.L307
	b	.L311
.L306:
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L309
.L310:
	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]
.L309:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L310
	b	.L311
.L307:
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L312
.L313:
	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]
.L312:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L313
	nop
.L311:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonParseFillInParentage, .-jsonParseFillInParentage
	.section	.rodata
	.align	2
.LC31:
	.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	.L315
	ldr	r3, .L318
	ldr	r2, .L318+4
	ldr	r1, .L318+8
	ldr	r0, .L318+12
	bl	__assert_fail
.L315:
	ldr	r3, .L318+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	.L316
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #20]
	mov	r3, #7
	b	.L317
.L316:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	jsonParseFillInParentage
	mov	r3, #0
.L317:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L319:
	.align	2
.L318:
	.word	__PRETTY_FUNCTION__.7893
	.word	1015
	.word	.LC9
	.word	.LC31
	.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, .L333
	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, .L333
	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	.L321
	mov	r3, #0
	b	.L322
.L321:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L323
.L329:
	ldr	r3, .L333
	ldr	r3, [r3]
	ldr	r2, [r3, #244]
	ldr	r1, [fp, #-40]
	ldr	r3, .L333+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	.L324
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L325
.L324:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L326
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L326
	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	.L326
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-44]
	b	.L327
.L326:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bls	.L327
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
.L327:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bcs	.L328
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-28]
.L328:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L323:
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	ble	.L329
.L325:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L330
	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	.L322
.L330:
	ldr	r3, .L333
	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	.L331
	ldr	r3, .L333
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-48]
	blx	r3
	mov	r3, #0
	b	.L322
.L331:
	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	.L332
	ldr	r3, .L333
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, #0
	b	.L322
.L332:
	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, .L333
	ldr	r3, [r3]
	ldr	r4, [r3, #368]
	ldr	r3, [fp, #-36]
	ldr	r1, .L333+4
	add	r1, r3, r1
	ldr	r3, .L333+8
	ldr	r2, [fp, #-16]
	ldr	r0, [fp, #-48]
	blx	r4
	ldr	r3, .L333
	ldr	r3, [r3]
	ldr	r2, [r3, #244]
	ldr	r1, [fp, #-36]
	ldr	r3, .L333+4
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, [fp, #-48]
	blx	r2
	mov	r3, r0
	nop
.L322:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L334:
	.align	2
.L333:
	.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	.L336
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L337
	mov	r3, #0
	b	.L338
.L337:
	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	.L338
.L336:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	cmp	r2, r3
	beq	.L339
	mov	r3, #0
	b	.L338
.L339:
	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
.L338:
	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	.L341
	ldr	r3, [fp, #-40]
	b	.L342
.L341:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L343
	mov	r3, #0
	b	.L342
.L343:
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L344
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L345
	mov	r3, #0
	b	.L342
.L345:
	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	.L346
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L347
.L349:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L347:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L348
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L349
.L348:
	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	.L350
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L351
.L350:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L342
.L346:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L352
.L354:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L352:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L353
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L353
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L354
.L353:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-48]
.L351:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L355
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L342
.L355:
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L356
.L358:
	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	.L357
	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	.L342
.L357:
	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]
.L356:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bls	.L358
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L394
	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	.L356
.L394:
	nop
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L362
	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	.L363
	mov	r3, #0
	b	.L342
.L363:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L364
	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]
.L364:
	ldr	r3, [fp, #-8]
	b	.L342
.L344:
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L365
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L366
.L367:
	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]
.L366:
	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	.L367
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	bls	.L368
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L369
.L368:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L370
	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	.L372
	mov	r3, #0
	b	.L342
.L374:
	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	.L373
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L373:
	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]
.L372:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bls	.L374
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L395
	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	.L372
.L395:
	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	.L377
	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	.L377
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #3
	str	r3, [fp, #-52]
.L378:
	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	.L378
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	bls	.L379
	mov	r3, #0
	b	.L342
.L379:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	str	r3, [fp, #-56]
.L377:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L369
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L342
.L370:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	mov	r3, #0
	b	.L342
.L369:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	beq	.L380
	mov	r3, #0
	b	.L342
.L380:
	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	.L381
.L384:
	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	.L382
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
.L382:
	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]
.L381:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bhi	.L383
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L384
	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	.L384
.L383:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L396
	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	.L381
.L396:
	nop
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bhi	.L388
	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	.L342
.L388:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L362
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L362
	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	.L389
	mov	r3, #0
	b	.L342
.L389:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L390
	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]
.L390:
	ldr	r3, [fp, #-20]
	b	.L342
.L365:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
.L362:
	mov	r3, #0
.L342:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonLookupStep, .-jsonLookupStep
	.section	.rodata
	.align	2
.LC32:
	.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	.L398
	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	.L399
	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	.L401
.L399:
	mov	r3, #0
	b	.L401
.L398:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L402
	mov	r3, #0
	mov	r2, #0
	mov	r1, #7
	ldr	r0, [fp, #-8]
	bl	jsonParseAddNode
	b	.L403
.L402:
	mov	r2, #3
	ldr	r1, .L406
	ldr	r0, [fp, #-12]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L404
	mov	r3, #0
	mov	r2, #0
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	jsonParseAddNode
	b	.L403
.L404:
	mov	r3, #0
	b	.L401
.L403:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L405
	mov	r3, #0
	b	.L401
.L405:
	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
.L401:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L407:
	.align	2
.L406:
	.word	.LC32
	.size	jsonLookupAppend, .-jsonLookupAppend
	.section	.rodata
	.align	2
.LC33:
	.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, .L410
	ldr	r3, [r3]
	ldr	r3, [r3, #276]
	ldr	r1, [fp, #-8]
	ldr	r0, .L410+4
	blx	r3
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L411:
	.align	2
.L410:
	.word	sqlite3_api
	.word	.LC33
	.size	jsonPathSyntaxError, .-jsonPathSyntaxError
	.section	.rodata
	.align	2
.LC34:
	.ascii	"zErr!=0 && pCtx!=0\000"
	.align	2
.LC35:
	.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, .L425
	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	.L413
	mov	r3, #0
	b	.L421
.L413:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	beq	.L415
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	b	.L416
.L415:
	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	.L424
	ldr	r3, [fp, #-16]
	b	.L421
.L424:
	nop
.L416:
	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	.L417
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L423
.L417:
	ldr	r3, .L425+4
	ldr	r2, .L425+8
	ldr	r1, .L425+12
	ldr	r0, .L425+16
	bl	__assert_fail
.L423:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	jsonPathSyntaxError
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L419
	ldr	r3, .L425+20
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-36]
	blx	r3
	ldr	r3, .L425+20
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-12]
	blx	r3
	b	.L420
.L419:
	ldr	r3, .L425+20
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-36]
	blx	r3
.L420:
	mov	r3, #0
.L421:
	ldr	r2, .L425
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L422
	bl	__stack_chk_fail
.L422:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L426:
	.align	2
.L425:
	.word	.LC35
	.word	__PRETTY_FUNCTION__.7986
	.word	1329
	.word	.LC9
	.word	.LC34
	.word	sqlite3_api
	.size	jsonLookup, .-jsonLookup
	.section	.rodata
	.align	2
.LC36:
	.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, .L428
	ldr	r3, [r3]
	ldr	r3, [r3, #276]
	ldr	r1, [fp, #-20]
	ldr	r0, .L428+4
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, .L428
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	blx	r3
	ldr	r3, .L428
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r0, [fp, #-8]
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L429:
	.align	2
.L428:
	.word	sqlite3_api
	.word	.LC36
	.size	jsonWrongNumArgs, .-jsonWrongNumArgs
	.section	.rodata
	.align	2
.LC37:
	.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	.L431
	ldr	r3, .L437
	mov	r2, #1360
	ldr	r1, .L437+4
	ldr	r0, .L437+8
	bl	__assert_fail
.L431:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	mov	r3, #2
	str	r3, [fp, #-12]
	b	.L432
.L436:
	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	.L433
	cmp	r3, #7
	beq	.L434
	b	.L435
.L433:
	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	.L435
.L434:
	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
.L435:
	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]
.L432:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	ble	.L436
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L438:
	.align	2
.L437:
	.word	__PRETTY_FUNCTION__.7997
	.word	.LC9
	.word	.LC37
	.size	jsonRemoveAllNulls, .-jsonRemoveAllNulls
	.section	.rodata
	.align	2
.LC38:
	.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, .L441
	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, .L441+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-144]
	blx	r3
	nop
	ldr	r3, .L441
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L440
	bl	__stack_chk_fail
.L440:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L442:
	.align	2
.L441:
	.word	.LC38
	.word	sqlite3_api
	.size	jsonQuoteFunc, .-jsonQuoteFunc
	.section	.rodata
	.align	2
.LC39:
	.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, .L447
	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	.L444
.L445:
	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]
.L444:
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	blt	.L445
	sub	r3, fp, #140
	mov	r1, #93
	mov	r0, r3
	bl	jsonAppendChar
	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, #-152]
	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	.LC39
	.word	sqlite3_api
	.size	jsonArrayFunc, .-jsonArrayFunc
	.section	.rodata
	.align	2
.LC40:
	.ascii	"p->nNode\000"
	.align	2
.LC41:
	.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	.L460
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L452
	ldr	r3, .L462
	ldr	r2, .L462+4
	ldr	r1, .L462+8
	ldr	r0, .L462+12
	bl	__assert_fail
.L452:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bne	.L453
	ldr	r3, .L462+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	.L454
.L453:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
.L454:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L461
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L456
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #32
	cmp	r3, #0
	beq	.L457
	ldr	r3, .L462
	ldr	r2, .L462+20
	ldr	r1, .L462+8
	ldr	r0, .L462+24
	bl	__assert_fail
.L457:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L458
.L459:
	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]
.L458:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bls	.L459
.L456:
	ldr	r3, .L462+16
	ldr	r3, [r3]
	ldr	r1, [r3, #332]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-40]
	blx	r1
	b	.L449
.L460:
	nop
	b	.L449
.L461:
	nop
.L449:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L463:
	.align	2
.L462:
	.word	__PRETTY_FUNCTION__.8029
	.word	1501
	.word	.LC9
	.word	.LC40
	.word	sqlite3_api
	.word	1512
	.word	.LC41
	.size	jsonArrayLengthFunc, .-jsonArrayLengthFunc
	.section	.rodata
	.align	2
.LC42:
	.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, .L481
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-164]
	cmp	r3, #1
	ble	.L478
	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	.L479
	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	.L468
.L474:
	ldr	r3, .L481+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	.L480
	ldr	r3, [fp, #-164]
	cmp	r3, #2
	ble	.L471
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonAppendSeparator
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	beq	.L472
	sub	r3, fp, #140
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-144]
	bl	jsonRenderNode
	b	.L473
.L472:
	sub	r3, fp, #140
	mov	r2, #4
	ldr	r1, .L481+8
	mov	r0, r3
	bl	jsonAppendRaw
	b	.L473
.L471:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	beq	.L473
	mov	r2, #0
	ldr	r1, [fp, #-160]
	ldr	r0, [fp, #-144]
	bl	jsonReturn
.L473:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L468:
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	blt	.L474
	b	.L470
.L480:
	nop
.L470:
	ldr	r3, [fp, #-164]
	cmp	r3, #2
	ble	.L475
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	bne	.L475
	sub	r3, fp, #140
	mov	r1, #93
	mov	r0, r3
	bl	jsonAppendChar
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonResult
	ldr	r3, .L481+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-160]
	blx	r3
.L475:
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonReset
	b	.L464
.L478:
	nop
	b	.L464
.L479:
	nop
.L464:
	ldr	r3, .L481
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L477
	bl	__stack_chk_fail
.L477:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L482:
	.align	2
.L481:
	.word	.LC42
	.word	sqlite3_api
	.word	.LC0
	.size	jsonExtractFunc, .-jsonExtractFunc
	.section	.rodata
	.align	2
.LC43:
	.ascii	"iTarget>=0 && iTarget<pParse->nNode\000"
	.align	2
.LC44:
	.ascii	"(pPatch->jnFlags & JNODE_APPEND)==0\000"
	.align	2
.LC45:
	.ascii	"pPatch[i].eType==JSON_STRING\000"
	.align	2
.LC46:
	.ascii	"pPatch[i].jnFlags & JNODE_LABEL\000"
	.align	2
.LC47:
	.ascii	"(pPatch[i].jnFlags & JNODE_RAW)==0\000"
	.align	2
.LC48:
	.ascii	"pTarget[j].eType==JSON_STRING\000"
	.align	2
.LC49:
	.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	.L484
	ldr	r3, [fp, #-56]
	b	.L485
.L484:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bcc	.L486
	ldr	r3, .L509
	ldr	r2, .L509+4
	ldr	r1, .L509+8
	ldr	r0, .L509+12
	bl	__assert_fail
.L486:
	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	.L487
	ldr	r3, .L509
	ldr	r2, .L509+16
	ldr	r1, .L509+8
	ldr	r0, .L509+20
	bl	__assert_fail
.L487:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L488
	ldr	r0, [fp, #-56]
	bl	jsonRemoveAllNulls
	ldr	r3, [fp, #-56]
	b	.L485
.L488:
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L489
.L506:
	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	.L490
	ldr	r3, .L509
	ldr	r2, .L509+24
	ldr	r1, .L509+8
	ldr	r0, .L509+28
	bl	__assert_fail
.L490:
	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	.L491
	ldr	r3, .L509
	ldr	r2, .L509+32
	ldr	r1, .L509+8
	ldr	r0, .L509+36
	bl	__assert_fail
.L491:
	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	.L492
	ldr	r3, .L509
	ldr	r2, .L509+40
	ldr	r1, .L509+8
	ldr	r0, .L509+44
	bl	__assert_fail
.L492:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L493
.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
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	beq	.L494
	ldr	r3, .L509
	ldr	r2, .L509+48
	ldr	r1, .L509+8
	ldr	r0, .L509+52
	bl	__assert_fail
.L494:
	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	.L495
	ldr	r3, .L509
	ldr	r2, .L509+56
	ldr	r1, .L509+8
	ldr	r0, .L509+60
	bl	__assert_fail
.L495:
	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	.L496
	ldr	r3, .L509
	ldr	r2, .L509+64
	ldr	r1, .L509+8
	ldr	r0, .L509+44
	bl	__assert_fail
.L496:
	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	.L497
	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	.L497
	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	.L507
	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	.L500
	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	.L508
.L500:
	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	.L502
	mov	r3, #0
	b	.L485
.L502:
	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	.L508
	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	.L508
.L497:
	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]
.L493:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bcc	.L503
	b	.L499
.L507:
	nop
	b	.L499
.L508:
	nop
.L499:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bcc	.L504
	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	.L504
	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	.L505
	mov	r3, #0
	b	.L485
.L505:
	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]
.L504:
	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]
.L489:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bcc	.L506
	ldr	r3, [fp, #-28]
.L485:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L510:
	.align	2
.L509:
	.word	__PRETTY_FUNCTION__.8056
	.word	1580
	.word	.LC9
	.word	.LC43
	.word	1582
	.word	.LC44
	.word	1591
	.word	.LC45
	.word	1592
	.word	.LC46
	.word	1595
	.word	.LC47
	.word	1597
	.word	.LC48
	.word	1598
	.word	.LC49
	.word	1599
	.size	jsonMergePatch, .-jsonMergePatch
	.section	.rodata
	.align	2
.LC50:
	.ascii	"pResult!=0 || x.oom\000"
	.align	2
.LC51:
	.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, .L521
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L521+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	.L520
	ldr	r3, .L521+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	.L514
	sub	r3, fp, #72
	mov	r0, r3
	bl	jsonParseReset
	b	.L511
.L514:
	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	.L515
	ldrb	r3, [fp, #-52]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L515
	ldr	r3, .L521+8
	ldr	r2, .L521+12
	ldr	r1, .L521+16
	ldr	r0, .L521+20
	bl	__assert_fail
.L515:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L516
	mov	r2, #0
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-76]
	bl	jsonReturnJson
	b	.L517
.L516:
	ldr	r3, .L521+4
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-80]
	blx	r3
.L517:
	sub	r3, fp, #72
	mov	r0, r3
	bl	jsonParseReset
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L511
.L520:
	nop
.L511:
	ldr	r3, .L521
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L519
	bl	__stack_chk_fail
.L519:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L522:
	.align	2
.L521:
	.word	.LC51
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8076
	.word	1655
	.word	.LC9
	.word	.LC50
	.size	jsonPatchFunc, .-jsonPatchFunc
	.section	.rodata
	.align	2
.LC52:
	.ascii	"json_object() requires an even number of arguments\000"
	.align	2
.LC53:
	.ascii	"json_object() labels must be TEXT\000"
	.align	2
.LC54:
	.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, .L531
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-164]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L524
	ldr	r3, .L531+4
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, .L531+8
	ldr	r0, [fp, #-160]
	blx	r3
	b	.L523
.L524:
	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	.L526
.L528:
	ldr	r3, .L531+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	.L527
	ldr	r3, .L531+4
	ldr	r3, [r3]
	ldr	r3, [r3, #320]
	mvn	r2, #0
	ldr	r1, .L531+12
	ldr	r0, [fp, #-160]
	blx	r3
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonReset
	b	.L523
.L527:
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonAppendSeparator
	ldr	r3, .L531+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, .L531+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]
.L526:
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-164]
	cmp	r2, r3
	blt	.L528
	sub	r3, fp, #140
	mov	r1, #125
	mov	r0, r3
	bl	jsonAppendChar
	sub	r3, fp, #140
	mov	r0, r3
	bl	jsonResult
	ldr	r3, .L531+4
	ldr	r3, [r3]
	ldr	r3, [r3, #836]
	mov	r1, #74
	ldr	r0, [fp, #-160]
	blx	r3
.L523:
	ldr	r3, .L531
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L530
	bl	__stack_chk_fail
.L530:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L532:
	.align	2
.L531:
	.word	.LC54
	.word	sqlite3_api
	.word	.LC52
	.word	.LC53
	.size	jsonObjectFunc, .-jsonObjectFunc
	.section	.rodata
	.align	2
.LC55:
	.ascii	"x.nNode\000"
	.align	2
.LC56:
	.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, .L551
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L546
	ldr	r3, .L551+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	.L547
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L537
	ldr	r3, .L551+8
	ldr	r2, .L551+12
	ldr	r1, .L551+16
	ldr	r0, .L551+20
	bl	__assert_fail
.L537:
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L538
.L543:
	ldr	r3, .L551+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	.L548
	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	.L549
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L542
	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]
.L542:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L538:
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bcc	.L543
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L550
	ldr	r3, [fp, #-32]
	mov	r2, #0
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	jsonReturnJson
	b	.L540
.L548:
	nop
	b	.L540
.L549:
	nop
	b	.L540
.L550:
	nop
.L540:
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L533
.L546:
	nop
	b	.L533
.L547:
	nop
.L533:
	ldr	r3, .L551
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L545
	bl	__stack_chk_fail
.L545:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L552:
	.align	2
.L551:
	.word	.LC56
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8098
	.word	1725
	.word	.LC9
	.word	.LC55
	.size	jsonRemoveFunc, .-jsonRemoveFunc
	.section	.rodata
	.align	2
.LC57:
	.ascii	"replace\000"
	.align	2
.LC58:
	.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, .L570
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L567
	ldr	r3, [fp, #-60]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L556
	ldr	r1, .L570+4
	ldr	r0, [fp, #-56]
	bl	jsonWrongNumArgs
	b	.L553
.L556:
	ldr	r3, .L570+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	.L568
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L558
	ldr	r3, .L570+12
	ldr	r2, .L570+16
	ldr	r1, .L570+20
	ldr	r0, .L570+24
	bl	__assert_fail
.L558:
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L559
.L563:
	ldr	r3, .L570+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	.L569
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L562
	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]
.L562:
	ldr	r3, [fp, #-52]
	add	r3, r3, #2
	str	r3, [fp, #-52]
.L559:
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bcc	.L563
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L564
	ldr	r3, .L570+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	.L561
.L564:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	jsonReturnJson
	b	.L561
.L569:
	nop
.L561:
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L553
.L567:
	nop
	b	.L553
.L568:
	nop
.L553:
	ldr	r3, .L570
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L566
	bl	__stack_chk_fail
.L566:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L571:
	.align	2
.L570:
	.word	.LC58
	.word	.LC57
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8112
	.word	1762
	.word	.LC9
	.word	.LC55
	.size	jsonReplaceFunc, .-jsonReplaceFunc
	.section	.rodata
	.align	2
.LC59:
	.ascii	"set\000"
	.align	2
.LC60:
	.ascii	"insert\000"
	.align	2
.LC61:
	.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, .L593
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L593+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	.L590
	ldr	r3, [fp, #-68]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L575
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L576
	ldr	r3, .L593+8
	b	.L577
.L576:
	ldr	r3, .L593+12
.L577:
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	jsonWrongNumArgs
	b	.L572
.L575:
	ldr	r3, .L593+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	.L591
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L579
	ldr	r3, .L593+16
	ldr	r2, .L593+20
	ldr	r1, .L593+24
	ldr	r0, .L593+28
	bl	__assert_fail
.L579:
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L580
.L586:
	ldr	r3, .L593+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	.L581
	ldr	r3, .L593+4
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-64]
	blx	r3
	b	.L582
.L581:
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L592
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L584
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L585
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L584
.L585:
	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]
.L584:
	ldr	r3, [fp, #-56]
	add	r3, r3, #2
	str	r3, [fp, #-56]
.L580:
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	bcc	.L586
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L587
	ldr	r3, .L593+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	.L582
.L587:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-72]
	ldr	r1, [fp, #-64]
	mov	r0, r3
	bl	jsonReturnJson
	b	.L582
.L592:
	nop
.L582:
	sub	r3, fp, #40
	mov	r0, r3
	bl	jsonParseReset
	b	.L572
.L590:
	nop
	b	.L572
.L591:
	nop
.L572:
	ldr	r3, .L593
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L589
	bl	__stack_chk_fail
.L589:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L594:
	.align	2
.L593:
	.word	.LC61
	.word	sqlite3_api
	.word	.LC59
	.word	.LC60
	.word	__PRETTY_FUNCTION__.8128
	.word	1811
	.word	.LC9
	.word	.LC55
	.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	.L600
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bne	.L598
	ldr	r3, .L601
	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	.L599
.L598:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
.L599:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L595
	ldr	r3, .L601
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L601+4
	ldr	r1, [r3, r2, lsl #2]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-32]
	blx	r4
	b	.L595
.L600:
	nop
.L595:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L602:
	.align	2
.L601:
	.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, .L604
	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}
.L605:
	.align	2
.L604:
	.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, .L611
	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	.L610
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L608
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	jsonInit
	mov	r1, #91
	ldr	r0, [fp, #-8]
	bl	jsonAppendChar
	b	.L609
.L608:
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #1
	bls	.L609
	mov	r1, #44
	ldr	r0, [fp, #-8]
	bl	jsonAppendChar
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L609:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	jsonAppendValue
.L610:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L612:
	.align	2
.L611:
	.word	sqlite3_api
	.size	jsonArrayStep, .-jsonArrayStep
	.section	.rodata
	.align	2
.LC62:
	.ascii	"pStr->bStatic\000"
	.align	2
.LC63:
	.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, .L621
	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	.L614
	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	.L615
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L616
	ldr	r3, .L621
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-32]
	blx	r3
.L616:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L617
	ldr	r3, .L621+4
	ldr	r2, .L621+8
	ldr	r1, .L621+12
	ldr	r0, .L621+16
	bl	__assert_fail
.L615:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L618
	ldr	r3, .L621
	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	.L619
	ldr	r3, .L621
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	b	.L620
.L619:
	mvn	r3, #0
.L620:
	ldr	r0, [fp, #-32]
	blx	r4
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #24]
	b	.L617
.L618:
	ldr	r3, .L621
	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	.L617
.L614:
	ldr	r3, .L621
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	mov	r3, #0
	mov	r2, #2
	ldr	r1, .L621+20
	ldr	r0, [fp, #-32]
	blx	r4
.L617:
	ldr	r3, .L621
	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}
.L622:
	.align	2
.L621:
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8158
	.word	1917
	.word	.LC9
	.word	.LC62
	.word	.LC63
	.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, .L636
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-40]
	blx	r3
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L626
.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
	bcc	.L627
	ldr	r1, [fp, #-20]
	mov	r2, #1
	mov	r3, #0
	str	r2, [r1, #16]
	str	r3, [r1, #20]
	b	.L625
.L627:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L629
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-28]
	b	.L630
.L629:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L631
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L630
.L631:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L630
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L632
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L633
.L632:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L633:
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L634
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L630
.L634:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L630:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L626:
	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	.L635
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L635
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L635
	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
.L625:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L637:
	.align	2
.L636:
	.word	sqlite3_api
	.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, .L643
	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	.L642
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L640
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	jsonInit
	mov	r1, #123
	ldr	r0, [fp, #-16]
	bl	jsonAppendChar
	b	.L641
.L640:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #1
	bls	.L641
	mov	r1, #44
	ldr	r0, [fp, #-16]
	bl	jsonAppendChar
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L641:
	ldr	r3, .L643
	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, .L643
	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
.L642:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L644:
	.align	2
.L643:
	.word	sqlite3_api
	.size	jsonObjectStep, .-jsonObjectStep
	.section	.rodata
	.align	2
.LC64:
	.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, .L653
	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	.L646
	mov	r1, #125
	ldr	r0, [fp, #-24]
	bl	jsonAppendChar
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L647
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #25]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L648
	ldr	r3, .L653
	ldr	r3, [r3]
	ldr	r3, [r3, #548]
	ldr	r0, [fp, #-32]
	blx	r3
.L648:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L649
	ldr	r3, .L653+4
	ldr	r2, .L653+8
	ldr	r1, .L653+12
	ldr	r0, .L653+16
	bl	__assert_fail
.L647:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L650
	ldr	r3, .L653
	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	.L651
	ldr	r3, .L653
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	b	.L652
.L651:
	mvn	r3, #0
.L652:
	ldr	r0, [fp, #-32]
	blx	r4
	ldr	r3, [fp, #-24]
	mov	r2, #1
	strb	r2, [r3, #24]
	b	.L649
.L650:
	ldr	r3, .L653
	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	.L649
.L646:
	ldr	r3, .L653
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	mov	r3, #0
	mov	r2, #2
	ldr	r1, .L653+20
	ldr	r0, [fp, #-32]
	blx	r4
.L649:
	ldr	r3, .L653
	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}
.L654:
	.align	2
.L653:
	.word	sqlite3_api
	.word	__PRETTY_FUNCTION__.8192
	.word	2024
	.word	.LC9
	.word	.LC62
	.word	.LC64
	.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
.LC65:
	.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, .L661
	ldr	r3, [r3]
	ldr	r3, [r3, #200]
	ldr	r1, .L661+4
	ldr	r0, [fp, #-16]
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L658
	ldr	r3, .L661
	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	.L659
	mov	r3, #7
	b	.L660
.L659:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
.L658:
	ldr	r3, [fp, #-12]
.L660:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L662:
	.align	2
.L661:
	.word	sqlite3_api
	.word	.LC65
	.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, .L665
	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}
.L666:
	.align	2
.L665:
	.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, .L670
	ldr	r3, [r3]
	ldr	r3, [r3, #272]
	mov	r0, #64
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L668
	mov	r3, #7
	b	.L669
.L668:
	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
.L669:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L671:
	.align	2
.L670:
	.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	.L673
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	strb	r2, [r3, #21]
.L673:
	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, .L676
	ldr	r3, [r3]
	ldr	r3, [r3, #232]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #24]
	mov	r0, r2
	blx	r3
	ldr	r3, .L676
	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}
.L677:
	.align	2
.L676:
	.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, .L680
	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}
.L681:
	.align	2
.L680:
	.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	.L685
	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	.L686
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
.L686:
	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	.L687
	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	.L687
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L688
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	b	.L687
.L688:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L687
.L685:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #6
	beq	.L689
	cmp	r3, #7
	beq	.L690
	b	.L693
.L689:
	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	.L687
.L690:
	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	.L687
.L693:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	nop
.L687:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jsonEachNext, .-jsonEachNext
	.section	.rodata
	.align	2
.LC66:
	.ascii	"[%d]\000"
	.align	2
.LC67:
	.ascii	"pUp->eType==JSON_OBJECT\000"
	.align	2
.LC68:
	.ascii	"pNode->eType==JSON_STRING\000"
	.align	2
.LC69:
	.ascii	"pNode->jnFlags & JNODE_LABEL\000"
	.align	2
.LC70:
	.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	.L695
	mov	r1, #36
	ldr	r0, [fp, #-28]
	bl	jsonAppendChar
	b	.L694
.L695:
	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	.L697
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, .L702
	ldr	r1, [fp, #-28]
	mov	r0, #30
	bl	jsonPrintf
	b	.L694
.L697:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #7
	beq	.L698
	ldr	r3, .L702+4
	ldr	r2, .L702+8
	ldr	r1, .L702+12
	ldr	r0, .L702+16
	bl	__assert_fail
.L698:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L699
	ldr	r3, [fp, #-16]
	sub	r3, r3, #12
	str	r3, [fp, #-16]
.L699:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	beq	.L700
	ldr	r3, .L702+4
	ldr	r2, .L702+20
	ldr	r1, .L702+12
	ldr	r0, .L702+24
	bl	__assert_fail
.L700:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	bne	.L701
	ldr	r3, .L702+4
	ldr	r2, .L702+28
	ldr	r1, .L702+12
	ldr	r0, .L702+32
	bl	__assert_fail
.L701:
	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, .L702+36
	ldr	r1, [fp, #-28]
	bl	jsonPrintf
.L694:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L703:
	.align	2
.L702:
	.word	.LC66
	.word	__PRETTY_FUNCTION__.8264
	.word	2223
	.word	.LC9
	.word	.LC67
	.word	2225
	.word	.LC68
	.word	2226
	.word	.LC69
	.word	.LC70
	.size	jsonEachComputePath, .-jsonEachComputePath
	.section	.rodata
	.align	2
.LC71:
	.ascii	"$\000"
	.align	2
.LC72:
	.ascii	"i==JEACH_JSON\000"
	.align	2
.LC73:
	.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, .L742
	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	.L705
.L707:
	.word	.L715
	.word	.L714
	.word	.L713
	.word	.L712
	.word	.L711
	.word	.L710
	.word	.L709
	.word	.L708
	.word	.L706
.L715:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L737
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #7
	bne	.L718
	mov	r2, #0
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-172]
	bl	jsonReturn
	b	.L738
.L718:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L738
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L720
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L739
	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	.L722
.L720:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-168]
.L722:
	ldr	r3, .L742+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	.L738
.L714:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L723
	ldr	r3, [fp, #-172]
	add	r3, r3, #12
	str	r3, [fp, #-172]
.L723:
	mov	r2, #0
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-172]
	bl	jsonReturn
	b	.L717
.L713:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L724
	ldr	r3, [fp, #-172]
	add	r3, r3, #12
	str	r3, [fp, #-172]
.L724:
	ldr	r3, .L742+4
	ldr	r3, [r3]
	ldr	r4, [r3, #340]
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L742+8
	ldr	r1, [r3, r2, lsl #2]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-180]
	blx	r4
	b	.L717
.L712:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	and	r3, r3, #64
	cmp	r3, #0
	beq	.L725
	ldr	r3, [fp, #-172]
	add	r3, r3, #12
	str	r3, [fp, #-172]
.L725:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #5
	bhi	.L740
	mov	r2, #0
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-172]
	bl	jsonReturn
	b	.L717
.L711:
	ldr	r3, .L742+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	.L717
.L710:
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bls	.L741
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L741
	ldr	r3, .L742+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	.L741
.L709:
	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	.L728
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #12]
	sub	r3, fp, #156
	mov	r1, r3
	ldr	r0, [fp, #-160]
	bl	jsonEachComputePath
	b	.L729
.L728:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L730
	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	.L731
.L730:
	sub	r3, fp, #156
	mov	r1, #36
	mov	r0, r3
	bl	jsonAppendChar
.L731:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L732
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	sub	r1, fp, #156
	ldr	r2, .L742+12
	mov	r0, #30
	bl	jsonPrintf
	b	.L729
.L732:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #20]	@ zero_extendqisi2
	cmp	r3, #7
	bne	.L729
	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, .L742+16
	bl	jsonPrintf
.L729:
	sub	r3, fp, #156
	mov	r0, r3
	bl	jsonResult
	b	.L717
.L708:
	ldr	r3, [fp, #-160]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L705
	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	.L717
.L705:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	bne	.L733
	ldr	r3, .L742+20
	str	r3, [fp, #-164]
.L733:
	ldr	r3, .L742+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	.L717
.L706:
	ldr	r3, [fp, #-184]
	cmp	r3, #8
	beq	.L734
	ldr	r3, .L742+24
	ldr	r2, .L742+28
	ldr	r1, .L742+32
	ldr	r0, .L742+36
	bl	__assert_fail
.L734:
	ldr	r3, .L742+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	.L717
.L737:
	nop
	b	.L717
.L738:
	nop
	b	.L717
.L739:
	nop
	b	.L717
.L740:
	nop
	b	.L717
.L741:
	nop
.L717:
	mov	r3, #0
	ldr	r2, .L742
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L736
	bl	__stack_chk_fail
.L736:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L743:
	.align	2
.L742:
	.word	.LC73
	.word	sqlite3_api
	.word	jsonType
	.word	.LC66
	.word	.LC70
	.word	.LC71
	.word	__PRETTY_FUNCTION__.8287
	.word	2321
	.word	.LC9
	.word	.LC72
	.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
.LC74:
	.ascii	"iCol==0 || iCol==1\000"
	.align	2
.LC75:
	.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, .L761
	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	.L747
.L752:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #7
	ble	.L760
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	sub	r3, r3, #8
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L750
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	beq	.L750
	ldr	r3, .L761+4
	ldr	r2, .L761+8
	ldr	r1, .L761+12
	ldr	r0, .L761+16
	bl	__assert_fail
.L750:
	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	.L751
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-20]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L749
.L751:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L749
	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	.L749
.L760:
	nop
.L749:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	str	r3, [fp, #-28]
.L747:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L752
	ldr	r3, [fp, #-32]
	mvn	r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L753
	mov	r3, #19
	b	.L758
.L753:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L755
	ldr	r3, [fp, #-52]
	mov	r2, #0
	str	r2, [r3, #20]
	b	.L756
.L755:
	ldr	r1, [fp, #-52]
	mov	r2, #0
	ldr	r3, .L761+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	.L757
	ldr	r3, [fp, #-52]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L756
.L757:
	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]
.L756:
	mov	r3, #0
.L758:
	ldr	r2, .L761
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L759
	bl	__stack_chk_fail
.L759:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L762:
	.align	2
.L761:
	.word	.LC75
	.word	__PRETTY_FUNCTION__.8302
	.word	2362
	.word	.LC9
	.word	.LC74
	.word	1072693248
	.size	jsonEachBestIndex, .-jsonEachBestIndex
	.section	.rodata
	.align	2
.LC76:
	.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, .L786
	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	.L764
	mov	r3, #0
	b	.L765
.L764:
	ldr	r3, .L786+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	.L766
	mov	r3, #0
	b	.L765
.L766:
	ldr	r3, .L786+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, .L786+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	.L767
	mov	r3, #7
	b	.L765
.L767:
	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	.L768
	mov	r3, #7
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #52]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L769
	ldr	r3, .L786+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, .L786+4
	ldr	r3, [r3]
	ldr	r3, [r3, #276]
	ldr	r2, [fp, #-72]
	ldr	r4, [r2]
	ldr	r0, .L786+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	.L769
	mov	r3, #1
	str	r3, [fp, #-64]
.L769:
	ldr	r0, [fp, #-56]
	bl	jsonEachCursorReset
	ldr	r3, [fp, #-64]
	b	.L765
.L768:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L770
	ldr	r3, [fp, #-56]
	add	r3, r3, #32
	mov	r0, r3
	bl	jsonParseFindParents
	mov	r3, r0
	cmp	r3, #0
	beq	.L770
	ldr	r0, [fp, #-56]
	bl	jsonEachCursorReset
	mov	r3, #7
	b	.L765
.L770:
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	cmp	r3, #3
	bne	.L771
	mov	r3, #0
	str	r3, [fp, #-68]
	ldr	r3, .L786+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	.L772
	mov	r3, #0
	b	.L765
.L772:
	ldr	r3, .L786+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, .L786+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	.L774
	mov	r3, #7
	b	.L765
.L774:
	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	.L775
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-68]
	b	.L776
.L775:
	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]
.L776:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L777
	ldr	r3, .L786+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	.L778
	mov	r3, #1
	b	.L765
.L778:
	mov	r3, #7
	b	.L765
.L777:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L781
	mov	r3, #0
	b	.L765
.L771:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-60]
.L781:
	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	.L782
	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	.L783
	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	.L784
	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	.L784
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	b	.L784
.L783:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	b	.L784
.L782:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #16]
.L784:
	mov	r3, #0
.L765:
	ldr	r2, .L786
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L785
	bl	__stack_chk_fail
.L785:
	mov	r0, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L787:
	.align	2
.L786:
	.word	.LC76
	.word	sqlite3_api
	.word	.LC30
	.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, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L789
.L791:
	ldr	r3, .L799
	ldr	r3, [r3]
	ldr	r4, [r3, #180]
	ldr	r2, .L799+4
	ldr	r3, [fp, #-16]
	ldr	r1, [r2, r3, lsl #4]
	ldr	r2, .L799+4
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r3, #8
	ldr	r2, .L799+4
	add	r2, r3, r2
	ldr	ip, .L799+4
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, ip, r3
	ldr	r3, [r3, #12]
	mov	ip, #0
	str	ip, [sp, #12]
	mov	ip, #0
	str	ip, [sp, #8]
	str	r3, [sp, #4]
	str	r2, [sp]
	ldr	r3, .L799+8
	mov	r2, r0
	ldr	r0, [fp, #-24]
	blx	r4
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L789:
	ldr	r3, [fp, #-16]
	cmp	r3, #14
	bhi	.L790
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L791
.L790:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L792
.L794:
	ldr	r3, .L799
	ldr	r3, [r3]
	ldr	r4, [r3, #956]
	ldr	r1, .L799+12
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	ip, [r3]
	ldr	r1, .L799+12
	ldr	r2, [fp, #-16]
	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	r1, .L799+12
	ldr	r2, [fp, #-16]
	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, .L799+12
	ldr	r2, [fp, #-16]
	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	r5, .L799+12
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r5, r3
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [sp, #20]
	ldr	r2, .L799+16
	str	r2, [sp, #16]
	str	r3, [sp, #12]
	str	r0, [sp, #8]
	str	r1, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L799+20
	mov	r2, lr
	mov	r1, ip
	ldr	r0, [fp, #-24]
	blx	r4
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L792:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bhi	.L793
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L794
.L793:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L795
.L797:
	ldr	r3, .L799
	ldr	r3, [r3]
	ldr	r4, [r3, #188]
	ldr	r2, .L799+24
	ldr	r3, [fp, #-16]
	ldr	r1, [r2, r3, lsl #3]
	ldr	r2, .L799+24
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	mov	r3, #0
	ldr	r0, [fp, #-24]
	blx	r4
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L795:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bhi	.L796
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L797
.L796:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L800:
	.align	2
.L799:
	.word	sqlite3_api
	.word	aFunc.8338
	.word	2049
	.word	aAgg.8350
	.word	jsonGroupInverse
	.word	1050625
	.word	aMod.8354
	.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, .L803
	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}
.L804:
	.align	2
.L803:
	.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__.7720, %object
	.size	__PRETTY_FUNCTION__.7720, 15
__PRETTY_FUNCTION__.7720:
	.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__.8192, %object
	.size	__PRETTY_FUNCTION__.8192, 18
__PRETTY_FUNCTION__.8192:
	.ascii	"jsonObjectCompute\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8264, %object
	.size	__PRETTY_FUNCTION__.8264, 20
__PRETTY_FUNCTION__.8264:
	.ascii	"jsonEachComputePath\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8287, %object
	.size	__PRETTY_FUNCTION__.8287, 15
__PRETTY_FUNCTION__.8287:
	.ascii	"jsonEachColumn\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8302, %object
	.size	__PRETTY_FUNCTION__.8302, 18
__PRETTY_FUNCTION__.8302:
	.ascii	"jsonEachBestIndex\000"
	.align	2
.LC77:
	.ascii	"json\000"
	.align	2
.LC78:
	.ascii	"json_array\000"
	.align	2
.LC79:
	.ascii	"json_array_length\000"
	.align	2
.LC80:
	.ascii	"json_extract\000"
	.align	2
.LC81:
	.ascii	"json_insert\000"
	.align	2
.LC82:
	.ascii	"json_object\000"
	.align	2
.LC83:
	.ascii	"json_patch\000"
	.align	2
.LC84:
	.ascii	"json_quote\000"
	.align	2
.LC85:
	.ascii	"json_remove\000"
	.align	2
.LC86:
	.ascii	"json_replace\000"
	.align	2
.LC87:
	.ascii	"json_set\000"
	.align	2
.LC88:
	.ascii	"json_type\000"
	.align	2
.LC89:
	.ascii	"json_valid\000"
	.align	2
	.type	aFunc.8338, %object
	.size	aFunc.8338, 240
aFunc.8338:
	.word	.LC77
	.word	1
	.word	0
	.word	jsonRemoveFunc
	.word	.LC78
	.word	-1
	.word	0
	.word	jsonArrayFunc
	.word	.LC79
	.word	1
	.word	0
	.word	jsonArrayLengthFunc
	.word	.LC79
	.word	2
	.word	0
	.word	jsonArrayLengthFunc
	.word	.LC80
	.word	-1
	.word	0
	.word	jsonExtractFunc
	.word	.LC81
	.word	-1
	.word	0
	.word	jsonSetFunc
	.word	.LC82
	.word	-1
	.word	0
	.word	jsonObjectFunc
	.word	.LC83
	.word	2
	.word	0
	.word	jsonPatchFunc
	.word	.LC84
	.word	1
	.word	0
	.word	jsonQuoteFunc
	.word	.LC85
	.word	-1
	.word	0
	.word	jsonRemoveFunc
	.word	.LC86
	.word	-1
	.word	0
	.word	jsonReplaceFunc
	.word	.LC87
	.word	-1
	.word	1
	.word	jsonSetFunc
	.word	.LC88
	.word	1
	.word	0
	.word	jsonTypeFunc
	.word	.LC88
	.word	2
	.word	0
	.word	jsonTypeFunc
	.word	.LC89
	.word	1
	.word	0
	.word	jsonValidFunc
	.align	2
.LC90:
	.ascii	"json_group_array\000"
	.align	2
.LC91:
	.ascii	"json_group_object\000"
	.align	2
	.type	aAgg.8350, %object
	.size	aAgg.8350, 40
aAgg.8350:
	.word	.LC90
	.word	1
	.word	jsonArrayStep
	.word	jsonArrayFinal
	.word	jsonArrayValue
	.word	.LC91
	.word	2
	.word	jsonObjectStep
	.word	jsonObjectFinal
	.word	jsonObjectValue
	.align	2
.LC92:
	.ascii	"json_each\000"
	.align	2
.LC93:
	.ascii	"json_tree\000"
	.align	2
	.type	aMod.8354, %object
	.size	aMod.8354, 16
aMod.8354:
	.word	.LC92
	.word	jsonEachModule
	.word	.LC93
	.word	jsonTreeModule
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
