	.file	"815644.c"
	.intel_syntax noprefix
	.text
	.type	isnull, @function
isnull:
.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	cmp	QWORD PTR -24[rbp], 0
	je	.L2
	cmp	QWORD PTR -32[rbp], 0
	jne	.L3
.L2:
	mov	eax, 0
	jmp	.L4
.L3:
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L5
.L6:
	add	DWORD PTR -12[rbp], 1
	add	QWORD PTR -8[rbp], 1
.L5:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jbe	.L6
	cmp	DWORD PTR -12[rbp], 4
	je	.L7
	mov	eax, 0
	jmp	.L4
.L7:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 110
	jne	.L8
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 117
	jne	.L8
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	jne	.L8
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	jne	.L8
	mov	eax, 1
	jmp	.L4
.L8:
	mov	eax, 0
.L4:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	isnull, .-isnull
	.type	isbool, @function
isbool:
.LFB7:
	.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
	cmp	QWORD PTR -24[rbp], 0
	je	.L10
	cmp	QWORD PTR -32[rbp], 0
	jne	.L11
.L10:
	mov	eax, 0
	jmp	.L12
.L11:
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 116
	je	.L14
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	je	.L14
	mov	eax, 0
	jmp	.L12
.L15:
	add	DWORD PTR -12[rbp], 1
	add	QWORD PTR -8[rbp], 1
.L14:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jbe	.L15
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 116
	jne	.L16
	cmp	DWORD PTR -12[rbp], 4
	je	.L16
	mov	eax, 0
	jmp	.L12
.L16:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	jne	.L17
	cmp	DWORD PTR -12[rbp], 5
	je	.L17
	mov	eax, 0
	jmp	.L12
.L17:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 116
	jne	.L18
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 114
	jne	.L18
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 117
	jne	.L18
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	jne	.L18
	mov	eax, 1
	jmp	.L12
.L18:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	jne	.L19
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 97
	jne	.L19
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	jne	.L19
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	cmp	al, 115
	jne	.L19
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	jne	.L19
	mov	eax, 1
	jmp	.L12
.L19:
	mov	eax, 0
.L12:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	isbool, .-isbool
	.type	isdotnumeric, @function
isdotnumeric:
.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, 48
	mov	eax, edi
	mov	BYTE PTR -36[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -28[rbp], 0
	movabs	rax, 3906085646303834158
	mov	QWORD PTR -20[rbp], rax
	mov	DWORD PTR -12[rbp], 3749943
	mov	DWORD PTR -24[rbp], 0
	jmp	.L21
.L23:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	movzx	eax, BYTE PTR -20[rbp+rax]
	cmp	BYTE PTR -36[rbp], al
	jne	.L22
	mov	DWORD PTR -28[rbp], 1
.L22:
	add	DWORD PTR -24[rbp], 1
.L21:
	cmp	DWORD PTR -24[rbp], 10
	jle	.L23
	mov	eax, DWORD PTR -28[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L25
	call	__stack_chk_fail@PLT
.L25:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	isdotnumeric, .-isdotnumeric
	.type	ishasonedot, @function
ishasonedot:
.LFB9:
	.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
	cmp	QWORD PTR -24[rbp], 0
	je	.L27
	cmp	QWORD PTR -32[rbp], 0
	jne	.L28
.L27:
	mov	eax, 0
	jmp	.L29
.L28:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L30
.L32:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L31
	add	DWORD PTR -16[rbp], 1
.L31:
	add	QWORD PTR -8[rbp], 1
.L30:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jbe	.L32
	cmp	DWORD PTR -16[rbp], 1
	sete	al
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
.L29:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	ishasonedot, .-ishasonedot
	.type	ishasdot, @function
ishasdot:
.LFB10:
	.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
	cmp	QWORD PTR -24[rbp], 0
	je	.L34
	cmp	QWORD PTR -32[rbp], 0
	jne	.L35
.L34:
	mov	eax, 0
	jmp	.L36
.L35:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L37
.L39:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L38
	add	DWORD PTR -16[rbp], 1
.L38:
	add	QWORD PTR -8[rbp], 1
.L37:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jbe	.L39
	cmp	DWORD PTR -16[rbp], 0
	setg	al
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
.L36:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	ishasdot, .-ishasdot
	.type	isNumeric, @function
isNumeric:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 47
	jle	.L41
	cmp	BYTE PTR -4[rbp], 57
	jg	.L41
	mov	eax, 1
	jmp	.L43
.L41:
	mov	eax, 0
.L43:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	isNumeric, .-isNumeric
	.type	isFloat, @function
isFloat:
.LFB12:
	.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
	cmp	QWORD PTR -40[rbp], 0
	je	.L45
	cmp	QWORD PTR -48[rbp], 0
	jne	.L46
.L45:
	mov	eax, 0
	jmp	.L47
.L46:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ishasonedot
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L48
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L49
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L48
.L49:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jne	.L50
	mov	eax, 0
	jmp	.L47
.L50:
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -40[rbp]
	cmp	rax, 1
	jne	.L51
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L51
	mov	eax, 0
	jmp	.L47
.L51:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isdotnumeric
	test	eax, eax
	je	.L52
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	jmp	.L53
.L56:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isdotnumeric
	test	eax, eax
	je	.L54
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	je	.L54
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 70
	je	.L54
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	je	.L54
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 69
	je	.L54
	add	DWORD PTR -28[rbp], 1
.L54:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isdotnumeric
	test	eax, eax
	jne	.L55
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	je	.L55
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 70
	je	.L55
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	je	.L55
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 69
	je	.L55
	add	DWORD PTR -24[rbp], 1
.L55:
	add	QWORD PTR -8[rbp], 1
.L53:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jbe	.L56
.L52:
	cmp	DWORD PTR -28[rbp], 0
	jle	.L57
	cmp	DWORD PTR -24[rbp], 0
	jne	.L57
	mov	eax, 1
	jmp	.L47
.L57:
	mov	eax, 0
	jmp	.L47
.L48:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	cmp	DWORD PTR -20[rbp], 0
	je	.L58
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L58
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L58
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isdotnumeric
	test	eax, eax
	je	.L58
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jne	.L60
	mov	eax, 0
	jmp	.L47
.L63:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isdotnumeric
	test	eax, eax
	je	.L61
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	je	.L61
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 70
	je	.L61
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	je	.L61
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 69
	je	.L61
	add	DWORD PTR -28[rbp], 1
.L61:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isdotnumeric
	test	eax, eax
	jne	.L62
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 102
	je	.L62
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 70
	je	.L62
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	je	.L62
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 69
	je	.L62
	add	DWORD PTR -24[rbp], 1
.L62:
	add	QWORD PTR -16[rbp], 1
.L60:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jbe	.L63
	cmp	DWORD PTR -28[rbp], 0
	jle	.L64
	cmp	DWORD PTR -24[rbp], 0
	jne	.L64
	mov	eax, 1
	jmp	.L47
.L64:
	mov	eax, 0
	jmp	.L47
.L58:
	mov	eax, 0
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	isFloat, .-isFloat
	.type	isInt, @function
isInt:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	cmp	QWORD PTR -40[rbp], 0
	je	.L66
	cmp	QWORD PTR -48[rbp], 0
	jne	.L67
.L66:
	mov	eax, 0
	jmp	.L68
.L67:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ishasdot
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L69
	mov	eax, 0
	jmp	.L68
.L69:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L70
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L71
.L70:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jne	.L72
	mov	eax, 0
	jmp	.L68
.L72:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isNumeric
	test	eax, eax
	je	.L73
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	jmp	.L74
.L76:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isNumeric
	test	eax, eax
	jne	.L75
	add	DWORD PTR -24[rbp], 1
.L75:
	add	QWORD PTR -8[rbp], 1
.L74:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jbe	.L76
.L73:
	cmp	DWORD PTR -24[rbp], 0
	je	.L77
	mov	eax, 0
	jmp	.L68
.L77:
	mov	eax, 1
	jmp	.L68
.L71:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L78
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L78
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isNumeric
	test	eax, eax
	je	.L78
	jmp	.L79
.L81:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isNumeric
	test	eax, eax
	jne	.L80
	add	DWORD PTR -24[rbp], 1
.L80:
	add	QWORD PTR -16[rbp], 1
.L79:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jbe	.L81
	cmp	DWORD PTR -24[rbp], 0
	je	.L82
	mov	eax, 0
	jmp	.L68
.L82:
	mov	eax, 1
	jmp	.L68
.L78:
	mov	eax, 0
.L68:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	isInt, .-isInt
	.type	pow10, @function
pow10:
.LFB14:
	.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 -16[rbp], 1
	cmp	QWORD PTR -24[rbp], 0
	jle	.L84
	mov	QWORD PTR -8[rbp], 0
	jmp	.L85
.L86:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	mov	QWORD PTR -16[rbp], rax
	add	QWORD PTR -8[rbp], 1
.L85:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jl	.L86
.L84:
	mov	rax, QWORD PTR -16[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	pow10, .-pow10
	.type	npow10, @function
npow10:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	movss	xmm0, DWORD PTR .LC0[rip]
	movss	DWORD PTR -8[rbp], xmm0
	cmp	DWORD PTR -20[rbp], 0
	jle	.L89
	mov	DWORD PTR -4[rbp], 0
	jmp	.L90
.L91:
	movss	xmm0, DWORD PTR -8[rbp]
	movss	xmm1, DWORD PTR .LC1[rip]
	divss	xmm0, xmm1
	movss	DWORD PTR -8[rbp], xmm0
	add	DWORD PTR -4[rbp], 1
.L90:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L91
.L89:
	movss	xmm0, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	npow10, .-npow10
	.type	stoi, @function
stoi:
.LFB16:
	.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, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -64[rbp], rdi
	mov	DWORD PTR -44[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L94
.L96:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L95
	add	QWORD PTR -40[rbp], 1
.L95:
	add	QWORD PTR -32[rbp], 1
.L94:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L96
	sub	QWORD PTR -40[rbp], 1
	mov	QWORD PTR -24[rbp], 0
	mov	QWORD PTR -16[rbp], 1
	jmp	.L97
.L102:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L98
	mov	QWORD PTR -16[rbp], -1
	sub	QWORD PTR -40[rbp], 1
	add	QWORD PTR -64[rbp], 1
	add	DWORD PTR -44[rbp], 1
	cmp	DWORD PTR -44[rbp], 1
	jle	.L97
	mov	eax, 0
	jmp	.L99
.L98:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	jne	.L100
	mov	QWORD PTR -16[rbp], 1
	sub	QWORD PTR -40[rbp], 1
	add	QWORD PTR -64[rbp], 1
	add	DWORD PTR -44[rbp], 1
	cmp	DWORD PTR -44[rbp], 1
	jle	.L97
	mov	eax, 0
	jmp	.L99
.L100:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L101
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	movsx	rbx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	pow10
	imul	rax, rbx
	add	QWORD PTR -24[rbp], rax
	add	QWORD PTR -64[rbp], 1
	sub	QWORD PTR -40[rbp], 1
	jmp	.L97
.L101:
	add	QWORD PTR -64[rbp], 1
.L97:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L102
	mov	rax, QWORD PTR -16[rbp]
	imul	rax, QWORD PTR -24[rbp]
.L99:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	stoi, .-stoi
	.type	stoi_bg, @function
stoi_bg:
.LFB17:
	.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, 64
	.cfi_offset 3, -24
	mov	QWORD PTR -64[rbp], rdi
	mov	QWORD PTR -72[rbp], rsi
	mov	DWORD PTR -52[rbp], 0
	mov	QWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L104
.L106:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L105
	add	QWORD PTR -48[rbp], 1
.L105:
	add	QWORD PTR -40[rbp], 1
.L104:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -72[rbp]
	jbe	.L106
	sub	QWORD PTR -48[rbp], 1
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L107
.L112:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L108
	mov	QWORD PTR -24[rbp], -1
	sub	QWORD PTR -48[rbp], 1
	add	QWORD PTR -16[rbp], 1
	add	DWORD PTR -52[rbp], 1
	cmp	DWORD PTR -52[rbp], 1
	jle	.L107
	mov	eax, 0
	jmp	.L109
.L108:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	jne	.L110
	mov	QWORD PTR -24[rbp], 1
	sub	QWORD PTR -48[rbp], 1
	add	QWORD PTR -16[rbp], 1
	add	DWORD PTR -52[rbp], 1
	cmp	DWORD PTR -52[rbp], 1
	jle	.L107
	mov	eax, 0
	jmp	.L109
.L110:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L111
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	movsx	rbx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	pow10
	imul	rax, rbx
	add	QWORD PTR -32[rbp], rax
	add	QWORD PTR -16[rbp], 1
	sub	QWORD PTR -48[rbp], 1
	jmp	.L107
.L111:
	add	QWORD PTR -16[rbp], 1
.L107:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -72[rbp]
	jbe	.L112
	mov	rax, QWORD PTR -24[rbp]
	imul	rax, QWORD PTR -32[rbp]
.L109:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	stoi_bg, .-stoi_bg
	.type	stof, @function
stof:
.LFB18:
	.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, 96
	.cfi_offset 3, -24
	mov	QWORD PTR -96[rbp], rdi
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L114
.L115:
	add	QWORD PTR -64[rbp], 1
.L114:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L115
	mov	rax, QWORD PTR -64[rbp]
	sub	rax, 1
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	isInt
	test	eax, eax
	je	.L116
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	stoi
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	jmp	.L117
.L116:
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L118
.L122:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L119
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L136
	add	DWORD PTR -80[rbp], 1
.L119:
	add	QWORD PTR -56[rbp], 1
.L118:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L122
	jmp	.L121
.L136:
	nop
.L121:
	sub	DWORD PTR -80[rbp], 1
	pxor	xmm0, xmm0
	movss	DWORD PTR -76[rbp], xmm0
	mov	DWORD PTR -72[rbp], 1
	jmp	.L123
.L129:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L124
	mov	DWORD PTR -72[rbp], -1
	sub	DWORD PTR -80[rbp], 1
	add	QWORD PTR -48[rbp], 1
	add	DWORD PTR -84[rbp], 1
	cmp	DWORD PTR -84[rbp], 1
	jle	.L123
	pxor	xmm0, xmm0
	jmp	.L117
.L124:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	jne	.L125
	mov	DWORD PTR -72[rbp], 1
	sub	DWORD PTR -80[rbp], 1
	add	QWORD PTR -48[rbp], 1
	add	DWORD PTR -84[rbp], 1
	cmp	DWORD PTR -84[rbp], 1
	jle	.L123
	pxor	xmm0, xmm0
	jmp	.L117
.L125:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L126
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L137
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	movsx	rbx, eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	mov	rdi, rax
	call	pow10
	imul	rax, rbx
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	movss	xmm1, DWORD PTR -76[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -76[rbp], xmm0
	add	QWORD PTR -48[rbp], 1
	sub	DWORD PTR -80[rbp], 1
	jmp	.L123
.L126:
	add	QWORD PTR -48[rbp], 1
.L123:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L129
	jmp	.L128
.L137:
	nop
.L128:
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L130
.L133:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L138
	add	QWORD PTR -40[rbp], 1
.L130:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L133
	jmp	.L132
.L138:
	nop
.L132:
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -80[rbp], 0
	pxor	xmm0, xmm0
	movss	DWORD PTR -68[rbp], xmm0
	jmp	.L134
.L135:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L134
	add	DWORD PTR -80[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	pxor	xmm2, xmm2
	cvtsi2ss	xmm2, eax
	movss	DWORD PTR -100[rbp], xmm2
	mov	eax, DWORD PTR -80[rbp]
	mov	edi, eax
	call	npow10
	mulss	xmm0, DWORD PTR -100[rbp]
	movss	xmm1, DWORD PTR -68[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -68[rbp], xmm0
	add	QWORD PTR -32[rbp], 1
.L134:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L135
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -72[rbp]
	movss	xmm0, DWORD PTR -76[rbp]
	addss	xmm0, DWORD PTR -68[rbp]
	mulss	xmm0, xmm1
.L117:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	stof, .-stof
	.type	stof_bg, @function
stof_bg:
.LFB19:
	.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, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -80[rbp], rdi
	mov	QWORD PTR -88[rbp], rsi
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	isInt
	test	eax, eax
	je	.L140
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stoi_bg
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	jmp	.L141
.L140:
	mov	DWORD PTR -60[rbp], 0
	mov	DWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L142
.L146:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L143
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L160
	add	DWORD PTR -56[rbp], 1
.L143:
	add	QWORD PTR -40[rbp], 1
.L142:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -88[rbp]
	jbe	.L146
	jmp	.L145
.L160:
	nop
.L145:
	sub	DWORD PTR -56[rbp], 1
	pxor	xmm0, xmm0
	movss	DWORD PTR -52[rbp], xmm0
	mov	DWORD PTR -48[rbp], 1
	jmp	.L147
.L153:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L148
	mov	DWORD PTR -48[rbp], -1
	sub	DWORD PTR -56[rbp], 1
	add	QWORD PTR -32[rbp], 1
	add	DWORD PTR -60[rbp], 1
	cmp	DWORD PTR -60[rbp], 1
	jle	.L147
	pxor	xmm0, xmm0
	jmp	.L141
.L148:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	jne	.L149
	mov	DWORD PTR -48[rbp], 1
	sub	DWORD PTR -56[rbp], 1
	add	QWORD PTR -32[rbp], 1
	add	DWORD PTR -60[rbp], 1
	cmp	DWORD PTR -60[rbp], 1
	jle	.L147
	pxor	xmm0, xmm0
	jmp	.L141
.L149:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L150
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L161
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	movsx	rbx, eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	mov	rdi, rax
	call	pow10
	imul	rax, rbx
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	movss	xmm1, DWORD PTR -52[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -52[rbp], xmm0
	add	QWORD PTR -32[rbp], 1
	sub	DWORD PTR -56[rbp], 1
	jmp	.L147
.L150:
	add	QWORD PTR -32[rbp], 1
.L147:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -88[rbp]
	jbe	.L153
	jmp	.L152
.L161:
	nop
.L152:
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L154
.L157:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	je	.L162
	add	QWORD PTR -24[rbp], 1
.L154:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -88[rbp]
	jbe	.L157
	jmp	.L156
.L162:
	nop
.L156:
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -56[rbp], 0
	pxor	xmm0, xmm0
	movss	DWORD PTR -44[rbp], xmm0
	jmp	.L158
.L159:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L158
	add	DWORD PTR -56[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	pxor	xmm2, xmm2
	cvtsi2ss	xmm2, eax
	movss	DWORD PTR -92[rbp], xmm2
	mov	eax, DWORD PTR -56[rbp]
	mov	edi, eax
	call	npow10
	mulss	xmm0, DWORD PTR -92[rbp]
	movss	xmm1, DWORD PTR -44[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -44[rbp], xmm0
	add	QWORD PTR -16[rbp], 1
.L158:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -88[rbp]
	jbe	.L159
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -48[rbp]
	movss	xmm0, DWORD PTR -52[rbp]
	addss	xmm0, DWORD PTR -44[rbp]
	mulss	xmm0, xmm1
.L141:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	stof_bg, .-stof_bg
	.type	istoplevelkey, @function
istoplevelkey:
.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, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -16[rbp], 5974139
	mov	DWORD PTR -12[rbp], 6105469
	mov	DWORD PTR -48[rbp], -1
	mov	DWORD PTR -44[rbp], -1
	mov	DWORD PTR -40[rbp], -1
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -32[rbp], -1
	mov	DWORD PTR -28[rbp], -1
	mov	DWORD PTR -24[rbp], -1
	mov	DWORD PTR -20[rbp], -1
	mov	DWORD PTR -72[rbp], 0
	jmp	.L164
.L168:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L165
.L167:
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	movzx	eax, BYTE PTR -16[rbp+rax]
	cmp	dl, al
	jne	.L166
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	mov	eax, DWORD PTR -32[rbp+rax*4]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	mov	DWORD PTR -32[rbp+rax*4], edx
.L166:
	add	QWORD PTR -56[rbp], 1
.L165:
	mov	rax, QWORD PTR -56[rbp]
	cmp	rax, QWORD PTR -96[rbp]
	jb	.L167
	add	DWORD PTR -72[rbp], 1
.L164:
	cmp	DWORD PTR -72[rbp], 2
	jle	.L168
	mov	DWORD PTR -68[rbp], 0
	jmp	.L169
.L173:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L170
.L172:
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	movzx	eax, BYTE PTR -12[rbp+rax]
	cmp	dl, al
	jne	.L171
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	mov	eax, DWORD PTR -48[rbp+rax*4]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	mov	DWORD PTR -48[rbp+rax*4], edx
.L171:
	add	QWORD PTR -56[rbp], 1
.L170:
	mov	rax, QWORD PTR -56[rbp]
	cmp	rax, QWORD PTR -96[rbp]
	jb	.L172
	add	DWORD PTR -68[rbp], 1
.L169:
	cmp	DWORD PTR -68[rbp], 2
	jle	.L173
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	jmp	.L174
.L176:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	edx, DWORD PTR -48[rbp+rax*4]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	eax, DWORD PTR -32[rbp+rax*4]
	cmp	edx, eax
	jne	.L175
	add	DWORD PTR -64[rbp], 1
.L175:
	add	DWORD PTR -60[rbp], 1
.L174:
	cmp	DWORD PTR -60[rbp], 2
	jle	.L176
	cmp	DWORD PTR -64[rbp], 3
	je	.L177
	mov	eax, 0
	jmp	.L179
.L177:
	mov	eax, 1
.L179:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L180
	call	__stack_chk_fail@PLT
.L180:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	istoplevelkey, .-istoplevelkey
	.type	checksymbolbeforeparse, @function
checksymbolbeforeparse:
.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, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -16[rbp], 5974139
	mov	DWORD PTR -12[rbp], 6105469
	mov	DWORD PTR -48[rbp], -1
	mov	DWORD PTR -44[rbp], -1
	mov	DWORD PTR -40[rbp], -1
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -32[rbp], -1
	mov	DWORD PTR -28[rbp], -1
	mov	DWORD PTR -24[rbp], -1
	mov	DWORD PTR -20[rbp], -1
	mov	DWORD PTR -72[rbp], 0
	jmp	.L182
.L186:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L183
.L185:
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	movzx	eax, BYTE PTR -16[rbp+rax]
	cmp	dl, al
	jne	.L184
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	mov	eax, DWORD PTR -32[rbp+rax*4]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	mov	DWORD PTR -32[rbp+rax*4], edx
.L184:
	add	QWORD PTR -56[rbp], 1
.L183:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L185
	add	DWORD PTR -72[rbp], 1
.L182:
	cmp	DWORD PTR -72[rbp], 2
	jle	.L186
	mov	DWORD PTR -68[rbp], 0
	jmp	.L187
.L191:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L188
.L190:
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	movzx	eax, BYTE PTR -12[rbp+rax]
	cmp	dl, al
	jne	.L189
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	mov	eax, DWORD PTR -48[rbp+rax*4]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	mov	DWORD PTR -48[rbp+rax*4], edx
.L189:
	add	QWORD PTR -56[rbp], 1
.L188:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L190
	add	DWORD PTR -68[rbp], 1
.L187:
	cmp	DWORD PTR -68[rbp], 2
	jle	.L191
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	jmp	.L192
.L194:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	edx, DWORD PTR -48[rbp+rax*4]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	eax, DWORD PTR -32[rbp+rax*4]
	cmp	edx, eax
	jne	.L193
	add	DWORD PTR -64[rbp], 1
.L193:
	add	DWORD PTR -60[rbp], 1
.L192:
	cmp	DWORD PTR -60[rbp], 2
	jle	.L194
	cmp	DWORD PTR -64[rbp], 3
	je	.L195
	mov	eax, 1
	jmp	.L197
.L195:
	mov	eax, 0
.L197:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L198
	call	__stack_chk_fail@PLT
.L198:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	checksymbolbeforeparse, .-checksymbolbeforeparse
	.type	checkforquote, @function
checkforquote:
.LFB22:
	.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	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L201
	add	DWORD PTR -12[rbp], 1
	jmp	.L201
.L202:
	add	QWORD PTR -8[rbp], 1
.L201:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L202
	sub	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L203
	add	DWORD PTR -12[rbp], 1
.L203:
	cmp	DWORD PTR -12[rbp], 2
	jne	.L204
	mov	eax, 0
	jmp	.L205
.L204:
	mov	eax, 1
.L205:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	checkforquote, .-checkforquote
	.type	addquote, @function
addquote:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L207
.L208:
	add	QWORD PTR -24[rbp], 1
	add	DWORD PTR -32[rbp], 1
.L207:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L208
	mov	QWORD PTR -16[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 3
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 34
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L209
.L210:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -28[rbp], 1
	add	QWORD PTR -24[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L209:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L210
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 34
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L211
.L212:
	add	QWORD PTR -8[rbp], 1
	add	DWORD PTR -32[rbp], 1
.L211:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L212
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	addquote, .-addquote
	.type	match, @function
match:
.LFB24:
	.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 -40[rbp], rdi
	mov	eax, esi
	mov	QWORD PTR -56[rbp], rdx
	mov	BYTE PTR -44[rbp], al
	mov	BYTE PTR -18[rbp], 48
	mov	DWORD PTR -8[rbp], 1
	movsx	eax, BYTE PTR -44[rbp]
	cmp	eax, 123
	je	.L215
	cmp	eax, 123
	jg	.L226
	cmp	eax, 40
	je	.L217
	cmp	eax, 91
	je	.L218
	jmp	.L226
.L215:
	mov	BYTE PTR -18[rbp], 125
	jmp	.L219
.L217:
	mov	BYTE PTR -18[rbp], 41
	jmp	.L219
.L218:
	mov	BYTE PTR -18[rbp], 93
	jmp	.L219
.L226:
	nop
.L219:
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 1
	mov	BYTE PTR -17[rbp], 32
	jmp	.L220
.L224:
	add	DWORD PTR -16[rbp], 1
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -17[rbp], al
	movzx	eax, BYTE PTR -17[rbp]
	cmp	al, BYTE PTR -44[rbp]
	jne	.L221
	add	DWORD PTR -12[rbp], 1
	jmp	.L222
.L221:
	movzx	eax, BYTE PTR -17[rbp]
	cmp	al, BYTE PTR -18[rbp]
	jne	.L222
	sub	DWORD PTR -12[rbp], 1
.L222:
	cmp	DWORD PTR -12[rbp], 0
	je	.L227
.L220:
	cmp	DWORD PTR -12[rbp], 0
	jg	.L224
	jmp	.L223
.L227:
	nop
.L223:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	match, .-match
	.type	power10, @function
power10:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 1
	jmp	.L229
.L230:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -4[rbp], eax
.L229:
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -20[rbp], edx
	test	eax, eax
	jne	.L230
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	power10, .-power10
	.type	fun, @function
fun:
.LFB26:
	.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 -48[rbp], rdi
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L233
.L234:
	add	DWORD PTR -32[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L233:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L234
	mov	DWORD PTR -28[rbp], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, 1
	mov	DWORD PTR -20[rbp], eax
	jmp	.L235
.L236:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	lea	ebx, -48[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	power10
	imul	eax, ebx
	add	DWORD PTR -28[rbp], eax
	add	DWORD PTR -24[rbp], 1
	sub	DWORD PTR -20[rbp], 1
.L235:
	cmp	DWORD PTR -20[rbp], 0
	jns	.L236
	mov	eax, DWORD PTR -28[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	fun, .-fun
	.type	array_value, @function
array_value:
.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, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -108[rbp], 0
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -136[rbp], 0
	jne	.L241
	mov	eax, 0
	jmp	.L283
.L242:
	add	DWORD PTR -108[rbp], 1
	add	QWORD PTR -24[rbp], 1
.L241:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L242
	add	DWORD PTR -108[rbp], 1
	mov	BYTE PTR -117[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	mov	DWORD PTR -116[rbp], 0
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L243
	mov	BYTE PTR -117[rbp], 97
.L243:
	lea	rdx, -116[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	match
	mov	DWORD PTR -100[rbp], -1
	cmp	BYTE PTR -117[rbp], 97
	jne	.L244
	mov	DWORD PTR -96[rbp], 1
	jmp	.L245
.L247:
	mov	eax, DWORD PTR -96[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L246
	mov	eax, DWORD PTR -96[rbp]
	mov	DWORD PTR -100[rbp], eax
	jmp	.L244
.L246:
	add	DWORD PTR -96[rbp], 1
.L245:
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L247
.L244:
	cmp	DWORD PTR -100[rbp], 0
	jle	.L248
	mov	DWORD PTR -104[rbp], 1
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -92[rbp], eax
	jmp	.L249
.L252:
	mov	eax, DWORD PTR -92[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L250
	mov	eax, DWORD PTR -92[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	jne	.L250
	mov	eax, DWORD PTR -92[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 13
	jne	.L250
	mov	eax, DWORD PTR -92[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L251
.L250:
	mov	DWORD PTR -104[rbp], 0
	jmp	.L248
.L251:
	sub	DWORD PTR -92[rbp], 1
.L249:
	cmp	DWORD PTR -92[rbp], 0
	jg	.L252
.L248:
	mov	DWORD PTR -112[rbp], -1
	mov	DWORD PTR -88[rbp], -1
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 1
	mov	DWORD PTR -76[rbp], 1
	mov	DWORD PTR -72[rbp], 1
	mov	QWORD PTR -16[rbp], 0
	cmp	DWORD PTR -104[rbp], 1
	jne	.L253
	jmp	.L254
.L266:
	mov	DWORD PTR -88[rbp], 0
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	lea	rcx, [rdx+rax]
	lea	rax, -112[rbp]
	mov	rdx, rax
	mov	esi, 123
	mov	rdi, rcx
	call	match
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L255
	mov	QWORD PTR -16[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	eax, DWORD PTR -112[rbp]
	add	eax, 2
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -64[rbp], eax
	jmp	.L256
.L257:
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -68[rbp], 1
	add	DWORD PTR -64[rbp], 1
.L256:
	mov	edx, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, edx
	cmp	DWORD PTR -64[rbp], eax
	jle	.L257
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -72[rbp], 0
.L255:
	mov	edx, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -60[rbp], eax
	jmp	.L258
.L261:
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L259
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -100[rbp], eax
	mov	DWORD PTR -88[rbp], 1
	jmp	.L260
.L259:
	add	DWORD PTR -60[rbp], 1
.L258:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L261
.L260:
	add	DWORD PTR -84[rbp], 1
	cmp	DWORD PTR -88[rbp], 0
	je	.L285
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	mov	DWORD PTR -56[rbp], eax
	jmp	.L263
.L265:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L264
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -100[rbp], eax
	jmp	.L254
.L264:
	add	DWORD PTR -56[rbp], 1
.L263:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L265
.L254:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jge	.L253
	cmp	DWORD PTR -72[rbp], 0
	jne	.L266
	jmp	.L253
.L285:
	nop
.L253:
	mov	DWORD PTR -112[rbp], -1
	mov	DWORD PTR -88[rbp], -1
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -100[rbp], 1
	mov	DWORD PTR -80[rbp], 1
	mov	DWORD PTR -76[rbp], 1
	mov	DWORD PTR -72[rbp], 1
	cmp	DWORD PTR -104[rbp], 0
	jne	.L267
	jmp	.L268
.L282:
	mov	DWORD PTR -88[rbp], 0
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -52[rbp], eax
	jmp	.L269
.L272:
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L270
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -100[rbp], eax
	mov	DWORD PTR -88[rbp], 1
	jmp	.L271
.L270:
	add	DWORD PTR -52[rbp], 1
.L269:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L272
.L271:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L273
	cmp	DWORD PTR -84[rbp], 0
	jne	.L273
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L273
	mov	DWORD PTR -48[rbp], 0
	mov	eax, DWORD PTR -116[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, DWORD PTR -80[rbp]
	add	eax, 2
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -44[rbp], eax
	jmp	.L274
.L275:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -48[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -48[rbp], 1
	add	DWORD PTR -44[rbp], 1
.L274:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jle	.L275
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -72[rbp], 0
.L273:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L276
	cmp	DWORD PTR -84[rbp], 0
	jle	.L276
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L276
	mov	DWORD PTR -40[rbp], 0
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, DWORD PTR -80[rbp]
	add	eax, 2
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L277
.L278:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -40[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -40[rbp], 1
	add	DWORD PTR -36[rbp], 1
.L277:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jle	.L278
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -72[rbp], 0
.L276:
	cmp	DWORD PTR -88[rbp], 1
	jne	.L279
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L279
	mov	DWORD PTR -32[rbp], 0
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, DWORD PTR -80[rbp]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L280
.L281:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -32[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -32[rbp], 1
	add	DWORD PTR -28[rbp], 1
.L280:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L281
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -72[rbp], 0
.L279:
	add	DWORD PTR -84[rbp], 1
.L268:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jge	.L267
	cmp	DWORD PTR -72[rbp], 0
	jne	.L282
.L267:
	mov	rax, QWORD PTR -16[rbp]
.L283:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L284
	call	__stack_chk_fail@PLT
.L284:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	array_value, .-array_value
	.section	.rodata
	.align 8
.LC3:
	.string	"here1 (icol == 0 && nel == 0) last %d\t first %d\n"
	.text
	.type	array_value_pt, @function
array_value_pt:
.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, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -100[rbp], 0
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L287
.L288:
	add	DWORD PTR -100[rbp], 1
	add	QWORD PTR -48[rbp], 1
.L287:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -128[rbp]
	jbe	.L288
	mov	BYTE PTR -109[rbp], 0
	mov	DWORD PTR -96[rbp], 0
	mov	DWORD PTR -108[rbp], 0
	mov	rax, QWORD PTR -120[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L289
	mov	BYTE PTR -109[rbp], 97
.L289:
	lea	rdx, -108[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	match
	mov	DWORD PTR -92[rbp], -1
	mov	DWORD PTR -52[rbp], 1
	cmp	BYTE PTR -109[rbp], 97
	jne	.L290
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	jmp	.L291
.L293:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L292
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -92[rbp], eax
	jmp	.L290
.L292:
	add	QWORD PTR -40[rbp], 1
.L291:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -128[rbp]
	jb	.L293
.L290:
	cmp	DWORD PTR -92[rbp], 0
	jle	.L294
	mov	DWORD PTR -96[rbp], 1
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L295
.L298:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L296
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	jne	.L296
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 13
	jne	.L296
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L297
.L296:
	mov	DWORD PTR -96[rbp], 0
	jmp	.L294
.L297:
	sub	QWORD PTR -32[rbp], 1
.L295:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -120[rbp]
	ja	.L298
.L294:
	mov	DWORD PTR -104[rbp], -1
	mov	DWORD PTR -88[rbp], -1
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 1
	mov	DWORD PTR -76[rbp], 1
	mov	DWORD PTR -72[rbp], 1
	mov	DWORD PTR -16[rbp], -1
	mov	DWORD PTR -12[rbp], -1
	cmp	DWORD PTR -96[rbp], 1
	jne	.L299
	jmp	.L300
.L310:
	mov	DWORD PTR -88[rbp], 0
	mov	eax, DWORD PTR -92[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	lea	rcx, [rdx+rax]
	lea	rax, -104[rbp]
	mov	rdx, rax
	mov	esi, 123
	mov	rdi, rcx
	call	match
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L301
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	edx, DWORD PTR -104[rbp]
	mov	eax, DWORD PTR -92[rbp]
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -72[rbp], 0
.L301:
	mov	edx, DWORD PTR -104[rbp]
	mov	eax, DWORD PTR -92[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -68[rbp], eax
	jmp	.L302
.L305:
	mov	eax, DWORD PTR -68[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L303
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -92[rbp], eax
	mov	DWORD PTR -88[rbp], 1
	jmp	.L304
.L303:
	add	DWORD PTR -68[rbp], 1
.L302:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	jl	.L305
.L304:
	add	DWORD PTR -84[rbp], 1
	cmp	DWORD PTR -88[rbp], 0
	je	.L328
	mov	eax, DWORD PTR -92[rbp]
	add	eax, 1
	mov	DWORD PTR -64[rbp], eax
	jmp	.L307
.L309:
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L308
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -92[rbp], eax
	jmp	.L300
.L308:
	add	DWORD PTR -64[rbp], 1
.L307:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	cmp	DWORD PTR -64[rbp], eax
	jl	.L309
.L300:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	cmp	DWORD PTR -92[rbp], eax
	jge	.L299
	cmp	DWORD PTR -72[rbp], 0
	jne	.L310
	jmp	.L299
.L328:
	nop
.L299:
	mov	DWORD PTR -104[rbp], -1
	mov	DWORD PTR -88[rbp], -1
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -92[rbp], 1
	mov	DWORD PTR -80[rbp], 1
	mov	DWORD PTR -76[rbp], 1
	mov	DWORD PTR -72[rbp], 1
	cmp	DWORD PTR -96[rbp], 0
	jne	.L311
	jmp	.L312
.L325:
	mov	DWORD PTR -88[rbp], 0
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -60[rbp], eax
	jmp	.L313
.L316:
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L314
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	mov	DWORD PTR -92[rbp], eax
	mov	DWORD PTR -88[rbp], 1
	jmp	.L315
.L314:
	add	DWORD PTR -60[rbp], 1
.L313:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jl	.L316
.L315:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L317
	cmp	DWORD PTR -84[rbp], 0
	jne	.L317
	mov	DWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 1
	mov	QWORD PTR -24[rbp], rax
	jmp	.L318
.L320:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L319
	mov	DWORD PTR -56[rbp], 1
.L319:
	add	QWORD PTR -24[rbp], 1
.L318:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -128[rbp]
	jb	.L320
	cmp	DWORD PTR -56[rbp], 0
	jne	.L321
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L321
	mov	DWORD PTR -16[rbp], 1
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 2
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L317
.L321:
	mov	edx, DWORD PTR -80[rbp]
	mov	eax, DWORD PTR -76[rbp]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L317
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -72[rbp], 0
.L317:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L322
	cmp	DWORD PTR -84[rbp], 0
	jle	.L322
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jg	.L329
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L322
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -72[rbp], 0
.L322:
	cmp	DWORD PTR -88[rbp], 1
	jne	.L324
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	fun
	cmp	DWORD PTR -84[rbp], eax
	jne	.L324
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, 1
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -72[rbp], 0
.L324:
	add	DWORD PTR -84[rbp], 1
.L312:
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	cmp	DWORD PTR -92[rbp], eax
	jge	.L311
	cmp	DWORD PTR -72[rbp], 0
	jne	.L325
	jmp	.L311
.L329:
	nop
.L311:
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L327
	call	__stack_chk_fail@PLT
.L327:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	array_value_pt, .-array_value_pt
	.section	.rodata
.LC4:
	.string	"this is array"
.LC5:
	.string	"number of elements is %d\n"
	.text
	.type	array_explode_bg, @function
array_explode_bg:
.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, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -68[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	je	.L368
	cmp	QWORD PTR -96[rbp], 0
	je	.L368
	jmp	.L334
.L335:
	add	DWORD PTR -68[rbp], 1
	add	QWORD PTR -24[rbp], 1
.L334:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -96[rbp]
	jbe	.L335
	mov	BYTE PTR -73[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L336
	lea	rdi, .LC4[rip]
	call	puts@PLT
	mov	BYTE PTR -73[rbp], 97
.L336:
	mov	DWORD PTR -60[rbp], -1
	cmp	BYTE PTR -73[rbp], 97
	jne	.L337
	mov	DWORD PTR -56[rbp], 1
	jmp	.L338
.L340:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L339
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -60[rbp], eax
	jmp	.L337
.L339:
	add	DWORD PTR -56[rbp], 1
.L338:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L340
.L337:
	cmp	DWORD PTR -60[rbp], 0
	jle	.L341
	mov	DWORD PTR -64[rbp], 1
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	mov	DWORD PTR -52[rbp], eax
	jmp	.L342
.L345:
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L343
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	jne	.L343
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 13
	jne	.L343
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L344
.L343:
	mov	DWORD PTR -64[rbp], 0
	jmp	.L341
.L344:
	sub	DWORD PTR -52[rbp], 1
.L342:
	cmp	DWORD PTR -52[rbp], 0
	jg	.L345
.L341:
	mov	DWORD PTR -72[rbp], -1
	mov	DWORD PTR -48[rbp], -1
	mov	DWORD PTR -44[rbp], 0
	cmp	DWORD PTR -64[rbp], 1
	jne	.L346
	jmp	.L347
.L359:
	mov	DWORD PTR -48[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, [rdx+rax]
	lea	rax, -72[rbp]
	mov	rdx, rax
	mov	esi, 123
	mov	rdi, rcx
	call	match
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L348
.L349:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putchar@PLT
	add	DWORD PTR -40[rbp], 1
.L348:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	cmp	DWORD PTR -40[rbp], eax
	jle	.L349
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -44[rbp], 1
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -36[rbp], eax
	jmp	.L350
.L353:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L351
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -60[rbp], eax
	mov	DWORD PTR -48[rbp], 1
	jmp	.L352
.L351:
	add	DWORD PTR -36[rbp], 1
.L350:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L353
.L352:
	cmp	DWORD PTR -48[rbp], 0
	je	.L369
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	mov	DWORD PTR -32[rbp], eax
	jmp	.L356
.L358:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L357
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -60[rbp], eax
	jmp	.L347
.L357:
	add	DWORD PTR -32[rbp], 1
.L356:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L358
.L347:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L359
	jmp	.L355
.L369:
	nop
.L355:
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
.L346:
	mov	DWORD PTR -72[rbp], -1
	mov	DWORD PTR -48[rbp], -1
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -60[rbp], 1
	cmp	DWORD PTR -64[rbp], 0
	jne	.L330
	jmp	.L361
.L366:
	mov	DWORD PTR -48[rbp], 0
	add	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L362
.L365:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L363
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	DWORD PTR -60[rbp], eax
	mov	DWORD PTR -48[rbp], 1
	jmp	.L364
.L363:
	add	DWORD PTR -28[rbp], 1
.L362:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L365
.L364:
	cmp	DWORD PTR -48[rbp], 0
	je	.L370
.L361:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L366
	jmp	.L330
.L368:
	nop
	jmp	.L330
.L370:
	nop
.L330:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L367
	call	__stack_chk_fail@PLT
.L367:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	array_explode_bg, .-array_explode_bg
	.type	array_explode, @function
array_explode:
.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, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -60[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	je	.L408
	jmp	.L374
.L375:
	add	DWORD PTR -60[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L374:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L375
	add	DWORD PTR -60[rbp], 1
	mov	BYTE PTR -65[rbp], 0
	mov	DWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L376
	lea	rdi, .LC4[rip]
	call	puts@PLT
	mov	BYTE PTR -65[rbp], 97
.L376:
	mov	DWORD PTR -52[rbp], -1
	cmp	BYTE PTR -65[rbp], 97
	jne	.L377
	mov	DWORD PTR -48[rbp], 1
	jmp	.L378
.L380:
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L379
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -52[rbp], eax
	jmp	.L377
.L379:
	add	DWORD PTR -48[rbp], 1
.L378:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L380
.L377:
	cmp	DWORD PTR -52[rbp], 0
	jle	.L381
	mov	DWORD PTR -56[rbp], 1
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	mov	DWORD PTR -44[rbp], eax
	jmp	.L382
.L385:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L383
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	jne	.L383
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 13
	jne	.L383
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L384
.L383:
	mov	DWORD PTR -56[rbp], 0
	jmp	.L381
.L384:
	sub	DWORD PTR -44[rbp], 1
.L382:
	cmp	DWORD PTR -44[rbp], 0
	jg	.L385
.L381:
	mov	DWORD PTR -64[rbp], -1
	mov	DWORD PTR -40[rbp], -1
	mov	DWORD PTR -36[rbp], 0
	cmp	DWORD PTR -56[rbp], 1
	jne	.L386
	jmp	.L387
.L399:
	mov	DWORD PTR -40[rbp], 0
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	lea	rcx, [rdx+rax]
	lea	rax, -64[rbp]
	mov	rdx, rax
	mov	esi, 123
	mov	rdi, rcx
	call	match
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L388
.L389:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putchar@PLT
	add	DWORD PTR -32[rbp], 1
.L388:
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	cmp	DWORD PTR -32[rbp], eax
	jle	.L389
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -36[rbp], 1
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	jmp	.L390
.L393:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L391
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -52[rbp], eax
	mov	DWORD PTR -40[rbp], 1
	jmp	.L392
.L391:
	add	DWORD PTR -28[rbp], 1
.L390:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L393
.L392:
	cmp	DWORD PTR -40[rbp], 0
	je	.L409
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -24[rbp], eax
	jmp	.L396
.L398:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L397
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -52[rbp], eax
	jmp	.L387
.L397:
	add	DWORD PTR -24[rbp], 1
.L396:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L398
.L387:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L399
	jmp	.L395
.L409:
	nop
.L395:
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
.L386:
	mov	DWORD PTR -64[rbp], -1
	mov	DWORD PTR -40[rbp], -1
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -52[rbp], 1
	cmp	DWORD PTR -56[rbp], 0
	jne	.L371
	jmp	.L401
.L406:
	mov	DWORD PTR -40[rbp], 0
	add	DWORD PTR -36[rbp], 1
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L402
.L405:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L403
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	DWORD PTR -52[rbp], eax
	mov	DWORD PTR -40[rbp], 1
	jmp	.L404
.L403:
	add	DWORD PTR -20[rbp], 1
.L402:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L405
.L404:
	cmp	DWORD PTR -40[rbp], 0
	je	.L410
.L401:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L406
	jmp	.L371
.L408:
	nop
	jmp	.L371
.L410:
	nop
.L371:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L407
	call	__stack_chk_fail@PLT
.L407:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	array_explode, .-array_explode
	.section	.rodata
.LC6:
	.string	"Value is = "
	.text
	.type	stringinfo, @function
stringinfo:
.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	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L416
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L416
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L413
.L414:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putchar@PLT
	add	QWORD PTR -8[rbp], 1
.L413:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L414
	mov	edi, 10
	call	putchar@PLT
	nop
.L416:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	stringinfo, .-stringinfo
	.section	.rodata
.LC7:
	.string	"TYPE is array"
.LC8:
	.string	"TYPE is object"
.LC9:
	.string	"TYPE is string "
.LC10:
	.string	"TYPE is float "
.LC11:
	.string	"TYPE is int  "
.LC12:
	.string	"TYPE is bool "
.LC13:
	.string	"TYPE is null "
.LC14:
	.string	"TYPE is undefined."
	.text
	.type	stringfullinfo, @function
stringfullinfo:
.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 [rax]
	test	rax, rax
	je	.L433
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L433
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 256
	je	.L419
	cmp	eax, 256
	ja	.L420
	cmp	eax, 128
	je	.L421
	cmp	eax, 128
	ja	.L420
	cmp	eax, 32
	ja	.L422
	test	eax, eax
	je	.L420
	cmp	eax, 32
	ja	.L420
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L424[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L424[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L424:
	.long	.L420-.L424
	.long	.L428-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L427-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L426-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L425-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L420-.L424
	.long	.L423-.L424
	.text
.L422:
	cmp	eax, 64
	je	.L429
	jmp	.L420
.L428:
	lea	rdi, .LC7[rip]
	call	puts@PLT
	jmp	.L420
.L427:
	lea	rdi, .LC8[rip]
	call	puts@PLT
	jmp	.L420
.L426:
	lea	rdi, .LC9[rip]
	call	puts@PLT
	jmp	.L420
.L423:
	lea	rdi, .LC10[rip]
	call	puts@PLT
	jmp	.L420
.L425:
	lea	rdi, .LC11[rip]
	call	puts@PLT
	jmp	.L420
.L429:
	lea	rdi, .LC12[rip]
	call	puts@PLT
	jmp	.L420
.L421:
	lea	rdi, .LC13[rip]
	call	puts@PLT
	jmp	.L420
.L419:
	lea	rdi, .LC14[rip]
	call	puts@PLT
	nop
.L420:
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L430
.L431:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putchar@PLT
	add	QWORD PTR -8[rbp], 1
.L430:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -8[rbp], rax
	jbe	.L431
	mov	edi, 10
	call	putchar@PLT
	nop
.L433:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	stringfullinfo, .-stringfullinfo
	.type	getLen, @function
getLen:
.LFB33:
	.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	DWORD PTR -4[rbp], 0
	cmp	QWORD PTR -24[rbp], 0
	je	.L435
	jmp	.L436
.L437:
	add	DWORD PTR -4[rbp], 1
	add	QWORD PTR -24[rbp], 1
.L436:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L437
.L435:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	getLen, .-getLen
	.type	removewhitespace, @function
removewhitespace:
.LFB34:
	.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
	cmp	QWORD PTR -24[rbp], 0
	je	.L445
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L442
.L444:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L443
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L443
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 13
	je	.L443
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	je	.L443
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 11
	je	.L443
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 12
	je	.L443
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -12[rbp], 1
.L443:
	add	QWORD PTR -24[rbp], 1
.L442:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L444
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L439
.L445:
	nop
.L439:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	removewhitespace, .-removewhitespace
	.type	quotetowhitespace, @function
quotetowhitespace:
.LFB35:
	.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
	cmp	QWORD PTR -24[rbp], 0
	je	.L451
	jmp	.L448
.L450:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L449
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 32
.L449:
	add	QWORD PTR -8[rbp], 1
.L448:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L450
.L451:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	quotetowhitespace, .-quotetowhitespace
	.type	writeonscreen, @function
writeonscreen:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L458
	cmp	QWORD PTR -8[rbp], 0
	je	.L455
	jmp	.L456
.L457:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putchar@PLT
	add	QWORD PTR -8[rbp], 1
.L456:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L457
.L455:
	mov	edi, 10
	call	putchar@PLT
	jmp	.L452
.L458:
	nop
.L452:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	writeonscreen, .-writeonscreen
	.type	iswhitespace, @function
iswhitespace:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 32
	je	.L460
	cmp	BYTE PTR -4[rbp], 9
	je	.L460
	cmp	BYTE PTR -4[rbp], 10
	je	.L460
	cmp	BYTE PTR -4[rbp], 13
	je	.L460
	cmp	BYTE PTR -4[rbp], 9
	je	.L460
	cmp	BYTE PTR -4[rbp], 11
	je	.L460
	cmp	BYTE PTR -4[rbp], 12
	jne	.L461
.L460:
	mov	eax, 1
	jmp	.L462
.L461:
	mov	eax, 0
.L462:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	iswhitespace, .-iswhitespace
	.type	typevalue, @function
typevalue:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -4[rbp], 256
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L464
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L464
	mov	DWORD PTR -4[rbp], 1
	jmp	.L465
.L464:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L466
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L466
	mov	DWORD PTR -4[rbp], 4
	jmp	.L465
.L466:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	rsi, rdx
	mov	rdi, rax
	call	isFloat
	test	eax, eax
	je	.L467
	mov	DWORD PTR -4[rbp], 32
	jmp	.L465
.L467:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	rsi, rdx
	mov	rdi, rax
	call	isInt
	test	eax, eax
	je	.L468
	mov	DWORD PTR -4[rbp], 16
	jmp	.L465
.L468:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	rsi, rdx
	mov	rdi, rax
	call	isnull
	test	eax, eax
	je	.L469
	mov	DWORD PTR -4[rbp], 128
	jmp	.L465
.L469:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	rsi, rdx
	mov	rdi, rax
	call	isbool
	test	eax, eax
	je	.L470
	mov	DWORD PTR -4[rbp], 64
	jmp	.L465
.L470:
	mov	DWORD PTR -4[rbp], 8
.L465:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	typevalue, .-typevalue
	.type	findpt, @function
findpt:
.LFB39:
	.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 -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	QWORD PTR -88[rbp], r8
	mov	QWORD PTR -96[rbp], r9
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -24[rbp], -1
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L473
.L479:
	mov	DWORD PTR -20[rbp], 0
	add	DWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L474
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -32[rbp], 1
	jmp	.L475
.L477:
	add	QWORD PTR -8[rbp], 1
	add	DWORD PTR -28[rbp], 1
	add	DWORD PTR -32[rbp], 1
	add	DWORD PTR -36[rbp], 1
.L475:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L476
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L477
.L476:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jne	.L474
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L478
.L474:
	add	QWORD PTR -16[rbp], 1
.L473:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	jbe	.L479
.L478:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	findpt, .-findpt
	.type	find, @function
find:
.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, 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 -40[rbp]
	mov	rdi, rax
	call	getLen
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	getLen
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L482
	cmp	DWORD PTR -8[rbp], 0
	jne	.L483
.L482:
	mov	eax, -1
	jmp	.L484
.L483:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jle	.L485
	mov	eax, -1
	jmp	.L484
.L485:
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], -1
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L486
.L491:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L487
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	mov	DWORD PTR -32[rbp], 1
	jmp	.L488
.L489:
	add	DWORD PTR -28[rbp], 1
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -32[rbp], 1
.L488:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L489
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jne	.L487
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L490
.L487:
	add	DWORD PTR -16[rbp], 1
.L486:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L491
.L490:
	mov	eax, DWORD PTR -24[rbp]
.L484:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	find, .-find
	.type	Strcmp, @function
Strcmp:
.LFB41:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L493
.L494:
	add	DWORD PTR -24[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L493:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L494
	jmp	.L495
.L496:
	add	DWORD PTR -20[rbp], 1
	add	QWORD PTR -8[rbp], 1
.L495:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L496
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	je	.L497
	mov	eax, DWORD PTR -28[rbp]
	jmp	.L498
.L497:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L499
.L501:
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L500
	mov	DWORD PTR -28[rbp], -1
.L500:
	add	QWORD PTR -16[rbp], 1
	add	QWORD PTR -8[rbp], 1
.L499:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L501
	cmp	DWORD PTR -28[rbp], 0
	jns	.L502
	mov	eax, 0
	jmp	.L498
.L502:
	mov	eax, 1
.L498:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	Strcmp, .-Strcmp
	.section	.rodata
.LC15:
	.string	"r"
	.text
	.type	json_load, @function
json_load:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L504
	mov	eax, 0
	jmp	.L505
.L504:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	removewhitespace
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	checksymbolbeforeparse
	test	eax, eax
	je	.L506
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -24[rbp], 0
.L506:
	mov	rax, QWORD PTR -24[rbp]
.L505:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	json_load, .-json_load
	.section	.rodata
	.align 8
.LC16:
	.string	"%s does not exist in the file \n"
	.align 8
.LC17:
	.string	"%s is not the top level key and it is inside of another dictionary check the hierarchy of keys again \n"
	.text
	.type	getvalue, @function
getvalue:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 464
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -456[rbp], rdi
	mov	QWORD PTR -464[rbp], rsi
	mov	QWORD PTR -472[rbp], rdx
	mov	QWORD PTR -168[rbp], rcx
	mov	QWORD PTR -160[rbp], r8
	mov	QWORD PTR -152[rbp], r9
	test	al, al
	je	.L508
	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
.L508:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -200[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -256[rbp], 0
	mov	QWORD PTR -248[rbp], 0
	mov	DWORD PTR -240[rbp], 256
	cmp	QWORD PTR -464[rbp], 0
	jne	.L509
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L509:
	cmp	QWORD PTR -472[rbp], 0
	jne	.L511
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L511:
	mov	rax, QWORD PTR -464[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	QWORD PTR -296[rbp], 0
	jmp	.L512
.L513:
	add	QWORD PTR -296[rbp], 1
	add	QWORD PTR -304[rbp], 1
.L512:
	mov	rax, QWORD PTR -304[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L513
	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	QWORD PTR -288[rbp], 0
	mov	DWORD PTR -428[rbp], 0
	mov	rax, QWORD PTR -472[rbp]
	mov	rdi, rax
	call	checkforquote
	test	eax, eax
	je	.L514
	mov	rax, QWORD PTR -472[rbp]
	mov	rdi, rax
	call	addquote
	mov	QWORD PTR -288[rbp], rax
	mov	DWORD PTR -428[rbp], 1
	jmp	.L515
.L514:
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR -288[rbp], rax
.L515:
	mov	DWORD PTR -444[rbp], -1
	mov	DWORD PTR -440[rbp], -1
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -464[rbp]
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	getLen
	mov	esi, eax
	lea	rdi, -440[rbp]
	lea	rcx, -444[rbp]
	mov	rdx, QWORD PTR -464[rbp]
	mov	rax, QWORD PTR -288[rbp]
	mov	r9, rdi
	mov	r8, rcx
	mov	rcx, rbx
	mov	rdi, rax
	call	findpt
	mov	eax, DWORD PTR -444[rbp]
	cmp	eax, -1
	je	.L516
	mov	eax, DWORD PTR -440[rbp]
	cmp	eax, -1
	jne	.L517
.L516:
	mov	rax, QWORD PTR -288[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L517:
	mov	eax, DWORD PTR -444[rbp]
	mov	DWORD PTR -436[rbp], eax
	mov	eax, DWORD PTR -440[rbp]
	mov	DWORD PTR -432[rbp], eax
	mov	eax, DWORD PTR -444[rbp]
	mov	DWORD PTR -424[rbp], eax
	mov	eax, DWORD PTR -440[rbp]
	mov	DWORD PTR -420[rbp], eax
	jmp	.L518
.L521:
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -464[rbp]
	lea	r12, [rdx+rax]
	mov	eax, DWORD PTR -420[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -464[rbp]
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	getLen
	mov	esi, eax
	lea	rcx, -432[rbp]
	lea	rdx, -436[rbp]
	mov	rax, QWORD PTR -288[rbp]
	mov	r9, rcx
	mov	r8, rdx
	mov	rcx, r12
	mov	rdx, rbx
	mov	rdi, rax
	call	findpt
	mov	eax, DWORD PTR -436[rbp]
	cmp	eax, -1
	je	.L519
	mov	eax, DWORD PTR -432[rbp]
	cmp	eax, -1
	jne	.L520
.L519:
	mov	rax, QWORD PTR -288[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L520:
	mov	edx, DWORD PTR -436[rbp]
	mov	eax, DWORD PTR -420[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -424[rbp], eax
	mov	edx, DWORD PTR -432[rbp]
	mov	eax, DWORD PTR -420[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -420[rbp], eax
	mov	DWORD PTR -436[rbp], -1
	mov	DWORD PTR -432[rbp], -1
.L518:
	mov	eax, DWORD PTR -424[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, 1
	mov	rsi, rdx
	mov	rdi, rax
	call	istoplevelkey
	test	eax, eax
	je	.L521
	mov	eax, DWORD PTR -424[rbp]
	mov	DWORD PTR -444[rbp], eax
	mov	eax, DWORD PTR -420[rbp]
	mov	DWORD PTR -440[rbp], eax
	mov	DWORD PTR -416[rbp], -1
	mov	eax, DWORD PTR -440[rbp]
	add	eax, 1
	mov	DWORD PTR -412[rbp], eax
	jmp	.L522
.L525:
	mov	eax, DWORD PTR -412[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L523
	mov	eax, DWORD PTR -412[rbp]
	mov	DWORD PTR -416[rbp], eax
	jmp	.L524
.L523:
	add	DWORD PTR -412[rbp], 1
.L522:
	mov	eax, DWORD PTR -412[rbp]
	cdqe
	cmp	QWORD PTR -296[rbp], rax
	jg	.L525
.L524:
	cmp	DWORD PTR -416[rbp], -1
	jne	.L526
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L526:
	mov	eax, DWORD PTR -416[rbp]
	mov	DWORD PTR -308[rbp], eax
	mov	DWORD PTR -408[rbp], -1
	mov	DWORD PTR -404[rbp], -1
	mov	DWORD PTR -400[rbp], -1
	mov	DWORD PTR -396[rbp], -1
	cmp	DWORD PTR -308[rbp], 0
	js	.L527
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -392[rbp], eax
	jmp	.L528
.L531:
	mov	eax, DWORD PTR -392[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	je	.L529
	mov	eax, DWORD PTR -392[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L530
.L529:
	mov	eax, DWORD PTR -392[rbp]
	mov	DWORD PTR -408[rbp], eax
	jmp	.L527
.L530:
	add	DWORD PTR -392[rbp], 1
.L528:
	mov	eax, DWORD PTR -392[rbp]
	cdqe
	cmp	QWORD PTR -296[rbp], rax
	jg	.L531
.L527:
	cmp	DWORD PTR -408[rbp], 0
	js	.L532
	mov	DWORD PTR -388[rbp], 0
	mov	eax, DWORD PTR -408[rbp]
	sub	eax, 1
	mov	DWORD PTR -384[rbp], eax
	jmp	.L533
.L536:
	mov	eax, DWORD PTR -384[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	iswhitespace
	test	eax, eax
	jne	.L534
	mov	DWORD PTR -388[rbp], 1
	jmp	.L535
.L534:
	sub	DWORD PTR -384[rbp], 1
.L533:
	mov	eax, DWORD PTR -384[rbp]
	cmp	eax, DWORD PTR -308[rbp]
	jg	.L536
.L535:
	cmp	DWORD PTR -388[rbp], 0
	je	.L537
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -380[rbp], eax
	jmp	.L538
.L541:
	mov	eax, DWORD PTR -380[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L539
	mov	eax, DWORD PTR -380[rbp]
	mov	DWORD PTR -404[rbp], eax
	jmp	.L540
.L539:
	add	DWORD PTR -380[rbp], 1
.L538:
	mov	eax, DWORD PTR -380[rbp]
	cmp	eax, DWORD PTR -408[rbp]
	jl	.L541
.L540:
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -400[rbp], eax
	mov	eax, DWORD PTR -404[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -376[rbp], eax
	jmp	.L542
.L545:
	mov	eax, DWORD PTR -376[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L543
	mov	eax, DWORD PTR -376[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	jmp	.L546
.L543:
	add	DWORD PTR -376[rbp], 1
.L542:
	mov	eax, DWORD PTR -376[rbp]
	cmp	eax, DWORD PTR -404[rbp]
	jl	.L545
	jmp	.L546
.L537:
	mov	eax, DWORD PTR -408[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	mov	QWORD PTR -280[rbp], rax
	mov	DWORD PTR -264[rbp], -1
	mov	eax, DWORD PTR -408[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L547
	lea	rdx, -264[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, 123
	mov	rdi, rax
	call	match
.L547:
	mov	eax, DWORD PTR -408[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L548
	lea	rdx, -264[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	match
.L548:
	mov	eax, DWORD PTR -408[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	edx, DWORD PTR -264[rbp]
	mov	eax, DWORD PTR -408[rbp]
	add	eax, edx
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -408[rbp]
	mov	DWORD PTR -372[rbp], eax
	jmp	.L549
.L550:
	add	DWORD PTR -372[rbp], 1
.L549:
	mov	edx, DWORD PTR -264[rbp]
	mov	eax, DWORD PTR -408[rbp]
	add	eax, edx
	cmp	DWORD PTR -372[rbp], eax
	jle	.L550
	jmp	.L546
.L532:
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -368[rbp], eax
	jmp	.L551
.L554:
	mov	eax, DWORD PTR -368[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L552
	mov	eax, DWORD PTR -368[rbp]
	mov	DWORD PTR -404[rbp], eax
	jmp	.L553
.L552:
	add	DWORD PTR -368[rbp], 1
.L551:
	mov	eax, DWORD PTR -368[rbp]
	cdqe
	cmp	QWORD PTR -296[rbp], rax
	jg	.L554
.L553:
	cmp	DWORD PTR -404[rbp], 0
	jns	.L555
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -400[rbp], eax
	mov	rax, QWORD PTR -296[rbp]
	sub	eax, 2
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -364[rbp], eax
	jmp	.L556
.L559:
	mov	eax, DWORD PTR -364[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L557
	mov	eax, DWORD PTR -364[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	jmp	.L546
.L557:
	add	DWORD PTR -364[rbp], 1
.L556:
	mov	eax, DWORD PTR -364[rbp]
	cdqe
	mov	rdx, QWORD PTR -296[rbp]
	sub	rdx, 1
	cmp	rax, rdx
	jl	.L559
	jmp	.L546
.L555:
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -400[rbp], eax
	mov	eax, DWORD PTR -404[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -360[rbp], eax
	jmp	.L560
.L561:
	add	DWORD PTR -360[rbp], 1
.L560:
	mov	eax, DWORD PTR -360[rbp]
	cmp	eax, DWORD PTR -404[rbp]
	jl	.L561
.L546:
	mov	DWORD PTR -356[rbp], 1
	mov	DWORD PTR -352[rbp], 256
	mov	edx, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -400[rbp]
	mov	rax, QWORD PTR -464[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	typevalue
	mov	DWORD PTR -352[rbp], eax
	cmp	DWORD PTR -428[rbp], 1
	jne	.L563
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L563
.L621:
	mov	DWORD PTR -428[rbp], 0
	cmp	DWORD PTR -352[rbp], 1
	jne	.L564
	mov	eax, DWORD PTR -396[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	lea	rsi, [rdx+rax]
	mov	eax, DWORD PTR -400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	rdx, rax
	mov	rdi, rcx
	call	array_value_pt
	mov	QWORD PTR -264[rbp], rax
	mov	eax, DWORD PTR -264[rbp]
	cmp	eax, -1
	je	.L565
	mov	eax, DWORD PTR -260[rbp]
	cmp	eax, -1
	jne	.L566
.L565:
	mov	QWORD PTR -256[rbp], 0
	mov	QWORD PTR -248[rbp], 0
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L566:
	mov	edx, DWORD PTR -260[rbp]
	mov	eax, DWORD PTR -400[rbp]
	add	eax, edx
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -264[rbp]
	add	DWORD PTR -400[rbp], eax
	jmp	.L567
.L564:
	mov	rax, QWORD PTR -472[rbp]
	mov	rdi, rax
	call	checkforquote
	test	eax, eax
	je	.L568
	mov	DWORD PTR -428[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	rdi, rax
	call	addquote
	mov	QWORD PTR -288[rbp], rax
	jmp	.L569
.L568:
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR -288[rbp], rax
.L569:
	mov	DWORD PTR -444[rbp], -1
	mov	DWORD PTR -440[rbp], -1
	mov	eax, DWORD PTR -396[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	lea	r12, [rdx+rax]
	mov	eax, DWORD PTR -400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	getLen
	mov	esi, eax
	lea	rcx, -440[rbp]
	lea	rdx, -444[rbp]
	mov	rax, QWORD PTR -288[rbp]
	mov	r9, rcx
	mov	r8, rdx
	mov	rcx, r12
	mov	rdx, rbx
	mov	rdi, rax
	call	findpt
	mov	eax, DWORD PTR -396[rbp]
	sub	eax, DWORD PTR -400[rbp]
	add	eax, 1
	cdqe
	mov	QWORD PTR -296[rbp], rax
	mov	eax, DWORD PTR -396[rbp]
	add	eax, 1
	cdqe
	mov	QWORD PTR -296[rbp], rax
	mov	eax, DWORD PTR -444[rbp]
	cmp	eax, -1
	je	.L570
	mov	eax, DWORD PTR -440[rbp]
	cmp	eax, -1
	jne	.L571
.L570:
	mov	rax, QWORD PTR -288[rbp]
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	DWORD PTR -428[rbp], 1
	jne	.L572
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	free@PLT
.L572:
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L571:
	mov	DWORD PTR -436[rbp], -1
	mov	DWORD PTR -432[rbp], -1
	mov	edx, DWORD PTR -444[rbp]
	mov	eax, DWORD PTR -400[rbp]
	add	eax, edx
	mov	DWORD PTR -424[rbp], eax
	mov	edx, DWORD PTR -440[rbp]
	mov	eax, DWORD PTR -400[rbp]
	add	eax, edx
	mov	DWORD PTR -420[rbp], eax
	cmp	DWORD PTR -352[rbp], 100
	jne	.L573
	jmp	.L574
.L578:
	mov	eax, DWORD PTR -396[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	lea	r12, [rdx+rax]
	mov	eax, DWORD PTR -420[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -464[rbp]
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	getLen
	mov	esi, eax
	lea	rcx, -440[rbp]
	lea	rdx, -444[rbp]
	mov	rax, QWORD PTR -288[rbp]
	mov	r9, rcx
	mov	r8, rdx
	mov	rcx, r12
	mov	rdx, rbx
	mov	rdi, rax
	call	findpt
	mov	eax, DWORD PTR -436[rbp]
	cmp	eax, -1
	je	.L575
	mov	eax, DWORD PTR -432[rbp]
	cmp	eax, -1
	jne	.L576
.L575:
	cmp	DWORD PTR -428[rbp], 1
	jne	.L577
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	free@PLT
.L577:
	mov	rax, QWORD PTR -288[rbp]
	mov	rsi, rax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L576:
	mov	edx, DWORD PTR -436[rbp]
	mov	eax, DWORD PTR -420[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -424[rbp], eax
	mov	edx, DWORD PTR -432[rbp]
	mov	eax, DWORD PTR -420[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -420[rbp], eax
	mov	DWORD PTR -436[rbp], -1
	mov	DWORD PTR -432[rbp], -1
.L574:
	mov	eax, DWORD PTR -424[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -400[rbp]
	cdqe
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rcx
	mov	rsi, rdx
	mov	rdi, rax
	call	istoplevelkey
	test	eax, eax
	je	.L578
.L573:
	mov	eax, DWORD PTR -424[rbp]
	mov	DWORD PTR -444[rbp], eax
	mov	eax, DWORD PTR -420[rbp]
	mov	DWORD PTR -440[rbp], eax
	cmp	DWORD PTR -428[rbp], 1
	jne	.L579
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	free@PLT
.L579:
	mov	DWORD PTR -416[rbp], -1
	mov	eax, DWORD PTR -440[rbp]
	add	eax, 1
	mov	DWORD PTR -348[rbp], eax
	jmp	.L580
.L583:
	mov	eax, DWORD PTR -348[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L581
	mov	eax, DWORD PTR -348[rbp]
	mov	DWORD PTR -416[rbp], eax
	jmp	.L582
.L581:
	add	DWORD PTR -348[rbp], 1
.L580:
	mov	eax, DWORD PTR -348[rbp]
	cdqe
	cmp	QWORD PTR -296[rbp], rax
	jg	.L583
.L582:
	cmp	DWORD PTR -416[rbp], -1
	jne	.L584
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L507
.L584:
	mov	eax, DWORD PTR -416[rbp]
	mov	DWORD PTR -308[rbp], eax
	mov	DWORD PTR -408[rbp], -1
	mov	DWORD PTR -404[rbp], -1
	mov	DWORD PTR -400[rbp], -1
	mov	DWORD PTR -396[rbp], -1
	cmp	DWORD PTR -308[rbp], 0
	js	.L585
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -344[rbp], eax
	jmp	.L586
.L589:
	mov	eax, DWORD PTR -344[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	je	.L587
	mov	eax, DWORD PTR -344[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L588
.L587:
	mov	eax, DWORD PTR -344[rbp]
	mov	DWORD PTR -408[rbp], eax
	jmp	.L585
.L588:
	add	DWORD PTR -344[rbp], 1
.L586:
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	cmp	QWORD PTR -296[rbp], rax
	jg	.L589
.L585:
	cmp	DWORD PTR -408[rbp], 0
	js	.L590
	mov	DWORD PTR -340[rbp], 0
	mov	eax, DWORD PTR -408[rbp]
	sub	eax, 1
	mov	DWORD PTR -336[rbp], eax
	jmp	.L591
.L594:
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	iswhitespace
	test	eax, eax
	jne	.L592
	mov	DWORD PTR -340[rbp], 1
	jmp	.L593
.L592:
	sub	DWORD PTR -336[rbp], 1
.L591:
	mov	eax, DWORD PTR -336[rbp]
	cmp	eax, DWORD PTR -308[rbp]
	jg	.L594
.L593:
	cmp	DWORD PTR -340[rbp], 0
	je	.L595
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -332[rbp], eax
	jmp	.L596
.L599:
	mov	eax, DWORD PTR -332[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L597
	mov	eax, DWORD PTR -332[rbp]
	mov	DWORD PTR -404[rbp], eax
	jmp	.L598
.L597:
	add	DWORD PTR -332[rbp], 1
.L596:
	mov	eax, DWORD PTR -332[rbp]
	cmp	eax, DWORD PTR -408[rbp]
	jl	.L599
.L598:
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -400[rbp], eax
	mov	eax, DWORD PTR -404[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -328[rbp], eax
	jmp	.L600
.L603:
	mov	eax, DWORD PTR -328[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L601
	mov	eax, DWORD PTR -328[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	jmp	.L567
.L601:
	add	DWORD PTR -328[rbp], 1
.L600:
	mov	eax, DWORD PTR -328[rbp]
	cmp	eax, DWORD PTR -404[rbp]
	jl	.L603
	jmp	.L567
.L595:
	mov	eax, DWORD PTR -408[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	mov	QWORD PTR -272[rbp], rax
	mov	DWORD PTR -264[rbp], -1
	mov	eax, DWORD PTR -408[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L604
	lea	rdx, -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	mov	esi, 123
	mov	rdi, rax
	call	match
.L604:
	mov	eax, DWORD PTR -408[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L605
	lea	rdx, -264[rbp]
	mov	rax, QWORD PTR -272[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	match
.L605:
	mov	eax, DWORD PTR -408[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	edx, DWORD PTR -264[rbp]
	mov	eax, DWORD PTR -408[rbp]
	add	eax, edx
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -408[rbp]
	mov	DWORD PTR -324[rbp], eax
	jmp	.L606
.L607:
	add	DWORD PTR -324[rbp], 1
.L606:
	mov	edx, DWORD PTR -264[rbp]
	mov	eax, DWORD PTR -408[rbp]
	add	eax, edx
	cmp	DWORD PTR -324[rbp], eax
	jle	.L607
	jmp	.L567
.L590:
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -320[rbp], eax
	jmp	.L608
.L611:
	mov	eax, DWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L609
	mov	eax, DWORD PTR -320[rbp]
	mov	DWORD PTR -404[rbp], eax
	jmp	.L610
.L609:
	add	DWORD PTR -320[rbp], 1
.L608:
	mov	eax, DWORD PTR -320[rbp]
	cdqe
	cmp	QWORD PTR -296[rbp], rax
	jg	.L611
.L610:
	cmp	DWORD PTR -404[rbp], 0
	jns	.L612
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -400[rbp], eax
	mov	rax, QWORD PTR -296[rbp]
	sub	eax, 2
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -316[rbp], eax
	jmp	.L613
.L616:
	mov	eax, DWORD PTR -316[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L614
	mov	eax, DWORD PTR -316[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	jmp	.L567
.L614:
	add	DWORD PTR -316[rbp], 1
.L613:
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	mov	rdx, QWORD PTR -296[rbp]
	sub	rdx, 1
	cmp	rax, rdx
	jl	.L616
	jmp	.L567
.L612:
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -400[rbp], eax
	mov	eax, DWORD PTR -404[rbp]
	sub	eax, 1
	mov	DWORD PTR -396[rbp], eax
	mov	eax, DWORD PTR -308[rbp]
	add	eax, 1
	mov	DWORD PTR -312[rbp], eax
	jmp	.L617
.L618:
	add	DWORD PTR -312[rbp], 1
.L617:
	mov	eax, DWORD PTR -312[rbp]
	cmp	eax, DWORD PTR -404[rbp]
	jl	.L618
.L567:
	add	DWORD PTR -356[rbp], 1
	mov	edx, DWORD PTR -396[rbp]
	mov	ecx, DWORD PTR -400[rbp]
	mov	rax, QWORD PTR -464[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	typevalue
	mov	DWORD PTR -352[rbp], eax
.L563:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, 47
	ja	.L619
	mov	rax, QWORD PTR -208[rbp]
	mov	edx, DWORD PTR -224[rbp]
	mov	edx, edx
	add	rax, rdx
	mov	edx, DWORD PTR -224[rbp]
	add	edx, 8
	mov	DWORD PTR -224[rbp], edx
	jmp	.L620
.L619:
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -216[rbp], rdx
.L620:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -472[rbp], rax
	cmp	QWORD PTR -472[rbp], 0
	jne	.L621
	mov	eax, DWORD PTR -400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	mov	QWORD PTR -256[rbp], rax
	mov	eax, DWORD PTR -396[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	mov	QWORD PTR -248[rbp], rax
	mov	eax, DWORD PTR -352[rbp]
	mov	DWORD PTR -240[rbp], eax
	mov	rcx, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR 16[rcx], rax
.L507:
	mov	rax, QWORD PTR -200[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L623
	call	__stack_chk_fail@PLT
.L623:
	mov	rax, QWORD PTR -456[rbp]
	add	rsp, 464
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	getvalue, .-getvalue
	.type	array_count_pt, @function
array_count_pt:
.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, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -68[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L625
.L626:
	add	DWORD PTR -68[rbp], 1
	add	QWORD PTR -32[rbp], 1
.L625:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -96[rbp]
	jbe	.L626
	mov	BYTE PTR -77[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L627
	mov	BYTE PTR -77[rbp], 97
.L627:
	lea	rdx, -76[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 91
	mov	rdi, rax
	call	match
	mov	DWORD PTR -60[rbp], -1
	mov	DWORD PTR -36[rbp], 1
	cmp	BYTE PTR -77[rbp], 97
	jne	.L628
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 1
	mov	QWORD PTR -24[rbp], rax
	jmp	.L629
.L631:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L630
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -60[rbp], eax
	jmp	.L628
.L630:
	add	QWORD PTR -24[rbp], 1
.L629:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -96[rbp]
	jb	.L631
.L628:
	cmp	DWORD PTR -60[rbp], 0
	jle	.L632
	mov	DWORD PTR -64[rbp], 1
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	jmp	.L633
.L636:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L634
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	jne	.L634
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 13
	jne	.L634
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L635
.L634:
	mov	DWORD PTR -64[rbp], 0
	jmp	.L632
.L635:
	sub	QWORD PTR -16[rbp], 1
.L633:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -88[rbp]
	ja	.L636
.L632:
	mov	DWORD PTR -72[rbp], -1
	mov	DWORD PTR -56[rbp], -1
	mov	DWORD PTR -52[rbp], 0
	cmp	DWORD PTR -64[rbp], 1
	jne	.L637
	jmp	.L638
.L648:
	mov	DWORD PTR -56[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	lea	rcx, [rdx+rax]
	lea	rax, -72[rbp]
	mov	rdx, rax
	mov	esi, 123
	mov	rdi, rcx
	call	match
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -48[rbp], eax
	jmp	.L639
.L642:
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L640
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -60[rbp], eax
	mov	DWORD PTR -56[rbp], 1
	jmp	.L641
.L640:
	add	DWORD PTR -48[rbp], 1
.L639:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	cmp	DWORD PTR -48[rbp], eax
	jl	.L642
.L641:
	add	DWORD PTR -52[rbp], 1
	cmp	DWORD PTR -56[rbp], 0
	je	.L659
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	mov	DWORD PTR -44[rbp], eax
	jmp	.L645
.L647:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L646
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -60[rbp], eax
	jmp	.L638
.L646:
	add	DWORD PTR -44[rbp], 1
.L645:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	jl	.L647
.L638:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jl	.L648
	jmp	.L644
.L659:
	nop
.L644:
	mov	eax, DWORD PTR -52[rbp]
	jmp	.L657
.L637:
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -60[rbp], 1
	cmp	DWORD PTR -64[rbp], 0
	jne	.L650
	jmp	.L651
.L656:
	mov	DWORD PTR -56[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L652
.L655:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L653
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	DWORD PTR -60[rbp], eax
	mov	DWORD PTR -56[rbp], 1
	jmp	.L654
.L653:
	add	DWORD PTR -40[rbp], 1
.L652:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	cmp	DWORD PTR -40[rbp], eax
	jl	.L655
.L654:
	add	DWORD PTR -52[rbp], 1
	cmp	DWORD PTR -56[rbp], 0
	je	.L660
.L651:
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jl	.L656
	jmp	.L650
.L660:
	nop
.L650:
	mov	eax, DWORD PTR -52[rbp]
.L657:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L658
	call	__stack_chk_fail@PLT
.L658:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	array_count_pt, .-array_count_pt
	.type	copytostring, @function
copytostring:
.LFB45:
	.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 -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	DWORD PTR -64[rbp], r8d
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	cmp	DWORD PTR -64[rbp], 0
	je	.L662
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L663
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L672
.L663:
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 1
	mov	QWORD PTR -24[rbp], rax
	jmp	.L665
.L667:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -24[rbp], 1
.L665:
	mov	rax, QWORD PTR -80[rbp]
	sub	rax, 1
	cmp	QWORD PTR -24[rbp], rax
	ja	.L666
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L667
.L666:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L668
.L662:
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L669
.L671:
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L669:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	ja	.L670
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L671
.L670:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], 0
.L668:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L661
.L672:
	nop
.L661:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	copytostring, .-copytostring
	.section	.rodata
.LC18:
	.string	"true"
.LC19:
	.string	"false"
	.text
	.type	st_bool, @function
st_bool:
.LFB46:
	.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 -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -60[rbp], 1
	mov	DWORD PTR -56[rbp], 1
	lea	rax, .LC18[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, .LC19[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L674
.L677:
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L675
	mov	DWORD PTR -60[rbp], 0
.L675:
	add	QWORD PTR -48[rbp], 1
	add	QWORD PTR -32[rbp], 1
.L674:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	ja	.L676
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L677
.L676:
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L678
.L681:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L679
	mov	DWORD PTR -56[rbp], 0
.L679:
	add	QWORD PTR -40[rbp], 1
	add	QWORD PTR -24[rbp], 1
.L678:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	ja	.L680
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L681
.L680:
	mov	DWORD PTR -52[rbp], 0
	cmp	DWORD PTR -60[rbp], 0
	je	.L682
	mov	DWORD PTR -52[rbp], 1
.L682:
	cmp	DWORD PTR -56[rbp], 0
	je	.L683
	mov	DWORD PTR -52[rbp], 0
.L683:
	mov	eax, DWORD PTR -52[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	st_bool, .-st_bool
	.type	outputtobuffer, @function
outputtobuffer:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L686
.L687:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	add	QWORD PTR -8[rbp], 1
.L686:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L687
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	outputtobuffer, .-outputtobuffer
	.section	.rodata
	.align 4
.LC0:
	.long	1065353216
	.align 4
.LC1:
	.long	1092616192
	.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	"815644.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isnull, %function
isnull:
	@ 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]
	cmp	r3, #0
	beq	.L2
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L3
.L2:
	mov	r3, #0
	b	.L4
.L3:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L5
.L6:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L5:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bls	.L6
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	beq	.L7
	mov	r3, #0
	b	.L4
.L7:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L8
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L8
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	bne	.L8
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	bne	.L8
	mov	r3, #1
	b	.L4
.L8:
	mov	r3, #0
.L4:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isnull, .-isnull
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isbool, %function
isbool:
	@ 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]
	cmp	r3, #0
	beq	.L10
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L11
.L10:
	mov	r3, #0
	b	.L12
.L11:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #116
	beq	.L14
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L14
	mov	r3, #0
	b	.L12
.L15:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L14:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bls	.L15
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #116
	bne	.L16
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	beq	.L16
	mov	r3, #0
	b	.L12
.L16:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L17
	ldr	r3, [fp, #-12]
	cmp	r3, #5
	beq	.L17
	mov	r3, #0
	b	.L12
.L17:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #116
	bne	.L18
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #114
	bne	.L18
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L18
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	bne	.L18
	mov	r3, #1
	b	.L12
.L18:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	bne	.L19
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #97
	bne	.L19
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	bne	.L19
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #115
	bne	.L19
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	bne	.L19
	mov	r3, #1
	b	.L12
.L19:
	mov	r3, #0
.L12:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isbool, .-isbool
	.section	.rodata
	.align	2
.LC2:
	.ascii	".0123456789\000"
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isdotnumeric, %function
isdotnumeric:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	mov	r3, r0
	strb	r3, [fp, #-29]
	ldr	r3, .L26
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r2, .L26+4
	sub	r3, fp, #20
	ldm	r2, {r0, r1, r2}
	stm	r3, {r0, r1, r2}
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L21
.L23:
	sub	r2, fp, #20
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-29]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L22
	mov	r3, #1
	str	r3, [fp, #-28]
.L22:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L21:
	ldr	r3, [fp, #-24]
	cmp	r3, #10
	ble	.L23
	ldr	r3, [fp, #-28]
	ldr	r2, .L26
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L25
	bl	__stack_chk_fail
.L25:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L27:
	.align	2
.L26:
	.word	.LC3
	.word	.LC2
	.size	isdotnumeric, .-isdotnumeric
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ishasonedot, %function
ishasonedot:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L29
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L30
.L29:
	mov	r3, #0
	b	.L31
.L30:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L32
.L34:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L33
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L33:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L32:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bls	.L34
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L31:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ishasonedot, .-ishasonedot
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ishasdot, %function
ishasdot:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L36
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L37
.L36:
	mov	r3, #0
	b	.L38
.L37:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L39
.L41:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L40
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L40:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L39:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bls	.L41
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L38:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ishasdot, .-ishasdot
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isNumeric, %function
isNumeric:
	@ 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
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L43
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L43
	mov	r3, #1
	b	.L45
.L43:
	mov	r3, #0
.L45:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isNumeric, .-isNumeric
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isFloat, %function
isFloat:
	@ 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]
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L48
.L47:
	mov	r3, #0
	b	.L49
.L48:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	ishasonedot
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L50
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L51
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L50
.L51:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L52
	mov	r3, #0
	b	.L49
.L52:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	cmp	r3, #1
	bne	.L53
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L53
	mov	r3, #0
	b	.L49
.L53:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isdotnumeric
	mov	r3, r0
	cmp	r3, #0
	beq	.L54
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L55
.L58:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isdotnumeric
	mov	r3, r0
	cmp	r3, #0
	beq	.L56
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L56
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #70
	beq	.L56
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	beq	.L56
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #69
	beq	.L56
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L56:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isdotnumeric
	mov	r3, r0
	cmp	r3, #0
	bne	.L57
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L57
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #70
	beq	.L57
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	beq	.L57
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #69
	beq	.L57
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L57:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L55:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bls	.L58
.L54:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L59
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L59
	mov	r3, #1
	b	.L49
.L59:
	mov	r3, #0
	b	.L49
.L50:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L60
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L60
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L60
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isdotnumeric
	mov	r3, r0
	cmp	r3, #0
	beq	.L60
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L62
	mov	r3, #0
	b	.L49
.L65:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isdotnumeric
	mov	r3, r0
	cmp	r3, #0
	beq	.L63
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L63
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #70
	beq	.L63
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	beq	.L63
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #69
	beq	.L63
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L63:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isdotnumeric
	mov	r3, r0
	cmp	r3, #0
	bne	.L64
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #102
	beq	.L64
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #70
	beq	.L64
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	beq	.L64
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #69
	beq	.L64
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L64:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L62:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bls	.L65
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L66
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L66
	mov	r3, #1
	b	.L49
.L66:
	mov	r3, #0
	b	.L49
.L60:
	mov	r3, #0
.L49:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isFloat, .-isFloat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isInt, %function
isInt:
	@ 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, [fp, #-24]
	cmp	r3, #0
	beq	.L68
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L69
.L68:
	mov	r3, #0
	b	.L70
.L69:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	ishasdot
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L71
	mov	r3, #0
	b	.L70
.L71:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L72
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L73
.L72:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L74
	mov	r3, #0
	b	.L70
.L74:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isNumeric
	mov	r3, r0
	cmp	r3, #0
	beq	.L75
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L76
.L78:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isNumeric
	mov	r3, r0
	cmp	r3, #0
	bne	.L77
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L77:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L76:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bls	.L78
.L75:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L79
	mov	r3, #0
	b	.L70
.L79:
	mov	r3, #1
	b	.L70
.L73:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L80
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L80
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isNumeric
	mov	r3, r0
	cmp	r3, #0
	beq	.L80
	b	.L81
.L83:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isNumeric
	mov	r3, r0
	cmp	r3, #0
	bne	.L82
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L82:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L81:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bls	.L83
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L84
	mov	r3, #0
	b	.L70
.L84:
	mov	r3, #1
	b	.L70
.L80:
	mov	r3, #0
.L70:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isInt, .-isInt
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pow10, %function
pow10:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #28
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	cmp	r2, #1
	sbcs	r3, r3, #0
	blt	.L86
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L87
.L88:
	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
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	adds	r6, r2, #1
	adc	r7, r3, #0
	str	r6, [fp, #-36]
	str	r7, [fp, #-32]
.L87:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	cmp	r0, r2
	sbcs	r3, r1, r3
	blt	.L88
.L86:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
	.size	pow10, .-pow10
	.global	__aeabi_fdiv
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	npow10, %function
npow10:
	@ 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, #1065353216
	str	r3, [fp, #-12]	@ float
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L91
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L92
.L93:
	ldr	r1, .L95
	ldr	r0, [fp, #-12]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-12]	@ float
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L92:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L93
.L91:
	ldr	r3, [fp, #-12]	@ float
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L96:
	.align	2
.L95:
	.word	1092616192
	.size	npow10, .-npow10
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stoi, %function
stoi:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-56]
	b	.L98
.L100:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L99
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	adds	r6, r2, #1
	adc	r7, r3, #0
	str	r6, [fp, #-52]
	str	r7, [fp, #-48]
.L99:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L98:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L100
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r4, r2, #1
	sbc	r5, r3, #0
	str	r4, [fp, #-52]
	str	r5, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L101
.L106:
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L102
	mvn	r2, #0
	mvn	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r8, r2, #1
	sbc	r9, r3, #0
	str	r8, [fp, #-52]
	str	r9, [fp, #-48]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	ble	.L101
	mov	r2, #0
	mov	r3, #0
	b	.L103
.L102:
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	bne	.L104
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-76]
	sbc	r3, r3, #0
	str	r3, [fp, #-72]
	sub	r4, fp, #76
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-52]
	str	r4, [fp, #-48]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	ble	.L101
	mov	r2, #0
	mov	r3, #0
	b	.L103
.L104:
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L105
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r4, r3
	asr	r5, r4, #31
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	pow10
	mul	r2, r0, r5
	mul	r3, r4, r1
	add	ip, r2, r3
	umull	r2, r3, r4, r0
	add	r1, ip, r3
	mov	r3, r1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-84]
	adc	r3, r1, r3
	str	r3, [fp, #-80]
	sub	r4, fp, #84
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-44]
	str	r4, [fp, #-40]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-92]
	sbc	r3, r3, #0
	str	r3, [fp, #-88]
	sub	r4, fp, #92
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-52]
	str	r4, [fp, #-48]
	b	.L101
.L105:
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L101:
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L106
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	mul	r2, r3, r2
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-36]
	mul	r3, r1, r3
	add	r1, r2, r3
	ldr	ip, [fp, #-36]
	ldr	r0, [fp, #-44]
	umull	r2, r3, ip, r0
	add	r1, r1, r3
	mov	r3, r1
.L103:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	stoi, .-stoi
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stoi_bg, %function
stoi_bg:
	@ 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, #-72]
	str	r1, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-60]
	b	.L108
.L110:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L109
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	adds	r6, r2, #1
	adc	r7, r3, #0
	str	r6, [fp, #-52]
	str	r7, [fp, #-48]
.L109:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L108:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bls	.L110
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r4, r2, #1
	sbc	r5, r3, #0
	str	r4, [fp, #-52]
	str	r5, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-56]
	b	.L111
.L116:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L112
	mvn	r2, #0
	mvn	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r8, r2, #1
	sbc	r9, r3, #0
	str	r8, [fp, #-52]
	str	r9, [fp, #-48]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	ble	.L111
	mov	r2, #0
	mov	r3, #0
	b	.L113
.L112:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	bne	.L114
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-84]
	sbc	r3, r3, #0
	str	r3, [fp, #-80]
	sub	r4, fp, #84
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-52]
	str	r4, [fp, #-48]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	ble	.L111
	mov	r2, #0
	mov	r3, #0
	b	.L113
.L114:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L115
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r4, r3
	asr	r5, r4, #31
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	pow10
	mul	r2, r0, r5
	mul	r3, r4, r1
	add	ip, r2, r3
	umull	r2, r3, r4, r0
	add	r1, ip, r3
	mov	r3, r1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-92]
	adc	r3, r1, r3
	str	r3, [fp, #-88]
	sub	r4, fp, #92
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-44]
	str	r4, [fp, #-40]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-100]
	sbc	r3, r3, #0
	str	r3, [fp, #-96]
	sub	r4, fp, #100
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-52]
	str	r4, [fp, #-48]
	b	.L111
.L115:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L111:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bls	.L116
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	mul	r2, r3, r2
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-36]
	mul	r3, r1, r3
	add	r1, r2, r3
	ldr	ip, [fp, #-36]
	ldr	r0, [fp, #-44]
	umull	r2, r3, ip, r0
	add	r1, r1, r3
	mov	r3, r1
.L113:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	stoi_bg, .-stoi_bg
	.global	__aeabi_l2f
	.global	__aeabi_fadd
	.global	__aeabi_i2f
	.global	__aeabi_fmul
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stof, %function
stof:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #56
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-60]
	b	.L118
.L119:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L118:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L119
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	isInt
	mov	r3, r0
	cmp	r3, #0
	beq	.L120
	ldr	r0, [fp, #-64]
	bl	stoi
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_l2f
	mov	r3, r0
	b	.L121
.L120:
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-44]
	b	.L122
.L126:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L123
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L140
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L123:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L122:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L126
	b	.L125
.L140:
	nop
.L125:
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-40]	@ float
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L127
.L133:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L128
	mvn	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #1
	ble	.L127
	mov	r3, #0
	b	.L121
.L128:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	bne	.L129
	mov	r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #1
	ble	.L127
	mov	r3, #0
	b	.L121
.L129:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L130
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L141
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r4, r3
	asr	r5, r4, #31
	ldr	r3, [fp, #-52]
	mov	r2, r3
	asr	r3, r2, #31
	mov	r0, r2
	mov	r1, r3
	bl	pow10
	mov	r2, r0
	mov	r3, r1
	mul	r0, r2, r5
	mul	r1, r4, r3
	add	ip, r0, r1
	umull	r0, r1, r4, r2
	add	r3, ip, r1
	mov	r1, r3
	bl	__aeabi_l2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-40]	@ float
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L127
.L130:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L127:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L133
	b	.L132
.L141:
	nop
.L132:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-32]
	b	.L134
.L137:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L142
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L134:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L137
	b	.L136
.L142:
	nop
.L136:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-24]	@ float
	b	.L138
.L139:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L138
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r0, [fp, #-52]
	bl	npow10
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-24]	@ float
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L138:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L139
	ldr	r0, [fp, #-36]
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r1, [fp, #-24]	@ float
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fmul
	mov	r3, r0
.L121:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	stof, .-stof
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stof_bg, %function
stof_bg:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #48
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	isInt
	mov	r3, r0
	cmp	r3, #0
	beq	.L144
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	stoi_bg
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_l2f
	mov	r3, r0
	b	.L145
.L144:
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-36]
	b	.L146
.L150:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L147
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L164
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L147:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L146:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bls	.L150
	b	.L149
.L164:
	nop
.L149:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-32]	@ float
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L151
.L157:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L152
	mvn	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #1
	ble	.L151
	mov	r3, #0
	b	.L145
.L152:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	bne	.L153
	mov	r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #1
	ble	.L151
	mov	r3, #0
	b	.L145
.L153:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L154
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L165
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r4, r3
	asr	r5, r4, #31
	ldr	r3, [fp, #-44]
	mov	r2, r3
	asr	r3, r2, #31
	mov	r0, r2
	mov	r1, r3
	bl	pow10
	mov	r2, r0
	mov	r3, r1
	mul	r0, r2, r5
	mul	r1, r4, r3
	add	ip, r0, r1
	umull	r0, r1, r4, r2
	add	r3, ip, r1
	mov	r1, r3
	bl	__aeabi_l2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-32]	@ float
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L151
.L154:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L151:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bls	.L157
	b	.L156
.L165:
	nop
.L156:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-24]
	b	.L158
.L161:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L166
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L158:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bls	.L161
	b	.L160
.L166:
	nop
.L160:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-16]	@ float
	b	.L162
.L163:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L162
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r0, [fp, #-44]
	bl	npow10
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-16]	@ float
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L162:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bls	.L163
	ldr	r0, [fp, #-28]
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r1, [fp, #-16]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fmul
	mov	r3, r0
.L145:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	stof_bg, .-stof_bg
	.section	.rodata
	.align	2
.LC0:
	.word	-1
	.word	-1
	.word	-1
	.word	-1
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	istoplevelkey, %function
istoplevelkey:
	@ 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, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L185
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	ldr	r3, .L185+4
	str	r3, [fp, #-16]
	ldr	r3, .L185+8
	str	r3, [fp, #-12]
	ldr	r3, .L185+12
	sub	ip, fp, #48
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, .L185+12
	sub	ip, fp, #32
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #0
	str	r3, [fp, #-64]
	b	.L168
.L172:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	b	.L169
.L171:
	ldr	r3, [fp, #-68]
	ldrb	r2, [r3]	@ zero_extendqisi2
	sub	r1, fp, #16
	ldr	r3, [fp, #-64]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L170
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-28]
	add	r2, r3, #1
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-28]
.L170:
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L169:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bcc	.L171
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L168:
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	ble	.L172
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L173
.L177:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	b	.L174
.L176:
	ldr	r3, [fp, #-68]
	ldrb	r2, [r3]	@ zero_extendqisi2
	sub	r1, fp, #12
	ldr	r3, [fp, #-60]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L175
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-44]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-44]
.L175:
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L174:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bcc	.L176
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L173:
	ldr	r3, [fp, #-60]
	cmp	r3, #2
	ble	.L177
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L178
.L180:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-44]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-28]
	cmp	r2, r3
	bne	.L179
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L179:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L178:
	ldr	r3, [fp, #-52]
	cmp	r3, #2
	ble	.L180
	ldr	r3, [fp, #-56]
	cmp	r3, #3
	beq	.L181
	mov	r3, #0
	b	.L183
.L181:
	mov	r3, #1
.L183:
	ldr	r2, .L185
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L184
	bl	__stack_chk_fail
.L184:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L186:
	.align	2
.L185:
	.word	.LC4
	.word	5974139
	.word	6105469
	.word	.LC0
	.size	istoplevelkey, .-istoplevelkey
	.section	.rodata
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	checksymbolbeforeparse, %function
checksymbolbeforeparse:
	@ 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, #-72]
	ldr	r3, .L205
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	ldr	r3, .L205+4
	str	r3, [fp, #-16]
	ldr	r3, .L205+8
	str	r3, [fp, #-12]
	ldr	r3, .L205+12
	sub	ip, fp, #48
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, .L205+12
	sub	ip, fp, #32
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r3, #0
	str	r3, [fp, #-64]
	b	.L188
.L192:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	b	.L189
.L191:
	ldr	r3, [fp, #-68]
	ldrb	r2, [r3]	@ zero_extendqisi2
	sub	r1, fp, #16
	ldr	r3, [fp, #-64]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L190
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-28]
	add	r2, r3, #1
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-28]
.L190:
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L189:
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L191
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L188:
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	ble	.L192
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L193
.L197:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	b	.L194
.L196:
	ldr	r3, [fp, #-68]
	ldrb	r2, [r3]	@ zero_extendqisi2
	sub	r1, fp, #12
	ldr	r3, [fp, #-60]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L195
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-44]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-44]
.L195:
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L194:
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L196
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L193:
	ldr	r3, [fp, #-60]
	cmp	r3, #2
	ble	.L197
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L198
.L200:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-44]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-28]
	cmp	r2, r3
	bne	.L199
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L199:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L198:
	ldr	r3, [fp, #-52]
	cmp	r3, #2
	ble	.L200
	ldr	r3, [fp, #-56]
	cmp	r3, #3
	beq	.L201
	mov	r3, #1
	b	.L203
.L201:
	mov	r3, #0
.L203:
	ldr	r2, .L205
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L204
	bl	__stack_chk_fail
.L204:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L206:
	.align	2
.L205:
	.word	.LC5
	.word	5974139
	.word	6105469
	.word	.LC0
	.size	checksymbolbeforeparse, .-checksymbolbeforeparse
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkforquote, %function
checkforquote:
	@ 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, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L209
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L209
.L210:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L209:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L210
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L211
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L211:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L212
	mov	r3, #0
	b	.L213
.L212:
	mov	r3, #1
.L213:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	checkforquote, .-checkforquote
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	addquote, %function
addquote:
	@ 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]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L215
.L216:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L215:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L216
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	b	.L217
.L218:
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L217:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L218
	ldr	r3, [fp, #-16]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L219
.L220:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L219:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L220
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	addquote, .-addquote
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	match, %function
match:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #44
	str	r0, [fp, #-32]
	mov	r3, r1
	str	r2, [fp, #-40]
	strb	r3, [fp, #-33]
	mov	r3, #48
	strb	r3, [fp, #-22]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L223
	cmp	r3, #123
	bgt	.L234
	cmp	r3, #40
	beq	.L225
	cmp	r3, #91
	beq	.L226
	b	.L234
.L223:
	mov	r3, #125
	strb	r3, [fp, #-22]
	b	.L227
.L225:
	mov	r3, #41
	strb	r3, [fp, #-22]
	b	.L227
.L226:
	mov	r3, #93
	strb	r3, [fp, #-22]
	b	.L227
.L234:
	nop
.L227:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-16]
	mov	r3, #32
	strb	r3, [fp, #-21]
	b	.L228
.L232:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-21]
	ldrb	r2, [fp, #-21]	@ zero_extendqisi2
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L229
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L230
.L229:
	ldrb	r2, [fp, #-21]	@ zero_extendqisi2
	ldrb	r3, [fp, #-22]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L230
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L230:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L235
.L228:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L232
	b	.L231
.L235:
	nop
.L231:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	match, .-match
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	power10, %function
power10:
	@ 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]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L237
.L238:
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	str	r3, [fp, #-8]
.L237:
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	str	r2, [fp, #-16]
	cmp	r3, #0
	bne	.L238
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	power10, .-power10
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fun, %function
fun:
	@ 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, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L241
.L242:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L241:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L242
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L243
.L244:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r4, r3, #48
	ldr	r0, [fp, #-20]
	bl	power10
	mov	r3, r0
	mul	r3, r4, r3
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L243:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L244
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	fun, .-fun
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_value, %function
array_value:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-120]
	str	r1, [fp, #-124]
	ldr	r3, .L294
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-120]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bne	.L249
	mov	r3, #0
	b	.L291
.L250:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L249:
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L250
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	mov	r3, #0
	strb	r3, [fp, #-109]
	mov	r3, #0
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L251
	mov	r3, #97
	strb	r3, [fp, #-109]
.L251:
	sub	r3, fp, #108
	mov	r2, r3
	mov	r1, #91
	ldr	r0, [fp, #-120]
	bl	match
	mvn	r3, #0
	str	r3, [fp, #-88]
	ldrb	r3, [fp, #-109]	@ zero_extendqisi2
	cmp	r3, #97
	bne	.L252
	mov	r3, #1
	str	r3, [fp, #-84]
	b	.L253
.L255:
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L254
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-88]
	b	.L252
.L254:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L253:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	blt	.L255
.L252:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	ble	.L256
	mov	r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-88]
	sub	r3, r3, #1
	str	r3, [fp, #-80]
	b	.L257
.L260:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L258
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L258
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #13
	bne	.L258
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L259
.L258:
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L256
.L259:
	ldr	r3, [fp, #-80]
	sub	r3, r3, #1
	str	r3, [fp, #-80]
.L257:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bgt	.L260
.L256:
	mvn	r3, #0
	str	r3, [fp, #-104]
	mvn	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #1
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-64]
	mov	r3, #1
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-92]
	cmp	r3, #1
	bne	.L261
	b	.L262
.L274:
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	sub	r2, fp, #104
	mov	r1, #123
	mov	r0, r3
	bl	match
	ldr	r0, [fp, #-124]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-72]
	cmp	r3, r2
	bne	.L263
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-104]
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-48]
	b	.L264
.L265:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	ldr	r1, [fp, #-56]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L264:
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	ble	.L265
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-60]
.L263:
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L266
.L269:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L267
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-88]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L268
.L267:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L266:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	blt	.L269
.L268:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L293
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L271
.L273:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L272
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-88]
	b	.L262
.L272:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L271:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	blt	.L273
.L262:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	bge	.L261
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L274
	b	.L261
.L293:
	nop
.L261:
	mvn	r3, #0
	str	r3, [fp, #-104]
	mvn	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #1
	str	r3, [fp, #-88]
	mov	r3, #1
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-64]
	mov	r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L275
	b	.L276
.L290:
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-36]
	b	.L277
.L280:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L278
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L279
.L278:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L277:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	blt	.L280
.L279:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L281
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L281
	ldr	r0, [fp, #-124]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-72]
	cmp	r3, r2
	bne	.L281
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-108]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	sub	r3, r2, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-28]
	b	.L282
.L283:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-56]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L282:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	ble	.L283
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-60]
.L281:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L284
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	ble	.L284
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-108]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r0, [fp, #-124]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-72]
	cmp	r3, r2
	bne	.L284
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	sub	r3, r2, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-20]
	b	.L285
.L286:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-56]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L285:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	ble	.L286
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-60]
.L284:
	ldr	r3, [fp, #-76]
	cmp	r3, #1
	bne	.L287
	ldr	r0, [fp, #-124]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-72]
	cmp	r3, r2
	bne	.L287
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-12]
	b	.L288
.L289:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-56]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L288:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	blt	.L289
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-60]
.L287:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L276:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	bge	.L275
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L290
.L275:
	ldr	r3, [fp, #-56]
.L291:
	ldr	r2, .L294
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L292
	bl	__stack_chk_fail
.L292:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L295:
	.align	2
.L294:
	.word	.LC6
	.size	array_value, .-array_value
	.section	.rodata
	.align	2
.LC7:
	.ascii	"here1 (icol == 0 && nel == 0) last %d\011 first %d\012"
	.ascii	"\000"
	.align	2
.LC1:
	.word	-1
	.word	-1
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_value_pt, %function
array_value_pt:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	str	r3, [fp, #-116]
	ldr	r3, .L340
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-80]
	b	.L297
.L298:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L297:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	bls	.L298
	mov	r3, #0
	strb	r3, [fp, #-93]
	mov	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L299
	mov	r3, #97
	strb	r3, [fp, #-93]
.L299:
	sub	r3, fp, #92
	mov	r2, r3
	mov	r1, #91
	ldr	r0, [fp, #-108]
	bl	match
	mvn	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #1
	str	r3, [fp, #-20]
	ldrb	r3, [fp, #-93]	@ zero_extendqisi2
	cmp	r3, #97
	bne	.L300
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L301
.L303:
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L302
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-72]
	b	.L300
.L302:
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L301:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	bcc	.L303
.L300:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	ble	.L304
	mov	r3, #1
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	b	.L305
.L308:
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L306
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L306
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #13
	bne	.L306
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L307
.L306:
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L304
.L307:
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
.L305:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-108]
	cmp	r2, r3
	bhi	.L308
.L304:
	mvn	r3, #0
	str	r3, [fp, #-88]
	mvn	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #1
	str	r3, [fp, #-52]
	mov	r3, #1
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-44]
	ldr	r2, .L340+4
	sub	r3, fp, #16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-76]
	cmp	r3, #1
	bne	.L309
	b	.L310
.L320:
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	sub	r2, fp, #88
	mov	r1, #123
	mov	r0, r3
	bl	match
	ldr	r0, [fp, #-116]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-56]
	cmp	r3, r2
	bne	.L311
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-44]
.L311:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L312
.L315:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L313
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-72]
	mov	r3, #1
	str	r3, [fp, #-60]
	b	.L314
.L313:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L312:
	ldr	r3, [fp, #-84]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L315
.L314:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L338
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L317
.L319:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L318
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-72]
	b	.L310
.L318:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L317:
	ldr	r3, [fp, #-84]
	sub	r3, r3, #1
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L319
.L310:
	ldr	r3, [fp, #-84]
	sub	r3, r3, #1
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	bge	.L309
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L320
	b	.L309
.L338:
	nop
.L309:
	mvn	r3, #0
	str	r3, [fp, #-88]
	mvn	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #1
	str	r3, [fp, #-72]
	mov	r3, #1
	str	r3, [fp, #-52]
	mov	r3, #1
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L321
	b	.L322
.L335:
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-32]
	b	.L323
.L326:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L324
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	mov	r3, #1
	str	r3, [fp, #-60]
	b	.L325
.L324:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L323:
	ldr	r3, [fp, #-84]
	sub	r3, r3, #1
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L326
.L325:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L327
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L327
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L328
.L330:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L329
	mov	r3, #1
	str	r3, [fp, #-28]
.L329:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L328:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	bcc	.L330
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L331
	ldr	r0, [fp, #-116]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-56]
	cmp	r3, r2
	bne	.L331
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-84]
	sub	r3, r3, #2
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L327
.L331:
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-48]
	ldr	r0, .L340+8
	bl	printf
	ldr	r0, [fp, #-116]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-56]
	cmp	r3, r2
	bne	.L327
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-44]
.L327:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L332
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	ble	.L332
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-92]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bgt	.L339
	ldr	r0, [fp, #-116]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-56]
	cmp	r3, r2
	bne	.L332
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-44]
.L332:
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	bne	.L334
	ldr	r0, [fp, #-116]
	bl	fun
	mov	r2, r0
	ldr	r3, [fp, #-56]
	cmp	r3, r2
	bne	.L334
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-44]
.L334:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L322:
	ldr	r3, [fp, #-84]
	sub	r3, r3, #1
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	bge	.L321
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L335
	b	.L321
.L339:
	nop
.L321:
	ldr	r3, [fp, #-104]
	mov	r2, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r3, .L340
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L337
	bl	__stack_chk_fail
.L337:
	ldr	r0, [fp, #-104]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L341:
	.align	2
.L340:
	.word	.LC8
	.word	.LC1
	.word	.LC7
	.size	array_value_pt, .-array_value_pt
	.section	.rodata
	.align	2
.LC9:
	.ascii	"this is array\000"
	.align	2
.LC10:
	.ascii	"number of elements is %d\012\000"
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_explode_bg, %function
array_explode_bg:
	@ 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, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L383
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L380
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L380
	b	.L346
.L347:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L346:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bls	.L347
	mov	r3, #0
	strb	r3, [fp, #-65]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L348
	ldr	r0, .L383+4
	bl	puts
	mov	r3, #97
	strb	r3, [fp, #-65]
.L348:
	mvn	r3, #0
	str	r3, [fp, #-48]
	ldrb	r3, [fp, #-65]	@ zero_extendqisi2
	cmp	r3, #97
	bne	.L349
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L350
.L352:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L351
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-48]
	b	.L349
.L351:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L350:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L352
.L349:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	ble	.L353
	mov	r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L354
.L357:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L355
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L355
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #13
	bne	.L355
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L356
.L355:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L353
.L356:
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
.L354:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bgt	.L357
.L353:
	mvn	r3, #0
	str	r3, [fp, #-64]
	mvn	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	bne	.L358
	b	.L359
.L371:
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	sub	r2, fp, #64
	mov	r1, #123
	mov	r0, r3
	bl	match
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-28]
	b	.L360
.L361:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L360:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	ble	.L361
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L362
.L365:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L363
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L364
.L363:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L362:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L365
.L364:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L381
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L368
.L370:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L369
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-48]
	b	.L359
.L369:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L368:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L370
.L359:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L371
	b	.L367
.L381:
	nop
.L367:
	ldr	r1, [fp, #-32]
	ldr	r0, .L383+8
	bl	printf
.L358:
	mvn	r3, #0
	str	r3, [fp, #-64]
	mvn	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L342
	b	.L373
.L378:
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-16]
	b	.L374
.L377:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L375
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L376
.L375:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L374:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L377
.L376:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L382
.L373:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L378
	b	.L342
.L380:
	nop
	b	.L342
.L382:
	nop
.L342:
	ldr	r3, .L383
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L379
	bl	__stack_chk_fail
.L379:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L384:
	.align	2
.L383:
	.word	.LC11
	.word	.LC9
	.word	.LC10
	.size	array_explode_bg, .-array_explode_bg
	.section	.rodata
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_explode, %function
array_explode:
	@ 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, #-72]
	ldr	r3, .L425
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L422
	b	.L388
.L389:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L388:
	ldr	r3, [fp, #-52]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L389
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	mov	r3, #0
	strb	r3, [fp, #-61]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L390
	ldr	r0, .L425+4
	bl	puts
	mov	r3, #97
	strb	r3, [fp, #-61]
.L390:
	mvn	r3, #0
	str	r3, [fp, #-44]
	ldrb	r3, [fp, #-61]	@ zero_extendqisi2
	cmp	r3, #97
	bne	.L391
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L392
.L394:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L393
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-44]
	b	.L391
.L393:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L392:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L394
.L391:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	ble	.L395
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L396
.L399:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L397
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L397
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #13
	bne	.L397
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L398
.L397:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L395
.L398:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
.L396:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bgt	.L399
.L395:
	mvn	r3, #0
	str	r3, [fp, #-60]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	cmp	r3, #1
	bne	.L400
	b	.L401
.L413:
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	sub	r2, fp, #60
	mov	r1, #123
	mov	r0, r3
	bl	match
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-24]
	b	.L402
.L403:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L402:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L403
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L404
.L407:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L405
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L406
.L405:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L404:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L407
.L406:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L423
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L410
.L412:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L411
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-44]
	b	.L401
.L411:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L410:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L412
.L401:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L413
	b	.L409
.L423:
	nop
.L409:
	ldr	r1, [fp, #-28]
	ldr	r0, .L425+8
	bl	printf
.L400:
	mvn	r3, #0
	str	r3, [fp, #-60]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L385
	b	.L415
.L420:
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-12]
	b	.L416
.L419:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L417
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L418
.L417:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L416:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L419
.L418:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L424
.L415:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L420
	b	.L385
.L422:
	nop
	b	.L385
.L424:
	nop
.L385:
	ldr	r3, .L425
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L421
	bl	__stack_chk_fail
.L421:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L426:
	.align	2
.L425:
	.word	.LC12
	.word	.LC9
	.word	.LC10
	.size	array_explode, .-array_explode
	.section	.rodata
	.align	2
.LC13:
	.ascii	"Value is = \000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stringinfo, %function
stringinfo:
	@ 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]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L432
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L432
	ldr	r0, .L433
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L429
.L430:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L429:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L430
	mov	r0, #10
	bl	putchar
	nop
.L432:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L434:
	.align	2
.L433:
	.word	.LC13
	.size	stringinfo, .-stringinfo
	.section	.rodata
	.align	2
.LC14:
	.ascii	"TYPE is array\000"
	.align	2
.LC15:
	.ascii	"TYPE is object\000"
	.align	2
.LC16:
	.ascii	"TYPE is string \000"
	.align	2
.LC17:
	.ascii	"TYPE is float \000"
	.align	2
.LC18:
	.ascii	"TYPE is int  \000"
	.align	2
.LC19:
	.ascii	"TYPE is bool \000"
	.align	2
.LC20:
	.ascii	"TYPE is null \000"
	.align	2
.LC21:
	.ascii	"TYPE is undefined.\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stringfullinfo, %function
stringfullinfo:
	@ 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]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L451
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L451
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #256
	beq	.L437
	cmp	r3, #256
	bhi	.L438
	cmp	r3, #128
	beq	.L439
	cmp	r3, #128
	bhi	.L438
	cmp	r3, #32
	bhi	.L440
	cmp	r3, #0
	beq	.L438
	sub	r3, r3, #1
	cmp	r3, #31
	ldrls	pc, [pc, r3, asl #2]
	b	.L438
.L442:
	.word	.L446
	.word	.L438
	.word	.L438
	.word	.L445
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L444
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L443
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L438
	.word	.L441
.L440:
	cmp	r3, #64
	beq	.L447
	b	.L438
.L446:
	ldr	r0, .L452
	bl	puts
	b	.L438
.L445:
	ldr	r0, .L452+4
	bl	puts
	b	.L438
.L444:
	ldr	r0, .L452+8
	bl	puts
	b	.L438
.L441:
	ldr	r0, .L452+12
	bl	puts
	b	.L438
.L443:
	ldr	r0, .L452+16
	bl	puts
	b	.L438
.L447:
	ldr	r0, .L452+20
	bl	puts
	b	.L438
.L439:
	ldr	r0, .L452+24
	bl	puts
	b	.L438
.L437:
	ldr	r0, .L452+28
	bl	puts
	nop
.L438:
	ldr	r0, .L452+32
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L448
.L449:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L448:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L449
	mov	r0, #10
	bl	putchar
	nop
.L451:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L453:
	.align	2
.L452:
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC13
	.size	stringfullinfo, .-stringfullinfo
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getLen, %function
getLen:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L455
	b	.L456
.L457:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L456:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L457
.L455:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getLen, .-getLen
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	removewhitespace, %function
removewhitespace:
	@ 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]
	cmp	r3, #0
	beq	.L465
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L462
.L464:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L463
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L463
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #13
	beq	.L463
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	beq	.L463
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #11
	beq	.L463
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #12
	beq	.L463
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L463:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L462:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L464
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	b	.L459
.L465:
	nop
.L459:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	removewhitespace, .-removewhitespace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	quotetowhitespace, %function
quotetowhitespace:
	@ 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, #-16]
	cmp	r3, #0
	beq	.L471
	b	.L468
.L470:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L469
	ldr	r3, [fp, #-8]
	mov	r2, #32
	strb	r2, [r3]
.L469:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L468:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L470
.L471:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	quotetowhitespace, .-quotetowhitespace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeonscreen, %function
writeonscreen:
	@ 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, #0
	beq	.L478
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L475
	b	.L476
.L477:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L476:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L477
.L475:
	mov	r0, #10
	bl	putchar
	b	.L472
.L478:
	nop
.L472:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	writeonscreen, .-writeonscreen
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	iswhitespace, %function
iswhitespace:
	@ 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
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L480
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #9
	beq	.L480
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L480
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #13
	beq	.L480
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #9
	beq	.L480
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #11
	beq	.L480
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #12
	bne	.L481
.L480:
	mov	r3, #1
	b	.L482
.L481:
	mov	r3, #0
.L482:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	iswhitespace, .-iswhitespace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	typevalue, %function
typevalue:
	@ 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	r3, #256
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L484
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L484
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L485
.L484:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L486
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L486
	mov	r3, #4
	str	r3, [fp, #-8]
	b	.L485
.L486:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r0, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r1, r3
	bl	isFloat
	mov	r3, r0
	cmp	r3, #0
	beq	.L487
	mov	r3, #32
	str	r3, [fp, #-8]
	b	.L485
.L487:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r0, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r1, r3
	bl	isInt
	mov	r3, r0
	cmp	r3, #0
	beq	.L488
	mov	r3, #16
	str	r3, [fp, #-8]
	b	.L485
.L488:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r0, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r1, r3
	bl	isnull
	mov	r3, r0
	cmp	r3, #0
	beq	.L489
	mov	r3, #128
	str	r3, [fp, #-8]
	b	.L485
.L489:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r0, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r1, r3
	bl	isbool
	mov	r3, r0
	cmp	r3, #0
	beq	.L490
	mov	r3, #64
	str	r3, [fp, #-8]
	b	.L485
.L490:
	mov	r3, #8
	str	r3, [fp, #-8]
.L485:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	typevalue, .-typevalue
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	findpt, %function
findpt:
	@ args = 8, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #52
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mvn	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #4]
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #8]
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-16]
	b	.L493
.L499:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L494
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L495
.L497:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L495:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L496
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L497
.L496:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bne	.L494
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	b	.L498
.L494:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L493:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bls	.L499
.L498:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	findpt, .-findpt
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	find, %function
find:
	@ 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, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r0, [fp, #-40]
	bl	getLen
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-44]
	bl	getLen
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L502
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L503
.L502:
	mvn	r3, #0
	b	.L504
.L503:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	ble	.L505
	mvn	r3, #0
	b	.L504
.L505:
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L506
.L511:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L507
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L508
.L509:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L508:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L509
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L507
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	b	.L510
.L507:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L506:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L511
.L510:
	ldr	r3, [fp, #-28]
.L504:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	find, .-find
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strcmp, %function
Strcmp:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-8]
	b	.L513
.L514:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L513:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L514
	b	.L515
.L516:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L515:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L516
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L517
	ldr	r3, [fp, #-24]
	b	.L518
.L517:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-8]
	b	.L519
.L521:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L520
	mvn	r3, #0
	str	r3, [fp, #-24]
.L520:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L519:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L521
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L522
	mov	r3, #0
	b	.L518
.L522:
	mov	r3, #1
.L518:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Strcmp, .-Strcmp
	.section	.rodata
	.align	2
.LC22:
	.ascii	"r\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	json_load, %function
json_load:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r1, .L527
	ldr	r0, [fp, #-24]
	bl	fopen
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L524
	mov	r3, #0
	b	.L525
.L524:
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	fseek
	ldr	r0, [fp, #-12]
	bl	ftell
	str	r0, [fp, #-8]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	fseek
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	fread
	ldr	r0, [fp, #-12]
	bl	fclose
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	removewhitespace
	ldr	r0, [fp, #-16]
	bl	checksymbolbeforeparse
	mov	r3, r0
	cmp	r3, #0
	beq	.L526
	ldr	r0, [fp, #-16]
	bl	free
	mov	r3, #0
	str	r3, [fp, #-16]
.L526:
	ldr	r3, [fp, #-16]
.L525:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L528:
	.align	2
.L527:
	.word	.LC22
	.size	json_load, .-json_load
	.section	.rodata
	.align	2
.LC23:
	.ascii	"%s does not exist in the file \012\000"
	.align	2
.LC24:
	.ascii	"%s is not the top level key and it is inside of ano"
	.ascii	"ther dictionary check the hierarchy of keys again \012"
	.ascii	"\000"
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getvalue, %function
getvalue:
	@ args = 4, pretend = 8, frame = 208
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #216
	str	r0, [fp, #-200]
	str	r1, [fp, #-204]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-208]
	ldr	r3, .L643
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #256
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bne	.L530
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L530:
	ldr	r3, [fp, #-208]
	cmp	r3, #0
	bne	.L532
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L532:
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-172]
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L533
.L534:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L533:
	ldr	r3, [fp, #-172]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L534
	add	r3, fp, #8
	str	r3, [fp, #-192]
	mov	r3, #0
	str	r3, [fp, #-164]
	mov	r3, #0
	str	r3, [fp, #-160]
	ldr	r0, [fp, #-208]
	bl	checkforquote
	mov	r3, r0
	cmp	r3, #0
	beq	.L535
	ldr	r0, [fp, #-208]
	bl	addquote
	str	r0, [fp, #-164]
	mov	r3, #1
	str	r3, [fp, #-160]
	b	.L536
.L535:
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-164]
.L536:
	mvn	r3, #0
	str	r3, [fp, #-188]
	mvn	r3, #0
	str	r3, [fp, #-184]
	ldr	r0, [fp, #-164]
	bl	getLen
	mov	r1, r0
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-204]
	add	r2, r2, r3
	sub	r3, fp, #184
	str	r3, [sp, #4]
	sub	r3, fp, #188
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-204]
	ldr	r0, [fp, #-164]
	bl	findpt
	ldr	r3, [fp, #-188]
	cmn	r3, #1
	beq	.L537
	ldr	r3, [fp, #-184]
	cmn	r3, #1
	bne	.L538
.L537:
	ldr	r1, [fp, #-164]
	ldr	r0, .L643+4
	bl	printf
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L538:
	ldr	r3, [fp, #-188]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-184]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-188]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-184]
	str	r3, [fp, #-152]
	b	.L539
.L542:
	ldr	r0, [fp, #-164]
	bl	getLen
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	ldr	r2, [fp, #-204]
	add	r1, r2, r3
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-204]
	add	r2, r2, r3
	sub	r3, fp, #176
	str	r3, [sp, #4]
	sub	r3, fp, #180
	str	r3, [sp]
	mov	r3, r2
	mov	r2, r1
	mov	r1, r0
	ldr	r0, [fp, #-164]
	bl	findpt
	ldr	r3, [fp, #-180]
	cmn	r3, #1
	beq	.L540
	ldr	r3, [fp, #-176]
	cmn	r3, #1
	bne	.L541
.L540:
	ldr	r1, [fp, #-164]
	ldr	r0, .L643+4
	bl	printf
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L541:
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-152]
	mvn	r3, #0
	str	r3, [fp, #-180]
	mvn	r3, #0
	str	r3, [fp, #-176]
.L539:
	ldr	r3, [fp, #-204]
	add	r0, r3, #1
	ldr	r3, [fp, #-156]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	mov	r1, r3
	bl	istoplevelkey
	mov	r3, r0
	cmp	r3, #0
	beq	.L542
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-152]
	str	r3, [fp, #-184]
	mvn	r3, #0
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-144]
	b	.L543
.L546:
	ldr	r3, [fp, #-144]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L544
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-148]
	b	.L545
.L544:
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L543:
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	blt	.L546
.L545:
	ldr	r3, [fp, #-148]
	cmn	r3, #1
	bne	.L547
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L547:
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-40]
	mvn	r3, #0
	str	r3, [fp, #-140]
	mvn	r3, #0
	str	r3, [fp, #-136]
	mvn	r3, #0
	str	r3, [fp, #-132]
	mvn	r3, #0
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	blt	.L548
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	b	.L549
.L552:
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L550
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L551
.L550:
	ldr	r3, [fp, #-124]
	str	r3, [fp, #-140]
	b	.L548
.L551:
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L549:
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	blt	.L552
.L548:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	blt	.L553
	mov	r3, #0
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	str	r3, [fp, #-116]
	b	.L554
.L557:
	ldr	r3, [fp, #-116]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	iswhitespace
	mov	r3, r0
	cmp	r3, #0
	bne	.L555
	mov	r3, #1
	str	r3, [fp, #-120]
	b	.L556
.L555:
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	str	r3, [fp, #-116]
.L554:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bgt	.L557
.L556:
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	beq	.L558
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-112]
	b	.L559
.L562:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L560
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-136]
	b	.L561
.L560:
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L559:
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-140]
	cmp	r2, r3
	blt	.L562
.L561:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-136]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-108]
	b	.L563
.L566:
	ldr	r3, [fp, #-108]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L564
	ldr	r3, [fp, #-108]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	b	.L567
.L564:
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L563:
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L566
	b	.L567
.L558:
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	mvn	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L568
	sub	r3, fp, #28
	mov	r2, r3
	mov	r1, #123
	ldr	r0, [fp, #-36]
	bl	match
.L568:
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L569
	sub	r3, fp, #28
	mov	r2, r3
	mov	r1, #91
	ldr	r0, [fp, #-36]
	bl	match
.L569:
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-104]
	b	.L570
.L571:
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L570:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	ble	.L571
	b	.L567
.L553:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	b	.L572
.L575:
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L573
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-136]
	b	.L574
.L573:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L572:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	blt	.L575
.L574:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bge	.L576
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-168]
	sub	r3, r3, #2
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	b	.L577
.L580:
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L578
	ldr	r3, [fp, #-96]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	b	.L567
.L578:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L577:
	ldr	r3, [fp, #-168]
	sub	r3, r3, #1
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	blt	.L580
	b	.L567
.L576:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-136]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-92]
	b	.L581
.L582:
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L581:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L582
.L567:
	mov	r3, #1
	str	r3, [fp, #-88]
	mov	r3, #256
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-128]
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-204]
	bl	typevalue
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-160]
	cmp	r3, #1
	bne	.L584
	ldr	r0, [fp, #-164]
	bl	free
	b	.L584
.L640:
	mov	r3, #0
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-84]
	cmp	r3, #1
	bne	.L585
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-204]
	add	r1, r2, r3
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-204]
	add	r2, r2, r3
	sub	r0, fp, #28
	ldr	r3, [fp, #-208]
	bl	array_value_pt
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	beq	.L586
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	bne	.L587
.L586:
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L587:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-132]
	b	.L588
.L585:
	ldr	r0, [fp, #-208]
	bl	checkforquote
	mov	r3, r0
	cmp	r3, #0
	beq	.L589
	mov	r3, #1
	str	r3, [fp, #-160]
	ldr	r0, [fp, #-208]
	bl	addquote
	str	r0, [fp, #-164]
	b	.L590
.L589:
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-164]
.L590:
	mvn	r3, #0
	str	r3, [fp, #-188]
	mvn	r3, #0
	str	r3, [fp, #-184]
	ldr	r0, [fp, #-164]
	bl	getLen
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-204]
	add	r1, r2, r3
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-204]
	add	r2, r2, r3
	sub	r3, fp, #184
	str	r3, [sp, #4]
	sub	r3, fp, #188
	str	r3, [sp]
	mov	r3, r2
	mov	r2, r1
	mov	r1, r0
	ldr	r0, [fp, #-164]
	bl	findpt
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-132]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-188]
	cmn	r3, #1
	beq	.L591
	ldr	r3, [fp, #-184]
	cmn	r3, #1
	bne	.L592
.L591:
	ldr	r1, [fp, #-164]
	ldr	r0, .L643+4
	bl	printf
	ldr	r3, [fp, #-160]
	cmp	r3, #1
	bne	.L593
	ldr	r0, [fp, #-164]
	bl	free
.L593:
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L592:
	mvn	r3, #0
	str	r3, [fp, #-180]
	mvn	r3, #0
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-188]
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-184]
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-84]
	cmp	r3, #100
	bne	.L594
	b	.L595
.L599:
	ldr	r0, [fp, #-164]
	bl	getLen
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	ldr	r2, [fp, #-204]
	add	r1, r2, r3
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-204]
	add	r2, r2, r3
	sub	r3, fp, #184
	str	r3, [sp, #4]
	sub	r3, fp, #188
	str	r3, [sp]
	mov	r3, r2
	mov	r2, r1
	mov	r1, r0
	ldr	r0, [fp, #-164]
	bl	findpt
	ldr	r3, [fp, #-180]
	cmn	r3, #1
	beq	.L596
	ldr	r3, [fp, #-176]
	cmn	r3, #1
	bne	.L597
.L596:
	ldr	r3, [fp, #-160]
	cmp	r3, #1
	bne	.L598
	ldr	r0, [fp, #-164]
	bl	free
.L598:
	ldr	r1, [fp, #-164]
	ldr	r0, .L643+8
	bl	printf
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L597:
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-152]
	mvn	r3, #0
	str	r3, [fp, #-180]
	mvn	r3, #0
	str	r3, [fp, #-176]
.L595:
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	ldr	r2, [fp, #-204]
	add	r0, r2, r3
	ldr	r3, [fp, #-156]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	mov	r1, r3
	bl	istoplevelkey
	mov	r3, r0
	cmp	r3, #0
	beq	.L599
.L594:
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-152]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-160]
	cmp	r3, #1
	bne	.L600
	ldr	r0, [fp, #-164]
	bl	free
.L600:
	mvn	r3, #0
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	b	.L601
.L604:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L602
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-148]
	b	.L603
.L602:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L601:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	blt	.L604
.L603:
	ldr	r3, [fp, #-148]
	cmn	r3, #1
	bne	.L605
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	b	.L529
.L605:
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-40]
	mvn	r3, #0
	str	r3, [fp, #-140]
	mvn	r3, #0
	str	r3, [fp, #-136]
	mvn	r3, #0
	str	r3, [fp, #-132]
	mvn	r3, #0
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	blt	.L606
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	b	.L607
.L610:
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L608
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L609
.L608:
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-140]
	b	.L606
.L609:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L607:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	blt	.L610
.L606:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	blt	.L611
	mov	r3, #0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L612
.L615:
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	iswhitespace
	mov	r3, r0
	cmp	r3, #0
	bne	.L613
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L614
.L613:
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
.L612:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bgt	.L615
.L614:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L616
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	b	.L617
.L620:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L618
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-136]
	b	.L619
.L618:
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L617:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-140]
	cmp	r2, r3
	blt	.L620
.L619:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-136]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L621
.L624:
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L622
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	b	.L588
.L622:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L621:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L624
	b	.L588
.L616:
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L625
	sub	r3, fp, #28
	mov	r2, r3
	mov	r1, #123
	ldr	r0, [fp, #-32]
	bl	match
.L625:
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L626
	sub	r3, fp, #28
	mov	r2, r3
	mov	r1, #91
	ldr	r0, [fp, #-32]
	bl	match
.L626:
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-56]
	b	.L627
.L628:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L627:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	ble	.L628
	b	.L588
.L611:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L629
.L632:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L630
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-136]
	b	.L631
.L630:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L629:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-168]
	cmp	r2, r3
	blt	.L632
.L631:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bge	.L633
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-168]
	sub	r3, r3, #2
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L634
.L637:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L635
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	b	.L588
.L635:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L634:
	ldr	r3, [fp, #-168]
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L637
	b	.L588
.L633:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-136]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L638
.L639:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L638:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L639
.L588:
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-128]
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-204]
	bl	typevalue
	str	r0, [fp, #-84]
.L584:
	ldr	r3, [fp, #-192]
	add	r2, r3, #4
	str	r2, [fp, #-192]
	ldr	r3, [r3]
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-208]
	cmp	r3, #0
	bne	.L640
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-200]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
.L529:
	ldr	r3, .L643
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L642
	bl	__stack_chk_fail
.L642:
	ldr	r0, [fp, #-200]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #8
	bx	lr
.L644:
	.align	2
.L643:
	.word	.LC25
	.word	.LC23
	.word	.LC24
	.size	getvalue, .-getvalue
	.section	.rodata
	.align	2
.LC26:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_count_pt, %function
array_count_pt:
	@ 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, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L682
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-52]
	b	.L646
.L647:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L646:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bls	.L647
	mov	r3, #0
	strb	r3, [fp, #-65]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L648
	mov	r3, #97
	strb	r3, [fp, #-65]
.L648:
	sub	r3, fp, #64
	mov	r2, r3
	mov	r1, #91
	ldr	r0, [fp, #-72]
	bl	match
	mvn	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldrb	r3, [fp, #-65]	@ zero_extendqisi2
	cmp	r3, #97
	bne	.L649
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L650
.L652:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L651
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-44]
	b	.L649
.L651:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L650:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bcc	.L652
.L649:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	ble	.L653
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L654
.L657:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L655
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L655
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #13
	bne	.L655
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L656
.L655:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L653
.L656:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
.L654:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	bhi	.L657
.L653:
	mvn	r3, #0
	str	r3, [fp, #-60]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	cmp	r3, #1
	bne	.L658
	b	.L659
.L669:
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	sub	r2, fp, #60
	mov	r1, #123
	mov	r0, r3
	bl	match
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L660
.L663:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L661
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L662
.L661:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L660:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L663
.L662:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L680
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L666
.L668:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L667
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-44]
	b	.L659
.L667:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L666:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L668
.L659:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L669
	b	.L665
.L680:
	nop
.L665:
	ldr	r3, [fp, #-28]
	b	.L678
.L658:
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L671
	b	.L672
.L677:
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-16]
	b	.L673
.L676:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L674
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L675
.L674:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L673:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L676
.L675:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L681
.L672:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L677
	b	.L671
.L681:
	nop
.L671:
	ldr	r3, [fp, #-28]
.L678:
	ldr	r2, .L682
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L679
	bl	__stack_chk_fail
.L679:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L683:
	.align	2
.L682:
	.word	.LC26
	.size	array_count_pt, .-array_count_pt
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	copytostring, %function
copytostring:
	@ args = 4, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #44
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L685
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L686
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L695
.L686:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L688
.L690:
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L688:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bhi	.L689
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L690
.L689:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	b	.L691
.L685:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-12]
	b	.L692
.L694:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L692:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bhi	.L693
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L694
.L693:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
.L691:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	b	.L684
.L695:
	nop
.L684:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	copytostring, .-copytostring
	.section	.rodata
	.align	2
.LC27:
	.ascii	"true\000"
	.align	2
.LC28:
	.ascii	"false\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	st_bool, %function
st_bool:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	mov	r3, #1
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-36]
	ldr	r3, .L708
	str	r3, [fp, #-12]
	ldr	r3, .L708+4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-24]
	b	.L697
.L700:
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L698
	mov	r3, #0
	str	r3, [fp, #-40]
.L698:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L697:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bhi	.L699
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L700
.L699:
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-20]
	b	.L701
.L704:
	ldr	r3, [fp, #-20]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L702
	mov	r3, #0
	str	r3, [fp, #-36]
.L702:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L701:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bhi	.L703
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L704
.L703:
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L705
	mov	r3, #1
	str	r3, [fp, #-16]
.L705:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L706
	mov	r3, #0
	str	r3, [fp, #-16]
.L706:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L709:
	.align	2
.L708:
	.word	.LC27
	.word	.LC28
	.size	st_bool, .-st_bool
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	outputtobuffer, %function
outputtobuffer:
	@ 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, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L711
.L712:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	fputc
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L711:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L712
	ldr	r1, [fp, #-16]
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	outputtobuffer, .-outputtobuffer
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
