	.file	"98479.c"
	.intel_syntax noprefix
	.text
	.local	made_files
	.comm	made_files,8,8
	.local	made_files_count
	.comm	made_files_count,4,4
	.local	successful_exit
	.comm	successful_exit,4,4
	.type	LemonAtExit, @function
LemonAtExit:
.LFB6:
	.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	eax, DWORD PTR successful_exit[rip]
	test	eax, eax
	jne	.L2
	mov	DWORD PTR -4[rbp], 0
	jmp	.L3
.L4:
	mov	rdx, QWORD PTR made_files[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	remove@PLT
	add	DWORD PTR -4[rbp], 1
.L3:
	mov	eax, DWORD PTR made_files_count[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L4
.L2:
	mov	rax, QWORD PTR made_files[rip]
	mov	rdi, rax
	call	free@PLT
	mov	DWORD PTR made_files_count[rip], 0
	mov	QWORD PTR made_files[rip], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	LemonAtExit, .-LemonAtExit
	.local	showPrecedenceConflict
	.comm	showPrecedenceConflict,4,4
	.type	lemon_addtext, @function
lemon_addtext:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	DWORD PTR -32[rbp], r8d
	cmp	DWORD PTR -28[rbp], 0
	jns	.L9
	mov	DWORD PTR -28[rbp], 0
	jmp	.L7
.L8:
	add	DWORD PTR -28[rbp], 1
.L7:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L8
	jmp	.L9
.L10:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], ecx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	sub	DWORD PTR -32[rbp], 1
.L9:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jg	.L10
	cmp	DWORD PTR -28[rbp], 0
	je	.L15
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L13
.L14:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	DWORD PTR [rdx], ecx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	add	DWORD PTR -32[rbp], 1
.L13:
	mov	eax, DWORD PTR -32[rbp]
	neg	eax
	cmp	DWORD PTR -28[rbp], eax
	jl	.L14
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	jmp	.L5
.L15:
	nop
.L5:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	lemon_addtext, .-lemon_addtext
	.section	.rodata
.LC0:
	.string	"-"
.LC1:
	.string	"0"
.LC2:
	.string	".*s"
.LC3:
	.string	"%"
.LC4:
	.string	"illegal format\n"
	.text
	.type	lemon_vsprintf, @function
lemon_vsprintf:
.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, 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	BYTE PTR [rax], 0
	mov	DWORD PTR -92[rbp], 0
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -96[rbp], eax
	jmp	.L17
.L42:
	cmp	DWORD PTR -84[rbp], 37
	jne	.L18
	mov	DWORD PTR -80[rbp], 0
	mov	eax, DWORD PTR -96[rbp]
	sub	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -128[rbp]
	lea	rdi, [rcx+rax]
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, 0
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	call	lemon_addtext
	add	DWORD PTR -96[rbp], 1
	mov	eax, DWORD PTR -96[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -84[rbp], eax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -84[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L19
	cmp	DWORD PTR -84[rbp], 45
	jne	.L20
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L20
.L19:
	cmp	DWORD PTR -84[rbp], 45
	jne	.L22
	add	DWORD PTR -96[rbp], 1
	jmp	.L22
.L23:
	mov	edx, DWORD PTR -80[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	eax, DWORD PTR -96[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -96[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, ecx
	sub	eax, 48
	mov	DWORD PTR -80[rbp], eax
.L22:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -96[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L23
	cmp	DWORD PTR -84[rbp], 45
	jne	.L24
	neg	DWORD PTR -80[rbp]
.L24:
	mov	eax, DWORD PTR -96[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -84[rbp], eax
.L20:
	cmp	DWORD PTR -84[rbp], 100
	jne	.L25
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L26
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L27
.L26:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L27:
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -76[rbp], eax
	cmp	DWORD PTR -76[rbp], 0
	jns	.L28
	mov	edx, DWORD PTR -80[rbp]
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edx
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	mov	rdi, rax
	call	lemon_addtext
	neg	DWORD PTR -76[rbp]
	jmp	.L29
.L28:
	cmp	DWORD PTR -76[rbp], 0
	jne	.L29
	mov	edx, DWORD PTR -80[rbp]
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edx
	mov	ecx, 1
	lea	rdx, .LC1[rip]
	mov	rdi, rax
	call	lemon_addtext
.L29:
	mov	DWORD PTR -88[rbp], 0
	jmp	.L30
.L31:
	add	DWORD PTR -88[rbp], 1
	mov	edx, DWORD PTR -76[rbp]
	movsx	rax, edx
	imul	rax, rax, 1717986919
	shr	rax, 32
	sar	eax, 2
	mov	esi, edx
	sar	esi, 31
	sub	eax, esi
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	add	eax, eax
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, ecx
	lea	ecx, 48[rax]
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	eax, 50
	sub	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR -64[rbp+rax], dl
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx, 2
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -76[rbp], eax
.L30:
	cmp	DWORD PTR -76[rbp], 0
	jg	.L31
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	mov	edx, 50
	sub	rdx, rax
	lea	rax, -64[rbp]
	lea	rdi, [rax+rdx]
	mov	ecx, DWORD PTR -80[rbp]
	mov	edx, DWORD PTR -88[rbp]
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	call	lemon_addtext
	jmp	.L32
.L25:
	cmp	DWORD PTR -84[rbp], 115
	jne	.L33
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L34
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L35
.L34:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L35:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	ecx, DWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, ecx
	mov	ecx, -1
	mov	rdi, rax
	call	lemon_addtext
	jmp	.L32
.L33:
	cmp	DWORD PTR -84[rbp], 46
	jne	.L36
	mov	eax, DWORD PTR -96[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, 3
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L36
	add	DWORD PTR -96[rbp], 2
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L37
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L38
.L37:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L38:
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L39
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L40
.L39:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L40:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	edi, DWORD PTR -80[rbp]
	mov	ecx, DWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	lemon_addtext
	jmp	.L32
.L36:
	cmp	DWORD PTR -84[rbp], 37
	jne	.L41
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, 0
	mov	ecx, 1
	lea	rdx, .LC3[rip]
	mov	rdi, rax
	call	lemon_addtext
	jmp	.L32
.L41:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC4[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L32:
	mov	eax, DWORD PTR -96[rbp]
	add	eax, 1
	mov	DWORD PTR -92[rbp], eax
.L18:
	add	DWORD PTR -96[rbp], 1
.L17:
	mov	eax, DWORD PTR -96[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 0
	jne	.L42
	mov	eax, DWORD PTR -96[rbp]
	sub	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -128[rbp]
	lea	rdi, [rcx+rax]
	lea	rsi, -100[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	r8d, 0
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	call	lemon_addtext
	mov	eax, DWORD PTR -100[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L44
	call	__stack_chk_fail@PLT
.L44:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	lemon_vsprintf, .-lemon_vsprintf
	.type	lemon_sprintf, @function
lemon_sprintf:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -240[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L46
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L46:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 16
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	lemon_vsprintf
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L48
	call	__stack_chk_fail@PLT
.L48:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	lemon_sprintf, .-lemon_sprintf
	.type	lemon_strcpy, @function
lemon_strcpy:
.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	nop
.L50:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L50
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	lemon_strcpy, .-lemon_strcpy
	.type	lemon_strcat, @function
lemon_strcat:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	jmp	.L52
.L53:
	add	QWORD PTR -8[rbp], 1
.L52:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L53
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	lemon_strcat, .-lemon_strcat
	.section	.rodata
	.align 8
.LC5:
	.string	"Unable to allocate memory for a new parser action."
	.text
	.type	Action_new, @function
Action_new:
.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, 16
	mov	rax, QWORD PTR actionfreelist.37[rip]
	test	rax, rax
	jne	.L55
	mov	DWORD PTR -12[rbp], 100
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	mov	esi, 48
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR actionfreelist.37[rip], rax
	mov	rax, QWORD PTR actionfreelist.37[rip]
	test	rax, rax
	jne	.L56
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 50
	mov	esi, 1
	lea	rdi, .LC5[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L56:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L57
.L58:
	mov	rcx, QWORD PTR actionfreelist.37[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	mov	rdi, rax
	mov	rsi, QWORD PTR actionfreelist.37[rip]
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	add	rax, rsi
	lea	rdx, [rcx+rdi]
	mov	QWORD PTR 32[rax], rdx
	add	DWORD PTR -16[rbp], 1
.L57:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L58
	mov	rcx, QWORD PTR actionfreelist.37[rip]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 4
	sub	rax, 48
	add	rax, rcx
	mov	QWORD PTR 32[rax], 0
.L55:
	mov	rax, QWORD PTR actionfreelist.37[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR actionfreelist.37[rip]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR actionfreelist.37[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	Action_new, .-Action_new
	.type	actioncmp, @function
actioncmp:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L61
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L61:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L62
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	je	.L63
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	jne	.L62
.L63:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR 88[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L62:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L64
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, QWORD PTR -24[rbp]
	sar	rax, 4
	mov	rdx, rax
	movabs	rax, -6148914691236517205
	imul	rax, rdx
	mov	DWORD PTR -4[rbp], eax
.L64:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	actioncmp, .-actioncmp
	.type	Action_sort, @function
Action_sort:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, actioncmp[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	msort
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	Action_sort, .-Action_sort
	.globl	Action_add
	.type	Action_add, @function
Action_add:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	call	Action_new
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	cmp	DWORD PTR -28[rbp], 0
	jne	.L69
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L71
.L69:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
.L71:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	Action_add, .-Action_add
	.globl	acttab_free
	.type	acttab_free, @function
acttab_free:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	acttab_free, .-acttab_free
	.section	.rodata
	.align 8
.LC6:
	.string	"Unable to allocate memory for a new acttab."
	.text
	.globl	acttab_alloc
	.type	acttab_alloc, @function
acttab_alloc:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	esi, 56
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L74
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L74:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 56
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	acttab_alloc, .-acttab_alloc
	.section	.rodata
.LC7:
	.string	"malloc failed\n"
	.text
	.globl	acttab_action
	.type	acttab_action, @function
acttab_action:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	edx, eax
	jl	.L77
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 25[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L77
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC7[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L77:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L78
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], edx
	jmp	.L79
.L78:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -12[rbp], eax
	jle	.L80
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 32[rax], edx
.L80:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -12[rbp], eax
	jge	.L79
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], edx
.L79:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR 4[rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	acttab_action, .-acttab_action
	.section	.rodata
.LC8:
	.string	"the_stack_data/98479.c"
.LC9:
	.string	"p->nLookahead>0"
	.text
	.globl	acttab_insert
	.type	acttab_insert, @function
acttab_insert:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jg	.L82
	lea	rcx, __PRETTY_FUNCTION__.36[rip]
	mov	edx, 710
	lea	rsi, .LC8[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L82:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	eax, 1
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jl	.L83
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, edx
	lea	edx, 20[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L84
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC7[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L84:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L85
.L86:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR 4[rax], -1
	add	DWORD PTR -24[rbp], 1
.L85:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L86
.L83:
	cmp	DWORD PTR -44[rbp], 0
	je	.L87
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	jmp	.L88
.L87:
	mov	eax, 0
.L88:
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -24[rbp], eax
	jmp	.L89
.L103:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jne	.L90
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jne	.L125
	mov	DWORD PTR -20[rbp], 0
	jmp	.L92
.L96:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L93
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jge	.L93
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L126
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jne	.L127
	add	DWORD PTR -20[rbp], 1
.L92:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L96
	jmp	.L93
.L126:
	nop
	jmp	.L93
.L127:
	nop
.L93:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L128
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L98
.L101:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L129
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, ecx
	sub	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	jne	.L100
	add	DWORD PTR -16[rbp], 1
	jmp	.L100
.L129:
	nop
.L100:
	add	DWORD PTR -20[rbp], 1
.L98:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L101
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -16[rbp], eax
	je	.L130
	jmp	.L90
.L125:
	nop
	jmp	.L90
.L128:
	nop
.L90:
	sub	DWORD PTR -24[rbp], 1
.L89:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jge	.L103
	jmp	.L102
.L130:
	nop
.L102:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jge	.L104
	cmp	DWORD PTR -44[rbp], 0
	je	.L105
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	jmp	.L106
.L105:
	mov	eax, 0
.L106:
	mov	DWORD PTR -24[rbp], eax
	jmp	.L107
.L119:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L108
	mov	DWORD PTR -20[rbp], 0
	jmp	.L109
.L113:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L131
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L132
	add	DWORD PTR -20[rbp], 1
.L109:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L113
	jmp	.L111
.L131:
	nop
	jmp	.L111
.L132:
	nop
.L111:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L133
	mov	DWORD PTR -20[rbp], 0
	jmp	.L115
.L118:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, ecx
	sub	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	je	.L134
	add	DWORD PTR -20[rbp], 1
.L115:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L118
	jmp	.L117
.L134:
	nop
.L117:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	je	.L135
	jmp	.L108
.L133:
	nop
.L108:
	add	DWORD PTR -24[rbp], 1
.L107:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 32[rax]
	mov	eax, edx
	sub	eax, ecx
	cmp	DWORD PTR -24[rbp], eax
	jl	.L119
	jmp	.L104
.L135:
	nop
.L104:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L120
.L122:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR [rcx]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L121
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L121:
	add	DWORD PTR -20[rbp], 1
.L120:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L122
	cmp	DWORD PTR -44[rbp], 0
	je	.L123
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	eax, DWORD PTR -24[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L123
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L123:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, edx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	acttab_insert, .-acttab_insert
	.globl	acttab_action_size
	.type	acttab_action_size, @function
acttab_action_size:
.LFB20:
	.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	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L137
.L139:
	sub	DWORD PTR -4[rbp], 1
.L137:
	cmp	DWORD PTR -4[rbp], 0
	jle	.L138
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L139
.L138:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	acttab_action_size, .-acttab_action_size
	.globl	FindRulePrecedences
	.type	FindRulePrecedences, @function
FindRulePrecedences:
.LFB21:
	.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	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L142
.L152:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	jne	.L143
	mov	DWORD PTR -24[rbp], 0
	jmp	.L144
.L151:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L145
	mov	DWORD PTR -20[rbp], 0
	jmp	.L146
.L149:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L147
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 80[rax], rdx
	jmp	.L150
.L147:
	add	DWORD PTR -20[rbp], 1
.L146:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L149
	jmp	.L150
.L145:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L150
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 80[rax], rdx
.L150:
	add	DWORD PTR -24[rbp], 1
.L144:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -24[rbp], eax
	jge	.L143
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L151
.L143:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -16[rbp], rax
.L142:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L152
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	FindRulePrecedences, .-FindRulePrecedences
	.section	.rodata
	.align 8
.LC10:
	.string	"sp->type==NONTERMINAL || sp->lambda==LEMON_FALSE"
	.text
	.globl	FindFirstSets
	.type	FindFirstSets, @function
FindFirstSets:
.LFB22:
	.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, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -60[rbp], 0
	jmp	.L155
.L156:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 48[rax], 0
	add	DWORD PTR -60[rbp], 1
.L155:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L156
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -60[rbp], eax
	jmp	.L157
.L158:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rbx, QWORD PTR [rax]
	call	SetNew
	mov	QWORD PTR 40[rbx], rax
	add	DWORD PTR -60[rbp], 1
.L157:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L158
.L168:
	mov	DWORD PTR -52[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L159
.L167:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L182
	mov	DWORD PTR -60[rbp], 0
	jmp	.L162
.L166:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	je	.L163
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L163
	lea	rcx, __PRETTY_FUNCTION__.35[rip]
	mov	edx, 887
	lea	rsi, .LC8[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L163:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L183
	add	DWORD PTR -60[rbp], 1
.L162:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L166
	jmp	.L165
.L183:
	nop
.L165:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -60[rbp], eax
	jne	.L161
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 48[rax], 1
	mov	DWORD PTR -52[rbp], 1
	jmp	.L161
.L182:
	nop
.L161:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -48[rbp], rax
.L159:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L167
	cmp	DWORD PTR -52[rbp], 0
	jne	.L168
.L180:
	mov	DWORD PTR -52[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L169
.L179:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L170
.L178:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L171
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	esi, edx
	mov	rdi, rax
	call	SetAdd
	add	DWORD PTR -52[rbp], eax
	jmp	.L172
.L171:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L173
	mov	DWORD PTR -56[rbp], 0
	jmp	.L174
.L175:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	esi, edx
	mov	rdi, rax
	call	SetAdd
	add	DWORD PTR -52[rbp], eax
	add	DWORD PTR -56[rbp], 1
.L174:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L175
	jmp	.L172
.L173:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jne	.L176
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L177
	jmp	.L172
.L176:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetUnion
	add	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L184
.L177:
	add	DWORD PTR -60[rbp], 1
.L170:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L178
	jmp	.L172
.L184:
	nop
.L172:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -48[rbp], rax
.L169:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L179
	cmp	DWORD PTR -52[rbp], 0
	jne	.L180
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	FindFirstSets, .-FindFirstSets
	.section	.rodata
	.align 8
.LC11:
	.string	"The specified start symbol \"%s\" is not in a nonterminal of the grammar.  \"%s\" will be used as the start symbol instead."
	.align 8
.LC12:
	.string	"Internal error - no start rule\n"
	.align 8
.LC13:
	.string	"The start symbol \"%s\" occurs on the right-hand side of a rule. This will result in a parser which does not work properly."
	.text
	.globl	FindStates
	.type	FindStates, @function
FindStates:
.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
	call	Configlist_init
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 144[rax]
	test	rax, rax
	je	.L186
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 144[rax]
	mov	rdi, rax
	call	Symbol_find
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L187
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 144[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC11[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L187
.L186:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L188
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L187
.L188:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 224[rax]
	lea	rdx, .LC12[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	edi, 1
	call	exit@PLT
.L187:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L189
.L193:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L190
.L192:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L191
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	rcx, rdx
	lea	rdx, .LC13[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 80[rax], edx
.L191:
	add	DWORD PTR -28[rbp], 1
.L190:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L192
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -16[rbp], rax
.L189:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L193
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L194
.L195:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Configlist_addbasis
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 0
	mov	rdi, rax
	call	SetAdd
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 120[rax]
	mov	QWORD PTR -16[rbp], rax
.L194:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L195
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	getstate
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	FindStates, .-FindStates
	.globl	getstate
	.type	getstate, @function
getstate:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	call	Configlist_sortbasis
	call	Configlist_basis
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	State_find
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L198
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L199
.L201:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, 32
	mov	rsi, rax
	mov	rdi, rdx
	call	Plink_copy
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Plink_delete
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -24[rbp], rax
.L199:
	cmp	QWORD PTR -32[rbp], 0
	je	.L200
	cmp	QWORD PTR -24[rbp], 0
	jne	.L201
.L200:
	call	Configlist_return
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Configlist_eat
	jmp	.L202
.L198:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Configlist_closure
	call	Configlist_sort
	call	Configlist_return
	mov	QWORD PTR -8[rbp], rax
	call	State_new
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L203
	mov	eax, 0
	call	memory_error
.L203:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rdx], ecx
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rdx], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	State_insert
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	buildshifts
.L202:
	mov	rax, QWORD PTR -40[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	getstate, .-getstate
	.globl	same_symbol
	.type	same_symbol, @function
same_symbol:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jne	.L206
	mov	eax, 1
	jmp	.L207
.L206:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L208
	mov	eax, 0
	jmp	.L207
.L208:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L209
	mov	eax, 0
	jmp	.L207
.L209:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	edx, eax
	je	.L210
	mov	eax, 0
	jmp	.L207
.L210:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L211
.L213:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L212
	mov	eax, 0
	jmp	.L207
.L212:
	add	DWORD PTR -4[rbp], 1
.L211:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L213
	mov	eax, 1
.L207:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	same_symbol, .-same_symbol
	.globl	buildshifts
	.type	buildshifts, @function
buildshifts:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L215
.L216:
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 48[rax], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -48[rbp], rax
.L215:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L216
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L217
.L230:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L231
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jge	.L232
	call	Configlist_reset
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L221
.L226:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L233
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jge	.L234
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	same_symbol
	test	eax, eax
	je	.L235
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	Configlist_addbasis
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Plink_add
	jmp	.L223
.L233:
	nop
	jmp	.L223
.L234:
	nop
	jmp	.L223
.L235:
	nop
.L223:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -40[rbp], rax
.L221:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L226
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	getstate
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L227
	mov	DWORD PTR -52[rbp], 0
	jmp	.L228
.L229:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -80[rbp]
	lea	rdi, 24[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 0
	call	Action_add
	add	DWORD PTR -52[rbp], 1
.L228:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -52[rbp], eax
	jl	.L229
	jmp	.L219
.L227:
	mov	rax, QWORD PTR -80[rbp]
	lea	rdi, 24[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 0
	call	Action_add
	jmp	.L219
.L231:
	nop
	jmp	.L219
.L232:
	nop
.L219:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -48[rbp], rax
.L217:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L230
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	buildshifts, .-buildshifts
	.globl	FindLinks
	.type	FindLinks, @function
FindLinks:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -36[rbp], 0
	jmp	.L237
.L242:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L238
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L239
.L238:
	mov	eax, 0
.L239:
	mov	QWORD PTR -32[rbp], rax
	jmp	.L240
.L241:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -32[rbp], rax
.L240:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L241
	add	DWORD PTR -36[rbp], 1
.L237:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L242
	mov	DWORD PTR -36[rbp], 0
	jmp	.L243
.L250:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L244
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L245
.L244:
	mov	eax, 0
.L245:
	mov	QWORD PTR -32[rbp], rax
	jmp	.L246
.L249:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L247
.L248:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Plink_add
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L247:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L248
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -32[rbp], rax
.L246:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L249
	add	DWORD PTR -36[rbp], 1
.L243:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L250
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	FindLinks, .-FindLinks
	.section	.rodata
.LC14:
	.string	"lemp->sorted[i]!=0"
	.text
	.globl	FindFollowSets
	.type	FindFollowSets, @function
FindFollowSets:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -28[rbp], 0
	jmp	.L252
.L256:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L253
	lea	rcx, __PRETTY_FUNCTION__.34[rip]
	mov	edx, 1149
	lea	rsi, .LC8[rip]
	lea	rdi, .LC14[rip]
	call	__assert_fail@PLT
.L253:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L254
.L255:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 48[rax], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -16[rbp], rax
.L254:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L255
	add	DWORD PTR -28[rbp], 1
.L252:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L256
.L267:
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L257
.L266:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L258
	lea	rcx, __PRETTY_FUNCTION__.34[rip]
	mov	edx, 1158
	lea	rsi, .LC8[rip]
	lea	rdi, .LC14[rip]
	call	__assert_fail@PLT
.L258:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L259
.L265:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L268
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L262
.L264:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetUnion
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L263
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 48[rax], 1
	mov	DWORD PTR -24[rbp], 1
.L263:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L262:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L264
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 48[rax], 0
	jmp	.L261
.L268:
	nop
.L261:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -16[rbp], rax
.L259:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L265
	add	DWORD PTR -28[rbp], 1
.L257:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L266
	cmp	DWORD PTR -24[rbp], 0
	jne	.L267
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	FindFollowSets, .-FindFollowSets
	.section	.rodata
	.align 8
.LC15:
	.string	"internal error on source line %d: no start rule\n"
	.align 8
.LC16:
	.string	"This rule can not be reduced.\n"
	.text
	.globl	FindActions
	.type	FindActions, @function
FindActions:
.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, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -64[rbp], 0
	jmp	.L270
.L277:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L271
.L276:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jne	.L272
	mov	DWORD PTR -60[rbp], 0
	jmp	.L273
.L275:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L274
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -8[rbp]
	lea	rdi, 24[rcx]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 2
	call	Action_add
.L274:
	add	DWORD PTR -60[rbp], 1
.L273:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L275
.L272:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -56[rbp], rax
.L271:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L276
	add	DWORD PTR -64[rbp], 1
.L270:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -64[rbp], eax
	jl	.L277
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 144[rax]
	test	rax, rax
	je	.L278
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 144[rax]
	mov	rdi, rax
	call	Symbol_find
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L279
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L280
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, 1211
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L280:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L279
.L278:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
.L279:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	lea	rdi, 24[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, 0
	mov	rdx, rax
	mov	esi, 1
	call	Action_add
	mov	DWORD PTR -64[rbp], 0
	jmp	.L281
.L288:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Action_sort
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L282
.L287:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L283
.L285:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	resolve_conflict
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 248[rax]
	add	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 248[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -24[rbp], rax
.L283:
	cmp	QWORD PTR -24[rbp], 0
	je	.L284
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L285
.L284:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -32[rbp], rax
.L282:
	cmp	QWORD PTR -32[rbp], 0
	je	.L286
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L287
.L286:
	add	DWORD PTR -64[rbp], 1
.L281:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -64[rbp], eax
	jl	.L288
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L289
.L290:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 104[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -40[rbp], rax
.L289:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L290
	mov	DWORD PTR -64[rbp], 0
	jmp	.L291
.L295:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L292
.L294:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L293
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	DWORD PTR 104[rax], 1
.L293:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -16[rbp], rax
.L292:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L294
	add	DWORD PTR -64[rbp], 1
.L291:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -64[rbp], eax
	jl	.L295
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L296
.L299:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 104[rax]
	test	eax, eax
	jne	.L300
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 224[rax]
	lea	rdx, .LC16[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L298
.L300:
	nop
.L298:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -40[rbp], rax
.L296:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L299
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	FindActions, .-FindActions
	.section	.rodata
.LC17:
	.string	"apx->sp==apy->sp"
	.align 8
.LC18:
	.string	"spx->prec==spy->prec && spx->assoc==NONE"
	.align 8
.LC19:
	.string	"apx->type==SH_RESOLVED || apx->type==RD_RESOLVED || apx->type==SSCONFLICT || apx->type==SRCONFLICT || apx->type==RRCONFLICT || apy->type==SH_RESOLVED || apy->type==RD_RESOLVED || apy->type==SSCONFLICT || apy->type==SRCONFLICT || apy->type==RRCONFLICT"
	.text
	.type	resolve_conflict, @function
resolve_conflict:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L302
	lea	rcx, __PRETTY_FUNCTION__.33[rip]
	mov	edx, 1273
	lea	rsi, .LC8[rip]
	lea	rdi, .LC17[rip]
	call	__assert_fail@PLT
.L302:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L303
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L303
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 4
	add	DWORD PTR -20[rbp], 1
.L303:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L304
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L304
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L305
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L305
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jns	.L306
.L305:
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 5
	add	DWORD PTR -20[rbp], 1
	jmp	.L307
.L306:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jle	.L308
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 8
	jmp	.L314
.L308:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jge	.L309
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 7
	jmp	.L314
.L309:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L310
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jne	.L310
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 8
	jmp	.L307
.L310:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L311
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L311
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 7
	jmp	.L307
.L311:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L312
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 2
	je	.L321
.L312:
	lea	rcx, __PRETTY_FUNCTION__.33[rip]
	mov	edx, 1294
	lea	rsi, .LC8[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L321:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 3
	jmp	.L314
.L307:
	jmp	.L314
.L304:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L315
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L315
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L316
	cmp	QWORD PTR -8[rbp], 0
	je	.L316
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L316
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L316
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L317
.L316:
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 6
	add	DWORD PTR -20[rbp], 1
	jmp	.L322
.L317:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jle	.L319
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 8
	jmp	.L322
.L319:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jge	.L322
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 8
	jmp	.L322
.L315:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 7
	je	.L314
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 8
	je	.L314
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	je	.L314
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 5
	je	.L314
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6
	je	.L314
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 7
	je	.L314
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 8
	je	.L314
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	je	.L314
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 5
	je	.L314
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6
	je	.L314
	lea	rcx, __PRETTY_FUNCTION__.33[rip]
	mov	edx, 1310
	lea	rsi, .LC8[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L322:
	nop
.L314:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	resolve_conflict, .-resolve_conflict
	.local	freelist
	.comm	freelist,8,8
	.local	current
	.comm	current,8,8
	.local	currentend
	.comm	currentend,8,8
	.local	basis
	.comm	basis,8,8
	.local	basisend
	.comm	basisend,8,8
	.globl	newconfig
	.type	newconfig, @function
newconfig:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	esi, 72
	mov	edi, 1
	call	calloc@PLT
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	newconfig, .-newconfig
	.globl	deleteconfig
	.type	deleteconfig, @function
deleteconfig:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rdx, QWORD PTR freelist[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR freelist[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	deleteconfig, .-deleteconfig
	.globl	Configlist_init
	.type	Configlist_init, @function
Configlist_init:
.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 current[rip], 0
	lea	rax, current[rip]
	mov	QWORD PTR currentend[rip], rax
	mov	QWORD PTR basis[rip], 0
	lea	rax, basis[rip]
	mov	QWORD PTR basisend[rip], rax
	call	Configtable_init
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	Configlist_init, .-Configlist_init
	.globl	Configlist_reset
	.type	Configlist_reset, @function
Configlist_reset:
.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 current[rip], 0
	lea	rax, current[rip]
	mov	QWORD PTR currentend[rip], rax
	mov	QWORD PTR basis[rip], 0
	lea	rax, basis[rip]
	mov	QWORD PTR basisend[rip], rax
	mov	edi, 0
	call	Configtable_clear
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	Configlist_reset, .-Configlist_reset
	.section	.rodata
.LC20:
	.string	"currentend!=0"
	.text
	.globl	Configlist_add
	.type	Configlist_add, @function
Configlist_add:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR currentend[rip]
	test	rax, rax
	jne	.L331
	lea	rcx, __PRETTY_FUNCTION__.32[rip]
	mov	edx, 1379
	lea	rsi, .LC8[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L331:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -72[rbp], eax
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	Configtable_find
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L332
	call	newconfig
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR 8[rax], edx
	call	SetNew
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR currentend[rip]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 56
	mov	QWORD PTR currentend[rip], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	Configtable_insert
.L332:
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L334
	call	__stack_chk_fail@PLT
.L334:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	Configlist_add, .-Configlist_add
	.section	.rodata
.LC21:
	.string	"basisend!=0"
	.text
	.globl	Configlist_addbasis
	.type	Configlist_addbasis, @function
Configlist_addbasis:
.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, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR basisend[rip]
	test	rax, rax
	jne	.L336
	lea	rcx, __PRETTY_FUNCTION__.31[rip]
	mov	edx, 1404
	lea	rsi, .LC8[rip]
	lea	rdi, .LC21[rip]
	call	__assert_fail@PLT
.L336:
	mov	rax, QWORD PTR currentend[rip]
	test	rax, rax
	jne	.L337
	lea	rcx, __PRETTY_FUNCTION__.31[rip]
	mov	edx, 1405
	lea	rsi, .LC8[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L337:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -72[rbp], eax
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	Configtable_find
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L338
	call	newconfig
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR 8[rax], edx
	call	SetNew
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR currentend[rip]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 56
	mov	QWORD PTR currentend[rip], rax
	mov	rax, QWORD PTR basisend[rip]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 64
	mov	QWORD PTR basisend[rip], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	Configtable_insert
.L338:
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L340
	call	__stack_chk_fail@PLT
.L340:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	Configlist_addbasis, .-Configlist_addbasis
	.section	.rodata
	.align 8
.LC22:
	.string	"Nonterminal \"%s\" has no rules."
	.text
	.globl	Configlist_closure
	.type	Configlist_closure, @function
Configlist_closure:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR currentend[rip]
	test	rax, rax
	jne	.L342
	lea	rcx, __PRETTY_FUNCTION__.30[rip]
	mov	edx, 1435
	lea	rsi, .LC8[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L342:
	mov	rax, QWORD PTR current[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L343
.L358:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -52[rbp], eax
	jge	.L360
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	jne	.L345
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L346
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L346
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	rcx, rdx
	lea	rdx, .LC22[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 80[rax], edx
.L346:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L347
.L357:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Configlist_add
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -60[rbp], eax
	jmp	.L348
.L355:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L349
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, edx
	mov	rdi, rax
	call	SetAdd
	jmp	.L350
.L349:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L351
	mov	DWORD PTR -56[rbp], 0
	jmp	.L352
.L353:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, edx
	mov	rdi, rax
	call	SetAdd
	add	DWORD PTR -56[rbp], 1
.L352:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L353
	jmp	.L350
.L351:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetUnion
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L361
	add	DWORD PTR -60[rbp], 1
.L348:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L355
	jmp	.L350
.L361:
	nop
.L350:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -60[rbp], eax
	jne	.L356
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Plink_add
.L356:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 120[rax]
	mov	QWORD PTR -40[rbp], rax
.L347:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L357
	jmp	.L345
.L360:
	nop
.L345:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -48[rbp], rax
.L343:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L358
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	Configlist_closure, .-Configlist_closure
	.globl	Configlist_sort
	.type	Configlist_sort, @function
Configlist_sort:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR current[rip]
	lea	rcx, 56[rax]
	mov	rax, QWORD PTR current[rip]
	lea	rdx, Configcmp[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	msort
	mov	QWORD PTR current[rip], rax
	mov	QWORD PTR currentend[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	Configlist_sort, .-Configlist_sort
	.globl	Configlist_sortbasis
	.type	Configlist_sortbasis, @function
Configlist_sortbasis:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR current[rip]
	lea	rcx, 64[rax]
	mov	rax, QWORD PTR current[rip]
	lea	rdx, Configcmp[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	msort
	mov	QWORD PTR basis[rip], rax
	mov	QWORD PTR basisend[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	Configlist_sortbasis, .-Configlist_sortbasis
	.globl	Configlist_return
	.type	Configlist_return, @function
Configlist_return:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR current[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR current[rip], 0
	mov	QWORD PTR currentend[rip], 0
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	Configlist_return, .-Configlist_return
	.globl	Configlist_basis
	.type	Configlist_basis, @function
Configlist_basis:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR basis[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR basis[rip], 0
	mov	QWORD PTR basisend[rip], 0
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	Configlist_basis, .-Configlist_basis
	.section	.rodata
.LC23:
	.string	"cfp->fplp==0"
.LC24:
	.string	"cfp->bplp==0"
	.text
	.globl	Configlist_eat
	.type	Configlist_eat, @function
Configlist_eat:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	jmp	.L371
.L375:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L372
	lea	rcx, __PRETTY_FUNCTION__.29[rip]
	mov	edx, 1514
	lea	rsi, .LC8[rip]
	lea	rdi, .LC23[rip]
	call	__assert_fail@PLT
.L372:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L373
	lea	rcx, __PRETTY_FUNCTION__.29[rip]
	mov	edx, 1515
	lea	rsi, .LC8[rip]
	lea	rdi, .LC24[rip]
	call	__assert_fail@PLT
.L373:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L374
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	SetFree
.L374:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	deleteconfig
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L371:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L375
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	Configlist_eat, .-Configlist_eat
	.section	.rodata
.LC25:
	.string	"%s:%d: "
	.text
	.globl	ErrorMsg
	.type	ErrorMsg, @function
ErrorMsg:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -216[rbp], rdi
	mov	DWORD PTR -220[rbp], esi
	mov	QWORD PTR -232[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L378
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L378:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR stderr[rip]
	mov	ecx, DWORD PTR -220[rbp]
	mov	rdx, QWORD PTR -216[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -208[rbp], 24
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -232[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vfprintf@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L379
	call	__stack_chk_fail@PLT
.L379:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	ErrorMsg, .-ErrorMsg
	.section	.rodata
.LC26:
	.string	"Out of memory.  Aborting...\n"
	.text
	.globl	memory_error
	.type	memory_error, @function
memory_error:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC26[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE44:
	.size	memory_error, .-memory_error
	.local	nDefine
	.comm	nDefine,4,4
	.local	azDefine
	.comm	azDefine,8,8
	.section	.rodata
.LC27:
	.string	"out of memory\n"
	.text
	.type	handle_D_option, @function
handle_D_option:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR nDefine[rip]
	add	eax, 1
	mov	DWORD PTR nDefine[rip], eax
	mov	eax, DWORD PTR nDefine[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR azDefine[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR azDefine[rip], rax
	mov	rax, QWORD PTR azDefine[rip]
	test	rax, rax
	jne	.L382
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L382:
	mov	rdx, QWORD PTR azDefine[rip]
	mov	eax, DWORD PTR nDefine[rip]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L383
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L383:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L384
.L386:
	add	QWORD PTR -24[rbp], 1
.L384:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L385
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L386
.L385:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	handle_D_option, .-handle_D_option
	.local	outputDir
	.comm	outputDir,8,8
	.type	handle_d_option, @function
handle_d_option:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR outputDir[rip], rax
	mov	rax, QWORD PTR outputDir[rip]
	test	rax, rax
	jne	.L388
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L388:
	mov	rax, QWORD PTR outputDir[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	handle_d_option, .-handle_d_option
	.local	user_templatename
	.comm	user_templatename,8,8
	.type	handle_T_option, @function
handle_T_option:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR user_templatename[rip], rax
	mov	rax, QWORD PTR user_templatename[rip]
	test	rax, rax
	jne	.L390
	call	memory_error
.L390:
	mov	rax, QWORD PTR user_templatename[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	handle_T_option, .-handle_T_option
	.type	Rule_merge, @function
Rule_merge:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -24[rbp], 0
	lea	rax, -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L392
.L395:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	edx, eax
	jge	.L393
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, -128
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L392
.L393:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, -128
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -48[rbp], rax
.L392:
	cmp	QWORD PTR -40[rbp], 0
	je	.L394
	cmp	QWORD PTR -48[rbp], 0
	jne	.L395
.L394:
	cmp	QWORD PTR -40[rbp], 0
	je	.L396
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L397
.L396:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
.L397:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L399
	call	__stack_chk_fail@PLT
.L399:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	Rule_merge, .-Rule_merge
	.type	Rule_sort, @function
Rule_sort:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 304
	mov	QWORD PTR -296[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -272[rbp]
	mov	edx, 256
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	jmp	.L401
.L405:
	mov	rax, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR 128[rax], 0
	mov	DWORD PTR -284[rbp], 0
	jmp	.L402
.L404:
	mov	eax, DWORD PTR -284[rbp]
	mov	rax, QWORD PTR -272[rbp+rax*8]
	mov	rdx, QWORD PTR -296[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Rule_merge
	mov	QWORD PTR -296[rbp], rax
	mov	eax, DWORD PTR -284[rbp]
	mov	QWORD PTR -272[rbp+rax*8], 0
	add	DWORD PTR -284[rbp], 1
.L402:
	cmp	DWORD PTR -284[rbp], 30
	ja	.L403
	mov	eax, DWORD PTR -284[rbp]
	mov	rax, QWORD PTR -272[rbp+rax*8]
	test	rax, rax
	jne	.L404
.L403:
	mov	eax, DWORD PTR -284[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	QWORD PTR -272[rbp+rax*8], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -296[rbp], rax
.L401:
	cmp	QWORD PTR -296[rbp], 0
	jne	.L405
	mov	QWORD PTR -296[rbp], 0
	mov	DWORD PTR -284[rbp], 0
	jmp	.L406
.L407:
	mov	eax, DWORD PTR -284[rbp]
	mov	rax, QWORD PTR -272[rbp+rax*8]
	mov	rdx, QWORD PTR -296[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Rule_merge
	mov	QWORD PTR -296[rbp], rax
	add	DWORD PTR -284[rbp], 1
.L406:
	cmp	DWORD PTR -284[rbp], 31
	jbe	.L407
	mov	rax, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L409
	call	__stack_chk_fail@PLT
.L409:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	Rule_sort, .-Rule_sort
	.section	.rodata
	.align 8
.LC28:
	.string	"................................"
.LC29:
	.string	"  %s%.*s %5d\n"
	.text
	.type	stats_line, @function
stats_line:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, 35
	sub	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, ecx
	lea	rcx, .LC28[rip]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	stats_line, .-stats_line
	.section	.rodata
.LC30:
	.string	"Lemon version 1.0"
.LC31:
	.string	" (...with MojoShader hacks.)"
	.align 8
.LC32:
	.string	"Exactly one filename argument is required.\n"
.LC33:
	.string	"$"
.LC34:
	.string	"Empty grammar.\n"
.LC35:
	.string	"error"
.LC36:
	.string	"{default}"
	.align 8
.LC37:
	.string	"strcmp(lem.symbols[i-1]->name,\"{default}\")==0"
.LC38:
	.string	"Parser statistics:"
.LC39:
	.string	"terminal symbols"
.LC40:
	.string	"non-terminal symbols"
.LC41:
	.string	"total symbols"
.LC42:
	.string	"rules"
.LC43:
	.string	"states"
.LC44:
	.string	"conflicts"
.LC45:
	.string	"action table entries"
.LC46:
	.string	"lookahead table entries"
.LC47:
	.string	"total table size (bytes)"
	.align 8
.LC48:
	.string	"%d parsing conflicts (%d expected).\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 336
	mov	DWORD PTR -324[rbp], edi
	mov	QWORD PTR -336[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, LemonAtExit[rip]
	call	atexit@PLT
	mov	rdx, QWORD PTR stderr[rip]
	mov	rax, QWORD PTR -336[rbp]
	lea	rsi, options.28[rip]
	mov	rdi, rax
	call	OptInit
	mov	eax, DWORD PTR version.27[rip]
	test	eax, eax
	je	.L412
	lea	rdi, .LC30[rip]
	call	puts@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L412:
	call	OptNArgs
	cmp	eax, 1
	je	.L413
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC32[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L413:
	lea	rax, -304[rbp]
	mov	edx, 296
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -224[rbp], 0
	mov	DWORD PTR -52[rbp], -1
	call	Strsafe_init
	call	Symbol_init
	call	State_init
	mov	rax, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	edi, 0
	call	OptArg
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR basisflag.26[rip]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR nolinenosflag.25[rip]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR printPP.24[rip]
	mov	DWORD PTR -32[rbp], eax
	lea	rdi, .LC33[rip]
	call	Symbol_new
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	Parse
	mov	eax, DWORD PTR -32[rbp]
	test	eax, eax
	jne	.L414
	mov	eax, DWORD PTR -224[rbp]
	test	eax, eax
	je	.L415
.L414:
	mov	eax, DWORD PTR -224[rbp]
	mov	edi, eax
	call	exit@PLT
.L415:
	mov	eax, DWORD PTR -272[rbp]
	test	eax, eax
	jne	.L416
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC34[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L416:
	lea	rdi, .LC35[rip]
	call	Symbol_find
	mov	QWORD PTR -216[rbp], rax
	lea	rdi, .LC36[rip]
	call	Symbol_new
	call	Symbol_count
	mov	DWORD PTR -264[rbp], eax
	call	Symbol_arrayof
	mov	QWORD PTR -232[rbp], rax
	mov	DWORD PTR -320[rbp], 0
	jmp	.L417
.L418:
	mov	rdx, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR -320[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -320[rbp]
	mov	DWORD PTR 8[rax], edx
	add	DWORD PTR -320[rbp], 1
.L417:
	mov	eax, DWORD PTR -264[rbp]
	cmp	DWORD PTR -320[rbp], eax
	jl	.L418
	mov	eax, DWORD PTR -264[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -232[rbp]
	lea	rcx, Symbolcmpp[rip]
	mov	edx, 8
	mov	rdi, rax
	call	qsort@PLT
	mov	DWORD PTR -320[rbp], 0
	jmp	.L419
.L420:
	mov	rdx, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR -320[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -320[rbp]
	mov	DWORD PTR 8[rax], edx
	add	DWORD PTR -320[rbp], 1
.L419:
	mov	eax, DWORD PTR -264[rbp]
	cmp	DWORD PTR -320[rbp], eax
	jl	.L420
	jmp	.L421
.L422:
	sub	DWORD PTR -320[rbp], 1
.L421:
	mov	rdx, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR -320[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L422
	mov	rdx, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR -320[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC36[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L423
	lea	rcx, __PRETTY_FUNCTION__.23[rip]
	mov	edx, 1748
	lea	rsi, .LC8[rip]
	lea	rdi, .LC37[rip]
	call	__assert_fail@PLT
.L423:
	mov	eax, DWORD PTR -320[rbp]
	sub	eax, 1
	mov	DWORD PTR -264[rbp], eax
	mov	DWORD PTR -320[rbp], 1
	jmp	.L424
.L425:
	add	DWORD PTR -320[rbp], 1
.L424:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR -320[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L425
	mov	eax, DWORD PTR -320[rbp]
	mov	DWORD PTR -260[rbp], eax
	mov	DWORD PTR -320[rbp], 0
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -312[rbp], rax
	jmp	.L426
.L429:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L427
	mov	eax, DWORD PTR -320[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -320[rbp], edx
	jmp	.L428
.L427:
	mov	eax, -1
.L428:
	mov	rdx, QWORD PTR -312[rbp]
	mov	DWORD PTR 92[rdx], eax
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -312[rbp], rax
.L426:
	cmp	QWORD PTR -312[rbp], 0
	jne	.L429
	mov	eax, DWORD PTR -320[rbp]
	mov	DWORD PTR -268[rbp], eax
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -312[rbp], rax
	jmp	.L430
.L432:
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	jns	.L431
	mov	eax, DWORD PTR -320[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -320[rbp], edx
	mov	rdx, QWORD PTR -312[rbp]
	mov	DWORD PTR 92[rdx], eax
.L431:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -312[rbp], rax
.L430:
	cmp	QWORD PTR -312[rbp], 0
	jne	.L432
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -288[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	Rule_sort
	mov	QWORD PTR -296[rbp], rax
	mov	eax, DWORD PTR rpflag.22[rip]
	test	eax, eax
	je	.L433
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	Reprint
	jmp	.L434
.L433:
	mov	eax, DWORD PTR -260[rbp]
	add	eax, 1
	mov	edi, eax
	call	SetSize
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	FindRulePrecedences
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	FindFirstSets
	mov	DWORD PTR -280[rbp], 0
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	FindStates
	call	State_arrayof
	mov	QWORD PTR -304[rbp], rax
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	FindLinks
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	FindFollowSets
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	FindActions
	mov	eax, DWORD PTR compress.21[rip]
	test	eax, eax
	jne	.L435
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	CompressTables
.L435:
	mov	eax, DWORD PTR noResort.20[rip]
	test	eax, eax
	jne	.L436
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	ResortStates
.L436:
	mov	eax, DWORD PTR quiet.19[rip]
	test	eax, eax
	jne	.L437
	lea	rax, -304[rbp]
	mov	rdi, rax
	call	ReportOutput
.L437:
	mov	edx, DWORD PTR sqlFlag.18[rip]
	mov	ecx, DWORD PTR mhflag.17[rip]
	lea	rax, -304[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	ReportTable
.L434:
	mov	eax, DWORD PTR statistics.16[rip]
	test	eax, eax
	je	.L438
	lea	rdi, .LC38[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -260[rbp]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	call	stats_line
	mov	eax, DWORD PTR -264[rbp]
	mov	edx, DWORD PTR -260[rbp]
	sub	eax, edx
	mov	esi, eax
	lea	rdi, .LC40[rip]
	call	stats_line
	mov	eax, DWORD PTR -264[rbp]
	mov	esi, eax
	lea	rdi, .LC41[rip]
	call	stats_line
	mov	eax, DWORD PTR -272[rbp]
	mov	esi, eax
	lea	rdi, .LC42[rip]
	call	stats_line
	mov	eax, DWORD PTR -276[rbp]
	mov	esi, eax
	lea	rdi, .LC43[rip]
	call	stats_line
	mov	eax, DWORD PTR -56[rbp]
	mov	esi, eax
	lea	rdi, .LC44[rip]
	call	stats_line
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, eax
	lea	rdi, .LC45[rip]
	call	stats_line
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC46[rip]
	call	stats_line
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, eax
	lea	rdi, .LC47[rip]
	call	stats_line
.L438:
	mov	eax, DWORD PTR -52[rbp]
	test	eax, eax
	jns	.L439
	mov	DWORD PTR -52[rbp], 0
.L439:
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -52[rbp]
	cmp	edx, eax
	je	.L440
	mov	ecx, DWORD PTR -52[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L440:
	mov	eax, DWORD PTR -224[rbp]
	test	eax, eax
	jg	.L441
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -52[rbp]
	cmp	edx, eax
	je	.L442
.L441:
	mov	eax, 1
	jmp	.L443
.L442:
	mov	eax, 0
.L443:
	mov	DWORD PTR -316[rbp], eax
	cmp	DWORD PTR -316[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR successful_exit[rip], eax
	mov	eax, DWORD PTR -316[rbp]
	mov	edi, eax
	call	exit@PLT
	.cfi_endproc
.LFE51:
	.size	main, .-main
	.type	merge, @function
merge:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L446
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L447
.L446:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L448
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L447
.L448:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	test	eax, eax
	jg	.L449
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L450
.L449:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L450:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L451
.L454:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	test	eax, eax
	jg	.L452
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L451
.L452:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L451:
	cmp	QWORD PTR -24[rbp], 0
	je	.L453
	cmp	QWORD PTR -32[rbp], 0
	jne	.L454
.L453:
	cmp	QWORD PTR -24[rbp], 0
	je	.L455
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L447
.L455:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
.L447:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	merge, .-merge
	.type	msort, @function
msort:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -296[rbp], rdi
	mov	QWORD PTR -304[rbp], rsi
	mov	QWORD PTR -312[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -304[rbp]
	sub	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	DWORD PTR -276[rbp], 0
	jmp	.L458
.L459:
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	QWORD PTR -256[rbp+rax*8], 0
	add	DWORD PTR -276[rbp], 1
.L458:
	cmp	DWORD PTR -276[rbp], 29
	jle	.L459
	jmp	.L460
.L464:
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -272[rbp], rax
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -264[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -296[rbp], rax
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	mov	DWORD PTR -276[rbp], 0
	jmp	.L461
.L463:
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rsi, QWORD PTR -256[rbp+rax*8]
	mov	rdx, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -272[rbp]
	mov	rdi, rax
	call	merge
	mov	QWORD PTR -272[rbp], rax
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	QWORD PTR -256[rbp+rax*8], 0
	add	DWORD PTR -276[rbp], 1
.L461:
	cmp	DWORD PTR -276[rbp], 28
	jg	.L462
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rax, QWORD PTR -256[rbp+rax*8]
	test	rax, rax
	jne	.L463
.L462:
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rdx, QWORD PTR -272[rbp]
	mov	QWORD PTR -256[rbp+rax*8], rdx
.L460:
	cmp	QWORD PTR -296[rbp], 0
	jne	.L464
	mov	QWORD PTR -272[rbp], 0
	mov	DWORD PTR -276[rbp], 0
	jmp	.L465
.L467:
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rax, QWORD PTR -256[rbp+rax*8]
	test	rax, rax
	je	.L466
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rax, QWORD PTR -256[rbp+rax*8]
	mov	rdx, QWORD PTR -312[rbp]
	mov	rsi, QWORD PTR -272[rbp]
	mov	rdi, rax
	call	merge
	mov	QWORD PTR -272[rbp], rax
.L466:
	add	DWORD PTR -276[rbp], 1
.L465:
	cmp	DWORD PTR -276[rbp], 29
	jle	.L467
	mov	rax, QWORD PTR -272[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L469
	call	__stack_chk_fail@PLT
.L469:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	msort, .-msort
	.local	g_argv
	.comm	g_argv,8,8
	.local	op
	.comm	op,8,8
	.local	errstream
	.comm	errstream,8,8
	.section	.rodata
.LC49:
	.string	" %s"
.LC50:
	.string	""
.LC51:
	.string	"\n%*s^-- here\n"
.LC52:
	.string	"\n%*shere --^\n"
	.text
	.type	errline, @function
errline:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	mov	rax, QWORD PTR g_argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L471
	mov	rax, QWORD PTR g_argv[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR g_argv[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
	jmp	.L472
.L471:
	mov	DWORD PTR -8[rbp], 0
.L472:
	mov	DWORD PTR -4[rbp], 1
	jmp	.L473
.L475:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	add	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L473:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jge	.L474
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L475
.L474:
	mov	eax, DWORD PTR -24[rbp]
	add	DWORD PTR -8[rbp], eax
	jmp	.L476
.L477:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -4[rbp], 1
.L476:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L477
	cmp	DWORD PTR -8[rbp], 19
	jg	.L478
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, .LC50[rip]
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L480
.L478:
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -7[rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, .LC50[rip]
	lea	rsi, .LC52[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L480:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	errline, .-errline
	.section	.rodata
.LC53:
	.string	"--"
	.text
	.type	argindex, @function
argindex:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 0
	mov	rax, QWORD PTR g_argv[rip]
	test	rax, rax
	je	.L482
	mov	rax, QWORD PTR g_argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L482
	mov	DWORD PTR -8[rbp], 1
	jmp	.L483
.L489:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L484
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L485
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L485
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	jne	.L485
.L484:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L486
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L487
.L486:
	sub	DWORD PTR -20[rbp], 1
.L485:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC53[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L488
	mov	DWORD PTR -4[rbp], 1
.L488:
	add	DWORD PTR -8[rbp], 1
.L483:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L489
.L482:
	mov	eax, -1
.L487:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	argindex, .-argindex
	.data
	.align 16
	.type	emsg, @object
	.size	emsg, 28
emsg:
	.string	"Command line syntax error: "
	.section	.rodata
.LC54:
	.string	"%sundefined option.\n"
	.align 8
.LC55:
	.string	"%smissing argument on switch.\n"
	.text
	.type	handleflags, @function
handleflags:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L491
.L494:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	movsx	rdx, eax
	mov	rcx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rcx
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, QWORD PTR g_argv[rip]
	mov	ecx, DWORD PTR -20[rbp]
	movsx	rcx, ecx
	sal	rcx, 3
	add	rcx, rsi
	mov	rcx, QWORD PTR [rcx]
	add	rcx, 1
	mov	rsi, rax
	mov	rdi, rcx
	call	strncmp@PLT
	test	eax, eax
	je	.L503
	add	DWORD PTR -8[rbp], 1
.L491:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L494
	jmp	.L493
.L503:
	nop
.L493:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	sete	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L495
	cmp	QWORD PTR -32[rbp], 0
	je	.L496
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 1
	mov	edi, eax
	call	errline
.L496:
	add	DWORD PTR -12[rbp], 1
	jmp	.L497
.L495:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L497
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L498
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L497
.L498:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	jne	.L499
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	rdx
	jmp	.L497
.L499:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	jne	.L500
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	rcx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	call	rdx
	jmp	.L497
.L500:
	cmp	QWORD PTR -32[rbp], 0
	je	.L501
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC55[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 1
	mov	edi, eax
	call	errline
.L501:
	add	DWORD PTR -12[rbp], 1
.L497:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	handleflags, .-handleflags
	.section	.rodata
.LC57:
	.string	"cp!=0"
	.align 8
.LC58:
	.string	"%soption requires an argument.\n"
	.align 8
.LC59:
	.string	"%sillegal character in floating-point argument.\n"
	.align 8
.LC60:
	.string	"%sillegal character in integer argument.\n"
	.text
	.type	handleswitch, @function
handleswitch:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -52[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L505
	lea	rcx, __PRETTY_FUNCTION__.15[rip]
	mov	edx, 2074
	lea	rsi, .LC8[rip]
	lea	rdi, .LC57[rip]
	call	__assert_fail@PLT
.L505:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -48[rbp], 0
	jmp	.L506
.L509:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L534
	add	DWORD PTR -48[rbp], 1
.L506:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L509
	jmp	.L508
.L534:
	nop
.L508:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 61
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L510
	cmp	QWORD PTR -80[rbp], 0
	je	.L511
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 0
	mov	edi, eax
	call	errline
.L511:
	add	DWORD PTR -44[rbp], 1
	jmp	.L512
.L510:
	add	QWORD PTR -16[rbp], 1
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L513
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L515[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L515[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L515:
	.long	.L513-.L515
	.long	.L518-.L515
	.long	.L517-.L515
	.long	.L516-.L515
	.long	.L514-.L515
	.long	.L518-.L515
	.long	.L517-.L515
	.long	.L516-.L515
	.long	.L514-.L515
	.text
.L518:
	cmp	QWORD PTR -80[rbp], 0
	je	.L519
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC58[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 0
	mov	edi, eax
	call	errline
.L519:
	add	DWORD PTR -44[rbp], 1
	jmp	.L513
.L516:
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L535
	cmp	QWORD PTR -80[rbp], 0
	je	.L521
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC59[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR g_argv[rip]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	mov	rdx, QWORD PTR [rdx]
	sub	rax, rdx
	mov	ecx, eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	errline
.L521:
	add	DWORD PTR -44[rbp], 1
	jmp	.L535
.L517:
	lea	rcx, -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L536
	cmp	QWORD PTR -80[rbp], 0
	je	.L523
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR g_argv[rip]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	mov	rdx, QWORD PTR [rdx]
	sub	rax, rdx
	mov	ecx, eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	errline
.L523:
	add	DWORD PTR -44[rbp], 1
	jmp	.L536
.L514:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L513
.L535:
	nop
	jmp	.L513
.L536:
	nop
.L513:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L512
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L525[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L525[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L525:
	.long	.L512-.L525
	.long	.L512-.L525
	.long	.L531-.L525
	.long	.L530-.L525
	.long	.L529-.L525
	.long	.L512-.L525
	.long	.L527-.L525
	.long	.L526-.L525
	.long	.L524-.L525
	.text
.L530:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L512
.L526:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	call	rdx
	jmp	.L512
.L531:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L512
.L527:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	rdx
	jmp	.L512
.L529:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L512
.L524:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
	nop
.L512:
	mov	eax, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L533
	call	__stack_chk_fail@PLT
.L533:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	handleswitch, .-handleswitch
	.section	.rodata
	.align 8
.LC61:
	.string	"Valid command line options for \"%s\" are:\n"
	.text
	.globl	OptInit
	.type	OptInit, @function
OptInit:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR g_argv[rip], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR op[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR errstream[rip], rax
	mov	rax, QWORD PTR g_argv[rip]
	test	rax, rax
	je	.L538
	mov	rax, QWORD PTR g_argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L538
	mov	rax, QWORD PTR op[rip]
	test	rax, rax
	je	.L538
	mov	DWORD PTR -4[rbp], 1
	jmp	.L539
.L543:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L540
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L541
.L540:
	mov	rdx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	handleflags
	add	DWORD PTR -8[rbp], eax
	jmp	.L542
.L541:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L542
	mov	rdx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	handleswitch
	add	DWORD PTR -8[rbp], eax
.L542:
	add	DWORD PTR -4[rbp], 1
.L539:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L543
.L538:
	cmp	DWORD PTR -8[rbp], 0
	jle	.L544
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC61[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	call	OptPrint
	mov	edi, 1
	call	exit@PLT
.L544:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	OptInit, .-OptInit
	.globl	OptNArgs
	.type	OptNArgs, @function
OptNArgs:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR g_argv[rip]
	test	rax, rax
	je	.L547
	mov	rax, QWORD PTR g_argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L547
	mov	DWORD PTR -4[rbp], 1
	jmp	.L548
.L552:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L549
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L550
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L550
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	jne	.L550
.L549:
	add	DWORD PTR -12[rbp], 1
.L550:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC53[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L551
	mov	DWORD PTR -8[rbp], 1
.L551:
	add	DWORD PTR -4[rbp], 1
.L548:
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L552
.L547:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	OptNArgs, .-OptNArgs
	.globl	OptArg
	.type	OptArg, @function
OptArg:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	argindex
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L555
	mov	rdx, QWORD PTR g_argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	jmp	.L557
.L555:
	mov	eax, 0
.L557:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	OptArg, .-OptArg
	.globl	OptErr
	.type	OptErr, @function
OptErr:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	argindex
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L560
	mov	rdx, QWORD PTR errstream[rip]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 0
	mov	edi, eax
	call	errline
.L560:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	OptErr, .-OptErr
	.section	.rodata
.LC62:
	.string	"  -%-*s  %s\n"
.LC63:
	.string	"  -%s<integer>%*s  %s\n"
.LC64:
	.string	"  -%s<real>%*s  %s\n"
.LC65:
	.string	"  -%s<string>%*s  %s\n"
	.text
	.globl	OptPrint
	.type	OptPrint, @function
OptPrint:
.LFB62:
	.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, 24
	.cfi_offset 3, -24
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L562
.L570:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L563
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L565[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L565[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L565:
	.long	.L563-.L565
	.long	.L563-.L565
	.long	.L567-.L565
	.long	.L566-.L565
	.long	.L564-.L565
	.long	.L563-.L565
	.long	.L567-.L565
	.long	.L566-.L565
	.long	.L564-.L565
	.text
.L567:
	add	DWORD PTR -20[rbp], 9
	jmp	.L563
.L566:
	add	DWORD PTR -20[rbp], 6
	jmp	.L563
.L564:
	add	DWORD PTR -20[rbp], 8
	nop
.L563:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L569
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
.L569:
	add	DWORD PTR -28[rbp], 1
.L562:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L570
	mov	DWORD PTR -28[rbp], 0
	jmp	.L571
.L578:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L572
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L574[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L574[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L574:
	.long	.L572-.L574
	.long	.L577-.L574
	.long	.L576-.L574
	.long	.L575-.L574
	.long	.L573-.L574
	.long	.L577-.L574
	.long	.L576-.L574
	.long	.L575-.L574
	.long	.L573-.L574
	.text
.L577:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rsi, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	edx, DWORD PTR -24[rbp]
	mov	r8, rsi
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L572
.L576:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rbx, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, edx
	lea	ecx, -9[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	r9, rbx
	lea	r8, .LC50[rip]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L572
.L575:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rbx, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, edx
	lea	ecx, -6[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	r9, rbx
	lea	r8, .LC50[rip]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L572
.L573:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rbx, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, edx
	lea	ecx, -8[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	r9, rbx
	lea	r8, .LC50[rip]
	lea	rsi, .LC65[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	nop
.L572:
	add	DWORD PTR -28[rbp], 1
.L571:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L578
	nop
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	OptPrint, .-OptPrint
	.section	.rodata
	.align 8
.LC66:
	.string	"There is no prior rule upon which to attach the code fragment which begins on this line."
	.align 8
.LC67:
	.string	"Code fragment beginning on this line is not the first to follow the previous rule."
.LC68:
	.string	"{NEVER-REDUCE"
	.align 8
.LC69:
	.string	"Token \"%s\" should be either \"%%\" or a nonterminal name."
	.align 8
.LC70:
	.string	"The precedence symbol must be a terminal."
	.align 8
.LC71:
	.string	"There is no prior rule to assign precedence \"[%s]\"."
	.align 8
.LC72:
	.string	"Precedence mark on this line is not the first to follow the previous rule."
	.align 8
.LC73:
	.string	"Missing \"]\" on precedence mark."
	.align 8
.LC74:
	.string	"Expected to see a \":\" following the LHS symbol \"%s\"."
	.align 8
.LC75:
	.string	"\"%s\" is not a valid alias for the LHS \"%s\"\n"
	.align 8
.LC76:
	.string	"Missing \")\" following LHS alias name \"%s\"."
	.align 8
.LC77:
	.string	"Missing \"->\" following: \"%s(%s)\"."
	.align 8
.LC78:
	.string	"Can't allocate enough memory for this rule."
	.align 8
.LC79:
	.string	"Too many symbols on RHS of rule beginning at \"%s\"."
	.align 8
.LC80:
	.string	"Cannot form a compound containing a non-terminal"
	.align 8
.LC81:
	.string	"Illegal character on RHS of rule: \"%s\"."
	.align 8
.LC82:
	.string	"\"%s\" is not a valid alias for the RHS symbol \"%s\"\n"
.LC83:
	.string	"name"
.LC84:
	.string	"include"
.LC85:
	.string	"code"
.LC86:
	.string	"token_destructor"
.LC87:
	.string	"default_destructor"
.LC88:
	.string	"token_prefix"
.LC89:
	.string	"syntax_error"
.LC90:
	.string	"parse_accept"
.LC91:
	.string	"parse_failure"
.LC92:
	.string	"stack_overflow"
.LC93:
	.string	"extra_argument"
.LC94:
	.string	"extra_context"
.LC95:
	.string	"token_type"
.LC96:
	.string	"default_type"
.LC97:
	.string	"stack_size"
.LC98:
	.string	"start_symbol"
.LC99:
	.string	"left"
.LC100:
	.string	"right"
.LC101:
	.string	"nonassoc"
.LC102:
	.string	"destructor"
.LC103:
	.string	"type"
.LC104:
	.string	"fallback"
.LC105:
	.string	"token"
.LC106:
	.string	"wildcard"
.LC107:
	.string	"token_class"
.LC108:
	.string	"expect"
	.align 8
.LC109:
	.string	"Multiple %expect declarations."
	.align 8
.LC110:
	.string	"Unknown declaration keyword: \"%%%s\"."
	.align 8
.LC111:
	.string	"Illegal declaration keyword: \"%s\"."
	.align 8
.LC112:
	.string	"Symbol name missing after %%destructor keyword"
	.align 8
.LC113:
	.string	"Integer expected after %%expect keyword"
	.align 8
.LC114:
	.string	"Integer can't be negative after %%expect keyword"
	.align 8
.LC115:
	.string	"Symbol name missing after %%type keyword"
	.align 8
.LC116:
	.string	"Symbol %%type \"%s\" already defined"
	.align 8
.LC117:
	.string	"Symbol \"%s\" has already be given a precedence."
	.align 8
.LC118:
	.string	"Can't assign a precedence to \"%s\"."
.LC119:
	.string	"#line %d "
.LC120:
	.string	"Illegal argument to %%%s: %s"
	.align 8
.LC121:
	.string	"%%fallback argument \"%s\" should be a token"
	.align 8
.LC122:
	.string	"More than one fallback assigned to token %s"
	.align 8
.LC123:
	.string	"%%token argument \"%s\" should be a token"
	.align 8
.LC124:
	.string	"%%wildcard argument \"%s\" should be a token"
.LC125:
	.string	"Extra wildcard to token: %s"
	.align 8
.LC126:
	.string	"%%token_class must be followed by an identifier: %s"
.LC127:
	.string	"Symbol \"%s\" already used"
	.align 8
.LC128:
	.string	"%%token_class argument \"%s\" should be a token"
	.text
	.type	parseonetoken, @function
parseonetoken:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 248
	.cfi_offset 3, -24
	mov	QWORD PTR -248[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	Strsafe
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, 23
	ja	.L734
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L582[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L582[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L582:
	.long	.L604-.L582
	.long	.L603-.L582
	.long	.L602-.L582
	.long	.L601-.L582
	.long	.L600-.L582
	.long	.L599-.L582
	.long	.L598-.L582
	.long	.L597-.L582
	.long	.L596-.L582
	.long	.L595-.L582
	.long	.L594-.L582
	.long	.L593-.L582
	.long	.L592-.L582
	.long	.L591-.L582
	.long	.L590-.L582
	.long	.L590-.L582
	.long	.L589-.L582
	.long	.L588-.L582
	.long	.L587-.L582
	.long	.L586-.L582
	.long	.L585-.L582
	.long	.L584-.L582
	.long	.L583-.L582
	.long	.L581-.L582
	.text
.L604:
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16080[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16124[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16136[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 16136[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16128[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR 32[rax], 0
.L603:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L605
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 2
	jmp	.L580
.L605:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	je	.L607
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR 56[rdx], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 72[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 5
	jmp	.L580
.L607:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L608
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	test	rax, rax
	jne	.L609
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC66[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L609:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L610
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC67[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L610:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC68[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L611
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	mov	DWORD PTR 112[rax], 1
	jmp	.L580
.L611:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	mov	rdx, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 8[rdx]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	mov	rdx, QWORD PTR -192[rbp]
	add	rdx, 1
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	mov	DWORD PTR 96[rax], 0
	jmp	.L580
.L608:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L612
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 12
	jmp	.L580
.L612:
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC69[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L592:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L613
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC70[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L614
.L613:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	test	rax, rax
	jne	.L615
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC71[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L614
.L615:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16080[rax]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L616
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC72[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L614
.L616:
	mov	rax, QWORD PTR -248[rbp]
	mov	rbx, QWORD PTR 16080[rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR 80[rbx], rax
.L614:
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 13
	jmp	.L580
.L591:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L617
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC73[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
.L617:
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L599:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L618
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L618
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L618
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 6
	jmp	.L580
.L618:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L620
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 7
	jmp	.L580
.L620:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC74[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L597:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L621
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 8
	jmp	.L580
.L621:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC75[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L596:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L623
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 9
	jmp	.L580
.L623:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC76[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L595:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L625
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L625
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L625
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 6
	jmp	.L580
.L625:
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC77[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L598:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L627
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	cdqe
	sal	rax, 4
	add	rax, 136
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	jne	.L628
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC78[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16080[rax], 0
	jmp	.L629
.L628:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	lea	rdx, 136[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	DWORD PTR -228[rbp], 0
	jmp	.L630
.L632:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR -228[rbp]
	movsx	rcx, ecx
	add	rcx, 10
	mov	rax, QWORD PTR [rax+rcx*8]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR -228[rbp]
	movsx	rcx, ecx
	add	rcx, 1010
	mov	rax, QWORD PTR [rax+rcx*8]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L631
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 84[rax], 1
.L631:
	add	DWORD PTR -228[rbp], 1
.L630:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	cmp	DWORD PTR -228[rbp], eax
	jl	.L632
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 72[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 96[rax], 1
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 80[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 32[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 32[rax], ecx
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 120[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 128[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16128[rax]
	test	rax, rax
	jne	.L633
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 16136[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 16136[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16128[rax], rdx
	jmp	.L634
.L633:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16136[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 128[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 16136[rax], rdx
.L634:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 16080[rax], rdx
.L629:
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L627:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L636
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	cmp	eax, 999
	jle	.L637
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC79[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L637:
	mov	rax, QWORD PTR -248[rbp]
	mov	ebx, DWORD PTR 72[rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	rdx, QWORD PTR -248[rbp]
	movsx	rcx, ebx
	add	rcx, 10
	mov	QWORD PTR [rdx+rcx*8], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 72[rax]
	mov	rax, QWORD PTR -248[rbp]
	movsx	rdx, edx
	add	rdx, 1010
	mov	QWORD PTR [rax+rdx*8], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 72[rax], edx
	jmp	.L580
.L636:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	je	.L638
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L639
.L638:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	test	eax, eax
	jle	.L639
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L639
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -248[rbp]
	movsx	rdx, edx
	add	rdx, 10
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L640
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	esi, 104
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, 104
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR 12[rax], 2
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR 88[rax], 1
	mov	esi, 8
	mov	edi, 1
	call	calloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR 96[rax], rdx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -248[rbp]
	movsx	rdx, edx
	lea	rcx, 10[rdx]
	mov	rdx, QWORD PTR -184[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
.L640:
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 88[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 88[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -184[rbp]
	mov	QWORD PTR 96[rdx], rax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	mov	rdx, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR 96[rdx]
	mov	rdx, QWORD PTR -184[rbp]
	mov	edx, DWORD PTR 88[rdx]
	movsx	rdx, edx
	sal	rdx, 3
	sub	rdx, 8
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR [rbx], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	jne	.L641
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	je	.L735
.L641:
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC80[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L735
.L639:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L643
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	test	eax, eax
	jle	.L643
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 10
	jmp	.L635
.L643:
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC81[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L735:
	nop
.L635:
	jmp	.L580
.L594:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L644
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -248[rbp]
	movsx	rdx, edx
	lea	rcx, 1010[rdx]
	mov	rdx, QWORD PTR -192[rbp]
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 11
	jmp	.L580
.L644:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 72[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -248[rbp]
	movsx	rdx, edx
	add	rdx, 10
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC82[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L593:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L646
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 6
	jmp	.L580
.L646:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC76[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L580
.L602:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L648
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16112[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 1
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 3
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC83[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L649
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L649:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC84[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L651
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L651:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC85[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L652
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 200[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L652:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC86[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L653
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 208[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L653:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC87[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L654
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 216[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L654:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC88[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L655
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 240[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L655:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC89[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L656
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L656:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC90[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L657
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L657:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC91[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L658
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 184[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L658:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC92[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L659
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 176[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L580
.L659:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC93[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L660
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 112[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L660:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC94[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L661
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 120[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L661:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC95[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L662
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 128[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L662:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC96[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L663
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 136[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L663:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC97[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L664
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 152[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L664:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC98[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L665
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 144[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	jmp	.L580
.L665:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC99[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L666
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 16124[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16124[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16120[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 4
	jmp	.L580
.L666:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC100[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L667
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 16124[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16124[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16120[rax], 1
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 4
	jmp	.L580
.L667:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC101[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L668
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 16124[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16124[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16120[rax], 2
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 4
	jmp	.L580
.L668:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC102[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L669
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 16
	jmp	.L580
.L669:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC103[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L670
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 17
	jmp	.L580
.L670:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC104[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L671
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 18
	jmp	.L580
.L671:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC105[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L672
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 23
	jmp	.L580
.L672:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC106[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L673
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 19
	jmp	.L580
.L673:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC107[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L674
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 20
	jmp	.L580
.L674:
	mov	rax, QWORD PTR -192[rbp]
	lea	rsi, .LC108[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L675
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 252[rax]
	test	eax, eax
	js	.L676
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC109[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L676:
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 22
	jmp	.L580
.L675:
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC110[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L648:
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC111[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L589:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L677
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC112[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L677:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16112[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 1
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 3
	jmp	.L580
.L583:
	lea	rcx, -200[rbp]
	mov	rax, QWORD PTR -192[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR 252[rax], edx
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L679
	mov	rax, QWORD PTR -200[rbp]
	cmp	QWORD PTR -192[rbp], rax
	jne	.L680
.L679:
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC113[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L681
.L680:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 252[rax]
	test	eax, eax
	jns	.L681
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC114[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
.L681:
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L588:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L682
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC115[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L682:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_find
	mov	QWORD PTR -176[rbp], rax
	cmp	QWORD PTR -176[rbp], 0
	je	.L684
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L684
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC116[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L684:
	cmp	QWORD PTR -176[rbp], 0
	jne	.L685
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR -176[rbp], rax
.L685:
	mov	rax, QWORD PTR -176[rbp]
	lea	rdx, 72[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16104[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 3
	jmp	.L580
.L600:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L686
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L686:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L688
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L689
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC117[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L689:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 16124[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 16120[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L580
.L688:
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC118[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L601:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	je	.L690
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L690
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L691
.L690:
	mov	DWORD PTR -220[rbp], 0
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L692
	mov	rax, QWORD PTR -160[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L693
.L692:
	add	QWORD PTR -160[rbp], 1
.L693:
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -212[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16096[rax]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L694
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16096[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -168[rbp], rax
	jmp	.L695
.L694:
	lea	rax, .LC50[rip]
	mov	QWORD PTR -168[rbp], rax
.L695:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -208[rbp], eax
	mov	edx, DWORD PTR -208[rbp]
	mov	eax, DWORD PTR -212[rbp]
	add	eax, edx
	add	eax, 20
	mov	DWORD PTR -224[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 280[rax]
	test	eax, eax
	jne	.L696
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 16104[rax]
	test	eax, eax
	je	.L696
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jle	.L696
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16112[rax]
	test	rax, rax
	je	.L697
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16112[rax]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L696
.L697:
	mov	eax, 1
	jmp	.L698
.L696:
	mov	eax, 0
.L698:
	mov	DWORD PTR -204[rbp], eax
	cmp	DWORD PTR -204[rbp], 0
	je	.L699
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -144[rbp], rax
	mov	DWORD PTR -216[rbp], 0
	jmp	.L700
.L702:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L701
	add	DWORD PTR -216[rbp], 1
.L701:
	add	QWORD PTR -144[rbp], 1
.L700:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L702
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 8[rax]
	lea	rax, -80[rbp]
	lea	rsi, .LC119[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -220[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -220[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -216[rbp]
	add	eax, edx
	add	DWORD PTR -224[rbp], eax
.L699:
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16096[rax]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -248[rbp]
	mov	rbx, QWORD PTR 16096[rcx]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16096[rax]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -152[rbp], rax
	cmp	DWORD PTR -204[rbp], 0
	je	.L703
	cmp	DWORD PTR -208[rbp], 0
	je	.L704
	mov	rax, QWORD PTR -152[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L704
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -152[rbp], rdx
	mov	BYTE PTR [rax], 10
.L704:
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	lea	rcx, -80[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	add	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -152[rbp], rdx
	mov	BYTE PTR [rax], 34
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -144[rbp], rax
	jmp	.L705
.L707:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L706
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -152[rbp], rdx
	mov	BYTE PTR [rax], 92
.L706:
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -152[rbp], rdx
	mov	rdx, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -144[rbp], 1
.L705:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L707
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -152[rbp], rdx
	mov	BYTE PTR [rax], 34
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -152[rbp], rdx
	mov	BYTE PTR [rax], 10
.L703:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16112[rax]
	test	rax, rax
	je	.L708
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16112[rax]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L708
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16112[rax]
	mov	rdx, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 8[rdx]
	mov	DWORD PTR [rax], edx
.L708:
	mov	eax, DWORD PTR -212[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -212[rbp]
	cdqe
	add	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	nop
	jmp	.L580
.L691:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 16088[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -192[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC120[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L587:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L710
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L710:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L712
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC121[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L712:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L713
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR 40[rax], rdx
	jmp	.L580
.L713:
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L714
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC122[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L714:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR 276[rax], 1
	jmp	.L580
.L581:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L715
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L715:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L717
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC123[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L717:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	jmp	.L580
.L586:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L718
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L718:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L720
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC124[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L720:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	jne	.L721
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	QWORD PTR 96[rax], rdx
	jmp	.L580
.L721:
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC125[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L580
.L585:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	jne	.L722
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC126[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L722:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_find
	test	rax, rax
	je	.L724
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC127[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L724:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR 48[rdx], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	DWORD PTR 12[rax], 2
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 21
	jmp	.L580
.L584:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L725
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L580
.L725:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L727
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	je	.L728
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L729
.L728:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L729
.L727:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 88[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 88[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR 96[rdx], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L730
	add	QWORD PTR -192[rbp], 1
.L730:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 88[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	lea	rbx, [rdx+rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Symbol_new
	mov	QWORD PTR [rbx], rax
	nop
	jmp	.L580
.L729:
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rcx, rdx
	lea	rdx, .LC128[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L580
.L590:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L731
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 1
.L731:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L736
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 32[rax], 2
.L736:
	nop
.L580:
.L734:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L733
	call	__stack_chk_fail@PLT
.L733:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	parseonetoken, .-parseonetoken
	.section	.rodata
	.align 8
.LC129:
	.string	"%%if syntax error on line %d.\n"
.LC130:
	.string	"  %.*s <-- syntax error here\n"
	.text
	.type	eval_preprocessor_boolean, @function
eval_preprocessor_boolean:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 1
	mov	DWORD PTR -24[rbp], 0
	jmp	.L738
.L770:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L772
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 33
	jne	.L741
	cmp	DWORD PTR -28[rbp], 0
	je	.L773
	cmp	DWORD PTR -36[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -36[rbp], eax
	jmp	.L740
.L741:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	jne	.L744
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	jne	.L744
	cmp	DWORD PTR -28[rbp], 0
	jne	.L774
	cmp	DWORD PTR -32[rbp], 0
	je	.L746
	mov	eax, 1
	jmp	.L747
.L746:
	add	DWORD PTR -24[rbp], 1
	mov	DWORD PTR -28[rbp], 1
	jmp	.L740
.L744:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 38
	jne	.L748
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 38
	jne	.L748
	cmp	DWORD PTR -28[rbp], 0
	jne	.L775
	cmp	DWORD PTR -32[rbp], 0
	jne	.L750
	mov	eax, 0
	jmp	.L747
.L750:
	add	DWORD PTR -24[rbp], 1
	mov	DWORD PTR -28[rbp], 1
	jmp	.L740
.L748:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L751
	mov	DWORD PTR -16[rbp], 1
	cmp	DWORD PTR -28[rbp], 0
	je	.L776
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	jmp	.L753
.L759:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L754
	sub	DWORD PTR -16[rbp], 1
	cmp	DWORD PTR -16[rbp], 0
	jne	.L755
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	esi, -1
	mov	rdi, rax
	call	eval_preprocessor_boolean
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 41
	cmp	DWORD PTR -32[rbp], 0
	jns	.L756
	mov	eax, DWORD PTR -32[rbp]
	sub	DWORD PTR -24[rbp], eax
	jmp	.L743
.L756:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L757
.L754:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L758
	add	DWORD PTR -16[rbp], 1
	jmp	.L755
.L758:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L755
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L743
.L755:
	add	DWORD PTR -20[rbp], 1
.L753:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L759
.L757:
	cmp	DWORD PTR -36[rbp], 0
	je	.L760
	cmp	DWORD PTR -32[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -36[rbp], 0
.L760:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L740
.L751:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L777
	cmp	DWORD PTR -28[rbp], 0
	je	.L778
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
	jmp	.L763
.L764:
	add	DWORD PTR -8[rbp], 1
.L763:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L764
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L764
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L765
.L768:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rcx, rax
	mov	rsi, QWORD PTR azDefine[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L766
	mov	rdx, QWORD PTR azDefine[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L766
	mov	DWORD PTR -32[rbp], 1
	jmp	.L767
.L766:
	add	DWORD PTR -12[rbp], 1
.L765:
	mov	eax, DWORD PTR nDefine[rip]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L768
.L767:
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L769
	cmp	DWORD PTR -32[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -36[rbp], 0
.L769:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L740
.L772:
	nop
.L740:
	add	DWORD PTR -24[rbp], 1
.L738:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L770
	mov	eax, DWORD PTR -32[rbp]
	jmp	.L747
.L773:
	nop
	jmp	.L743
.L774:
	nop
	jmp	.L743
.L775:
	nop
	jmp	.L743
.L776:
	nop
	jmp	.L743
.L777:
	nop
	jmp	.L743
.L778:
	nop
.L743:
	cmp	DWORD PTR -60[rbp], 0
	jle	.L771
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, DWORD PTR -60[rbp]
	lea	rsi, .LC129[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -24[rbp]
	lea	esi, 1[rax]
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, rdx
	mov	edx, esi
	lea	rsi, .LC130[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L771:
	mov	eax, DWORD PTR -24[rbp]
	not	eax
.L747:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	eval_preprocessor_boolean, .-eval_preprocessor_boolean
	.section	.rodata
.LC131:
	.string	"%endif"
.LC132:
	.string	"%else"
.LC133:
	.string	"%ifdef "
.LC134:
	.string	"%if "
.LC135:
	.string	"%ifndef "
	.align 8
.LC136:
	.string	"unterminated %%ifdef starting on line %d\n"
	.text
	.type	preprocess_input, @function
preprocess_input:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 1
	mov	DWORD PTR -16[rbp], 1
	mov	DWORD PTR -36[rbp], 0
	jmp	.L780
.L814:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L781
	add	DWORD PTR -20[rbp], 1
.L781:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L816
	cmp	DWORD PTR -36[rbp], 0
	jle	.L783
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L816
.L783:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, 6
	lea	rsi, .LC131[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L785
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rcx, 6[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L785
	cmp	DWORD PTR -28[rbp], 0
	je	.L786
	sub	DWORD PTR -28[rbp], 1
	cmp	DWORD PTR -28[rbp], 0
	jne	.L786
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L787
.L789:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L788
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
.L788:
	add	DWORD PTR -32[rbp], 1
.L787:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L789
.L786:
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L790
.L792:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	add	DWORD PTR -32[rbp], 1
.L790:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L817
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L792
	jmp	.L817
.L785:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, 5
	lea	rsi, .LC132[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L793
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rcx, 5[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L793
	cmp	DWORD PTR -28[rbp], 1
	jne	.L794
	mov	DWORD PTR -28[rbp], 0
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L795
.L797:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L796
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
.L796:
	add	DWORD PTR -32[rbp], 1
.L795:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L797
	jmp	.L798
.L794:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L798
	mov	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -16[rbp], eax
.L798:
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L799
.L801:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	add	DWORD PTR -32[rbp], 1
.L799:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L818
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L801
	jmp	.L818
.L793:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, 7
	lea	rsi, .LC133[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L802
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, 4
	lea	rsi, .LC134[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	je	.L802
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, 8
	lea	rsi, .LC135[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L784
.L802:
	cmp	DWORD PTR -28[rbp], 0
	je	.L803
	add	DWORD PTR -28[rbp], 1
	jmp	.L804
.L803:
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L805
.L807:
	add	DWORD PTR -32[rbp], 1
.L805:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L806
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L807
.L806:
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 7
	cmp	DWORD PTR -32[rbp], eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -8[rbp], eax
	jmp	.L808
.L810:
	add	DWORD PTR -32[rbp], 1
.L808:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L809
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L810
.L809:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	mov	rdi, rdx
	call	eval_preprocessor_boolean
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -4[rbp]
	mov	BYTE PTR [rax], dl
	cmp	DWORD PTR -8[rbp], 0
	jne	.L811
	cmp	DWORD PTR -28[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
.L811:
	cmp	DWORD PTR -28[rbp], 0
	je	.L804
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -16[rbp], eax
.L804:
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L812
.L813:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	add	DWORD PTR -32[rbp], 1
.L812:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L784
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L813
	jmp	.L784
.L816:
	nop
	jmp	.L784
.L817:
	nop
	jmp	.L784
.L818:
	nop
.L784:
	add	DWORD PTR -36[rbp], 1
.L780:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L814
	cmp	DWORD PTR -28[rbp], 0
	je	.L819
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, DWORD PTR -16[rbp]
	lea	rsi, .LC136[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L819:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	preprocess_input, .-preprocess_input
	.section	.rodata
.LC137:
	.string	"rb"
	.align 8
.LC138:
	.string	"Can't open this file for reading."
.LC139:
	.string	"Input file too large."
	.align 8
.LC140:
	.string	"Can't read in all %d bytes of this file."
	.align 8
.LC141:
	.string	"String starting on this line is not terminated before the end of the file."
	.align 8
.LC142:
	.string	"C code starting on this line is not terminated before the end of the file."
	.text
	.globl	Parse
	.type	Parse, @function
Parse:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 3952
	mov	QWORD PTR -16232[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -16208[rbp], 0
	lea	rax, -16160[rbp]
	mov	edx, 16144
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -16232[rbp]
	mov	QWORD PTR -16136[rbp], rax
	mov	rax, QWORD PTR -16232[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	QWORD PTR -16160[rbp], rax
	mov	DWORD PTR -16148[rbp], 0
	mov	DWORD PTR -16128[rbp], 0
	mov	rax, QWORD PTR -16160[rbp]
	lea	rsi, .LC137[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -16176[rbp], rax
	cmp	QWORD PTR -16176[rbp], 0
	jne	.L821
	mov	rax, QWORD PTR -16160[rbp]
	lea	rdx, .LC138[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -16232[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16232[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L820
.L821:
	mov	rax, QWORD PTR -16176[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	rax, QWORD PTR -16176[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	DWORD PTR -16204[rbp], eax
	mov	rax, QWORD PTR -16176[rbp]
	mov	rdi, rax
	call	rewind@PLT
	mov	eax, DWORD PTR -16204[rbp]
	add	eax, 1
	mov	eax, eax
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16168[rbp], rax
	cmp	DWORD PTR -16204[rbp], 100000000
	ja	.L823
	cmp	QWORD PTR -16168[rbp], 0
	jne	.L824
.L823:
	mov	rax, QWORD PTR -16160[rbp]
	lea	rdx, .LC139[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -16168[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -16232[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16232[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -16176[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L820
.L824:
	mov	edx, DWORD PTR -16204[rbp]
	mov	rcx, QWORD PTR -16176[rbp]
	mov	rax, QWORD PTR -16168[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	edx, DWORD PTR -16204[rbp]
	cmp	rax, rdx
	je	.L825
	mov	rax, QWORD PTR -16160[rbp]
	mov	edx, DWORD PTR -16204[rbp]
	mov	ecx, edx
	lea	rdx, .LC140[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -16168[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -16232[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16232[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -16176[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L820
.L825:
	mov	rax, QWORD PTR -16176[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	edx, DWORD PTR -16204[rbp]
	mov	rax, QWORD PTR -16168[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -16168[rbp]
	mov	rdi, rax
	call	preprocess_input
	mov	rax, QWORD PTR -16232[rbp]
	mov	eax, DWORD PTR 272[rax]
	test	eax, eax
	je	.L826
	mov	rax, QWORD PTR -16168[rbp]
	mov	rdi, rax
	call	puts@PLT
	jmp	.L820
.L826:
	mov	DWORD PTR -16224[rbp], 1
	mov	rax, QWORD PTR -16168[rbp]
	mov	QWORD PTR -16192[rbp], rax
	jmp	.L827
.L883:
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L828
	add	DWORD PTR -16224[rbp], 1
.L828:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16200[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L829
	add	QWORD PTR -16192[rbp], 1
	jmp	.L827
.L829:
	cmp	DWORD PTR -16200[rbp], 47
	jne	.L830
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L830
	add	QWORD PTR -16192[rbp], 2
	jmp	.L831
.L833:
	add	QWORD PTR -16192[rbp], 1
.L831:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L827
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L833
	jmp	.L827
.L830:
	cmp	DWORD PTR -16200[rbp], 47
	jne	.L834
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L834
	add	QWORD PTR -16192[rbp], 2
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L836
	add	QWORD PTR -16192[rbp], 1
	jmp	.L836
.L839:
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L837
	add	DWORD PTR -16224[rbp], 1
.L837:
	add	QWORD PTR -16192[rbp], 1
.L836:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L838
	cmp	DWORD PTR -16200[rbp], 47
	jne	.L839
	mov	rax, QWORD PTR -16192[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L839
.L838:
	cmp	DWORD PTR -16200[rbp], 0
	je	.L827
	add	QWORD PTR -16192[rbp], 1
	jmp	.L827
.L834:
	mov	rax, QWORD PTR -16192[rbp]
	mov	QWORD PTR -16144[rbp], rax
	mov	eax, DWORD PTR -16224[rbp]
	mov	DWORD PTR -16152[rbp], eax
	cmp	DWORD PTR -16200[rbp], 34
	jne	.L841
	add	QWORD PTR -16192[rbp], 1
	jmp	.L842
.L845:
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L843
	add	DWORD PTR -16224[rbp], 1
.L843:
	add	QWORD PTR -16192[rbp], 1
.L842:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L844
	cmp	DWORD PTR -16200[rbp], 34
	jne	.L845
.L844:
	cmp	DWORD PTR -16200[rbp], 0
	jne	.L846
	mov	rax, QWORD PTR -16160[rbp]
	mov	ecx, DWORD PTR -16208[rbp]
	lea	rdx, .LC141[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	eax, DWORD PTR -16148[rbp]
	add	eax, 1
	mov	DWORD PTR -16148[rbp], eax
	mov	rax, QWORD PTR -16192[rbp]
	mov	QWORD PTR -16184[rbp], rax
	jmp	.L847
.L846:
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	mov	QWORD PTR -16184[rbp], rax
	jmp	.L847
.L841:
	cmp	DWORD PTR -16200[rbp], 123
	jne	.L848
	add	QWORD PTR -16192[rbp], 1
	mov	DWORD PTR -16220[rbp], 1
	jmp	.L849
.L871:
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L850
	add	DWORD PTR -16224[rbp], 1
	jmp	.L851
.L850:
	cmp	DWORD PTR -16200[rbp], 123
	jne	.L852
	add	DWORD PTR -16220[rbp], 1
	jmp	.L851
.L852:
	cmp	DWORD PTR -16200[rbp], 125
	jne	.L853
	sub	DWORD PTR -16220[rbp], 1
	jmp	.L851
.L853:
	cmp	DWORD PTR -16200[rbp], 47
	jne	.L854
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L854
	add	QWORD PTR -16192[rbp], 2
	mov	DWORD PTR -16216[rbp], 0
	jmp	.L855
.L858:
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L856
	add	DWORD PTR -16224[rbp], 1
.L856:
	mov	eax, DWORD PTR -16200[rbp]
	mov	DWORD PTR -16216[rbp], eax
	add	QWORD PTR -16192[rbp], 1
.L855:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L886
	cmp	DWORD PTR -16200[rbp], 47
	jne	.L858
	cmp	DWORD PTR -16216[rbp], 42
	jne	.L858
	jmp	.L886
.L854:
	cmp	DWORD PTR -16200[rbp], 47
	jne	.L859
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L859
	add	QWORD PTR -16192[rbp], 2
	jmp	.L860
.L862:
	add	QWORD PTR -16192[rbp], 1
.L860:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L861
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L862
.L861:
	cmp	DWORD PTR -16200[rbp], 0
	je	.L851
	add	DWORD PTR -16224[rbp], 1
	jmp	.L851
.L859:
	cmp	DWORD PTR -16200[rbp], 39
	je	.L864
	cmp	DWORD PTR -16200[rbp], 34
	jne	.L851
.L864:
	mov	eax, DWORD PTR -16200[rbp]
	mov	DWORD PTR -16196[rbp], eax
	mov	DWORD PTR -16212[rbp], 0
	add	QWORD PTR -16192[rbp], 1
	jmp	.L865
.L869:
	cmp	DWORD PTR -16200[rbp], 10
	jne	.L866
	add	DWORD PTR -16224[rbp], 1
.L866:
	cmp	DWORD PTR -16212[rbp], 92
	jne	.L867
	mov	DWORD PTR -16212[rbp], 0
	jmp	.L868
.L867:
	mov	eax, DWORD PTR -16200[rbp]
	mov	DWORD PTR -16212[rbp], eax
.L868:
	add	QWORD PTR -16192[rbp], 1
.L865:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L851
	mov	eax, DWORD PTR -16200[rbp]
	cmp	eax, DWORD PTR -16196[rbp]
	jne	.L869
	cmp	DWORD PTR -16212[rbp], 92
	je	.L869
	jmp	.L851
.L886:
	nop
.L851:
	add	QWORD PTR -16192[rbp], 1
.L849:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L870
	cmp	DWORD PTR -16220[rbp], 1
	jg	.L871
	cmp	DWORD PTR -16200[rbp], 125
	jne	.L871
.L870:
	cmp	DWORD PTR -16200[rbp], 0
	jne	.L872
	mov	ecx, DWORD PTR -16152[rbp]
	mov	rax, QWORD PTR -16160[rbp]
	lea	rdx, .LC142[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	eax, DWORD PTR -16148[rbp]
	add	eax, 1
	mov	DWORD PTR -16148[rbp], eax
	mov	rax, QWORD PTR -16192[rbp]
	mov	QWORD PTR -16184[rbp], rax
	jmp	.L847
.L872:
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	mov	QWORD PTR -16184[rbp], rax
	jmp	.L847
.L848:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16200[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L873
	jmp	.L874
.L876:
	add	QWORD PTR -16192[rbp], 1
.L874:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L875
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16200[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L876
	cmp	DWORD PTR -16200[rbp], 95
	je	.L876
.L875:
	mov	rax, QWORD PTR -16192[rbp]
	mov	QWORD PTR -16184[rbp], rax
	jmp	.L847
.L873:
	cmp	DWORD PTR -16200[rbp], 58
	jne	.L877
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L877
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L877
	add	QWORD PTR -16192[rbp], 3
	mov	rax, QWORD PTR -16192[rbp]
	mov	QWORD PTR -16184[rbp], rax
	jmp	.L847
.L877:
	cmp	DWORD PTR -16200[rbp], 47
	je	.L878
	cmp	DWORD PTR -16200[rbp], 124
	jne	.L879
.L878:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L879
	add	QWORD PTR -16192[rbp], 2
	jmp	.L880
.L882:
	add	QWORD PTR -16192[rbp], 1
.L880:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	je	.L881
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16200[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L882
	cmp	DWORD PTR -16200[rbp], 95
	je	.L882
.L881:
	mov	rax, QWORD PTR -16192[rbp]
	mov	QWORD PTR -16184[rbp], rax
	jmp	.L847
.L879:
	add	QWORD PTR -16192[rbp], 1
	mov	rax, QWORD PTR -16192[rbp]
	mov	QWORD PTR -16184[rbp], rax
.L847:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	mov	rax, QWORD PTR -16192[rbp]
	mov	BYTE PTR [rax], 0
	lea	rax, -16160[rbp]
	mov	rdi, rax
	call	parseonetoken
	mov	eax, DWORD PTR -16200[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16192[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16184[rbp]
	mov	QWORD PTR -16192[rbp], rax
.L827:
	mov	rax, QWORD PTR -16192[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16200[rbp], eax
	cmp	DWORD PTR -16200[rbp], 0
	jne	.L883
	mov	rax, QWORD PTR -16168[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16232[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	edx, DWORD PTR -16148[rbp]
	mov	rax, QWORD PTR -16232[rbp]
	mov	DWORD PTR 80[rax], edx
.L820:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L885
	call	__stack_chk_fail@PLT
.L885:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	Parse, .-Parse
	.local	plink_freelist
	.comm	plink_freelist,8,8
	.section	.rodata
	.align 8
.LC143:
	.string	"Unable to allocate memory for a new follow-set propagation link.\n"
	.text
	.globl	Plink_new
	.type	Plink_new, @function
Plink_new:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR plink_freelist[rip]
	test	rax, rax
	jne	.L888
	mov	DWORD PTR -12[rbp], 100
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	mov	esi, 16
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR plink_freelist[rip], rax
	mov	rax, QWORD PTR plink_freelist[rip]
	test	rax, rax
	jne	.L889
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 65
	mov	esi, 1
	lea	rdi, .LC143[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L889:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L890
.L891:
	mov	rdx, QWORD PTR plink_freelist[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	add	rax, 1
	sal	rax, 4
	mov	rsi, rax
	mov	rcx, QWORD PTR plink_freelist[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 4
	add	rax, rcx
	add	rdx, rsi
	mov	QWORD PTR 8[rax], rdx
	add	DWORD PTR -16[rbp], 1
.L890:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L891
	mov	rdx, QWORD PTR plink_freelist[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 16
	add	rax, rdx
	mov	QWORD PTR 8[rax], 0
.L888:
	mov	rax, QWORD PTR plink_freelist[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR plink_freelist[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR plink_freelist[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	Plink_new, .-Plink_new
	.globl	Plink_add
	.type	Plink_add, @function
Plink_add:
.LFB68:
	.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
	call	Plink_new
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	Plink_add, .-Plink_add
	.globl	Plink_copy
	.type	Plink_copy, @function
Plink_copy:
.LFB69:
	.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
	jmp	.L895
.L896:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
.L895:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L896
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	Plink_copy, .-Plink_copy
	.globl	Plink_delete
	.type	Plink_delete, @function
Plink_delete:
.LFB70:
	.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
	jmp	.L898
.L899:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR plink_freelist[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR plink_freelist[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L898:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L899
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	Plink_delete, .-Plink_delete
	.section	.rodata
	.align 8
.LC144:
	.string	"Can't allocate space for a filename.\n"
.LC145:
	.string	"/"
	.text
	.globl	file_makename
	.type	file_makename, @function
file_makename:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR outputDir[rip]
	test	rax, rax
	je	.L901
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L901
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	QWORD PTR -24[rbp], rax
.L901:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR outputDir[rip]
	test	rax, rax
	je	.L902
	mov	rax, QWORD PTR outputDir[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	add	DWORD PTR -28[rbp], eax
.L902:
	add	DWORD PTR -28[rbp], 5
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L903
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 37
	mov	esi, 1
	lea	rdi, .LC144[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L903:
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR outputDir[rip]
	test	rax, rax
	je	.L904
	mov	rdx, QWORD PTR outputDir[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC145[rip]
	mov	rdi, rax
	call	lemon_strcat
.L904:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcat
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 46
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L905
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
.L905:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcat
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	file_makename, .-file_makename
	.section	.rodata
.LC146:
	.string	"Can't open file \"%s\".\n"
.LC147:
	.string	".out"
	.text
	.globl	file_open
	.type	file_open, @function
file_open:
.LFB72:
	.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	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 232[rax]
	test	rax, rax
	je	.L908
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rdi, rax
	call	free@PLT
.L908:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	file_makename
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 232[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L909
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 119
	jne	.L909
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC146[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	eax, 0
	jmp	.L910
.L909:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 119
	jne	.L911
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC147[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L911
	mov	eax, DWORD PTR made_files_count[rip]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR made_files[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rdi, rax
	call	Strsafe
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L912
	cmp	QWORD PTR -8[rbp], 0
	jne	.L913
.L912:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	call	memory_error
.L913:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR made_files[rip], rax
	mov	rcx, QWORD PTR made_files[rip]
	mov	eax, DWORD PTR made_files_count[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR made_files_count[rip], edx
	cdqe
	sal	rax, 3
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
.L911:
	mov	rax, QWORD PTR -24[rbp]
.L910:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	file_open, .-file_open
	.section	.rodata
.LC148:
	.string	" ::="
.LC149:
	.string	"|%s"
	.text
	.globl	rule_print
	.type	rule_print, @function
rule_print:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 4
	mov	esi, 1
	lea	rdi, .LC148[rip]
	call	fwrite@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L915
.L920:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L916
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -12[rbp], 1
	jmp	.L917
.L918:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC149[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -12[rbp], 1
.L917:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L918
	jmp	.L919
.L916:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L919:
	add	DWORD PTR -16[rbp], 1
.L915:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L920
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	rule_print, .-rule_print
	.section	.rodata
	.align 8
.LC150:
	.string	"// Reprint of input file \"%s\".\n// Symbols:\n"
.LC151:
	.string	"//"
.LC152:
	.string	"sp->index==j"
.LC153:
	.string	" %3d %-*.*s"
.LC154:
	.string	" [%s]"
	.text
	.globl	Reprint
	.type	Reprint, @function
Reprint:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	rsi, rax
	lea	rdi, .LC150[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -32[rbp], 10
	mov	DWORD PTR -40[rbp], 0
	jmp	.L922
.L924:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jle	.L923
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -32[rbp], eax
.L923:
	add	DWORD PTR -40[rbp], 1
.L922:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -40[rbp], eax
	jl	.L924
	mov	eax, DWORD PTR -32[rbp]
	lea	ecx, 5[rax]
	mov	eax, 76
	cdq
	idiv	ecx
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jg	.L925
	mov	DWORD PTR -28[rbp], 1
.L925:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	sub	eax, 1
	cdq
	idiv	DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L926
.L930:
	lea	rdi, .LC151[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L927
.L929:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -36[rbp], eax
	je	.L928
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 3376
	lea	rsi, .LC8[rip]
	lea	rdi, .LC152[rip]
	call	__assert_fail@PLT
.L928:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	ecx, DWORD PTR -32[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	r8, rsi
	mov	esi, eax
	lea	rdi, .LC153[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -24[rbp]
	add	DWORD PTR -36[rbp], eax
.L927:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L929
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -40[rbp], 1
.L926:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L930
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L931
.L933:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rule_print
	mov	edi, 46
	call	putchar@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L932
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC154[rip]
	mov	eax, 0
	call	printf@PLT
.L932:
	mov	edi, 10
	call	putchar@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -16[rbp], rax
.L931:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L933
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	Reprint, .-Reprint
	.section	.rodata
.LC155:
	.string	"%s ::="
.LC156:
	.string	" *"
	.text
	.globl	RulePrint
	.type	RulePrint, @function
RulePrint:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC155[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L935
.L943:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jne	.L936
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC156[rip]
	call	fwrite@PLT
.L936:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -16[rbp], eax
	je	.L944
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L939
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -12[rbp], 1
	jmp	.L940
.L941:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC149[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -12[rbp], 1
.L940:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L941
	jmp	.L942
.L939:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L942:
	add	DWORD PTR -16[rbp], 1
.L935:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -16[rbp], eax
	jle	.L943
	jmp	.L945
.L944:
	nop
.L945:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	RulePrint, .-RulePrint
	.globl	ConfigPrint
	.type	ConfigPrint, @function
ConfigPrint:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	RulePrint
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	ConfigPrint, .-ConfigPrint
	.section	.rodata
.LC157:
	.string	"%*s shift        %-7d"
.LC158:
	.string	"%*s reduce       %-7d"
.LC159:
	.string	"%*s shift-reduce %-7d"
.LC160:
	.string	"%*s accept"
.LC161:
	.string	"%*s error"
	.align 8
.LC162:
	.string	"%*s reduce       %-7d ** Parsing conflict **"
	.align 8
.LC163:
	.string	"%*s shift        %-7d ** Parsing conflict **"
	.align 8
.LC164:
	.string	"%*s shift        %-7d -- dropped by precedence"
	.align 8
.LC165:
	.string	"%*s reduce %-7d -- dropped by precedence"
.LC166:
	.string	"  /* because %s==%s */"
	.text
	.globl	PrintAction
	.type	PrintAction, @function
PrintAction:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	DWORD PTR -28[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	ja	.L948
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L950[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L950[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L950:
	.long	.L959-.L950
	.long	.L958-.L950
	.long	.L957-.L950
	.long	.L956-.L950
	.long	.L955-.L950
	.long	.L954-.L950
	.long	.L954-.L950
	.long	.L953-.L950
	.long	.L952-.L950
	.long	.L951-.L950
	.long	.L949-.L950
	.text
.L959:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC157[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L948
.L957:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC158[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	RulePrint
	jmp	.L948
.L949:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC159[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	RulePrint
	jmp	.L948
.L958:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC160[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L948
.L956:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC161[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L948
.L954:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC162[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L948
.L955:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC163[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L948
.L953:
	mov	eax, DWORD PTR showPrecedenceConflict[rip]
	test	eax, eax
	je	.L960
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC164[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L948
.L960:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L948
.L952:
	mov	eax, DWORD PTR showPrecedenceConflict[rip]
	test	eax, eax
	je	.L962
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r8d, esi
	lea	rsi, .LC165[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L948
.L962:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L948
.L951:
	mov	DWORD PTR -28[rbp], 0
	nop
.L948:
	cmp	DWORD PTR -28[rbp], 0
	je	.L964
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L964
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC166[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L964:
	mov	eax, DWORD PTR -28[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	PrintAction, .-PrintAction
	.section	.rodata
.LC167:
	.string	"wb"
.LC168:
	.string	"State %d:\n"
.LC169:
	.string	"(%d)"
.LC170:
	.string	"    %5s "
.LC171:
	.string	"          "
	.align 8
.LC172:
	.string	"----------------------------------------------------\n"
.LC173:
	.string	"Symbols:\n"
	.align 8
.LC174:
	.string	"The first-set of non-terminals is shown after the name.\n\n"
.LC175:
	.string	"  %3d: %s"
.LC176:
	.string	" <lambda>"
.LC177:
	.string	" (precedence=%d)"
.LC178:
	.string	"Syntax-only Symbols:\n"
	.align 8
.LC179:
	.string	"The following symbols never carry semantic content.\n\n"
.LC180:
	.string	"Rules:\n"
.LC181:
	.string	"%4d: "
.LC182:
	.string	" [%s precedence=%d]"
	.text
	.globl	ReportOutput
	.type	ReportOutput, @function
ReportOutput:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -120[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, .LC167[rip]
	lea	rsi, .LC147[rip]
	mov	rdi, rax
	call	file_open
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	je	.L1001
	mov	DWORD PTR -104[rbp], 0
	jmp	.L969
.L981:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC168[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 268[rax]
	test	eax, eax
	je	.L970
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	jmp	.L972
.L970:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -88[rbp], rax
	jmp	.L972
.L977:
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jne	.L973
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 92[rax]
	lea	rax, -32[rbp]
	lea	rsi, .LC169[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC170[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L974
.L973:
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 10
	mov	esi, 1
	lea	rdi, .LC171[rip]
	call	fwrite@PLT
.L974:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ConfigPrint
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 268[rax]
	test	eax, eax
	je	.L975
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -88[rbp], rax
	jmp	.L972
.L975:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -88[rbp], rax
.L972:
	cmp	QWORD PTR -88[rbp], 0
	jne	.L977
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -80[rbp], rax
	jmp	.L978
.L980:
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, 30
	mov	rsi, rcx
	mov	rdi, rax
	call	PrintAction
	test	eax, eax
	je	.L979
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
.L979:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -80[rbp], rax
.L978:
	cmp	QWORD PTR -80[rbp], 0
	jne	.L980
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	add	DWORD PTR -104[rbp], 1
.L969:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -104[rbp], eax
	jl	.L981
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 53
	mov	esi, 1
	lea	rdi, .LC172[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 9
	mov	esi, 1
	lea	rdi, .LC173[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 57
	mov	esi, 1
	lea	rdi, .LC174[rip]
	call	fwrite@PLT
	mov	DWORD PTR -104[rbp], 0
	jmp	.L982
.L989:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -104[rbp]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC175[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	jne	.L983
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 58
	call	fputc@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L984
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 9
	mov	esi, 1
	lea	rdi, .LC176[rip]
	call	fwrite@PLT
.L984:
	mov	DWORD PTR -96[rbp], 0
	jmp	.L985
.L987:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L986
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L986
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L986:
	add	DWORD PTR -96[rbp], 1
.L985:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -96[rbp], eax
	jl	.L987
.L983:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L988
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC177[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L988:
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	add	DWORD PTR -104[rbp], 1
.L982:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -104[rbp], eax
	jl	.L989
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 53
	mov	esi, 1
	lea	rdi, .LC172[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 21
	mov	esi, 1
	lea	rdi, .LC178[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 53
	mov	esi, 1
	lea	rdi, .LC179[rip]
	call	fwrite@PLT
	mov	DWORD PTR -100[rbp], 0
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -104[rbp], eax
	jmp	.L990
.L995:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	jne	.L1002
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	jle	.L993
	mov	edx, DWORD PTR -100[rbp]
	mov	eax, DWORD PTR -92[rbp]
	add	eax, edx
	cmp	eax, 75
	jle	.L993
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	DWORD PTR -100[rbp], 0
.L993:
	cmp	DWORD PTR -100[rbp], 0
	jle	.L994
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 32
	call	fputc@PLT
	add	DWORD PTR -100[rbp], 1
.L994:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	eax, DWORD PTR -92[rbp]
	add	DWORD PTR -100[rbp], eax
	jmp	.L992
.L1002:
	nop
.L992:
	add	DWORD PTR -104[rbp], 1
.L990:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -104[rbp], eax
	jl	.L995
	cmp	DWORD PTR -100[rbp], 0
	jle	.L996
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
.L996:
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 53
	mov	esi, 1
	lea	rdi, .LC172[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC180[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -72[rbp], rax
	jmp	.L997
.L999:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC181[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rule_print
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 46
	call	fputc@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L998
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	ecx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC182[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L998:
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -72[rbp], rax
.L997:
	cmp	QWORD PTR -72[rbp], 0
	jne	.L999
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L966
.L1001:
	nop
.L966:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1000
	call	__stack_chk_fail@PLT
.L1000:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	ReportOutput, .-ReportOutput
	.section	.rodata
.LC183:
	.string	"%s/%s"
.LC184:
	.string	"PATH"
.LC185:
	.string	".:/bin:/usr/bin"
	.text
	.globl	pathsearch
	.type	pathsearch, @function
pathsearch:
.LFB79:
	.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 -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -84[rbp], edx
	mov	QWORD PTR -48[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L1004
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -57[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	ebx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, ebx
	add	eax, 2
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L1005
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC183[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
.L1005:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -57[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L1006
.L1004:
	lea	rdi, .LC184[rip]
	call	getenv@PLT
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1007
	lea	rax, .LC185[rip]
	mov	QWORD PTR -56[rbp], rax
.L1007:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	ebx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, ebx
	add	eax, 2
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L1008
	cmp	QWORD PTR -32[rbp], 0
	je	.L1008
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
	jmp	.L1009
.L1013:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 58
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1010
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
.L1010:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -57[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC183[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -57[rbp]
	mov	BYTE PTR [rax], dl
	cmp	BYTE PTR -57[rbp], 0
	jne	.L1011
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L1012
.L1011:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
.L1012:
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	access@PLT
	test	eax, eax
	je	.L1015
.L1009:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1013
	jmp	.L1008
.L1015:
	nop
.L1008:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
.L1006:
	mov	rax, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	pathsearch, .-pathsearch
	.globl	compute_action
	.type	compute_action, @function
compute_action:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	ja	.L1017
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1019[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1019[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1019:
	.long	.L1023-.L1019
	.long	.L1022-.L1019
	.long	.L1021-.L1019
	.long	.L1020-.L1019
	.long	.L1017-.L1019
	.long	.L1017-.L1019
	.long	.L1017-.L1019
	.long	.L1017-.L1019
	.long	.L1017-.L1019
	.long	.L1017-.L1019
	.long	.L1018-.L1019
	.text
.L1023:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L1024
.L1018:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	edx, eax
	jl	.L1025
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1026
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	je	.L1025
.L1026:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR 92[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	jmp	.L1024
.L1025:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR 92[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	jmp	.L1024
.L1021:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR 92[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	jmp	.L1024
.L1020:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 52[rax]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L1024
.L1022:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 56[rax]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L1024
.L1017:
	mov	DWORD PTR -4[rbp], -1
	nop
.L1024:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	compute_action, .-compute_action
	.section	.rodata
.LC186:
	.string	"Parse"
.LC187:
	.string	"%.*s"
	.text
	.globl	tplt_xfer
	.type	tplt_xfer, @function
tplt_xfer:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1056
	mov	QWORD PTR -1032[rbp], rdi
	mov	QWORD PTR -1040[rbp], rsi
	mov	QWORD PTR -1048[rbp], rdx
	mov	QWORD PTR -1056[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L1030
.L1038:
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR -1012[rbp], 0
	cmp	QWORD PTR -1032[rbp], 0
	je	.L1031
	mov	DWORD PTR -1016[rbp], 0
	jmp	.L1032
.L1036:
	mov	eax, DWORD PTR -1016[rbp]
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	cmp	al, 80
	jne	.L1033
	lea	rdx, -1008[rbp]
	mov	eax, DWORD PTR -1016[rbp]
	cdqe
	add	rax, rdx
	mov	edx, 5
	lea	rsi, .LC186[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L1033
	cmp	DWORD PTR -1016[rbp], 0
	je	.L1034
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1016[rbp]
	sub	eax, 1
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L1033
.L1034:
	mov	eax, DWORD PTR -1016[rbp]
	cmp	eax, DWORD PTR -1012[rbp]
	jle	.L1035
	lea	rdx, -1008[rbp]
	mov	eax, DWORD PTR -1012[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -1016[rbp]
	sub	eax, DWORD PTR -1012[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -1048[rbp]
	lea	rsi, .LC187[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1035:
	mov	rdx, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR -1032[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	add	DWORD PTR -1016[rbp], 4
	mov	eax, DWORD PTR -1016[rbp]
	add	eax, 1
	mov	DWORD PTR -1012[rbp], eax
.L1033:
	add	DWORD PTR -1016[rbp], 1
.L1032:
	mov	eax, DWORD PTR -1016[rbp]
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	test	al, al
	jne	.L1036
.L1031:
	lea	rdx, -1008[rbp]
	mov	eax, DWORD PTR -1012[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -1048[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	fputs@PLT
.L1030:
	mov	rdx, QWORD PTR -1040[rbp]
	lea	rax, -1008[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	je	.L1040
	movzx	eax, BYTE PTR -1008[rbp]
	cmp	al, 37
	jne	.L1038
	movzx	eax, BYTE PTR -1007[rbp]
	cmp	al, 37
	jne	.L1038
.L1040:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1039
	call	__stack_chk_fail@PLT
.L1039:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	tplt_xfer, .-tplt_xfer
	.globl	tplt_skip_header
	.type	tplt_skip_header, @function
tplt_skip_header:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1024
	mov	QWORD PTR -1016[rbp], rdi
	mov	QWORD PTR -1024[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L1042
.L1044:
	mov	rax, QWORD PTR -1024[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1024[rbp]
	mov	DWORD PTR [rax], edx
.L1042:
	mov	rdx, QWORD PTR -1016[rbp]
	lea	rax, -1008[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	je	.L1046
	movzx	eax, BYTE PTR -1008[rbp]
	cmp	al, 37
	jne	.L1044
	movzx	eax, BYTE PTR -1007[rbp]
	cmp	al, 37
	jne	.L1044
.L1046:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1045
	call	__stack_chk_fail@PLT
.L1045:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	tplt_skip_header, .-tplt_skip_header
	.section	.rodata
	.align 8
.LC188:
	.string	"Can't find the parser driver template file \"%s\".\n"
	.align 8
.LC189:
	.string	"Can't open the template file \"%s\".\n"
.LC190:
	.string	"%.*s.lt"
.LC191:
	.string	"%s.lt"
	.text
	.globl	tplt_open
	.type	tplt_open, @function
tplt_open:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1056
	mov	QWORD PTR -1048[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -1032[rbp], 0
	mov	rax, QWORD PTR user_templatename[rip]
	test	rax, rax
	je	.L1048
	mov	rax, QWORD PTR user_templatename[rip]
	mov	esi, 4
	mov	rdi, rax
	call	access@PLT
	cmp	eax, -1
	jne	.L1049
	mov	rdx, QWORD PTR user_templatename[rip]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC188[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	eax, 0
	jmp	.L1059
.L1049:
	mov	rax, QWORD PTR user_templatename[rip]
	lea	rsi, .LC137[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1016[rbp], rax
	cmp	QWORD PTR -1016[rbp], 0
	jne	.L1051
	mov	rdx, QWORD PTR user_templatename[rip]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC189[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	eax, 0
	jmp	.L1059
.L1051:
	mov	rax, QWORD PTR -1016[rbp]
	jmp	.L1059
.L1048:
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	esi, 46
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -1024[rbp], rax
	cmp	QWORD PTR -1024[rbp], 0
	je	.L1052
	mov	rax, QWORD PTR -1048[rbp]
	mov	rdx, QWORD PTR 224[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	rcx, QWORD PTR 224[rax]
	mov	rax, QWORD PTR -1024[rbp]
	sub	rax, rcx
	mov	esi, eax
	lea	rax, -1008[rbp]
	mov	rcx, rdx
	mov	edx, esi
	lea	rsi, .LC190[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
	jmp	.L1053
.L1052:
	mov	rax, QWORD PTR -1048[rbp]
	mov	rdx, QWORD PTR 224[rax]
	lea	rax, -1008[rbp]
	lea	rsi, .LC191[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
.L1053:
	lea	rax, -1008[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	access@PLT
	test	eax, eax
	jne	.L1054
	lea	rax, -1008[rbp]
	mov	QWORD PTR -1040[rbp], rax
	jmp	.L1055
.L1054:
	mov	esi, 4
	lea	rdi, templatename.13[rip]
	call	access@PLT
	test	eax, eax
	jne	.L1056
	lea	rax, templatename.13[rip]
	mov	QWORD PTR -1040[rbp], rax
	jmp	.L1055
.L1056:
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 288[rax]
	mov	edx, 0
	lea	rsi, templatename.13[rip]
	mov	rdi, rax
	call	pathsearch
	mov	QWORD PTR -1040[rbp], rax
	mov	rax, QWORD PTR -1040[rbp]
	mov	QWORD PTR -1032[rbp], rax
.L1055:
	cmp	QWORD PTR -1040[rbp], 0
	jne	.L1057
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, templatename.13[rip]
	lea	rsi, .LC188[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	eax, 0
	jmp	.L1059
.L1057:
	mov	rax, QWORD PTR -1040[rbp]
	lea	rsi, .LC137[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1016[rbp], rax
	cmp	QWORD PTR -1016[rbp], 0
	jne	.L1058
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -1040[rbp]
	lea	rsi, .LC189[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 80[rax], edx
.L1058:
	mov	rax, QWORD PTR -1032[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -1016[rbp]
.L1059:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1060
	call	__stack_chk_fail@PLT
.L1060:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	tplt_open, .-tplt_open
	.section	.rodata
.LC192:
	.string	"#line %d \""
.LC193:
	.string	"\"\n"
	.text
	.globl	tplt_linedir
	.type	tplt_linedir, @function
tplt_linedir:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC192[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1062
.L1064:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1063
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 92
	call	putc@PLT
.L1063:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	add	QWORD PTR -24[rbp], 1
.L1062:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1064
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC193[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	tplt_linedir, .-tplt_linedir
	.globl	tplt_print
	.type	tplt_print, @function
tplt_print:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	cmp	QWORD PTR -24[rbp], 0
	je	.L1073
	jmp	.L1068
.L1070:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1069
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
.L1069:
	add	QWORD PTR -24[rbp], 1
.L1068:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1070
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L1071
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	putc@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
.L1071:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 280[rax]
	test	eax, eax
	jne	.L1074
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tplt_linedir
	jmp	.L1074
.L1073:
	nop
	jmp	.L1065
.L1074:
	nop
.L1065:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	tplt_print, .-tplt_print
	.section	.rodata
.LC194:
	.string	"{\n"
.LC195:
	.string	"(yypminor->yy%d)"
.LC196:
	.string	"}\n"
	.text
	.globl	emit_destructor_code
	.type	emit_destructor_code, @function
emit_destructor_code:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1076
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1089
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC194[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L1083
.L1076:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1080
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC194[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 280[rax]
	test	eax, eax
	jne	.L1083
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 224[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tplt_linedir
	jmp	.L1083
.L1080:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 216[rax]
	test	rax, rax
	je	.L1081
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 216[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1090
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC194[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L1083
.L1081:
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 3856
	lea	rsi, .LC8[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L1087:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L1084
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L1084
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC195[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	QWORD PTR -8[rbp], 1
	jmp	.L1085
.L1084:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1086
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
.L1086:
	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
.L1085:
	add	QWORD PTR -8[rbp], 1
.L1083:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1087
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 280[rax]
	test	eax, eax
	jne	.L1088
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tplt_linedir
.L1088:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC196[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L1075
.L1089:
	nop
	jmp	.L1075
.L1090:
	nop
.L1075:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	emit_destructor_code, .-emit_destructor_code
	.globl	has_destructor
	.type	has_destructor, @function
has_destructor:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1092
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 208[rax]
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	jmp	.L1093
.L1092:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 216[rax]
	test	rax, rax
	jne	.L1094
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1095
.L1094:
	mov	eax, 1
	jmp	.L1096
.L1095:
	mov	eax, 0
.L1096:
	mov	DWORD PTR -4[rbp], eax
.L1093:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	has_destructor, .-has_destructor
	.section	.rodata
.LC197:
	.string	"used>=0"
.LC198:
	.string	"%d"
	.text
	.globl	append_str
	.type	append_str, @function
append_str:
.LFB88:
	.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 -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	DWORD PTR -80[rbp], edx
	mov	DWORD PTR -84[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L1099
	mov	eax, DWORD PTR used.11[rip]
	test	eax, eax
	jne	.L1100
	mov	rax, QWORD PTR z.10[rip]
	test	rax, rax
	je	.L1100
	mov	rax, QWORD PTR z.10[rip]
	mov	BYTE PTR [rax], 0
.L1100:
	mov	DWORD PTR used.11[rip], 0
	mov	rax, QWORD PTR z.10[rip]
	jmp	.L1109
.L1099:
	cmp	DWORD PTR -76[rbp], 0
	jg	.L1102
	cmp	DWORD PTR -76[rbp], 0
	jns	.L1103
	mov	edx, DWORD PTR used.11[rip]
	mov	eax, DWORD PTR -76[rbp]
	add	eax, edx
	mov	DWORD PTR used.11[rip], eax
	mov	eax, DWORD PTR used.11[rip]
	test	eax, eax
	jns	.L1103
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 3916
	lea	rsi, .LC8[rip]
	lea	rdi, .LC197[rip]
	call	__assert_fail@PLT
.L1103:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -76[rbp], eax
.L1102:
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR used.11[rip]
	add	eax, edx
	add	eax, 80
	mov	edx, eax
	mov	eax, DWORD PTR alloced.8[rip]
	cmp	edx, eax
	jl	.L1104
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR used.11[rip]
	add	eax, edx
	add	eax, 280
	mov	DWORD PTR alloced.8[rip], eax
	mov	eax, DWORD PTR alloced.8[rip]
	movsx	rdx, eax
	mov	rax, QWORD PTR z.10[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR z.10[rip], rax
.L1104:
	mov	rax, QWORD PTR z.10[rip]
	test	rax, rax
	jne	.L1106
	lea	rax, empty.7[rip]
	jmp	.L1109
.L1108:
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -72[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 37
	jne	.L1107
	cmp	DWORD PTR -76[rbp], 0
	jle	.L1107
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 100
	jne	.L1107
	mov	edx, DWORD PTR -80[rbp]
	lea	rax, -48[rbp]
	lea	rsi, .LC198[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	rdx, QWORD PTR z.10[rip]
	mov	eax, DWORD PTR used.11[rip]
	cdqe
	add	rdx, rax
	lea	rax, -48[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	lemon_strcpy
	mov	rdx, QWORD PTR z.10[rip]
	mov	eax, DWORD PTR used.11[rip]
	cdqe
	add	rax, rdx
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR used.11[rip]
	add	eax, edx
	mov	DWORD PTR used.11[rip], eax
	add	QWORD PTR -72[rbp], 1
	sub	DWORD PTR -76[rbp], 1
	jmp	.L1106
.L1107:
	mov	rcx, QWORD PTR z.10[rip]
	mov	eax, DWORD PTR used.11[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR used.11[rip], edx
	cdqe
	add	rax, rcx
	mov	edx, DWORD PTR -52[rbp]
	mov	BYTE PTR [rax], dl
.L1106:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	test	eax, eax
	jg	.L1108
	mov	rdx, QWORD PTR z.10[rip]
	mov	eax, DWORD PTR used.11[rip]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR z.10[rip]
.L1109:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1110
	call	__stack_chk_fail@PLT
.L1110:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	append_str, .-append_str
	.section	.rodata
	.align 8
.LC199:
	.string	"  yy_destructor(yypParser,%d,&yymsp[%d].minor);\n"
	.align 8
.LC200:
	.string	"%s(%s) and %s(%s) share the same label but have different datatypes."
.LC201:
	.string	"/*%s-overwrites-%s*/"
.LC202:
	.string	"yymsp[%d].minor.yy%d"
.LC203:
	.string	"yylhsminor.yy%d"
.LC204:
	.string	"Label %s used after '%s'."
.LC205:
	.string	"yymsp[%d].major"
	.align 8
.LC206:
	.string	"Label \"%s\" for \"%s(%s)\" is never used."
	.align 8
.LC207:
	.string	"%s(%s) has the same label as the LHS but is not the left-most symbol on the RHS."
	.align 8
.LC208:
	.string	"Label %s used for multiple symbols on the RHS of a rule."
	.align 8
.LC209:
	.string	"Label %s for \"%s(%s)\" is never used."
.LC210:
	.string	"  yymsp[%d].minor.yy%d = "
.LC211:
	.string	";\n"
	.text
	.globl	translate_code
	.type	translate_code, @function
translate_code:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2064
	mov	QWORD PTR -2056[rbp], rdi
	mov	QWORD PTR -2064[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -2032[rbp], 0
	mov	DWORD PTR -2028[rbp], 0
	mov	QWORD PTR -2000[rbp], 0
	mov	BYTE PTR -2039[rbp], 0
	mov	DWORD PTR -2036[rbp], 0
	jmp	.L1112
.L1113:
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	mov	BYTE PTR -1008[rbp+rax], 0
	add	DWORD PTR -2036[rbp], 1
.L1112:
	mov	rax, QWORD PTR -2064[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -2036[rbp], eax
	jl	.L1113
	mov	BYTE PTR -2039[rbp], 0
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L1114
	mov	rax, QWORD PTR -2064[rbp]
	lea	rdx, newlinestr.6[rip]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -2064[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -2064[rbp]
	mov	DWORD PTR 96[rax], 1
	jmp	.L1115
.L1114:
	mov	rax, QWORD PTR -2064[rbp]
	mov	DWORD PTR 96[rax], 0
.L1115:
	mov	rax, QWORD PTR -2064[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1116
	mov	BYTE PTR -2038[rbp], 1
	jmp	.L1117
.L1116:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1118
	mov	BYTE PTR -2038[rbp], 1
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -2056[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	has_destructor
	test	eax, eax
	je	.L1117
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	rax, QWORD PTR -2064[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, 1
	sub	edx, eax
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	mov	ecx, edx
	mov	edx, eax
	mov	esi, 0
	lea	rdi, .LC199[rip]
	call	append_str
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	rdi, rax
	call	Strsafe
	mov	rdx, QWORD PTR -2064[rbp]
	mov	QWORD PTR 64[rdx], rax
	mov	rax, QWORD PTR -2064[rbp]
	mov	DWORD PTR 96[rax], 0
	jmp	.L1117
.L1118:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1119
	mov	BYTE PTR -2038[rbp], 1
	jmp	.L1117
.L1119:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1120
	mov	BYTE PTR -2038[rbp], 1
	mov	BYTE PTR -2039[rbp], 1
	mov	BYTE PTR -1008[rbp], 1
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 80[rax]
	cmp	edx, eax
	je	.L1117
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR [rax]
	mov	r8, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	esi, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 224[rax]
	sub	rsp, 8
	push	rcx
	mov	r9, r8
	mov	r8, rdi
	mov	rcx, rdx
	lea	rdx, .LC200[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	add	rsp, 16
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L1117
.L1120:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 8[rax]
	lea	rax, -1920[rbp]
	lea	rsi, .LC201[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rdx, -1920[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strstr@PLT
	mov	QWORD PTR -2000[rbp], rax
	cmp	QWORD PTR -2000[rbp], 0
	je	.L1121
	mov	BYTE PTR -2038[rbp], 1
	jmp	.L1117
.L1121:
	mov	BYTE PTR -2038[rbp], 0
.L1117:
	cmp	BYTE PTR -2038[rbp], 0
	je	.L1122
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	ecx, 1
	sub	ecx, eax
	mov	esi, ecx
	lea	rax, -1984[rbp]
	mov	ecx, edx
	mov	edx, esi
	lea	rsi, .LC202[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	jmp	.L1123
.L1122:
	mov	DWORD PTR -2032[rbp], 1
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 80[rax]
	lea	rax, -1984[rbp]
	lea	rsi, .LC203[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
.L1123:
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -2016[rbp], rax
	jmp	.L1124
.L1141:
	mov	rax, QWORD PTR -2016[rbp]
	cmp	rax, QWORD PTR -2000[rbp]
	jne	.L1125
	lea	rax, -1920[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	append_str
	lea	rax, -1920[rbp]
	mov	rdi, rax
	call	strlen@PLT
	cdqe
	sub	rax, 1
	add	QWORD PTR -2016[rbp], rax
	mov	DWORD PTR -2028[rbp], 1
	jmp	.L1126
.L1125:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2016[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L1127
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 56[rax]
	cmp	QWORD PTR -2016[rbp], rax
	je	.L1128
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2016[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L1127
	mov	rax, QWORD PTR -2016[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L1127
.L1128:
	mov	rax, QWORD PTR -2016[rbp]
	add	rax, 1
	mov	QWORD PTR -2008[rbp], rax
	jmp	.L1129
.L1130:
	add	QWORD PTR -2008[rbp], 1
.L1129:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2008[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L1130
	mov	rax, QWORD PTR -2008[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L1130
	mov	rax, QWORD PTR -2008[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -2037[rbp], al
	mov	rax, QWORD PTR -2008[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1131
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -2016[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1131
	lea	rax, -1984[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	append_str
	mov	rax, QWORD PTR -2008[rbp]
	mov	QWORD PTR -2016[rbp], rax
	mov	BYTE PTR -2039[rbp], 1
	jmp	.L1132
.L1131:
	mov	DWORD PTR -2036[rbp], 0
	jmp	.L1133
.L1140:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1134
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2016[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1134
	cmp	DWORD PTR -2036[rbp], 0
	jne	.L1135
	cmp	DWORD PTR -2028[rbp], 0
	je	.L1135
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	esi, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 224[rax]
	lea	rcx, -1920[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC204[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L1136
.L1135:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 56[rax]
	cmp	QWORD PTR -2016[rbp], rax
	je	.L1137
	mov	rax, QWORD PTR -2016[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L1137
	mov	rax, QWORD PTR -2064[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -2036[rbp]
	sub	eax, edx
	add	eax, 1
	mov	ecx, 0
	mov	edx, eax
	mov	esi, -1
	lea	rdi, .LC205[rip]
	call	append_str
	jmp	.L1136
.L1137:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1992[rbp], rax
	mov	rax, QWORD PTR -1992[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L1138
	mov	rax, QWORD PTR -1992[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 80[rax]
	mov	DWORD PTR -2024[rbp], eax
	jmp	.L1139
.L1138:
	mov	rax, QWORD PTR -1992[rbp]
	mov	eax, DWORD PTR 80[rax]
	mov	DWORD PTR -2024[rbp], eax
.L1139:
	mov	rax, QWORD PTR -2064[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -2036[rbp]
	sub	eax, edx
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -2024[rbp]
	mov	ecx, eax
	mov	esi, 0
	lea	rdi, .LC202[rip]
	call	append_str
.L1136:
	mov	rax, QWORD PTR -2008[rbp]
	mov	QWORD PTR -2016[rbp], rax
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	mov	BYTE PTR -1008[rbp+rax], 1
	jmp	.L1132
.L1134:
	add	DWORD PTR -2036[rbp], 1
.L1133:
	mov	rax, QWORD PTR -2064[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -2036[rbp], eax
	jl	.L1140
.L1132:
	mov	rax, QWORD PTR -2008[rbp]
	movzx	edx, BYTE PTR -2037[rbp]
	mov	BYTE PTR [rax], dl
.L1127:
	mov	rax, QWORD PTR -2016[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	append_str
.L1126:
	add	QWORD PTR -2016[rbp], 1
.L1124:
	mov	rax, QWORD PTR -2016[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1141
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	QWORD PTR -2016[rbp], rax
	cmp	QWORD PTR -2016[rbp], 0
	je	.L1142
	mov	rax, QWORD PTR -2016[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1142
	mov	rax, QWORD PTR -2016[rbp]
	mov	rdi, rax
	call	Strsafe
	mov	rdx, QWORD PTR -2064[rbp]
	mov	QWORD PTR 56[rdx], rax
.L1142:
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1143
	cmp	BYTE PTR -2039[rbp], 0
	jne	.L1143
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	esi, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	r9, rdi
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC206[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	DWORD PTR 80[rax], edx
.L1143:
	mov	DWORD PTR -2036[rbp], 0
	jmp	.L1144
.L1152:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1145
	cmp	DWORD PTR -2036[rbp], 0
	jle	.L1146
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1147
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1147
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	esi, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC207[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	DWORD PTR 80[rax], edx
.L1147:
	mov	DWORD PTR -2020[rbp], 0
	jmp	.L1148
.L1150:
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2020[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1149
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2020[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1149
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	esi, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	rcx, rdx
	lea	rdx, .LC208[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L1146
.L1149:
	add	DWORD PTR -2020[rbp], 1
.L1148:
	mov	eax, DWORD PTR -2020[rbp]
	cmp	eax, DWORD PTR -2036[rbp]
	jl	.L1150
.L1146:
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	test	al, al
	jne	.L1151
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdi, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	esi, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	r9, rdi
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC209[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2056[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L1151
.L1145:
	cmp	DWORD PTR -2036[rbp], 0
	jle	.L1151
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -2056[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	has_destructor
	test	eax, eax
	je	.L1151
	mov	rax, QWORD PTR -2064[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -2036[rbp]
	sub	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -2064[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -2036[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	mov	ecx, edx
	mov	edx, eax
	mov	esi, 0
	lea	rdi, .LC199[rip]
	call	append_str
.L1151:
	add	DWORD PTR -2036[rbp], 1
.L1144:
	mov	rax, QWORD PTR -2064[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -2036[rbp], eax
	jl	.L1152
	cmp	BYTE PTR -2038[rbp], 0
	jne	.L1153
	mov	rax, QWORD PTR -2064[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 80[rax]
	mov	rdx, QWORD PTR -2064[rbp]
	mov	ecx, DWORD PTR 24[rdx]
	mov	edx, 1
	sub	edx, ecx
	mov	ecx, eax
	mov	esi, 0
	lea	rdi, .LC210[rip]
	call	append_str
	lea	rax, -1984[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	append_str
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	lea	rdi, .LC211[rip]
	call	append_str
.L1153:
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	QWORD PTR -2016[rbp], rax
	cmp	QWORD PTR -2016[rbp], 0
	je	.L1154
	mov	rax, QWORD PTR -2016[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1154
	mov	rax, QWORD PTR -2016[rbp]
	mov	rdi, rax
	call	Strsafe
	mov	rdx, QWORD PTR -2064[rbp]
	mov	QWORD PTR 72[rdx], rax
	mov	rax, QWORD PTR -2064[rbp]
	mov	DWORD PTR 96[rax], 0
.L1154:
	mov	eax, DWORD PTR -2032[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1156
	call	__stack_chk_fail@PLT
.L1156:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	translate_code, .-translate_code
	.section	.rodata
.LC212:
	.string	"{%s"
	.text
	.globl	emit_code
	.type	emit_code, @function
emit_code:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L1158
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1158
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC212[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1159
.L1161:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1160
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
.L1160:
	add	QWORD PTR -8[rbp], 1
.L1159:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1161
.L1158:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1162
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 280[rax]
	test	eax, eax
	jne	.L1163
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 224[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tplt_linedir
.L1163:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC212[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1164
.L1166:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1165
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
.L1165:
	add	QWORD PTR -8[rbp], 1
.L1164:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1166
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC196[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 280[rax]
	test	eax, eax
	jne	.L1162
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tplt_linedir
.L1162:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L1167
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1167
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1168
.L1170:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1169
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
.L1169:
	add	QWORD PTR -8[rbp], 1
.L1168:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1170
.L1167:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L1173
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC196[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	nop
.L1173:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	emit_code, .-emit_code
	.section	.rodata
.LC213:
	.string	"Out of memory.\n"
.LC214:
	.string	"#if INTERFACE\n"
.LC215:
	.string	"void*"
.LC216:
	.string	"#define %sTOKENTYPE %s\n"
.LC217:
	.string	"#endif\n"
.LC218:
	.string	"typedef union {\n"
.LC219:
	.string	"  int yyinit;\n"
.LC220:
	.string	"  %sTOKENTYPE yy0;\n"
.LC221:
	.string	"  %s yy%d;\n"
.LC222:
	.string	"  int yy%d;\n"
.LC223:
	.string	"} YYMINORTYPE;\n"
	.text
	.globl	print_stack_union
	.type	print_stack_union, @function
print_stack_union:
.LFB91:
	.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, 120
	.cfi_offset 3, -24
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -124[rbp], ecx
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	eax, eax
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	mov	esi, 8
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1175
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC213[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L1175:
	mov	DWORD PTR -84[rbp], 0
	jmp	.L1176
.L1177:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -84[rbp], 1
.L1176:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L1177
	mov	DWORD PTR -88[rbp], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 136[rax]
	test	rax, rax
	je	.L1178
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 136[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -88[rbp], eax
.L1178:
	mov	DWORD PTR -84[rbp], 0
	jmp	.L1179
.L1182:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L1217
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -88[rbp]
	jle	.L1181
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -88[rbp], eax
	jmp	.L1181
.L1217:
	nop
.L1181:
	add	DWORD PTR -84[rbp], 1
.L1179:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L1182
	mov	eax, DWORD PTR -88[rbp]
	add	eax, eax
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1183
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC213[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L1183:
	mov	DWORD PTR -84[rbp], 0
	jmp	.L1184
.L1205:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 88[rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L1185
	mov	eax, DWORD PTR -72[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L1186
.L1185:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	jne	.L1187
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L1188
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 136[rax]
	test	rax, rax
	jne	.L1188
.L1187:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], 0
	jmp	.L1186
.L1188:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1189
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 136[rax]
	mov	QWORD PTR -64[rbp], rax
.L1189:
	mov	DWORD PTR -80[rbp], 0
	jmp	.L1190
.L1191:
	add	QWORD PTR -64[rbp], 1
.L1190:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1191
	jmp	.L1192
.L1193:
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -64[rbp], rdx
	mov	edx, DWORD PTR -80[rbp]
	lea	ecx, 1[rdx]
	mov	DWORD PTR -80[rbp], ecx
	movsx	rcx, edx
	mov	rdx, QWORD PTR -48[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
.L1192:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1193
	jmp	.L1194
.L1196:
	sub	DWORD PTR -80[rbp], 1
.L1194:
	cmp	DWORD PTR -80[rbp], 0
	jle	.L1195
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1196
.L1195:
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 128[rax]
	test	rax, rax
	je	.L1197
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 128[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1197
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], 0
	jmp	.L1186
.L1197:
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	jmp	.L1198
.L1199:
	mov	eax, DWORD PTR -76[rbp]
	imul	edx, eax, 53
	mov	eax, DWORD PTR -80[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	add	DWORD PTR -80[rbp], 1
.L1198:
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1199
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 2147483647
	mov	ecx, DWORD PTR -72[rbp]
	mov	edx, 0
	div	ecx
	mov	DWORD PTR -76[rbp], edx
	jmp	.L1200
.L1203:
	mov	eax, DWORD PTR -76[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1201
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L1202
.L1201:
	add	DWORD PTR -76[rbp], 1
	mov	eax, DWORD PTR -72[rbp]
	cmp	DWORD PTR -76[rbp], eax
	jb	.L1200
	mov	DWORD PTR -76[rbp], 0
.L1200:
	mov	eax, DWORD PTR -76[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1203
.L1202:
	mov	eax, DWORD PTR -76[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1186
	mov	eax, DWORD PTR -76[rbp]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	cdqe
	mov	edx, DWORD PTR -76[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -56[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -76[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1204
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC213[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L1204:
	mov	eax, DWORD PTR -76[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
.L1186:
	add	DWORD PTR -84[rbp], 1
.L1184:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L1205
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1206
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 104[rax]
	jmp	.L1207
.L1206:
	lea	rax, .LC186[rip]
.L1207:
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -124[rbp], 0
	je	.L1208
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC214[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
.L1208:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 128[rax]
	test	rax, rax
	je	.L1209
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 128[rax]
	jmp	.L1210
.L1209:
	lea	rax, .LC215[rip]
.L1210:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rdi, QWORD PTR -104[rbp]
	mov	rcx, rax
	lea	rsi, .LC216[rip]
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
	cmp	DWORD PTR -124[rbp], 0
	je	.L1211
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC217[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
.L1211:
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 16
	mov	esi, 1
	lea	rdi, .LC218[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC219[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC220[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
	mov	DWORD PTR -84[rbp], 0
	jmp	.L1212
.L1215:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1218
	mov	eax, DWORD PTR -84[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC221[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1214
.L1218:
	nop
.L1214:
	add	DWORD PTR -84[rbp], 1
.L1212:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L1215
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1216
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 52[rax]
	test	eax, eax
	je	.L1216
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC222[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
.L1216:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC223[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR -92[rbp]
	mov	DWORD PTR [rax], edx
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	print_stack_union, .-print_stack_union
	.section	.rodata
.LC224:
	.string	"int"
.LC225:
	.string	"unsigned char"
.LC226:
	.string	"unsigned short int"
.LC227:
	.string	"unsigned int"
.LC228:
	.string	"signed char"
.LC229:
	.string	"short"
	.text
	.type	minimum_size_type, @function
minimum_size_type:
.LFB92:
	.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 -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	lea	rax, .LC224[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 4
	cmp	DWORD PTR -20[rbp], 0
	js	.L1220
	cmp	DWORD PTR -24[rbp], 255
	jg	.L1221
	lea	rax, .LC225[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 1
	jmp	.L1222
.L1221:
	cmp	DWORD PTR -24[rbp], 65534
	jg	.L1223
	lea	rax, .LC226[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 2
	jmp	.L1222
.L1223:
	lea	rax, .LC227[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 4
	jmp	.L1222
.L1220:
	cmp	DWORD PTR -20[rbp], -127
	jl	.L1224
	cmp	DWORD PTR -24[rbp], 127
	jg	.L1224
	lea	rax, .LC228[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 1
	jmp	.L1222
.L1224:
	cmp	DWORD PTR -20[rbp], -32767
	jl	.L1222
	cmp	DWORD PTR -24[rbp], 32766
	jg	.L1222
	lea	rax, .LC229[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 2
.L1222:
	cmp	QWORD PTR -32[rbp], 0
	je	.L1225
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
.L1225:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	minimum_size_type, .-minimum_size_type
	.section	.rodata
.LC230:
	.string	"c!=0 || p1==p2"
	.text
	.type	axset_compare, @function
axset_compare:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR 12[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1228
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
.L1228:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1229
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	je	.L1229
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 4365
	lea	rsi, .LC8[rip]
	lea	rdi, .LC230[rip]
	call	__assert_fail@PLT
.L1229:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	axset_compare, .-axset_compare
	.type	writeRuleText, @function
writeRuleText:
.LFB94:
	.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	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC155[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1232
.L1237:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L1233
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1234
.L1233:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -12[rbp], 1
	jmp	.L1235
.L1236:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC149[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -12[rbp], 1
.L1235:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L1236
.L1234:
	add	DWORD PTR -16[rbp], 1
.L1232:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L1237
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	writeRuleText, .-writeRuleText
	.section	.rodata
.LC231:
	.string	".h"
.LC232:
	.string	".sql"
	.align 8
.LC233:
	.string	"BEGIN;\nCREATE TABLE symbol(\n  id INTEGER PRIMARY KEY,\n  name TEXT NOT NULL,\n  isTerminal BOOLEAN NOT NULL,\n  fallback INTEGER REFERENCES symbol DEFERRABLE INITIALLY DEFERRED\n);\n"
.LC234:
	.string	"TRUE"
.LC235:
	.string	"FALSE"
	.align 8
.LC236:
	.string	"INSERT INTO symbol(id,name,isTerminal,fallback)VALUES(%d,'%s',%s"
.LC237:
	.string	",%d);\n"
.LC238:
	.string	",NULL);\n"
	.align 8
.LC239:
	.string	"CREATE TABLE rule(\n  ruleid INTEGER PRIMARY KEY,\n  lhs INTEGER REFERENCES symbol(id),\n  txt TEXT\n);\nCREATE TABLE rulerhs(\n  ruleid INTEGER REFERENCES rule(ruleid),\n  pos INTEGER,\n  sym INTEGER REFERENCES symbol(id)\n);\n"
.LC240:
	.string	"i==rp->iRule"
	.align 8
.LC241:
	.string	"INSERT INTO rule(ruleid,lhs,txt)VALUES(%d,%d,'"
.LC242:
	.string	"');\n"
	.align 8
.LC243:
	.string	"INSERT INTO rulerhs(ruleid,pos,sym)VALUES(%d,%d,%d);\n"
.LC244:
	.string	"COMMIT;\n"
	.align 8
.LC245:
	.string	"/* This file is automatically generated by Lemon from input grammar\n** source file \"%s\". */\n"
.LC246:
	.string	"#define %s%-30s %2d\n"
.LC247:
	.string	"#define YYCODETYPE %s\n"
.LC248:
	.string	"#define YYNOCODE %d\n"
.LC249:
	.string	"#define YYACTIONTYPE %s\n"
.LC250:
	.string	"#define YYWILDCARD %d\n"
.LC251:
	.string	"#ifndef YYSTACKDEPTH\n"
.LC252:
	.string	"#define YYSTACKDEPTH %s\n"
.LC253:
	.string	"#define YYSTACKDEPTH 100\n"
.LC254:
	.string	"#define %sARG_SDECL %s;\n"
.LC255:
	.string	"#define %sARG_PDECL ,%s\n"
.LC256:
	.string	"#define %sARG_PARAM ,%s\n"
	.align 8
.LC257:
	.string	"#define %sARG_FETCH %s=yypParser->%s;\n"
	.align 8
.LC258:
	.string	"#define %sARG_STORE yypParser->%s=%s;\n"
.LC259:
	.string	"#define %sARG_SDECL\n"
.LC260:
	.string	"#define %sARG_PDECL\n"
.LC261:
	.string	"#define %sARG_PARAM\n"
.LC262:
	.string	"#define %sARG_FETCH\n"
.LC263:
	.string	"#define %sARG_STORE\n"
.LC264:
	.string	"#define %sCTX_SDECL %s;\n"
.LC265:
	.string	"#define %sCTX_PDECL ,%s\n"
.LC266:
	.string	"#define %sCTX_PARAM ,%s\n"
	.align 8
.LC267:
	.string	"#define %sCTX_FETCH %s=yypParser->%s;\n"
	.align 8
.LC268:
	.string	"#define %sCTX_STORE yypParser->%s=%s;\n"
.LC269:
	.string	"#define %sCTX_SDECL\n"
.LC270:
	.string	"#define %sCTX_PDECL\n"
.LC271:
	.string	"#define %sCTX_PARAM\n"
.LC272:
	.string	"#define %sCTX_FETCH\n"
.LC273:
	.string	"#define %sCTX_STORE\n"
.LC274:
	.string	"#define YYERRORSYMBOL %d\n"
.LC275:
	.string	"#define YYERRSYMDT yy%d\n"
.LC276:
	.string	"#define YYFALLBACK 1\n"
	.align 8
.LC277:
	.string	"#define YYNSTATE             %d\n"
	.align 8
.LC278:
	.string	"#define YYNRULE              %d\n"
	.align 8
.LC279:
	.string	"#define YYNRULE_WITH_ACTION  %d\n"
	.align 8
.LC280:
	.string	"#define YYNTOKEN             %d\n"
	.align 8
.LC281:
	.string	"#define YY_MAX_SHIFT         %d\n"
	.align 8
.LC282:
	.string	"#define YY_MIN_SHIFTREDUCE   %d\n"
	.align 8
.LC283:
	.string	"#define YY_MAX_SHIFTREDUCE   %d\n"
	.align 8
.LC284:
	.string	"#define YY_ERROR_ACTION      %d\n"
	.align 8
.LC285:
	.string	"#define YY_ACCEPT_ACTION     %d\n"
	.align 8
.LC286:
	.string	"#define YY_NO_ACTION         %d\n"
	.align 8
.LC287:
	.string	"#define YY_MIN_REDUCE        %d\n"
	.align 8
.LC288:
	.string	"#define YY_MAX_REDUCE        %d\n"
.LC289:
	.string	"#define YY_ACTTAB_COUNT (%d)\n"
	.align 8
.LC290:
	.string	"static const YYACTIONTYPE yy_action[] = {\n"
.LC291:
	.string	" /* %5d */ "
.LC292:
	.string	" %4d,"
.LC293:
	.string	"};\n"
	.align 8
.LC294:
	.string	"static const YYCODETYPE yy_lookahead[] = {\n"
	.align 8
.LC295:
	.string	"#define YY_SHIFT_COUNT    (%d)\n"
	.align 8
.LC296:
	.string	"#define YY_SHIFT_MIN      (%d)\n"
	.align 8
.LC297:
	.string	"#define YY_SHIFT_MAX      (%d)\n"
	.align 8
.LC298:
	.string	"static const %s yy_shift_ofst[] = {\n"
.LC299:
	.string	"#define YY_REDUCE_COUNT (%d)\n"
.LC300:
	.string	"#define YY_REDUCE_MIN   (%d)\n"
.LC301:
	.string	"#define YY_REDUCE_MAX   (%d)\n"
	.align 8
.LC302:
	.string	"static const %s yy_reduce_ofst[] = {\n"
	.align 8
.LC303:
	.string	"static const YYACTIONTYPE yy_default[] = {\n"
	.align 8
.LC304:
	.string	"    0,  /* %10s => nothing */\n"
.LC305:
	.string	"  %3d,  /* %10s => %s */\n"
.LC306:
	.string	"  /* %4d */ \"%s\",\n"
.LC307:
	.string	"rp->iRule==i"
.LC308:
	.string	" /* %3d */ \""
.LC309:
	.string	"\",\n"
	.align 8
.LC310:
	.string	"      /* TERMINAL Destructor */\n"
.LC311:
	.string	"    case %d: /* %s */\n"
.LC312:
	.string	"      break;\n"
	.align 8
.LC313:
	.string	"      /* Default NON-TERMINAL Destructor */\n"
.LC314:
	.string	"  %4d,  /* (%d) "
.LC315:
	.string	" */\n"
.LC316:
	.string	"  %3d,  /* (%d) "
	.align 8
.LC317:
	.string	"        YYMINORTYPE yylhsminor;\n"
.LC318:
	.string	"      case %d: /* "
	.align 8
.LC319:
	.string	" */ yytestcase(yyruleno==%d);\n"
.LC320:
	.string	"        break;\n"
.LC321:
	.string	"      default:\n"
.LC322:
	.string	"rp->noCode"
.LC323:
	.string	"      /* (%d) "
	.align 8
.LC324:
	.string	" (NEVER REDUCES) */ assert(yyruleno!=%d);\n"
	.align 8
.LC325:
	.string	" (OPTIMIZED OUT) */ assert(yyruleno!=%d);\n"
	.text
	.globl	ReportTable
	.type	ReportTable, @function
ReportTable:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 256
	mov	QWORD PTR -248[rbp], rdi
	mov	DWORD PTR -252[rbp], esi
	mov	DWORD PTR -256[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 52[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 56[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 60[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 68[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	tplt_open
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	je	.L1435
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, .LC167[rip]
	lea	rsi, .LC231[rip]
	mov	rdi, rax
	call	file_open
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	jne	.L1241
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L1238
.L1241:
	cmp	DWORD PTR -256[rbp], 0
	jne	.L1242
	mov	QWORD PTR -152[rbp], 0
	jmp	.L1243
.L1242:
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, .LC167[rip]
	lea	rsi, .LC232[rip]
	mov	rdi, rax
	call	file_open
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	jne	.L1244
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L1238
.L1244:
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, rax
	mov	edx, 177
	mov	esi, 1
	lea	rdi, .LC233[rip]
	call	fwrite@PLT
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1245
.L1250:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -224[rbp], eax
	jge	.L1246
	lea	rax, .LC234[rip]
	jmp	.L1247
.L1246:
	lea	rax, .LC235[rip]
.L1247:
	mov	rdx, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 72[rdx]
	mov	edx, DWORD PTR -224[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	mov	rdx, QWORD PTR [rdx]
	mov	rcx, QWORD PTR [rdx]
	mov	edx, DWORD PTR -224[rbp]
	mov	rdi, QWORD PTR -152[rbp]
	mov	r8, rax
	lea	rsi, .LC236[rip]
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1248
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -152[rbp]
	lea	rsi, .LC237[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1249
.L1248:
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC238[rip]
	call	fwrite@PLT
.L1249:
	add	DWORD PTR -224[rbp], 1
.L1245:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1250
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, rax
	mov	edx, 218
	mov	esi, 1
	lea	rdi, .LC239[rip]
	call	fwrite@PLT
	mov	DWORD PTR -224[rbp], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1251
.L1259:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	DWORD PTR -224[rbp], eax
	je	.L1252
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 4475
	lea	rsi, .LC8[rip]
	lea	rdi, .LC240[rip]
	call	__assert_fail@PLT
.L1252:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -152[rbp]
	lea	rsi, .LC241[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	writeRuleText
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, rax
	mov	edx, 4
	mov	esi, 1
	lea	rdi, .LC242[rip]
	call	fwrite@PLT
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1253
.L1258:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L1254
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	ecx, DWORD PTR -220[rbp]
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	r8d, esi
	lea	rsi, .LC243[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1255
.L1254:
	mov	DWORD PTR -196[rbp], 0
	jmp	.L1256
.L1257:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, DWORD PTR 8[rax]
	mov	ecx, DWORD PTR -220[rbp]
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	r8d, esi
	lea	rsi, .LC243[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -196[rbp], 1
.L1256:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 88[rax]
	cmp	DWORD PTR -196[rbp], eax
	jl	.L1257
.L1255:
	add	DWORD PTR -220[rbp], 1
.L1253:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -220[rbp], eax
	jl	.L1258
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
	add	DWORD PTR -224[rbp], 1
.L1251:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1259
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC244[rip]
	call	fwrite@PLT
.L1243:
	mov	DWORD PTR -240[rbp], 1
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 224[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC245[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 2
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 160[rax]
	test	rax, rax
	jne	.L1260
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, .LC50[rip]
	mov	QWORD PTR 160[rax], rdx
.L1260:
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1261
.L1263:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 160[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1262
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 160[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	rax, 1
	add	rdx, rax
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR 160[rax], rdx
	mov	DWORD PTR -224[rbp], -1
.L1262:
	add	DWORD PTR -224[rbp], 1
.L1261:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 160[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1263
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 160[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L1264
	lea	rdx, -240[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	tplt_skip_header
	jmp	.L1265
.L1264:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
.L1265:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 160[rax]
	lea	rcx, -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	tplt_print
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 240[rax]
	test	rax, rax
	je	.L1266
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 240[rax]
	mov	QWORD PTR -128[rbp], rax
	jmp	.L1267
.L1266:
	lea	rax, .LC50[rip]
	mov	QWORD PTR -128[rbp], rax
.L1267:
	mov	DWORD PTR -224[rbp], 1
	jmp	.L1268
.L1269:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	esi, DWORD PTR -224[rbp]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	r8d, esi
	lea	rsi, .LC246[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	add	DWORD PTR -224[rbp], 1
.L1268:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1269
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	rdx, -228[rbp]
	mov	esi, eax
	mov	edi, 0
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC247[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC248[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 68[rax]
	lea	rdx, -232[rbp]
	mov	esi, eax
	mov	edi, 0
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC249[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	je	.L1270
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC250[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1270:
	mov	ecx, DWORD PTR -252[rbp]
	lea	rdx, -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	print_stack_union
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 21
	mov	esi, 1
	lea	rdi, .LC251[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 152[rax]
	test	rax, rax
	je	.L1271
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 152[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC252[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1272
.L1271:
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 25
	mov	esi, 1
	lea	rdi, .LC253[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1272:
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC217[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	cmp	DWORD PTR -252[rbp], 0
	je	.L1273
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC214[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1273:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1274
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	jmp	.L1275
.L1274:
	lea	rax, .LC186[rip]
.L1275:
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 112[rax]
	test	rax, rax
	je	.L1276
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 112[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1276
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 112[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -224[rbp], eax
	jmp	.L1277
.L1279:
	sub	DWORD PTR -224[rbp], 1
.L1277:
	cmp	DWORD PTR -224[rbp], 0
	jle	.L1280
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1279
	jmp	.L1280
.L1282:
	sub	DWORD PTR -224[rbp], 1
.L1280:
	cmp	DWORD PTR -224[rbp], 0
	jle	.L1281
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L1282
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sub	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L1282
.L1281:
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 112[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC254[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 112[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC255[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC256[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 112[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	r8, rsi
	lea	rsi, .LC257[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 112[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	r8, rsi
	lea	rsi, .LC258[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1283
.L1276:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC259[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC260[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC261[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC262[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC263[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1283:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 120[rax]
	test	rax, rax
	je	.L1284
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 120[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1284
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 120[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -224[rbp], eax
	jmp	.L1285
.L1287:
	sub	DWORD PTR -224[rbp], 1
.L1285:
	cmp	DWORD PTR -224[rbp], 0
	jle	.L1288
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 120[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1287
	jmp	.L1288
.L1290:
	sub	DWORD PTR -224[rbp], 1
.L1288:
	cmp	DWORD PTR -224[rbp], 0
	jle	.L1289
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 120[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L1290
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 120[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sub	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L1290
.L1289:
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 120[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC264[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 120[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC265[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 120[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC266[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 120[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR 120[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	r8, rsi
	lea	rsi, .LC267[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 120[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 120[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	r8, rsi
	lea	rsi, .LC268[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1291
.L1284:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC269[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC270[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC271[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC272[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC273[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1291:
	cmp	DWORD PTR -252[rbp], 0
	je	.L1292
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC217[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1292:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1293
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 52[rax]
	test	eax, eax
	je	.L1293
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC274[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC275[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1293:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 276[rax]
	test	eax, eax
	je	.L1294
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 21
	mov	esi, 1
	lea	rdi, .LC276[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1294:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	add	eax, eax
	cdqe
	mov	esi, 24
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L1295
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC7[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L1295:
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1296
.L1297:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -224[rbp]
	add	eax, eax
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -224[rbp]
	add	eax, eax
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	DWORD PTR 8[rax], 1
	mov	eax, DWORD PTR -224[rbp]
	add	eax, eax
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR 12[rdx], eax
	mov	eax, DWORD PTR -224[rbp]
	add	eax, eax
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -224[rbp]
	add	eax, eax
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	DWORD PTR 8[rax], 0
	mov	eax, DWORD PTR -224[rbp]
	add	eax, eax
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR 12[rdx], eax
	add	DWORD PTR -224[rbp], 1
.L1296:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1297
	mov	DWORD PTR -212[rbp], 0
	mov	eax, DWORD PTR -212[rbp]
	mov	DWORD PTR -208[rbp], eax
	mov	DWORD PTR -204[rbp], 0
	mov	eax, DWORD PTR -204[rbp]
	mov	DWORD PTR -200[rbp], eax
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1298
.L1299:
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -224[rbp]
	mov	DWORD PTR 16[rdx], eax
	add	DWORD PTR -224[rbp], 1
.L1298:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	add	eax, eax
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1299
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	add	eax, eax
	movsx	rsi, eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, axset_compare[rip]
	mov	edx, 24
	mov	rdi, rax
	call	qsort@PLT
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	esi, edx
	mov	edi, eax
	call	acttab_alloc
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1300
.L1317:
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1301
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -144[rbp], rax
	jmp	.L1302
.L1306:
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	edx, eax
	jge	.L1436
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	compute_action
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], 0
	js	.L1437
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	acttab_action
	jmp	.L1304
.L1436:
	nop
	jmp	.L1304
.L1437:
	nop
.L1304:
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -144[rbp], rax
.L1302:
	cmp	QWORD PTR -144[rbp], 0
	jne	.L1306
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	acttab_insert
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR 40[rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -212[rbp], eax
	jle	.L1307
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -212[rbp], eax
.L1307:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -208[rbp], eax
	jge	.L1308
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -208[rbp], eax
	jmp	.L1308
.L1301:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -144[rbp], rax
	jmp	.L1309
.L1314:
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	edx, eax
	jl	.L1438
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	edx, eax
	je	.L1439
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	compute_action
	mov	DWORD PTR -168[rbp], eax
	cmp	DWORD PTR -168[rbp], 0
	js	.L1440
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	edx, DWORD PTR -168[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	acttab_action
	jmp	.L1311
.L1438:
	nop
	jmp	.L1311
.L1439:
	nop
	jmp	.L1311
.L1440:
	nop
.L1311:
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -144[rbp], rax
.L1309:
	cmp	QWORD PTR -144[rbp], 0
	jne	.L1314
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	acttab_insert
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR 44[rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -204[rbp], eax
	jle	.L1315
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -204[rbp], eax
.L1315:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -200[rbp], eax
	jge	.L1308
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -200[rbp], eax
.L1308:
	add	DWORD PTR -224[rbp], 1
.L1300:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	add	eax, eax
	cmp	DWORD PTR -224[rbp], eax
	jge	.L1316
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jg	.L1317
.L1316:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1318
.L1319:
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 108[rax], 0
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
.L1318:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1319
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1320
.L1325:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -144[rbp], rax
	jmp	.L1321
.L1324:
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	je	.L1322
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	jne	.L1323
.L1322:
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	DWORD PTR 108[rax], 1
.L1323:
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -144[rbp], rax
.L1321:
	cmp	QWORD PTR -144[rbp], 0
	jne	.L1324
	add	DWORD PTR -224[rbp], 1
.L1320:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1325
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC277[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC278[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC279[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC280[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC281[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	DWORD PTR -224[rbp], eax
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC282[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	DWORD PTR -224[rbp], eax
	mov	eax, DWORD PTR -224[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC283[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 52[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC284[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC285[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 60[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC286[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC287[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	eax, edx
	mov	DWORD PTR -224[rbp], eax
	mov	eax, DWORD PTR -224[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC288[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	acttab_action_size
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR -216[rbp]
	mov	DWORD PTR 256[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 264[rax]
	mov	eax, DWORD PTR -232[rbp]
	imul	eax, DWORD PTR -216[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 264[rax], edx
	mov	edx, DWORD PTR -216[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC289[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 42
	mov	esi, 1
	lea	rdi, .LC290[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR -224[rbp], eax
	jmp	.L1326
.L1332:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -192[rbp], eax
	cmp	DWORD PTR -192[rbp], 0
	jns	.L1327
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	DWORD PTR -192[rbp], eax
.L1327:
	cmp	DWORD PTR -220[rbp], 0
	jne	.L1328
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC291[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1328:
	mov	edx, DWORD PTR -192[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC292[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -220[rbp], 9
	je	.L1329
	mov	eax, DWORD PTR -216[rbp]
	sub	eax, 1
	cmp	DWORD PTR -224[rbp], eax
	jne	.L1330
.L1329:
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1331
.L1330:
	add	DWORD PTR -220[rbp], 1
.L1331:
	add	DWORD PTR -224[rbp], 1
.L1326:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -216[rbp]
	jl	.L1332
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC293[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR -216[rbp]
	mov	DWORD PTR 260[rax], edx
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 264[rax]
	mov	eax, DWORD PTR -228[rbp]
	imul	eax, DWORD PTR -216[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 264[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC294[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR -224[rbp], eax
	jmp	.L1333
.L1338:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -188[rbp], eax
	cmp	DWORD PTR -188[rbp], 0
	jns	.L1334
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -188[rbp], eax
.L1334:
	cmp	DWORD PTR -220[rbp], 0
	jne	.L1335
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC291[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1335:
	mov	edx, DWORD PTR -188[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC292[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -220[rbp], 9
	jne	.L1336
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1337
.L1336:
	add	DWORD PTR -220[rbp], 1
.L1337:
	add	DWORD PTR -224[rbp], 1
.L1333:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -216[rbp]
	jl	.L1338
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 256[rax]
	add	eax, edx
	mov	DWORD PTR -160[rbp], eax
	jmp	.L1339
.L1343:
	cmp	DWORD PTR -220[rbp], 0
	jne	.L1340
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC291[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1340:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC292[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -220[rbp], 9
	jne	.L1341
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1342
.L1341:
	add	DWORD PTR -220[rbp], 1
.L1342:
	add	DWORD PTR -224[rbp], 1
.L1339:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jl	.L1343
	cmp	DWORD PTR -220[rbp], 0
	jle	.L1344
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1344:
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC293[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -216[rbp], eax
	jmp	.L1345
.L1347:
	sub	DWORD PTR -216[rbp], 1
.L1345:
	cmp	DWORD PTR -216[rbp], 0
	jle	.L1346
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, -2147483647
	je	.L1347
.L1346:
	mov	eax, DWORD PTR -216[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC295[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	edx, DWORD PTR -212[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC296[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	edx, DWORD PTR -208[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC297[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 256[rax]
	lea	ecx, [rdx+rax]
	lea	rdx, -236[rbp]
	mov	eax, DWORD PTR -212[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC298[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 264[rax]
	mov	eax, DWORD PTR -236[rbp]
	imul	eax, DWORD PTR -216[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 264[rax], edx
	mov	DWORD PTR -220[rbp], 0
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR -224[rbp], eax
	jmp	.L1348
.L1354:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -184[rbp], -2147483647
	jne	.L1349
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 256[rax]
	mov	DWORD PTR -184[rbp], eax
.L1349:
	cmp	DWORD PTR -220[rbp], 0
	jne	.L1350
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC291[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1350:
	mov	edx, DWORD PTR -184[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC292[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -220[rbp], 9
	je	.L1351
	mov	eax, DWORD PTR -216[rbp]
	sub	eax, 1
	cmp	DWORD PTR -224[rbp], eax
	jne	.L1352
.L1351:
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1353
.L1352:
	add	DWORD PTR -220[rbp], 1
.L1353:
	add	DWORD PTR -224[rbp], 1
.L1348:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -216[rbp]
	jl	.L1354
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC293[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -216[rbp], eax
	jmp	.L1355
.L1357:
	sub	DWORD PTR -216[rbp], 1
.L1355:
	cmp	DWORD PTR -216[rbp], 0
	jle	.L1356
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 44[rax]
	cmp	eax, -2147483647
	je	.L1357
.L1356:
	mov	eax, DWORD PTR -216[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC299[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	edx, DWORD PTR -204[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC300[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	edx, DWORD PTR -200[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC301[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	eax, DWORD PTR -204[rbp]
	lea	ecx, -1[rax]
	lea	rdx, -236[rbp]
	mov	eax, DWORD PTR -200[rbp]
	mov	esi, eax
	mov	edi, ecx
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC302[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 264[rax]
	mov	eax, DWORD PTR -236[rbp]
	imul	eax, DWORD PTR -216[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 264[rax], edx
	mov	DWORD PTR -220[rbp], 0
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR -224[rbp], eax
	jmp	.L1358
.L1364:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], -2147483647
	jne	.L1359
	mov	eax, DWORD PTR -204[rbp]
	sub	eax, 1
	mov	DWORD PTR -180[rbp], eax
.L1359:
	cmp	DWORD PTR -220[rbp], 0
	jne	.L1360
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC291[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1360:
	mov	edx, DWORD PTR -180[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC292[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -220[rbp], 9
	je	.L1361
	mov	eax, DWORD PTR -216[rbp]
	sub	eax, 1
	cmp	DWORD PTR -224[rbp], eax
	jne	.L1362
.L1361:
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1363
.L1362:
	add	DWORD PTR -220[rbp], 1
.L1363:
	add	DWORD PTR -224[rbp], 1
.L1358:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -216[rbp]
	jl	.L1364
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC293[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC303[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 264[rax]
	mov	eax, DWORD PTR -232[rbp]
	imul	eax, DWORD PTR -216[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 264[rax], edx
	mov	DWORD PTR -220[rbp], 0
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR -224[rbp], eax
	jmp	.L1365
.L1372:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	cmp	DWORD PTR -220[rbp], 0
	jne	.L1366
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC291[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1366:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jns	.L1367
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 52[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC292[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1368
.L1367:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 64[rax]
	add	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC292[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1368:
	cmp	DWORD PTR -220[rbp], 9
	je	.L1369
	mov	eax, DWORD PTR -216[rbp]
	sub	eax, 1
	cmp	DWORD PTR -224[rbp], eax
	jne	.L1370
.L1369:
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1371
.L1370:
	add	DWORD PTR -220[rbp], 1
.L1371:
	add	DWORD PTR -224[rbp], 1
.L1365:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -216[rbp]
	jl	.L1372
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC293[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 276[rax]
	test	eax, eax
	je	.L1373
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 44[rax]
	sub	eax, 1
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 264[rax]
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -228[rbp]
	imul	eax, edx
	lea	edx, [rcx+rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 264[rax], edx
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1374
.L1377:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L1375
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC304[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L1376
.L1375:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	r8, rsi
	lea	rsi, .LC305[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L1376:
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	add	DWORD PTR -224[rbp], 1
.L1374:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -156[rbp]
	jle	.L1377
.L1373:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1378
.L1379:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC306[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	add	DWORD PTR -224[rbp], 1
.L1378:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1379
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	DWORD PTR -224[rbp], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1380
.L1382:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	DWORD PTR -224[rbp], eax
	je	.L1381
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 4891
	lea	rsi, .LC8[rip]
	lea	rdi, .LC307[rip]
	call	__assert_fail@PLT
.L1381:
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC308[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	writeRuleText
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC309[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
	add	DWORD PTR -224[rbp], 1
.L1380:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1382
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 208[rax]
	test	rax, rax
	je	.L1383
	mov	DWORD PTR -176[rbp], 1
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1384
.L1389:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L1441
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1441
	cmp	DWORD PTR -176[rbp], 0
	je	.L1388
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 32
	mov	esi, 1
	lea	rdi, .LC310[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -176[rbp], 0
.L1388:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC311[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1387
.L1441:
	nop
.L1387:
	add	DWORD PTR -224[rbp], 1
.L1384:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1389
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1390
.L1392:
	add	DWORD PTR -224[rbp], 1
.L1390:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -224[rbp], eax
	jge	.L1391
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1392
.L1391:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -224[rbp], eax
	jge	.L1383
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	emit_destructor_code
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC312[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1383:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 216[rax]
	test	rax, rax
	je	.L1393
	mov	QWORD PTR -120[rbp], 0
	mov	DWORD PTR -172[rbp], 1
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1394
.L1399:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L1442
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1442
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jle	.L1442
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L1442
	cmp	DWORD PTR -172[rbp], 0
	je	.L1398
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 44
	mov	esi, 1
	lea	rdi, .LC313[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	DWORD PTR -172[rbp], 0
.L1398:
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC311[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -120[rbp], rax
	jmp	.L1397
.L1442:
	nop
.L1397:
	add	DWORD PTR -224[rbp], 1
.L1394:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1399
	cmp	QWORD PTR -120[rbp], 0
	je	.L1400
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rsi, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	emit_destructor_code
.L1400:
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC312[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1393:
	mov	DWORD PTR -224[rbp], 0
	jmp	.L1401
.L1409:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L1443
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1443
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1443
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	test	eax, eax
	js	.L1444
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC311[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	eax, DWORD PTR -224[rbp]
	add	eax, 1
	mov	DWORD PTR -220[rbp], eax
	jmp	.L1406
.L1408:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1407
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1407
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1407
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 80[rax]
	cmp	edx, eax
	jne	.L1407
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1407
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC311[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 64[rax], -1
.L1407:
	add	DWORD PTR -220[rbp], 1
.L1406:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -220[rbp], eax
	jl	.L1408
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	emit_destructor_code
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC312[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1404
.L1443:
	nop
	jmp	.L1404
.L1444:
	nop
.L1404:
	add	DWORD PTR -224[rbp], 1
.L1401:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -224[rbp], eax
	jl	.L1409
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 176[rax]
	lea	rcx, -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	tplt_print
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	DWORD PTR -224[rbp], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1410
.L1411:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	ecx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC314[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rule_print
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 4
	mov	esi, 1
	lea	rdi, .LC315[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
	add	DWORD PTR -224[rbp], 1
.L1410:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1411
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	DWORD PTR -224[rbp], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1412
.L1413:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 24[rax]
	neg	eax
	mov	esi, eax
	mov	edx, DWORD PTR -224[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, edx
	mov	edx, esi
	lea	rsi, .LC316[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rule_print
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 4
	mov	esi, 1
	lea	rdi, .LC315[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
	add	DWORD PTR -224[rbp], 1
.L1412:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1413
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	DWORD PTR -224[rbp], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1414
.L1415:
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	translate_code
	add	DWORD PTR -224[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
.L1414:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1415
	cmp	DWORD PTR -224[rbp], 0
	je	.L1416
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 32
	mov	esi, 1
	lea	rdi, .LC317[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
.L1416:
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1417
.L1424:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 100[rax]
	test	eax, eax
	jne	.L1445
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 96[rax]
	test	eax, eax
	jne	.L1446
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC318[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	writeRuleText
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 4
	mov	esi, 1
	lea	rdi, .LC315[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -112[rbp], rax
	jmp	.L1421
.L1423:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 56[rax]
	cmp	rdx, rax
	jne	.L1422
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 64[rax]
	cmp	rdx, rax
	jne	.L1422
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jne	.L1422
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC318[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	writeRuleText
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC319[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 100[rax], 1
.L1422:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -112[rbp], rax
.L1421:
	cmp	QWORD PTR -112[rbp], 0
	jne	.L1423
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rsi, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	emit_code
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC320[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 100[rax], 1
	jmp	.L1419
.L1445:
	nop
	jmp	.L1419
.L1446:
	nop
.L1419:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
.L1417:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1424
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC321[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L1425
.L1431:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 100[rax]
	test	eax, eax
	jne	.L1447
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 96[rax]
	test	eax, eax
	jne	.L1428
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 5021
	lea	rsi, .LC8[rip]
	lea	rdi, .LC322[rip]
	call	__assert_fail@PLT
.L1428:
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC323[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	writeRuleText
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 112[rax]
	test	eax, eax
	je	.L1429
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC324[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1427
.L1429:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 108[rax]
	test	eax, eax
	je	.L1430
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC319[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1427
.L1430:
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC325[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	jmp	.L1427
.L1447:
	nop
.L1427:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -136[rbp], rax
.L1425:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L1431
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC320[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -240[rbp]
	add	eax, 1
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 184[rax]
	lea	rcx, -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	tplt_print
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 168[rax]
	lea	rcx, -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	tplt_print
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 192[rax]
	lea	rcx, -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	tplt_print
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 104[rax]
	lea	rcx, -240[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	tplt_xfer
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR 200[rax]
	lea	rcx, -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	tplt_print
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	acttab_free
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	fclose@PLT
	cmp	QWORD PTR -152[rbp], 0
	je	.L1448
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L1448
.L1435:
	nop
	jmp	.L1238
.L1448:
	nop
.L1238:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1434
	call	__stack_chk_fail@PLT
.L1434:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	ReportTable, .-ReportTable
	.section	.rodata
.LC326:
	.string	"#define %s%-30s %3d\n"
	.text
	.globl	ReportHeader
	.type	ReportHeader, @function
ReportHeader:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2064
	mov	QWORD PTR -2056[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 240[rax]
	test	rax, rax
	je	.L1450
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 240[rax]
	mov	QWORD PTR -2040[rbp], rax
	jmp	.L1451
.L1450:
	lea	rax, .LC50[rip]
	mov	QWORD PTR -2040[rbp], rax
.L1451:
	mov	rax, QWORD PTR -2056[rbp]
	lea	rdx, .LC137[rip]
	lea	rsi, .LC231[rip]
	mov	rdi, rax
	call	file_open
	mov	QWORD PTR -2032[rbp], rax
	cmp	QWORD PTR -2032[rbp], 0
	je	.L1452
	mov	DWORD PTR -2048[rbp], 1
	jmp	.L1453
.L1456:
	mov	rax, QWORD PTR -2056[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -2048[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	esi, DWORD PTR -2048[rbp]
	mov	rdx, QWORD PTR -2040[rbp]
	lea	rax, -1008[rbp]
	mov	r8d, esi
	lea	rsi, .LC326[rip]
	mov	rdi, rax
	mov	eax, 0
	call	lemon_sprintf
	lea	rdx, -1008[rbp]
	lea	rax, -2016[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1463
	add	DWORD PTR -2048[rbp], 1
.L1453:
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -2048[rbp], eax
	jge	.L1455
	mov	rdx, QWORD PTR -2032[rbp]
	lea	rax, -2016[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L1456
	jmp	.L1455
.L1463:
	nop
.L1455:
	mov	rax, QWORD PTR -2032[rbp]
	mov	rdi, rax
	call	fgetc@PLT
	mov	DWORD PTR -2044[rbp], eax
	mov	rax, QWORD PTR -2032[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -2048[rbp], eax
	jne	.L1452
	cmp	DWORD PTR -2044[rbp], -1
	je	.L1464
.L1452:
	mov	rax, QWORD PTR -2056[rbp]
	lea	rdx, .LC167[rip]
	lea	rsi, .LC231[rip]
	mov	rdi, rax
	call	file_open
	mov	QWORD PTR -2024[rbp], rax
	cmp	QWORD PTR -2024[rbp], 0
	je	.L1465
	mov	DWORD PTR -2048[rbp], 1
	jmp	.L1459
.L1460:
	mov	rax, QWORD PTR -2056[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -2048[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	esi, DWORD PTR -2048[rbp]
	mov	rdx, QWORD PTR -2040[rbp]
	mov	rax, QWORD PTR -2024[rbp]
	mov	r8d, esi
	lea	rsi, .LC326[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -2048[rbp], 1
.L1459:
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -2048[rbp], eax
	jl	.L1460
	mov	rax, QWORD PTR -2024[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L1465
.L1464:
	nop
	jmp	.L1449
.L1465:
	nop
.L1449:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1462
	call	__stack_chk_fail@PLT
.L1462:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	ReportHeader, .-ReportHeader
	.section	.rodata
.LC327:
	.string	"ap"
.LC328:
	.string	"ap2!=0"
	.text
	.globl	CompressTables
	.type	CompressTables, @function
CompressTables:
.LFB97:
	.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	DWORD PTR -72[rbp], 0
	jmp	.L1467
.L1496:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -80[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1468
.L1479:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1469
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 96[rax]
	cmp	rdx, rax
	jne	.L1469
	mov	DWORD PTR -68[rbp], 1
.L1469:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1516
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1517
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	je	.L1518
	mov	DWORD PTR -76[rbp], 1
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1474
.L1478:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1519
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	je	.L1520
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jne	.L1476
	add	DWORD PTR -76[rbp], 1
	jmp	.L1476
.L1519:
	nop
	jmp	.L1476
.L1520:
	nop
.L1476:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -56[rbp], rax
.L1474:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1478
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L1471
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1471
.L1516:
	nop
	jmp	.L1471
.L1517:
	nop
	jmp	.L1471
.L1518:
	nop
.L1471:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -64[rbp], rax
.L1468:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1479
	cmp	DWORD PTR -80[rbp], 0
	jle	.L1521
	cmp	DWORD PTR -68[rbp], 0
	jne	.L1521
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1483
.L1486:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1484
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -40[rbp], rax
	je	.L1522
.L1484:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -64[rbp], rax
.L1483:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1486
	jmp	.L1485
.L1522:
	nop
.L1485:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1487
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 5149
	lea	rsi, .LC8[rip]
	lea	rdi, .LC327[rip]
	call	__assert_fail@PLT
.L1487:
	lea	rdi, .LC36[rip]
	call	Symbol_new
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1488
.L1490:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1489
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L1489
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], 9
.L1489:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -64[rbp], rax
.L1488:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1490
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Action_sort
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1491
.L1495:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1523
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1494
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L1524
.L1494:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -64[rbp], rax
.L1491:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1495
	jmp	.L1493
.L1523:
	nop
	jmp	.L1493
.L1524:
	nop
.L1493:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1482
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 64[rax], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L1482
.L1521:
	nop
.L1482:
	add	DWORD PTR -72[rbp], 1
.L1467:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1496
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1497
.L1502:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1498
.L1501:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1525
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 64[rax]
	test	eax, eax
	je	.L1500
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1500
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], 10
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L1500
.L1525:
	nop
.L1500:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -64[rbp], rax
.L1498:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1501
	add	DWORD PTR -72[rbp], 1
.L1497:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1502
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1503
.L1515:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1504
.L1514:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	jne	.L1526
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	test	eax, eax
	je	.L1527
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jne	.L1528
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	edx, eax
	jl	.L1529
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1510
.L1512:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -56[rbp], rax
.L1510:
	cmp	QWORD PTR -56[rbp], 0
	je	.L1511
	mov	rax, QWORD PTR -56[rbp]
	cmp	rax, QWORD PTR -64[rbp]
	je	.L1512
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L1512
.L1511:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1513
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 5206
	lea	rsi, .LC8[rip]
	lea	rdi, .LC328[rip]
	call	__assert_fail@PLT
.L1513:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rdx]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L1506
.L1526:
	nop
	jmp	.L1506
.L1527:
	nop
	jmp	.L1506
.L1528:
	nop
	jmp	.L1506
.L1529:
	nop
.L1506:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -64[rbp], rax
.L1504:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L1514
	add	DWORD PTR -72[rbp], 1
.L1503:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1515
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	CompressTables, .-CompressTables
	.section	.rodata
.LC329:
	.string	"n!=0"
	.text
	.type	stateResortCompare, @function
stateResortCompare:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR 36[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1531
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR 32[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1531
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
.L1531:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1532
	lea	rcx, __PRETTY_FUNCTION__.2[rip]
	mov	edx, 5233
	lea	rsi, .LC8[rip]
	lea	rdi, .LC329[rip]
	call	__assert_fail@PLT
.L1532:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	stateResortCompare, .-stateResortCompare
	.section	.rodata
	.align 8
.LC330:
	.string	"stp->autoReduce==0 || stp->pDfltReduce==ap->x.rp"
	.text
	.globl	ResortStates
	.type	ResortStates, @function
ResortStates:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1535
.L1542:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], -2147483647
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], -2147483647
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1536
.L1541:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	compute_action
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L1537
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	edx, eax
	jge	.L1538
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	jmp	.L1537
.L1538:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	edx, eax
	jge	.L1539
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L1537
.L1539:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 64[rax]
	test	eax, eax
	je	.L1540
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	je	.L1540
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 5262
	lea	rsi, .LC8[rip]
	lea	rdi, .LC330[rip]
	call	__assert_fail@PLT
.L1540:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 48[rax], edx
.L1537:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -16[rbp], rax
.L1536:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1541
	add	DWORD PTR -24[rbp], 1
.L1535:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L1542
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	cdqe
	mov	rdx, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rdx]
	lea	rdi, 8[rdx]
	lea	rcx, stateResortCompare[rip]
	mov	edx, 8
	mov	rsi, rax
	call	qsort@PLT
	mov	DWORD PTR -24[rbp], 0
	jmp	.L1543
.L1544:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -24[rbp], 1
.L1543:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L1544
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], edx
	jmp	.L1545
.L1547:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], edx
.L1545:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 1
	jle	.L1548
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 64[rax]
	test	eax, eax
	jne	.L1547
.L1548:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	ResortStates, .-ResortStates
	.local	size
	.comm	size,4,4
	.globl	SetSize
	.type	SetSize, @function
SetSize:
.LFB100:
	.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 -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	DWORD PTR size[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	SetSize, .-SetSize
	.globl	SetNew
	.type	SetNew, @function
SetNew:
.LFB101:
	.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	eax, DWORD PTR size[rip]
	cdqe
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1551
	call	memory_error
.L1551:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	SetNew, .-SetNew
	.globl	SetFree
	.type	SetFree, @function
SetFree:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	SetFree, .-SetFree
	.section	.rodata
.LC331:
	.string	"e>=0 && e<size"
	.text
	.globl	SetAdd
	.type	SetAdd, @function
SetAdd:
.LFB103:
	.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
	cmp	DWORD PTR -28[rbp], 0
	js	.L1555
	mov	eax, DWORD PTR size[rip]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L1558
.L1555:
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 5314
	lea	rsi, .LC8[rip]
	lea	rdi, .LC331[rip]
	call	__assert_fail@PLT
.L1558:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
	cmp	DWORD PTR -4[rbp], 0
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	SetAdd, .-SetAdd
	.globl	SetUnion
	.type	SetUnion, @function
SetUnion:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L1560
.L1563:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1565
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1562
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
	jmp	.L1562
.L1565:
	nop
.L1562:
	add	DWORD PTR -8[rbp], 1
.L1560:
	mov	eax, DWORD PTR size[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L1563
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	SetUnion, .-SetUnion
	.globl	strhash
	.type	strhash, @function
strhash:
.LFB105:
	.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
	jmp	.L1567
.L1568:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	sal	eax, 2
	lea	ecx, [rax+rdx]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L1567:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1568
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	strhash, .-strhash
	.globl	Strsafe
	.type	Strsafe, @function
Strsafe:
.LFB106:
	.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
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1571
	mov	eax, 0
	jmp	.L1572
.L1571:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Strsafe_find
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1573
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1573
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	lemon_strcpy
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Strsafe_insert
.L1573:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1574
	call	memory_error
.L1574:
	mov	rax, QWORD PTR -16[rbp]
.L1572:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	Strsafe, .-Strsafe
	.local	x1a
	.comm	x1a,8,8
	.globl	Strsafe_init
	.type	Strsafe_init, @function
Strsafe_init:
.LFB107:
	.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, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x1a[rip]
	test	rax, rax
	jne	.L1581
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x1a[rip], rax
	mov	rax, QWORD PTR x1a[rip]
	test	rax, rax
	je	.L1575
	mov	rax, QWORD PTR x1a[rip]
	mov	DWORD PTR [rax], 1024
	mov	rax, QWORD PTR x1a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x1a[rip]
	mov	esi, 32
	mov	edi, 1024
	call	calloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x1a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1578
	mov	rax, QWORD PTR x1a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x1a[rip], 0
	jmp	.L1575
.L1578:
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x1a[rip]
	add	rdx, 24576
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1579
.L1580:
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1579:
	cmp	DWORD PTR -20[rbp], 1023
	jle	.L1580
	jmp	.L1575
.L1581:
	nop
.L1575:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	Strsafe_init, .-Strsafe_init
	.globl	Strsafe_insert
	.type	Strsafe_insert, @function
Strsafe_insert:
.LFB108:
	.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 x1a[rip]
	test	rax, rax
	jne	.L1583
	mov	eax, 0
	jmp	.L1584
.L1583:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	strhash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1585
.L1587:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1586
	mov	eax, 0
	jmp	.L1584
.L1586:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L1585:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1587
	mov	rax, QWORD PTR x1a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1588
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	esi, 32
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1589
	mov	eax, 0
	jmp	.L1584
.L1589:
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1590
.L1591:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1590:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1591
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1592
.L1594:
	mov	rax, QWORD PTR x1a[rip]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strhash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1593
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1593:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1592:
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1594
	mov	rcx, QWORD PTR x1a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1588:
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x1a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1595
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1595:
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 1
.L1584:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	Strsafe_insert, .-Strsafe_insert
	.globl	Strsafe_find
	.type	Strsafe_find, @function
Strsafe_find:
.LFB109:
	.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 x1a[rip]
	test	rax, rax
	jne	.L1597
	mov	eax, 0
	jmp	.L1598
.L1597:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strhash
	mov	edx, eax
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1599
.L1602:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L1605
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L1599:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1602
	jmp	.L1601
.L1605:
	nop
.L1601:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1603
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1598
.L1603:
	mov	eax, 0
.L1598:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	Strsafe_find, .-Strsafe_find
	.globl	Symbol_new
	.type	Symbol_new, @function
Symbol_new:
.LFB110:
	.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	rdi, rax
	call	Symbol_find
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1607
	mov	esi, 104
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1608
	call	memory_error
.L1608:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Strsafe
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 3
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 64[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Symbol_insert
.L1607:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	Symbol_new, .-Symbol_new
	.globl	Symbolcmpp
	.type	Symbolcmpp, @function
Symbolcmpp:
.LFB111:
	.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	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L1611
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jle	.L1612
	mov	eax, 2
	jmp	.L1614
.L1612:
	mov	eax, 1
	jmp	.L1614
.L1611:
	mov	eax, 3
.L1614:
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	je	.L1615
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jle	.L1616
	mov	eax, 2
	jmp	.L1618
.L1616:
	mov	eax, 1
	jmp	.L1618
.L1615:
	mov	eax, 3
.L1618:
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jne	.L1619
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	jmp	.L1621
.L1619:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, DWORD PTR -20[rbp]
.L1621:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	Symbolcmpp, .-Symbolcmpp
	.local	x2a
	.comm	x2a,8,8
	.globl	Symbol_init
	.type	Symbol_init, @function
Symbol_init:
.LFB112:
	.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, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	jne	.L1628
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x2a[rip], rax
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	je	.L1622
	mov	rax, QWORD PTR x2a[rip]
	mov	DWORD PTR [rax], 128
	mov	rax, QWORD PTR x2a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x2a[rip]
	mov	esi, 40
	mov	edi, 128
	call	calloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x2a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1625
	mov	rax, QWORD PTR x2a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x2a[rip], 0
	jmp	.L1622
.L1625:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x2a[rip]
	add	rdx, 4096
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1626
.L1627:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1626:
	cmp	DWORD PTR -20[rbp], 127
	jle	.L1627
	jmp	.L1622
.L1628:
	nop
.L1622:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	Symbol_init, .-Symbol_init
	.globl	Symbol_insert
	.type	Symbol_insert, @function
Symbol_insert:
.LFB113:
	.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 x2a[rip]
	test	rax, rax
	jne	.L1630
	mov	eax, 0
	jmp	.L1631
.L1630:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	strhash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1632
.L1634:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1633
	mov	eax, 0
	jmp	.L1631
.L1633:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
.L1632:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1634
	mov	rax, QWORD PTR x2a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1635
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	esi, 40
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1636
	mov	eax, 0
	jmp	.L1631
.L1636:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1637
.L1638:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1637:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1638
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1639
.L1641:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strhash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1640
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1640:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1639:
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1641
	mov	rcx, QWORD PTR x2a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1635:
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x2a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rax, edx
	sal	rax, 5
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1642
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1642:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 1
.L1631:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	Symbol_insert, .-Symbol_insert
	.globl	Symbol_find
	.type	Symbol_find, @function
Symbol_find:
.LFB114:
	.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 x2a[rip]
	test	rax, rax
	jne	.L1644
	mov	eax, 0
	jmp	.L1645
.L1644:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strhash
	mov	edx, eax
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1646
.L1649:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L1652
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L1646:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1649
	jmp	.L1648
.L1652:
	nop
.L1648:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1650
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1645
.L1650:
	mov	eax, 0
.L1645:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	Symbol_find, .-Symbol_find
	.globl	Symbol_Nth
	.type	Symbol_Nth, @function
Symbol_Nth:
.LFB115:
	.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	rax, QWORD PTR x2a[rip]
	test	rax, rax
	je	.L1654
	cmp	DWORD PTR -20[rbp], 0
	jle	.L1654
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L1654
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	sub	rax, 32
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1655
.L1654:
	mov	QWORD PTR -8[rbp], 0
.L1655:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	Symbol_Nth, .-Symbol_Nth
	.globl	Symbol_count
	.type	Symbol_count, @function
Symbol_count:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	je	.L1658
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	jmp	.L1660
.L1658:
	mov	eax, 0
.L1660:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	Symbol_count, .-Symbol_count
	.globl	Symbol_arrayof
	.type	Symbol_arrayof, @function
Symbol_arrayof:
.LFB117:
	.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	rax, QWORD PTR x2a[rip]
	test	rax, rax
	jne	.L1662
	mov	eax, 0
	jmp	.L1663
.L1662:
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	mov	esi, 8
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1664
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1665
.L1666:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -16[rbp], 1
.L1665:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L1666
.L1664:
	mov	rax, QWORD PTR -8[rbp]
.L1663:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	Symbol_arrayof, .-Symbol_arrayof
	.globl	Configcmp
	.type	Configcmp, @function
Configcmp:
.LFB118:
	.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	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 88[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1668
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
.L1668:
	mov	eax, DWORD PTR -20[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	Configcmp, .-Configcmp
	.globl	statecmp
	.type	statecmp, @function
statecmp:
.LFB119:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1671
.L1674:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 88[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1672
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L1672:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -32[rbp], rax
.L1671:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1673
	cmp	QWORD PTR -24[rbp], 0
	je	.L1673
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1674
.L1673:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1675
	cmp	QWORD PTR -24[rbp], 0
	je	.L1676
	mov	DWORD PTR -4[rbp], 1
.L1676:
	cmp	QWORD PTR -32[rbp], 0
	je	.L1675
	mov	DWORD PTR -4[rbp], -1
.L1675:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	statecmp, .-statecmp
	.globl	statehash
	.type	statehash, @function
statehash:
.LFB120:
	.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
	jmp	.L1679
.L1680:
	mov	eax, DWORD PTR -4[rbp]
	imul	ecx, eax, 571
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 88[rax]
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	lea	edx, [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -24[rbp], rax
.L1679:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1680
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	statehash, .-statehash
	.globl	State_new
	.type	State_new, @function
State_new:
.LFB121:
	.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	esi, 72
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1683
	call	memory_error
.L1683:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	State_new, .-State_new
	.local	x3a
	.comm	x3a,8,8
	.globl	State_init
	.type	State_init, @function
State_init:
.LFB122:
	.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, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	jne	.L1691
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x3a[rip], rax
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	je	.L1685
	mov	rax, QWORD PTR x3a[rip]
	mov	DWORD PTR [rax], 128
	mov	rax, QWORD PTR x3a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x3a[rip]
	mov	esi, 40
	mov	edi, 128
	call	calloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x3a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1688
	mov	rax, QWORD PTR x3a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x3a[rip], 0
	jmp	.L1685
.L1688:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x3a[rip]
	add	rdx, 4096
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1689
.L1690:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1689:
	cmp	DWORD PTR -20[rbp], 127
	jle	.L1690
	jmp	.L1685
.L1691:
	nop
.L1685:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	State_init, .-State_init
	.globl	State_insert
	.type	State_insert, @function
State_insert:
.LFB123:
	.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 x3a[rip]
	test	rax, rax
	jne	.L1693
	mov	eax, 0
	jmp	.L1694
.L1693:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	statehash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1695
.L1697:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	statecmp
	test	eax, eax
	jne	.L1696
	mov	eax, 0
	jmp	.L1694
.L1696:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
.L1695:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1697
	mov	rax, QWORD PTR x3a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1698
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	esi, 40
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1699
	mov	eax, 0
	jmp	.L1694
.L1699:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1700
.L1701:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1700:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1701
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1702
.L1704:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	statehash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1703
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1703:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1702:
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1704
	mov	rax, QWORD PTR x3a[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rcx, QWORD PTR x3a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1698:
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x3a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rax, edx
	sal	rax, 5
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1705
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1705:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 1
.L1694:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	State_insert, .-State_insert
	.globl	State_find
	.type	State_find, @function
State_find:
.LFB124:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	jne	.L1707
	mov	eax, 0
	jmp	.L1708
.L1707:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	statehash
	mov	edx, eax
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1709
.L1712:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	statecmp
	test	eax, eax
	je	.L1715
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L1709:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1712
	jmp	.L1711
.L1715:
	nop
.L1711:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1713
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1708
.L1713:
	mov	eax, 0
.L1708:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	State_find, .-State_find
	.globl	State_arrayof
	.type	State_arrayof, @function
State_arrayof:
.LFB125:
	.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	rax, QWORD PTR x3a[rip]
	test	rax, rax
	jne	.L1717
	mov	eax, 0
	jmp	.L1718
.L1717:
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	mov	esi, 8
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1719
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1720
.L1721:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -16[rbp], 1
.L1720:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L1721
.L1719:
	mov	rax, QWORD PTR -8[rbp]
.L1718:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	State_arrayof, .-State_arrayof
	.globl	confighash
	.type	confighash, @function
confighash:
.LFB126:
	.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
	mov	eax, DWORD PTR -4[rbp]
	imul	ecx, eax, 571
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 88[rax]
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	lea	edx, [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	confighash, .-confighash
	.local	x4a
	.comm	x4a,8,8
	.globl	Configtable_init
	.type	Configtable_init, @function
Configtable_init:
.LFB127:
	.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, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	jne	.L1730
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x4a[rip], rax
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	je	.L1724
	mov	rax, QWORD PTR x4a[rip]
	mov	DWORD PTR [rax], 64
	mov	rax, QWORD PTR x4a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x4a[rip]
	mov	esi, 32
	mov	edi, 64
	call	calloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x4a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1727
	mov	rax, QWORD PTR x4a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x4a[rip], 0
	jmp	.L1724
.L1727:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x4a[rip]
	add	rdx, 1536
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1728
.L1729:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1728:
	cmp	DWORD PTR -20[rbp], 63
	jle	.L1729
	jmp	.L1724
.L1730:
	nop
.L1724:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	Configtable_init, .-Configtable_init
	.globl	Configtable_insert
	.type	Configtable_insert, @function
Configtable_insert:
.LFB128:
	.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 x4a[rip]
	test	rax, rax
	jne	.L1732
	mov	eax, 0
	jmp	.L1733
.L1732:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	confighash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1734
.L1736:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Configcmp
	test	eax, eax
	jne	.L1735
	mov	eax, 0
	jmp	.L1733
.L1735:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L1734:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1736
	mov	rax, QWORD PTR x4a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1737
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	esi, 32
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1738
	mov	eax, 0
	jmp	.L1733
.L1738:
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1739
.L1740:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1739:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1740
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1741
.L1743:
	mov	rax, QWORD PTR x4a[rip]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	confighash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1742
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1742:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1741:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1743
	mov	rcx, QWORD PTR x4a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1737:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x4a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1744
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1744:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 1
.L1733:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	Configtable_insert, .-Configtable_insert
	.globl	Configtable_find
	.type	Configtable_find, @function
Configtable_find:
.LFB129:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	jne	.L1746
	mov	eax, 0
	jmp	.L1747
.L1746:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	confighash
	mov	edx, eax
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1748
.L1751:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Configcmp
	test	eax, eax
	je	.L1754
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L1748:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1751
	jmp	.L1750
.L1754:
	nop
.L1750:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1752
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1747
.L1752:
	mov	eax, 0
.L1747:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	Configtable_find, .-Configtable_find
	.globl	Configtable_clear
	.type	Configtable_clear, @function
Configtable_clear:
.LFB130:
	.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 x4a[rip]
	test	rax, rax
	je	.L1764
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L1764
	cmp	QWORD PTR -24[rbp], 0
	je	.L1759
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1760
.L1761:
	mov	rax, QWORD PTR x4a[rip]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
	add	DWORD PTR -4[rbp], 1
.L1760:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L1761
.L1759:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1762
.L1763:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -4[rbp], 1
.L1762:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L1763
	mov	rax, QWORD PTR x4a[rip]
	mov	DWORD PTR 4[rax], 0
	jmp	.L1755
.L1764:
	nop
.L1755:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	Configtable_clear, .-Configtable_clear
	.local	actionfreelist.37
	.comm	actionfreelist.37,8,8
	.section	.rodata
	.align 8
	.type	__PRETTY_FUNCTION__.36, @object
	.size	__PRETTY_FUNCTION__.36, 14
__PRETTY_FUNCTION__.36:
	.string	"acttab_insert"
	.align 8
	.type	__PRETTY_FUNCTION__.35, @object
	.size	__PRETTY_FUNCTION__.35, 14
__PRETTY_FUNCTION__.35:
	.string	"FindFirstSets"
	.align 8
	.type	__PRETTY_FUNCTION__.34, @object
	.size	__PRETTY_FUNCTION__.34, 15
__PRETTY_FUNCTION__.34:
	.string	"FindFollowSets"
	.align 16
	.type	__PRETTY_FUNCTION__.33, @object
	.size	__PRETTY_FUNCTION__.33, 17
__PRETTY_FUNCTION__.33:
	.string	"resolve_conflict"
	.align 8
	.type	__PRETTY_FUNCTION__.32, @object
	.size	__PRETTY_FUNCTION__.32, 15
__PRETTY_FUNCTION__.32:
	.string	"Configlist_add"
	.align 16
	.type	__PRETTY_FUNCTION__.31, @object
	.size	__PRETTY_FUNCTION__.31, 20
__PRETTY_FUNCTION__.31:
	.string	"Configlist_addbasis"
	.align 16
	.type	__PRETTY_FUNCTION__.30, @object
	.size	__PRETTY_FUNCTION__.30, 19
__PRETTY_FUNCTION__.30:
	.string	"Configlist_closure"
	.align 8
	.type	__PRETTY_FUNCTION__.29, @object
	.size	__PRETTY_FUNCTION__.29, 15
__PRETTY_FUNCTION__.29:
	.string	"Configlist_eat"
.LC332:
	.string	"b"
	.align 8
.LC333:
	.string	"Print only the basis in report."
.LC334:
	.string	"c"
	.align 8
.LC335:
	.string	"Don't compress the action table."
.LC336:
	.string	"d"
	.align 8
.LC337:
	.string	"Output directory.  Default '.'"
.LC338:
	.string	"D"
.LC339:
	.string	"Define an %ifdef macro."
.LC340:
	.string	"E"
	.align 8
.LC341:
	.string	"Print input file after preprocessing."
.LC342:
	.string	"f"
	.align 8
.LC343:
	.string	"Ignored.  (Placeholder for -f compiler options.)"
.LC344:
	.string	"g"
	.align 8
.LC345:
	.string	"Print grammar without actions."
.LC346:
	.string	"I"
	.align 8
.LC347:
	.string	"Ignored.  (Placeholder for '-I' compiler options.)"
.LC348:
	.string	"m"
	.align 8
.LC349:
	.string	"Output a makeheaders compatible file."
.LC350:
	.string	"l"
	.align 8
.LC351:
	.string	"Do not print #line statements."
.LC352:
	.string	"O"
	.align 8
.LC353:
	.string	"Ignored.  (Placeholder for '-O' compiler options.)"
.LC354:
	.string	"p"
	.align 8
.LC355:
	.string	"Show conflicts resolved by precedence rules"
.LC356:
	.string	"q"
	.align 8
.LC357:
	.string	"(Quiet) Don't print the report file."
.LC358:
	.string	"r"
	.align 8
.LC359:
	.string	"Do not sort or renumber states"
.LC360:
	.string	"s"
	.align 8
.LC361:
	.string	"Print parser stats to standard output."
.LC362:
	.string	"S"
	.align 8
.LC363:
	.string	"Generate the *.sql file describing the parser tables."
.LC364:
	.string	"x"
.LC365:
	.string	"Print the version number."
.LC366:
	.string	"T"
.LC367:
	.string	"Specify a template file."
.LC368:
	.string	"W"
	.align 8
.LC369:
	.string	"Ignored.  (Placeholder for '-W' compiler options.)"
	.section	.data.rel.local,"aw"
	.align 32
	.type	options.28, @object
	.size	options.28, 640
options.28:
	.long	1
	.zero	4
	.quad	.LC332
	.quad	basisflag.26
	.quad	.LC333
	.long	1
	.zero	4
	.quad	.LC334
	.quad	compress.21
	.quad	.LC335
	.long	8
	.zero	4
	.quad	.LC336
	.quad	handle_d_option
	.quad	.LC337
	.long	8
	.zero	4
	.quad	.LC338
	.quad	handle_D_option
	.quad	.LC339
	.long	1
	.zero	4
	.quad	.LC340
	.quad	printPP.24
	.quad	.LC341
	.long	8
	.zero	4
	.quad	.LC342
	.quad	0
	.quad	.LC343
	.long	1
	.zero	4
	.quad	.LC344
	.quad	rpflag.22
	.quad	.LC345
	.long	8
	.zero	4
	.quad	.LC346
	.quad	0
	.quad	.LC347
	.long	1
	.zero	4
	.quad	.LC348
	.quad	mhflag.17
	.quad	.LC349
	.long	1
	.zero	4
	.quad	.LC350
	.quad	nolinenosflag.25
	.quad	.LC351
	.long	8
	.zero	4
	.quad	.LC352
	.quad	0
	.quad	.LC353
	.long	1
	.zero	4
	.quad	.LC354
	.quad	showPrecedenceConflict
	.quad	.LC355
	.long	1
	.zero	4
	.quad	.LC356
	.quad	quiet.19
	.quad	.LC357
	.long	1
	.zero	4
	.quad	.LC358
	.quad	noResort.20
	.quad	.LC359
	.long	1
	.zero	4
	.quad	.LC360
	.quad	statistics.16
	.quad	.LC361
	.long	1
	.zero	4
	.quad	.LC362
	.quad	sqlFlag.18
	.quad	.LC363
	.long	1
	.zero	4
	.quad	.LC364
	.quad	version.27
	.quad	.LC365
	.long	8
	.zero	4
	.quad	.LC366
	.quad	handle_T_option
	.quad	.LC367
	.long	8
	.zero	4
	.quad	.LC368
	.quad	0
	.quad	.LC369
	.long	1
	.zero	4
	.quad	0
	.quad	0
	.quad	0
	.local	version.27
	.comm	version.27,4,4
	.local	basisflag.26
	.comm	basisflag.26,4,4
	.local	nolinenosflag.25
	.comm	nolinenosflag.25,4,4
	.local	printPP.24
	.comm	printPP.24,4,4
	.section	.rodata
	.type	__PRETTY_FUNCTION__.23, @object
	.size	__PRETTY_FUNCTION__.23, 5
__PRETTY_FUNCTION__.23:
	.string	"main"
	.local	rpflag.22
	.comm	rpflag.22,4,4
	.local	compress.21
	.comm	compress.21,4,4
	.local	noResort.20
	.comm	noResort.20,4,4
	.local	quiet.19
	.comm	quiet.19,4,4
	.local	sqlFlag.18
	.comm	sqlFlag.18,4,4
	.local	mhflag.17
	.comm	mhflag.17,4,4
	.local	statistics.16
	.comm	statistics.16,4,4
	.align 8
	.type	__PRETTY_FUNCTION__.15, @object
	.size	__PRETTY_FUNCTION__.15, 13
__PRETTY_FUNCTION__.15:
	.string	"handleswitch"
	.align 8
	.type	__PRETTY_FUNCTION__.14, @object
	.size	__PRETTY_FUNCTION__.14, 8
__PRETTY_FUNCTION__.14:
	.string	"Reprint"
	.data
	.align 8
	.type	templatename.13, @object
	.size	templatename.13, 9
templatename.13:
	.string	"lempar.c"
	.section	.rodata
	.align 16
	.type	__PRETTY_FUNCTION__.12, @object
	.size	__PRETTY_FUNCTION__.12, 21
__PRETTY_FUNCTION__.12:
	.string	"emit_destructor_code"
	.local	used.11
	.comm	used.11,4,4
	.local	z.10
	.comm	z.10,8,8
	.align 8
	.type	__PRETTY_FUNCTION__.9, @object
	.size	__PRETTY_FUNCTION__.9, 11
__PRETTY_FUNCTION__.9:
	.string	"append_str"
	.local	alloced.8
	.comm	alloced.8,4,4
	.local	empty.7
	.comm	empty.7,1,1
	.data
	.type	newlinestr.6, @object
	.size	newlinestr.6, 2
newlinestr.6:
	.string	"\n"
	.section	.rodata
	.align 8
	.type	__PRETTY_FUNCTION__.5, @object
	.size	__PRETTY_FUNCTION__.5, 14
__PRETTY_FUNCTION__.5:
	.string	"axset_compare"
	.align 8
	.type	__PRETTY_FUNCTION__.4, @object
	.size	__PRETTY_FUNCTION__.4, 12
__PRETTY_FUNCTION__.4:
	.string	"ReportTable"
	.align 8
	.type	__PRETTY_FUNCTION__.3, @object
	.size	__PRETTY_FUNCTION__.3, 15
__PRETTY_FUNCTION__.3:
	.string	"CompressTables"
	.align 16
	.type	__PRETTY_FUNCTION__.2, @object
	.size	__PRETTY_FUNCTION__.2, 19
__PRETTY_FUNCTION__.2:
	.string	"stateResortCompare"
	.align 8
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 13
__PRETTY_FUNCTION__.1:
	.string	"ResortStates"
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 7
__PRETTY_FUNCTION__.0:
	.string	"SetAdd"
	.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	"98479.c"
	.text
	.local	made_files
	.comm	made_files,4,4
	.local	made_files_count
	.comm	made_files_count,4,4
	.local	successful_exit
	.comm	successful_exit,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	LemonAtExit, %function
LemonAtExit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L5
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L3
.L4:
	ldr	r3, .L5+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	remove
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L3:
	ldr	r3, .L5+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L4
.L2:
	ldr	r3, .L5+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L5+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L5+4
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L6:
	.align	2
.L5:
	.word	successful_exit
	.word	made_files
	.word	made_files_count
	.size	LemonAtExit, .-LemonAtExit
	.local	showPrecedenceConflict
	.comm	showPrecedenceConflict,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	lemon_addtext, %function
lemon_addtext:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L11
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L9
.L10:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L9:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L10
	b	.L11
.L12:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-12]
	str	r1, [r2]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #4]
	sub	r3, r3, #1
	str	r3, [fp, #4]
.L11:
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bgt	.L12
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L17
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	b	.L15
.L16:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-12]
	str	r1, [r2]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #4]
	add	r3, r3, #1
	str	r3, [fp, #4]
.L15:
	ldr	r3, [fp, #4]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L16
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	b	.L7
.L17:
	nop
.L7:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	lemon_addtext, .-lemon_addtext
	.section	.rodata
	.align	2
.LC0:
	.ascii	"-\000"
	.align	2
.LC1:
	.ascii	"0\000"
	.align	2
.LC2:
	.ascii	".*s\000"
	.align	2
.LC3:
	.ascii	"%\000"
	.align	2
.LC4:
	.ascii	"illegal format\012\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	lemon_vsprintf, %function
lemon_vsprintf:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	ldr	r3, .L39
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-96]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-88]
	b	.L19
.L36:
	ldr	r3, [fp, #-76]
	cmp	r3, #37
	bne	.L20
	mov	r3, #0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-100]
	add	r0, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	sub	r3, r2, r3
	sub	r1, fp, #92
	mov	r2, #0
	str	r2, [sp]
	mov	r2, r0
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-76]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L21
	ldr	r3, [fp, #-76]
	cmp	r3, #45
	bne	.L22
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	ldr	r1, [fp, #-100]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L22
.L21:
	ldr	r3, [fp, #-76]
	cmp	r3, #45
	bne	.L24
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	b	.L24
.L25:
	ldr	r2, [fp, #-72]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-88]
	add	r2, r3, #1
	str	r2, [fp, #-88]
	mov	r2, r3
	ldr	r3, [fp, #-100]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r1, r3
	sub	r3, r3, #48
	str	r3, [fp, #-72]
.L24:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	ldr	r1, [fp, #-100]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L25
	ldr	r3, [fp, #-76]
	cmp	r3, #45
	bne	.L26
	ldr	r3, [fp, #-72]
	rsb	r3, r3, #0
	str	r3, [fp, #-72]
.L26:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-76]
.L22:
	ldr	r3, [fp, #-76]
	cmp	r3, #100
	bne	.L27
	ldr	r3, [fp, #-104]
	add	r2, r3, #4
	str	r2, [fp, #-104]
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bge	.L28
	sub	r1, fp, #92
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	mov	r3, #1
	ldr	r2, .L39+4
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
	ldr	r3, [fp, #-68]
	rsb	r3, r3, #0
	str	r3, [fp, #-68]
	b	.L29
.L28:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L29
	sub	r1, fp, #92
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	mov	r3, #1
	ldr	r2, .L39+8
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
.L29:
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L30
.L31:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	ldr	r1, [fp, #-68]
	ldr	r3, .L39+12
	smull	r2, r3, r1, r3
	asr	r2, r3, #2
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	and	r2, r2, #255
	ldr	r3, [fp, #-80]
	rsb	r3, r3, #50
	add	r2, r2, #48
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-56]
	ldr	r3, [fp, #-68]
	ldr	r2, .L39+12
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-68]
.L30:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bgt	.L31
	ldr	r3, [fp, #-80]
	rsb	r3, r3, #50
	sub	r2, fp, #60
	add	r2, r2, r3
	sub	r1, fp, #92
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	ldr	r3, [fp, #-80]
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
	b	.L32
.L27:
	ldr	r3, [fp, #-76]
	cmp	r3, #115
	bne	.L33
	ldr	r3, [fp, #-104]
	add	r2, r3, #4
	str	r2, [fp, #-104]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	sub	r1, fp, #92
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	mvn	r3, #0
	ldr	r2, [fp, #-64]
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
	b	.L32
.L33:
	ldr	r3, [fp, #-76]
	cmp	r3, #46
	bne	.L34
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	mov	r2, #3
	ldr	r1, .L39+16
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L34
	ldr	r3, [fp, #-88]
	add	r3, r3, #2
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-104]
	add	r2, r3, #4
	str	r2, [fp, #-104]
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-104]
	add	r2, r3, #4
	str	r2, [fp, #-104]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	sub	r1, fp, #92
	ldr	r3, [fp, #-72]
	str	r3, [sp]
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-64]
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
	b	.L32
.L34:
	ldr	r3, [fp, #-76]
	cmp	r3, #37
	bne	.L35
	sub	r1, fp, #92
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #1
	ldr	r2, .L39+20
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
	b	.L32
.L35:
	ldr	r3, .L39+24
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L39+28
	bl	fwrite
	mov	r0, #1
	bl	exit
.L32:
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L20:
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L19:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L36
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-100]
	add	r0, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	sub	r3, r2, r3
	sub	r1, fp, #92
	mov	r2, #0
	str	r2, [sp]
	mov	r2, r0
	ldr	r0, [fp, #-96]
	bl	lemon_addtext
	ldr	r3, [fp, #-92]
	ldr	r2, .L39
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L38
	bl	__stack_chk_fail
.L38:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L40:
	.align	2
.L39:
	.word	.LC5
	.word	.LC0
	.word	.LC1
	.word	1717986919
	.word	.LC2
	.word	.LC3
	.word	stderr
	.word	.LC4
	.size	lemon_vsprintf, .-lemon_vsprintf
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	lemon_sprintf, %function
lemon_sprintf:
	@ args = 4, pretend = 12, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #28
	str	r0, [fp, #-28]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-32]
	ldr	r3, .L44
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	lemon_vsprintf
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L44
	ldr	r1, [r2]
	ldr	r2, [fp, #-12]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L43
	bl	__stack_chk_fail
.L43:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #12
	bx	lr
.L45:
	.align	2
.L44:
	.word	.LC6
	.size	lemon_sprintf, .-lemon_sprintf
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	lemon_strcpy, %function
lemon_strcpy:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	nop
.L47:
	ldr	r2, [fp, #-12]
	add	r3, r2, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L47
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	lemon_strcpy, .-lemon_strcpy
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	lemon_strcat, %function
lemon_strcat:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L49
.L50:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L49:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L50
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	lemon_strcpy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	lemon_strcat, .-lemon_strcat
	.section	.rodata
	.align	2
.LC7:
	.ascii	"Unable to allocate memory for a new parser action.\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Action_new, %function
Action_new:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L57
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L52
	mov	r3, #100
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r1, #24
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L57
	str	r2, [r3]
	ldr	r3, .L57
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L53
	ldr	r3, .L57+4
	ldr	r3, [r3]
	mov	r2, #50
	mov	r1, #1
	ldr	r0, .L57+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L53:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L54
.L55:
	ldr	r3, .L57
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	ip, r3
	ldr	r3, .L57
	ldr	r0, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r0, r3
	add	r2, r1, ip
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L54:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L55
	ldr	r3, .L57
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, #24
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3, #16]
.L52:
	ldr	r3, .L57
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L57
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r2, .L57
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L58:
	.align	2
.L57:
	.word	actionfreelist.6404
	.word	stderr
	.word	.LC7
	.size	Action_new, .-Action_new
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	actioncmp, %function
actioncmp:
	@ 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]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L60
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L60:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L61
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	beq	.L62
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #10
	bne	.L61
.L62:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #48]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L61:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L63
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	asr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r1, r3, #4
	add	r3, r3, r1
	lsl	r1, r3, #8
	add	r3, r3, r1
	lsl	r1, r3, #16
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	str	r3, [fp, #-8]
.L63:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	actioncmp, .-actioncmp
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Action_sort, %function
Action_sort:
	@ 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]
	add	r3, r3, #16
	ldr	r2, .L67
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	msort
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L68:
	.align	2
.L67:
	.word	actioncmp
	.size	Action_sort, .-Action_sort
	.align	2
	.global	Action_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	Action_add, %function
Action_add:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	bl	Action_new
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L70
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
	b	.L72
.L70:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
.L72:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Action_add, .-Action_add
	.align	2
	.global	acttab_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_free, %function
acttab_free:
	@ 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]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	acttab_free, .-acttab_free
	.section	.rodata
	.align	2
.LC8:
	.ascii	"Unable to allocate memory for a new acttab.\000"
	.text
	.align	2
	.global	acttab_alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_alloc, %function
acttab_alloc:
	@ 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]
	mov	r1, #44
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L75
	ldr	r3, .L77
	ldr	r3, [r3]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L77+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L75:
	mov	r2, #44
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L78:
	.align	2
.L77:
	.word	stderr
	.word	.LC8
	.size	acttab_alloc, .-acttab_alloc
	.section	.rodata
	.align	2
.LC9:
	.ascii	"malloc failed\012\000"
	.text
	.align	2
	.global	acttab_action
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_action, %function
acttab_action:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	blt	.L80
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	add	r2, r3, #25
	ldr	r3, [fp, #-8]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	lsl	r3, r3, #3
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L80
	ldr	r3, .L84
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L84+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L80:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	b	.L82
.L81:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #24]
.L83:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L82
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
.L82:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L85:
	.align	2
.L84:
	.word	stderr
	.word	.LC9
	.size	acttab_action, .-acttab_action
	.section	.rodata
	.align	2
.LC10:
	.ascii	"the_stack_data/98479.c\000"
	.align	2
.LC11:
	.ascii	"p->nLookahead>0\000"
	.text
	.align	2
	.global	acttab_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_insert, %function
acttab_insert:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bgt	.L87
	ldr	r3, .L141
	ldr	r2, .L141+4
	ldr	r1, .L141+8
	ldr	r0, .L141+12
	bl	__assert_fail
.L87:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #40]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	blt	.L88
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	add	r2, r3, #20
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #3
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L89
	ldr	r3, .L141+16
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L141+20
	bl	fwrite
	mov	r0, #1
	bl	exit
.L89:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-28]
	b	.L90
.L91:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L90:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L91
.L88:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L92
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	b	.L93
.L92:
	mov	r3, #0
.L93:
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L94
.L108:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bne	.L95
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L130
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L97
.L101:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L98
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L98
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L131
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L132
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L97:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L101
	b	.L98
.L131:
	nop
	b	.L98
.L132:
	nop
.L98:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L133
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L103
.L106:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L134
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-24]
	add	r1, r1, r3
	ldr	r3, [fp, #-28]
	sub	r3, r1, r3
	cmp	r2, r3
	bne	.L105
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L105
.L134:
	nop
.L105:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L103:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L106
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	beq	.L135
	b	.L95
.L130:
	nop
	b	.L95
.L133:
	nop
.L95:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L94:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bge	.L108
	b	.L107
.L135:
	nop
.L107:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bge	.L109
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L110
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	b	.L111
.L110:
	mov	r3, #0
.L111:
	str	r3, [fp, #-28]
	b	.L112
.L124:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L113
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L114
.L118:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L136
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L137
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L114:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L118
	b	.L116
.L136:
	nop
	b	.L116
.L137:
	nop
.L116:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L138
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L120
.L123:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-24]
	add	r1, r1, r3
	ldr	r3, [fp, #-28]
	sub	r3, r1, r3
	cmp	r2, r3
	beq	.L139
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L120:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L123
	b	.L122
.L139:
	nop
.L122:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L140
	b	.L113
.L138:
	nop
.L113:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L112:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L124
	b	.L109
.L140:
	nop
.L109:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L125
.L127:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r1, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L126
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3]
.L126:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L125:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L127
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L128
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L128
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3]
.L128:
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-28]
	sub	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L142:
	.align	2
.L141:
	.word	__PRETTY_FUNCTION__.6466
	.word	710
	.word	.LC10
	.word	.LC11
	.word	stderr
	.word	.LC9
	.size	acttab_insert, .-acttab_insert
	.align	2
	.global	acttab_action_size
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_action_size, %function
acttab_action_size:
	@ 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]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L144
.L146:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L144:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L145
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L146
.L145:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	acttab_action_size, .-acttab_action_size
	.align	2
	.global	FindRulePrecedences
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindRulePrecedences, %function
FindRulePrecedences:
	@ 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]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L149
.L159:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	bne	.L150
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L151
.L158:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L152
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L153
.L156:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L154
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #44]
	b	.L157
.L154:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L153:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L156
	b	.L157
.L152:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L157
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #44]
.L157:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L151:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L150
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L158
.L150:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-20]
.L149:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L159
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	FindRulePrecedences, .-FindRulePrecedences
	.section	.rodata
	.align	2
.LC12:
	.ascii	"sp->type==NONTERMINAL || sp->lambda==LEMON_FALSE\000"
	.text
	.align	2
	.global	FindFirstSets
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindFirstSets, %function
FindFirstSets:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L162
.L163:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L162:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L163
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-40]
	b	.L164
.L165:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r4, [r3]
	bl	SetNew
	mov	r3, r0
	str	r3, [r4, #28]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L164:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L165
.L175:
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	b	.L166
.L174:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L189
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L169
.L173:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	beq	.L170
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L170
	ldr	r3, .L192
	ldr	r2, .L192+4
	ldr	r1, .L192+8
	ldr	r0, .L192+12
	bl	__assert_fail
.L170:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L190
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L169:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L173
	b	.L172
.L190:
	nop
.L172:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bne	.L168
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L168
.L189:
	nop
.L168:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-32]
.L166:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L174
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L175
.L187:
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	b	.L176
.L186:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L177
.L185:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L178
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	SetAdd
	mov	r2, r0
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	b	.L179
.L178:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L180
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L181
.L182:
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #28]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r1, r3
	bl	SetAdd
	mov	r2, r0
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L181:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L182
	b	.L179
.L180:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L183
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L184
	b	.L179
.L183:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	mov	r1, r3
	mov	r0, r2
	bl	SetUnion
	mov	r2, r0
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L191
.L184:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L177:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L185
	b	.L179
.L191:
	nop
.L179:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-32]
.L176:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L186
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L187
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L193:
	.align	2
.L192:
	.word	__PRETTY_FUNCTION__.6533
	.word	887
	.word	.LC10
	.word	.LC12
	.size	FindFirstSets, .-FindFirstSets
	.section	.rodata
	.align	2
.LC13:
	.ascii	"The specified start symbol \"%s\" is not in a nonte"
	.ascii	"rminal of the grammar.  \"%s\" will be used as the "
	.ascii	"start symbol instead.\000"
	.align	2
.LC14:
	.ascii	"Internal error - no start rule\012\000"
	.align	2
.LC15:
	.ascii	"The start symbol \"%s\" occurs on the right-hand si"
	.ascii	"de of a rule. This will result in a parser which do"
	.ascii	"es not work properly.\000"
	.text
	.align	2
	.global	FindStates
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindStates, %function
FindStates:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	bl	Configlist_init
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L195
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #96]
	mov	r0, r3
	bl	Symbol_find
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L196
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #96]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L206
	mov	r1, #0
	bl	ErrorMsg
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L196
.L195:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L197
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L196
.L197:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #136]
	ldr	r2, .L206+4
	mov	r1, #0
	mov	r0, r3
	bl	ErrorMsg
	mov	r0, #1
	bl	exit
.L196:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	b	.L198
.L202:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L199
.L201:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L200
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, .L206+8
	mov	r1, #0
	bl	ErrorMsg
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #64]
.L200:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L199:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L201
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-16]
.L198:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L202
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	b	.L203
.L204:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #8]
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	Configlist_addbasis
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r1, #0
	mov	r0, r3
	bl	SetAdd
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #76]
	str	r3, [fp, #-16]
.L203:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L204
	ldr	r0, [fp, #-24]
	bl	getstate
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L207:
	.align	2
.L206:
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.size	FindStates, .-FindStates
	.align	2
	.global	getstate
	.syntax unified
	.arm
	.fpu softvfp
	.type	getstate, %function
getstate:
	@ 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]
	bl	Configlist_sortbasis
	bl	Configlist_basis
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	State_find
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L209
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L210
.L212:
	ldr	r3, [fp, #-16]
	add	r2, r3, #16
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	mov	r1, r3
	mov	r0, r2
	bl	Plink_copy
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Plink_delete
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
.L210:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L211
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L212
.L211:
	bl	Configlist_return
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	Configlist_eat
	b	.L213
.L209:
	ldr	r0, [fp, #-32]
	bl	Configlist_closure
	bl	Configlist_sort
	bl	Configlist_return
	str	r0, [fp, #-8]
	bl	State_new
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L214
	bl	memory_error
.L214:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	add	r1, r3, #1
	ldr	r2, [fp, #-32]
	str	r1, [r2, #12]
	ldr	r2, [fp, #-24]
	str	r3, [r2, #8]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	State_insert
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	buildshifts
.L213:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	getstate, .-getstate
	.align	2
	.global	same_symbol
	.syntax unified
	.arm
	.fpu softvfp
	.type	same_symbol, %function
same_symbol:
	@ 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	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L217
	mov	r3, #1
	b	.L218
.L217:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L219
	mov	r3, #0
	b	.L218
.L219:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L220
	mov	r3, #0
	b	.L218
.L220:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L221
	mov	r3, #0
	b	.L218
.L221:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L222
.L224:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #64]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L223
	mov	r3, #0
	b	.L218
.L223:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L222:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L224
	mov	r3, #1
.L218:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	same_symbol, .-same_symbol
	.align	2
	.global	buildshifts
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildshifts, %function
buildshifts:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	b	.L226
.L227:
	ldr	r3, [fp, #-32]
	mov	r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-32]
.L226:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L227
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	b	.L228
.L241:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L242
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bge	.L243
	bl	Configlist_reset
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	b	.L232
.L237:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L244
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bge	.L245
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	same_symbol
	mov	r3, r0
	cmp	r3, #0
	beq	.L246
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	Configlist_addbasis
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	Plink_add
	b	.L234
.L244:
	nop
	b	.L234
.L245:
	nop
	b	.L234
.L246:
	nop
.L234:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-28]
.L232:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L237
	ldr	r0, [fp, #-40]
	bl	getstate
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L238
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L239
.L240:
	ldr	r3, [fp, #-44]
	add	r0, r3, #12
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r1, #0
	bl	Action_add
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L239:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L240
	b	.L230
.L238:
	ldr	r3, [fp, #-44]
	add	r0, r3, #12
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	mov	r1, #0
	bl	Action_add
	b	.L230
.L242:
	nop
	b	.L230
.L243:
	nop
.L230:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-32]
.L228:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L241
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	buildshifts, .-buildshifts
	.align	2
	.global	FindLinks
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindLinks, %function
FindLinks:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L248
.L253:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L249
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	b	.L250
.L249:
	mov	r3, #0
.L250:
	str	r3, [fp, #-20]
	b	.L251
.L252:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L251:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L252
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L248:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L253
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L254
.L261:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L255
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	b	.L256
.L255:
	mov	r3, #0
.L256:
	str	r3, [fp, #-20]
	b	.L257
.L260:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	b	.L258
.L259:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Plink_add
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L258:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L259
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L257:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L260
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L254:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L261
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FindLinks, .-FindLinks
	.section	.rodata
	.align	2
.LC16:
	.ascii	"lemp->sorted[i]!=0\000"
	.text
	.align	2
	.global	FindFollowSets
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindFollowSets, %function
FindFollowSets:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L263
.L267:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L264
	ldr	r3, .L280
	ldr	r2, .L280+4
	ldr	r1, .L280+8
	ldr	r0, .L280+12
	bl	__assert_fail
.L264:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L265
.L266:
	ldr	r3, [fp, #-20]
	mov	r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L265:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L266
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L263:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L267
.L278:
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L268
.L277:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L269
	ldr	r3, .L280
	ldr	r2, .L280+16
	ldr	r1, .L280+8
	ldr	r0, .L280+12
	bl	__assert_fail
.L269:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L270
.L276:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L279
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	b	.L273
.L275:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r0, r2
	bl	SetUnion
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L274
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #24]
	mov	r3, #1
	str	r3, [fp, #-12]
.L274:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L273:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L275
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #24]
	b	.L272
.L279:
	nop
.L272:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L270:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L276
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L268:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L277
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L278
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L281:
	.align	2
.L280:
	.word	__PRETTY_FUNCTION__.6653
	.word	1149
	.word	.LC10
	.word	.LC16
	.word	1158
	.size	FindFollowSets, .-FindFollowSets
	.section	.rodata
	.align	2
.LC17:
	.ascii	"internal error on source line %d: no start rule\012"
	.ascii	"\000"
	.align	2
.LC18:
	.ascii	"This rule can not be reduced.\012\000"
	.text
	.align	2
	.global	FindActions
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindActions, %function
FindActions:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L283
.L290:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	b	.L284
.L289:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L285
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L286
.L288:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L287
	ldr	r3, [fp, #-8]
	add	r0, r3, #12
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, #2
	bl	Action_add
.L287:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L286:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L288
.L285:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-32]
.L284:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L289
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L283:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L290
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L291
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #96]
	mov	r0, r3
	bl	Symbol_find
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L292
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L293
	ldr	r3, .L314
	ldr	r3, [r3]
	ldr	r2, .L314+4
	ldr	r1, .L314+8
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L293:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L292
.L291:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
.L292:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r0, r3, #12
	mov	r3, #0
	ldr	r2, [fp, #-28]
	mov	r1, #1
	bl	Action_add
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L294
.L301:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Action_sort
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
	b	.L295
.L300:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	b	.L296
.L298:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	resolve_conflict
	mov	r2, r0
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #148]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #148]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
.L296:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L297
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L298
.L297:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-20]
.L295:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L299
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L300
.L299:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L294:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L301
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	b	.L302
.L303:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #64]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-24]
.L302:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L303
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L304
.L308:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
	b	.L305
.L307:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L306
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	mov	r2, #1
	str	r2, [r3, #64]
.L306:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
.L305:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L307
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L304:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L308
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	b	.L309
.L312:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #64]
	cmp	r3, #0
	bne	.L313
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, .L314+12
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #64]
	b	.L311
.L313:
	nop
.L311:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-24]
.L309:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L312
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L315:
	.align	2
.L314:
	.word	stderr
	.word	1211
	.word	.LC17
	.word	.LC18
	.size	FindActions, .-FindActions
	.section	.rodata
	.align	2
.LC19:
	.ascii	"apx->sp==apy->sp\000"
	.align	2
.LC20:
	.ascii	"spx->prec==spy->prec && spx->assoc==NONE\000"
	.align	2
.LC21:
	.ascii	"apx->type==SH_RESOLVED || apx->type==RD_RESOLVED ||"
	.ascii	" apx->type==SSCONFLICT || apx->type==SRCONFLICT || "
	.ascii	"apx->type==RRCONFLICT || apy->type==SH_RESOLVED || "
	.ascii	"apy->type==RD_RESOLVED || apy->type==SSCONFLICT || "
	.ascii	"apy->type==SRCONFLICT || apy->type==RRCONFLICT\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	resolve_conflict, %function
resolve_conflict:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L317
	ldr	r3, .L338
	ldr	r2, .L338+4
	ldr	r1, .L338+8
	ldr	r0, .L338+12
	bl	__assert_fail
.L317:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L318
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L318
	ldr	r3, [fp, #-28]
	mov	r2, #4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L318:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L319
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L319
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L320
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L320
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bge	.L321
.L320:
	ldr	r3, [fp, #-28]
	mov	r2, #5
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L322
.L321:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	ble	.L323
	ldr	r3, [fp, #-28]
	mov	r2, #8
	str	r2, [r3, #4]
	b	.L329
.L323:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L324
	ldr	r3, [fp, #-24]
	mov	r2, #7
	str	r2, [r3, #4]
	b	.L329
.L324:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L325
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bne	.L325
	ldr	r3, [fp, #-28]
	mov	r2, #8
	str	r2, [r3, #4]
	b	.L322
.L325:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L326
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L326
	ldr	r3, [fp, #-24]
	mov	r2, #7
	str	r2, [r3, #4]
	b	.L322
.L326:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L327
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #2
	beq	.L336
.L327:
	ldr	r3, .L338
	ldr	r2, .L338+16
	ldr	r1, .L338+8
	ldr	r0, .L338+20
	bl	__assert_fail
.L336:
	ldr	r3, [fp, #-24]
	mov	r2, #3
	str	r2, [r3, #4]
	b	.L329
.L322:
	b	.L329
.L319:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L330
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L330
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L331
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L331
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L331
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L331
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L332
.L331:
	ldr	r3, [fp, #-28]
	mov	r2, #6
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L337
.L332:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	ble	.L334
	ldr	r3, [fp, #-28]
	mov	r2, #8
	str	r2, [r3, #4]
	b	.L337
.L334:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L337
	ldr	r3, [fp, #-24]
	mov	r2, #8
	str	r2, [r3, #4]
	b	.L337
.L330:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #7
	beq	.L329
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #8
	beq	.L329
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	beq	.L329
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #5
	beq	.L329
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #6
	beq	.L329
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #7
	beq	.L329
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #8
	beq	.L329
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	beq	.L329
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #5
	beq	.L329
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #6
	beq	.L329
	ldr	r3, .L338
	ldr	r2, .L338+24
	ldr	r1, .L338+8
	ldr	r0, .L338+28
	bl	__assert_fail
.L337:
	nop
.L329:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L339:
	.align	2
.L338:
	.word	__PRETTY_FUNCTION__.6725
	.word	1273
	.word	.LC10
	.word	.LC19
	.word	1294
	.word	.LC20
	.word	1310
	.word	.LC21
	.size	resolve_conflict, .-resolve_conflict
	.local	freelist
	.comm	freelist,4,4
	.local	current
	.comm	current,4,4
	.local	currentend
	.comm	currentend,4,4
	.local	basis
	.comm	basis,4,4
	.local	basisend
	.comm	basisend,4,4
	.align	2
	.global	newconfig
	.syntax unified
	.arm
	.fpu softvfp
	.type	newconfig, %function
newconfig:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r1, #36
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	newconfig, .-newconfig
	.align	2
	.global	deleteconfig
	.syntax unified
	.arm
	.fpu softvfp
	.type	deleteconfig, %function
deleteconfig:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L343
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
	ldr	r2, .L343
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L344:
	.align	2
.L343:
	.word	freelist
	.size	deleteconfig, .-deleteconfig
	.align	2
	.global	Configlist_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_init, %function
Configlist_init:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L347
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L347+4
	ldr	r2, .L347
	str	r2, [r3]
	ldr	r3, .L347+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L347+12
	ldr	r2, .L347+8
	str	r2, [r3]
	bl	Configtable_init
	nop
	pop	{fp, pc}
.L348:
	.align	2
.L347:
	.word	current
	.word	currentend
	.word	basis
	.word	basisend
	.size	Configlist_init, .-Configlist_init
	.align	2
	.global	Configlist_reset
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_reset, %function
Configlist_reset:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L351
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L351+4
	ldr	r2, .L351
	str	r2, [r3]
	ldr	r3, .L351+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L351+12
	ldr	r2, .L351+8
	str	r2, [r3]
	mov	r0, #0
	bl	Configtable_clear
	nop
	pop	{fp, pc}
.L352:
	.align	2
.L351:
	.word	current
	.word	currentend
	.word	basis
	.word	basisend
	.size	Configlist_reset, .-Configlist_reset
	.section	.rodata
	.align	2
.LC22:
	.ascii	"currentend!=0\000"
	.align	2
.LC23:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Configlist_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_add, %function
Configlist_add:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L358
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L358+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L354
	ldr	r3, .L358+8
	ldr	r2, .L358+12
	ldr	r1, .L358+16
	ldr	r0, .L358+20
	bl	__assert_fail
.L354:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	mov	r0, r3
	bl	Configtable_find
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L355
	bl	newconfig
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	bl	SetNew
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, .L358+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #28
	ldr	r2, .L358+4
	str	r3, [r2]
	ldr	r0, [fp, #-48]
	bl	Configtable_insert
.L355:
	ldr	r3, [fp, #-48]
	ldr	r2, .L358
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L357
	bl	__stack_chk_fail
.L357:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L359:
	.align	2
.L358:
	.word	.LC23
	.word	currentend
	.word	__PRETTY_FUNCTION__.6749
	.word	1379
	.word	.LC10
	.word	.LC22
	.size	Configlist_add, .-Configlist_add
	.section	.rodata
	.align	2
.LC24:
	.ascii	"basisend!=0\000"
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Configlist_addbasis
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_addbasis, %function
Configlist_addbasis:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L366
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L366+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L361
	ldr	r3, .L366+8
	ldr	r2, .L366+12
	ldr	r1, .L366+16
	ldr	r0, .L366+20
	bl	__assert_fail
.L361:
	ldr	r3, .L366+24
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L362
	ldr	r3, .L366+8
	ldr	r2, .L366+28
	ldr	r1, .L366+16
	ldr	r0, .L366+32
	bl	__assert_fail
.L362:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	mov	r0, r3
	bl	Configtable_find
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L363
	bl	newconfig
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	bl	SetNew
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, .L366+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #28
	ldr	r2, .L366+24
	str	r3, [r2]
	ldr	r3, .L366+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #32
	ldr	r2, .L366+4
	str	r3, [r2]
	ldr	r0, [fp, #-48]
	bl	Configtable_insert
.L363:
	ldr	r3, [fp, #-48]
	ldr	r2, .L366
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L365
	bl	__stack_chk_fail
.L365:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L367:
	.align	2
.L366:
	.word	.LC25
	.word	basisend
	.word	__PRETTY_FUNCTION__.6756
	.word	1404
	.word	.LC10
	.word	.LC24
	.word	currentend
	.word	1405
	.word	.LC22
	.size	Configlist_addbasis, .-Configlist_addbasis
	.section	.rodata
	.align	2
.LC26:
	.ascii	"Nonterminal \"%s\" has no rules.\000"
	.text
	.align	2
	.global	Configlist_closure
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_closure, %function
Configlist_closure:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L389
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L369
	ldr	r3, .L389+4
	ldr	r2, .L389+8
	ldr	r1, .L389+12
	ldr	r0, .L389+16
	bl	__assert_fail
.L369:
	ldr	r3, .L389+20
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	b	.L370
.L385:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L387
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L372
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L373
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #68]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L373
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, .L389+24
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #64]
.L373:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-36]
	b	.L374
.L384:
	mov	r1, #0
	ldr	r0, [fp, #-36]
	bl	Configlist_add
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L375
.L382:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L376
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	SetAdd
	b	.L377
.L376:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L378
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L379
.L380:
	ldr	r3, [fp, #-12]
	ldr	r0, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r1, r3
	bl	SetAdd
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L379:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L380
	b	.L377
.L378:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	mov	r1, r3
	mov	r0, r2
	bl	SetUnion
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L388
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L375:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L382
	b	.L377
.L388:
	nop
.L377:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L383
	ldr	r3, [fp, #-40]
	add	r3, r3, #12
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	Plink_add
.L383:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #76]
	str	r3, [fp, #-36]
.L374:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L384
	b	.L372
.L387:
	nop
.L372:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-40]
.L370:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L385
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L390:
	.align	2
.L389:
	.word	currentend
	.word	__PRETTY_FUNCTION__.6768
	.word	1435
	.word	.LC10
	.word	.LC22
	.word	current
	.word	.LC26
	.size	Configlist_closure, .-Configlist_closure
	.align	2
	.global	Configlist_sort
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_sort, %function
Configlist_sort:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L393
	ldr	r0, [r3]
	ldr	r3, .L393
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r2, .L393+4
	mov	r1, r3
	bl	msort
	mov	r3, r0
	ldr	r2, .L393
	str	r3, [r2]
	ldr	r3, .L393+8
	mov	r2, #0
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L394:
	.align	2
.L393:
	.word	current
	.word	Configcmp
	.word	currentend
	.size	Configlist_sort, .-Configlist_sort
	.align	2
	.global	Configlist_sortbasis
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_sortbasis, %function
Configlist_sortbasis:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L397
	ldr	r0, [r3]
	ldr	r3, .L397
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r2, .L397+4
	mov	r1, r3
	bl	msort
	mov	r3, r0
	ldr	r2, .L397+8
	str	r3, [r2]
	ldr	r3, .L397+12
	mov	r2, #0
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L398:
	.align	2
.L397:
	.word	current
	.word	Configcmp
	.word	basis
	.word	basisend
	.size	Configlist_sortbasis, .-Configlist_sortbasis
	.align	2
	.global	Configlist_return
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_return, %function
Configlist_return:
	@ 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
	ldr	r3, .L401
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L401
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L401+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L402:
	.align	2
.L401:
	.word	current
	.word	currentend
	.size	Configlist_return, .-Configlist_return
	.align	2
	.global	Configlist_basis
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_basis, %function
Configlist_basis:
	@ 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
	ldr	r3, .L405
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L405
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L405+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L406:
	.align	2
.L405:
	.word	basis
	.word	basisend
	.size	Configlist_basis, .-Configlist_basis
	.section	.rodata
	.align	2
.LC27:
	.ascii	"cfp->fplp==0\000"
	.align	2
.LC28:
	.ascii	"cfp->bplp==0\000"
	.text
	.align	2
	.global	Configlist_eat
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_eat, %function
Configlist_eat:
	@ 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]
	b	.L408
.L412:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L409
	ldr	r3, .L414
	ldr	r2, .L414+4
	ldr	r1, .L414+8
	ldr	r0, .L414+12
	bl	__assert_fail
.L409:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L410
	ldr	r3, .L414
	ldr	r2, .L414+16
	ldr	r1, .L414+8
	ldr	r0, .L414+20
	bl	__assert_fail
.L410:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L411
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	SetFree
.L411:
	ldr	r0, [fp, #-16]
	bl	deleteconfig
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L408:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L412
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L415:
	.align	2
.L414:
	.word	__PRETTY_FUNCTION__.6801
	.word	1514
	.word	.LC10
	.word	.LC27
	.word	1515
	.word	.LC28
	.size	Configlist_eat, .-Configlist_eat
	.section	.rodata
	.align	2
.LC29:
	.ascii	"%s:%d: \000"
	.align	2
.LC30:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ErrorMsg
	.syntax unified
	.arm
	.fpu softvfp
	.type	ErrorMsg, %function
ErrorMsg:
	@ args = 4, pretend = 8, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-24]
	ldr	r3, .L418
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L418+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, .L418+8
	bl	fprintf
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r3, .L418+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	vfprintf
	ldr	r3, .L418+4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	nop
	ldr	r3, .L418
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L417
	bl	__stack_chk_fail
.L417:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #8
	bx	lr
.L419:
	.align	2
.L418:
	.word	.LC30
	.word	stderr
	.word	.LC29
	.size	ErrorMsg, .-ErrorMsg
	.section	.rodata
	.align	2
.LC31:
	.ascii	"Out of memory.  Aborting...\012\000"
	.text
	.align	2
	.global	memory_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	memory_error, %function
memory_error:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L421
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L421+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L422:
	.align	2
.L421:
	.word	stderr
	.word	.LC31
	.size	memory_error, .-memory_error
	.local	nDefine
	.comm	nDefine,4,4
	.local	azDefine
	.comm	azDefine,4,4
	.section	.rodata
	.align	2
.LC32:
	.ascii	"out of memory\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_D_option, %function
handle_D_option:
	@ 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, .L429
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L429
	str	r3, [r2]
	ldr	r3, .L429+4
	ldr	r3, [r3]
	ldr	r2, .L429
	ldr	r2, [r2]
	lsl	r2, r2, #2
	mov	r1, r2
	mov	r0, r3
	bl	realloc
	mov	r3, r0
	ldr	r2, .L429+4
	str	r3, [r2]
	ldr	r3, .L429+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L424
	ldr	r3, .L429+8
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L429+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L424:
	ldr	r3, .L429+4
	ldr	r2, [r3]
	ldr	r3, .L429
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L425
	ldr	r3, .L429+8
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L429+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L425:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	lemon_strcpy
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L426
.L428:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L426:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L427
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L428
.L427:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L430:
	.align	2
.L429:
	.word	nDefine
	.word	azDefine
	.word	stderr
	.word	.LC32
	.size	handle_D_option, .-handle_D_option
	.local	outputDir
	.comm	outputDir,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_d_option, %function
handle_d_option:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L433
	str	r2, [r3]
	ldr	r3, .L433
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L432
	ldr	r3, .L433+4
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L433+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L432:
	ldr	r3, .L433
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	lemon_strcpy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L434:
	.align	2
.L433:
	.word	outputDir
	.word	stderr
	.word	.LC32
	.size	handle_d_option, .-handle_d_option
	.local	user_templatename
	.comm	user_templatename,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_T_option, %function
handle_T_option:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L437
	str	r2, [r3]
	ldr	r3, .L437
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L436
	bl	memory_error
.L436:
	ldr	r3, .L437
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	lemon_strcpy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L438:
	.align	2
.L437:
	.word	user_templatename
	.size	handle_T_option, .-handle_T_option
	.section	.rodata
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Rule_merge, %function
Rule_merge:
	@ 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, .L448
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-16]
	sub	r3, fp, #16
	str	r3, [fp, #-12]
	b	.L440
.L443:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bge	.L441
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #80
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-24]
	b	.L440
.L441:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #80
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-28]
.L440:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L442
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L443
.L442:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L444
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L445
.L444:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
.L445:
	ldr	r3, [fp, #-16]
	ldr	r2, .L448
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L447
	bl	__stack_chk_fail
.L447:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L449:
	.align	2
.L448:
	.word	.LC33
	.size	Rule_merge, .-Rule_merge
	.section	.rodata
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Rule_sort, %function
Rule_sort:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-152]
	ldr	r3, .L460
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #136
	mov	r2, #128
	mov	r1, #0
	mov	r0, r3
	bl	memset
	b	.L451
.L455:
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-152]
	mov	r2, #0
	str	r2, [r3, #80]
	mov	r3, #0
	str	r3, [fp, #-144]
	b	.L452
.L454:
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-132]
	ldr	r1, [fp, #-152]
	mov	r0, r3
	bl	Rule_merge
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-132]
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L452:
	ldr	r3, [fp, #-144]
	cmp	r3, #30
	bhi	.L453
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-132]
	cmp	r3, #0
	bne	.L454
.L453:
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-152]
	str	r2, [r3, #-132]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-152]
.L451:
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L455
	mov	r3, #0
	str	r3, [fp, #-152]
	mov	r3, #0
	str	r3, [fp, #-144]
	b	.L456
.L457:
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-132]
	ldr	r1, [fp, #-152]
	mov	r0, r3
	bl	Rule_merge
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
.L456:
	ldr	r3, [fp, #-144]
	cmp	r3, #31
	bls	.L457
	ldr	r3, [fp, #-152]
	ldr	r2, .L460
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L459
	bl	__stack_chk_fail
.L459:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L461:
	.align	2
.L460:
	.word	.LC34
	.size	Rule_sort, .-Rule_sort
	.section	.rodata
	.align	2
.LC35:
	.ascii	"................................\000"
	.align	2
.LC36:
	.ascii	"  %s%.*s %5d\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stats_line, %function
stats_line:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	rsb	r2, r3, #35
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, .L463
	ldr	r1, [fp, #-16]
	ldr	r0, .L463+4
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L464:
	.align	2
.L463:
	.word	.LC35
	.word	.LC36
	.size	stats_line, .-stats_line
	.section	.rodata
	.align	2
.LC37:
	.ascii	"Lemon version 1.0\000"
	.align	2
.LC38:
	.ascii	" (...with MojoShader hacks.)\000"
	.align	2
.LC39:
	.ascii	"Exactly one filename argument is required.\012\000"
	.align	2
.LC40:
	.ascii	"$\000"
	.align	2
.LC41:
	.ascii	"Empty grammar.\012\000"
	.align	2
.LC42:
	.ascii	"error\000"
	.align	2
.LC43:
	.ascii	"{default}\000"
	.align	2
.LC44:
	.ascii	"strcmp(lem.symbols[i-1]->name,\"{default}\")==0\000"
	.align	2
.LC45:
	.ascii	"Parser statistics:\000"
	.align	2
.LC46:
	.ascii	"terminal symbols\000"
	.align	2
.LC47:
	.ascii	"non-terminal symbols\000"
	.align	2
.LC48:
	.ascii	"total symbols\000"
	.align	2
.LC49:
	.ascii	"rules\000"
	.align	2
.LC50:
	.ascii	"states\000"
	.align	2
.LC51:
	.ascii	"conflicts\000"
	.align	2
.LC52:
	.ascii	"action table entries\000"
	.align	2
.LC53:
	.ascii	"lookahead table entries\000"
	.align	2
.LC54:
	.ascii	"total table size (bytes)\000"
	.align	2
.LC55:
	.ascii	"%d parsing conflicts (%d expected).\012\000"
	.align	2
.LC56:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 216
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #216
	str	r0, [fp, #-216]
	str	r1, [fp, #-220]
	ldr	r3, .L499
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L499+4
	bl	atexit
	ldr	r3, .L499+8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L499+12
	ldr	r0, [fp, #-220]
	bl	OptInit
	ldr	r3, .L499+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L466
	ldr	r0, .L499+20
	bl	puts
	ldr	r0, .L499+24
	bl	puts
	mov	r0, #0
	bl	exit
.L466:
	bl	OptNArgs
	mov	r3, r0
	cmp	r3, #1
	beq	.L467
	ldr	r3, .L499+8
	ldr	r3, [r3]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L499+28
	bl	fwrite
	mov	r0, #1
	bl	exit
.L467:
	sub	r3, fp, #196
	mov	r2, #188
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-132]
	mvn	r3, #0
	str	r3, [fp, #-44]
	bl	Strsafe_init
	bl	Symbol_init
	bl	State_init
	ldr	r3, [fp, #-220]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r0, #0
	bl	OptArg
	mov	r3, r0
	str	r3, [fp, #-60]
	ldr	r3, .L499+32
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, .L499+36
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L499+40
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r0, .L499+44
	bl	Symbol_new
	sub	r3, fp, #196
	mov	r0, r3
	bl	Parse
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L468
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	beq	.L469
.L468:
	ldr	r3, [fp, #-132]
	mov	r0, r3
	bl	exit
.L469:
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	bne	.L470
	ldr	r3, .L499+8
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L499+48
	bl	fwrite
	mov	r0, #1
	bl	exit
.L470:
	ldr	r0, .L499+52
	bl	Symbol_find
	mov	r3, r0
	str	r3, [fp, #-128]
	ldr	r0, .L499+56
	bl	Symbol_new
	bl	Symbol_count
	mov	r3, r0
	str	r3, [fp, #-168]
	bl	Symbol_arrayof
	mov	r3, r0
	str	r3, [fp, #-136]
	mov	r3, #0
	str	r3, [fp, #-208]
	b	.L471
.L472:
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-208]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
.L471:
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-208]
	cmp	r2, r3
	blt	.L472
	ldr	r0, [fp, #-136]
	ldr	r3, [fp, #-168]
	mov	r1, r3
	ldr	r3, .L499+60
	mov	r2, #4
	bl	qsort
	mov	r3, #0
	str	r3, [fp, #-208]
	b	.L473
.L474:
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-208]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
.L473:
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-208]
	cmp	r2, r3
	blt	.L474
	b	.L475
.L476:
	ldr	r3, [fp, #-208]
	sub	r3, r3, #1
	str	r3, [fp, #-208]
.L475:
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-208]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L476
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-208]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r1, .L499+56
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L477
	ldr	r3, .L499+64
	ldr	r2, .L499+68
	ldr	r1, .L499+72
	ldr	r0, .L499+76
	bl	__assert_fail
.L477:
	ldr	r3, [fp, #-208]
	sub	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #1
	str	r3, [fp, #-208]
	b	.L478
.L479:
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
.L478:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-136]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L479
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-164]
	mov	r3, #0
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-204]
	b	.L480
.L483:
	ldr	r3, [fp, #-204]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L481
	ldr	r3, [fp, #-208]
	add	r2, r3, #1
	str	r2, [fp, #-208]
	b	.L482
.L481:
	mvn	r3, #0
.L482:
	ldr	r2, [fp, #-204]
	str	r3, [r2, #52]
	ldr	r3, [fp, #-204]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-204]
.L480:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bne	.L483
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-204]
	b	.L484
.L486:
	ldr	r3, [fp, #-204]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	bge	.L485
	ldr	r3, [fp, #-208]
	add	r2, r3, #1
	str	r2, [fp, #-208]
	ldr	r2, [fp, #-204]
	str	r3, [r2, #52]
.L485:
	ldr	r3, [fp, #-204]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-204]
.L484:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bne	.L486
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-192]
	mov	r0, r3
	bl	Rule_sort
	mov	r3, r0
	str	r3, [fp, #-192]
	ldr	r3, .L499+80
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L487
	sub	r3, fp, #196
	mov	r0, r3
	bl	Reprint
	b	.L488
.L487:
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	mov	r0, r3
	bl	SetSize
	sub	r3, fp, #196
	mov	r0, r3
	bl	FindRulePrecedences
	sub	r3, fp, #196
	mov	r0, r3
	bl	FindFirstSets
	mov	r3, #0
	str	r3, [fp, #-184]
	sub	r3, fp, #196
	mov	r0, r3
	bl	FindStates
	bl	State_arrayof
	mov	r3, r0
	str	r3, [fp, #-196]
	sub	r3, fp, #196
	mov	r0, r3
	bl	FindLinks
	sub	r3, fp, #196
	mov	r0, r3
	bl	FindFollowSets
	sub	r3, fp, #196
	mov	r0, r3
	bl	FindActions
	ldr	r3, .L499+84
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L489
	sub	r3, fp, #196
	mov	r0, r3
	bl	CompressTables
.L489:
	ldr	r3, .L499+88
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L490
	sub	r3, fp, #196
	mov	r0, r3
	bl	ResortStates
.L490:
	ldr	r3, .L499+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L491
	sub	r3, fp, #196
	mov	r0, r3
	bl	ReportOutput
.L491:
	ldr	r3, .L499+96
	ldr	r1, [r3]
	ldr	r3, .L499+100
	ldr	r2, [r3]
	sub	r3, fp, #196
	mov	r0, r3
	bl	ReportTable
.L488:
	ldr	r3, .L499+104
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L492
	ldr	r0, .L499+108
	bl	puts
	ldr	r3, [fp, #-164]
	mov	r1, r3
	ldr	r0, .L499+112
	bl	stats_line
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-164]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L499+116
	bl	stats_line
	ldr	r3, [fp, #-168]
	mov	r1, r3
	ldr	r0, .L499+120
	bl	stats_line
	ldr	r3, [fp, #-176]
	mov	r1, r3
	ldr	r0, .L499+124
	bl	stats_line
	ldr	r3, [fp, #-180]
	mov	r1, r3
	ldr	r0, .L499+128
	bl	stats_line
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, .L499+132
	bl	stats_line
	ldr	r3, [fp, #-40]
	mov	r1, r3
	ldr	r0, .L499+136
	bl	stats_line
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, .L499+140
	bl	stats_line
	ldr	r3, [fp, #-32]
	mov	r1, r3
	ldr	r0, .L499+144
	bl	stats_line
.L492:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L493
	mov	r3, #0
	str	r3, [fp, #-44]
.L493:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	beq	.L494
	ldr	r3, .L499+8
	ldr	r0, [r3]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r1, .L499+148
	bl	fprintf
.L494:
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	bgt	.L495
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	beq	.L496
.L495:
	mov	r3, #1
	b	.L497
.L496:
	mov	r3, #0
.L497:
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L499+152
	str	r2, [r3]
	ldr	r0, [fp, #-200]
	bl	exit
.L500:
	.align	2
.L499:
	.word	.LC56
	.word	LemonAtExit
	.word	stderr
	.word	options.6879
	.word	version.6868
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	basisflag.6870
	.word	nolinenosflag.6875
	.word	printPP.6878
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	Symbolcmpp
	.word	__PRETTY_FUNCTION__.6893
	.word	1748
	.word	.LC10
	.word	.LC44
	.word	rpflag.6869
	.word	compress.6871
	.word	noResort.6876
	.word	quiet.6872
	.word	mhflag.6874
	.word	sqlFlag.6877
	.word	statistics.6873
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	successful_exit
	.size	main, .-main
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	merge, %function
merge:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L502
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L503
.L502:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L504
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L503
.L504:
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	bgt	.L505
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L506
.L505:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L506:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L507
.L510:
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	bgt	.L508
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L507
.L508:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L507:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L509
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L510
.L509:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L511
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L503
.L511:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L503:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	merge, .-merge
	.section	.rodata
	.align	2
.LC57:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	msort, %function
msort:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	str	r2, [fp, #-152]
	ldr	r3, .L526
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-144]
	sub	r3, r2, r3
	str	r3, [fp, #-132]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L514
.L515:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-124]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L514:
	ldr	r3, [fp, #-136]
	cmp	r3, #29
	ble	.L515
	b	.L516
.L520:
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-140]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-144]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L517
.L519:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-124]
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-152]
	ldr	r0, [fp, #-140]
	bl	merge
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-124]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L517:
	ldr	r3, [fp, #-136]
	cmp	r3, #28
	bgt	.L518
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	bne	.L519
.L518:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	str	r2, [r3, #-124]
.L516:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L520
	mov	r3, #0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L521
.L523:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	beq	.L522
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r0, [r3, #-124]
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-152]
	ldr	r1, [fp, #-140]
	bl	merge
	str	r0, [fp, #-140]
.L522:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L521:
	ldr	r3, [fp, #-136]
	cmp	r3, #29
	ble	.L523
	ldr	r3, [fp, #-140]
	ldr	r2, .L526
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L525
	bl	__stack_chk_fail
.L525:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L527:
	.align	2
.L526:
	.word	.LC57
	.size	msort, .-msort
	.local	g_argv
	.comm	g_argv,4,4
	.local	op
	.comm	op,4,4
	.local	errstream
	.comm	errstream,4,4
	.section	.rodata
	.align	2
.LC58:
	.ascii	" %s\000"
	.align	2
.LC59:
	.ascii	"\000"
	.align	2
.LC60:
	.ascii	"\012%*s^-- here\012\000"
	.align	2
.LC61:
	.ascii	"\012%*shere --^\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	errline, %function
errline:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L539
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L529
	ldr	r3, .L539
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	fputs
	ldr	r3, .L539
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L530
.L529:
	mov	r3, #0
	str	r3, [fp, #-12]
.L530:
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L531
.L533:
	ldr	r3, .L539
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L539+4
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldr	r3, .L539
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L531:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L532
	ldr	r3, .L539
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L533
.L532:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	b	.L534
.L535:
	ldr	r3, .L539
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L539+4
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L534:
	ldr	r3, .L539
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L535
	ldr	r3, [fp, #-12]
	cmp	r3, #19
	bgt	.L536
	ldr	r3, .L539+8
	ldr	r2, [fp, #-12]
	ldr	r1, .L539+12
	ldr	r0, [fp, #-24]
	bl	fprintf
	b	.L538
.L536:
	ldr	r3, [fp, #-12]
	sub	r2, r3, #7
	ldr	r3, .L539+8
	ldr	r1, .L539+16
	ldr	r0, [fp, #-24]
	bl	fprintf
.L538:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L540:
	.align	2
.L539:
	.word	g_argv
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.size	errline, .-errline
	.section	.rodata
	.align	2
.LC62:
	.ascii	"--\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	argindex, %function
argindex:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L550
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L542
	ldr	r3, .L550
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L542
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L543
.L549:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L544
	ldr	r3, .L550
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L545
	ldr	r3, .L550
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L545
	ldr	r3, .L550
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L545
.L544:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L546
	ldr	r3, [fp, #-12]
	b	.L547
.L546:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L545:
	ldr	r3, .L550
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L550+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L548
	mov	r3, #1
	str	r3, [fp, #-8]
.L548:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L543:
	ldr	r3, .L550
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L549
.L542:
	mvn	r3, #0
.L547:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L551:
	.align	2
.L550:
	.word	g_argv
	.word	.LC62
	.size	argindex, .-argindex
	.data
	.align	2
	.type	emsg, %object
	.size	emsg, 28
emsg:
	.ascii	"Command line syntax error: \000"
	.section	.rodata
	.align	2
.LC63:
	.ascii	"%sundefined option.\012\000"
	.align	2
.LC64:
	.ascii	"%smissing argument on switch.\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handleflags, %function
handleflags:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L553
.L556:
	ldr	r3, .L566
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r4, r3, #1
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r5, [r3, #4]
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	mov	r1, r5
	mov	r0, r4
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L565
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L553:
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L556
	b	.L555
.L565:
	nop
.L555:
	ldr	r3, .L566
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-16]
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L557
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L558
	ldr	r2, .L566+8
	ldr	r1, .L566+12
	ldr	r0, [fp, #-36]
	bl	fprintf
	ldr	r2, [fp, #-36]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	errline
.L558:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L559
.L557:
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L559
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L560
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L559
.L560:
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #5
	bne	.L561
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r0, [fp, #-16]
	blx	r3
	b	.L559
.L561:
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #8
	bne	.L562
	ldr	r3, .L566+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r3, .L566
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	blx	r1
	b	.L559
.L562:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L563
	ldr	r2, .L566+8
	ldr	r1, .L566+16
	ldr	r0, [fp, #-36]
	bl	fprintf
	ldr	r2, [fp, #-36]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	errline
.L563:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L559:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L567:
	.align	2
.L566:
	.word	g_argv
	.word	op
	.word	emsg
	.word	.LC63
	.word	.LC64
	.size	handleflags, .-handleflags
	.section	.rodata
	.align	2
.LC65:
	.ascii	"cp!=0\000"
	.align	2
.LC66:
	.ascii	"%soption requires an argument.\012\000"
	.align	2
.LC67:
	.ascii	"%sillegal character in floating-point argument.\012"
	.ascii	"\000"
	.align	2
.LC68:
	.ascii	"%sillegal character in integer argument.\012\000"
	.align	2
.LC69:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handleswitch, %function
handleswitch:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L601
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, .L601+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L569
	ldr	r3, .L601+8
	ldr	r2, .L601+12
	ldr	r1, .L601+16
	ldr	r0, .L601+20
	bl	__assert_fail
.L569:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L570
.L573:
	ldr	r3, .L601+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L598
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L570:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L573
	b	.L572
.L598:
	nop
.L572:
	ldr	r3, [fp, #-24]
	mov	r2, #61
	strb	r2, [r3]
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L574
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L575
	ldr	r2, .L601+28
	ldr	r1, .L601+32
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r2, [fp, #-52]
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	errline
.L575:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L576
.L574:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L577
.L579:
	.word	.L582
	.word	.L581
	.word	.L580
	.word	.L578
	.word	.L582
	.word	.L581
	.word	.L580
	.word	.L578
.L582:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L583
	ldr	r2, .L601+28
	ldr	r1, .L601+36
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r2, [fp, #-52]
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	errline
.L583:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L577
.L580:
	sub	r3, fp, #44
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtod
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L599
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L585
	ldr	r2, .L601+28
	ldr	r1, .L601+40
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r2, [fp, #-44]
	ldr	r3, .L601+4
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	errline
.L585:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L599
.L581:
	sub	r3, fp, #44
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtol
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L600
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L587
	ldr	r2, .L601+28
	ldr	r1, .L601+44
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r2, [fp, #-44]
	ldr	r3, .L601+4
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	errline
.L587:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L600
.L578:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-36]
	b	.L577
.L599:
	nop
	b	.L577
.L600:
	nop
.L577:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L576
.L589:
	.word	.L576
	.word	.L595
	.word	.L594
	.word	.L593
	.word	.L576
	.word	.L591
	.word	.L590
	.word	.L588
.L594:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r1, [r3, #8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L576
.L590:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	blx	r3
	b	.L576
.L595:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	b	.L576
.L591:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r0, [fp, #-40]
	blx	r3
	b	.L576
.L593:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	b	.L576
.L588:
	ldr	r3, .L601+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r0, [fp, #-36]
	blx	r3
	nop
.L576:
	ldr	r3, [fp, #-28]
	ldr	r2, .L601
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L597
	bl	__stack_chk_fail
.L597:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L602:
	.align	2
.L601:
	.word	.LC69
	.word	g_argv
	.word	__PRETTY_FUNCTION__.6987
	.word	2074
	.word	.LC10
	.word	.LC65
	.word	op
	.word	emsg
	.word	.LC63
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.size	handleswitch, .-handleswitch
	.section	.rodata
	.align	2
.LC70:
	.ascii	"Valid command line options for \"%s\" are:\012\000"
	.text
	.align	2
	.global	OptInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptInit, %function
OptInit:
	@ 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, #0
	str	r3, [fp, #-12]
	ldr	r2, .L612
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r2, .L612+4
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	ldr	r2, .L612+8
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, .L612
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L604
	ldr	r3, .L612
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L604
	ldr	r3, .L612+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L604
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L605
.L609:
	ldr	r3, .L612
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L606
	ldr	r3, .L612
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L607
.L606:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	handleflags
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	b	.L608
.L607:
	ldr	r3, .L612
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L608
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	handleswitch
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
.L608:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L605:
	ldr	r3, .L612
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L609
.L604:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	ble	.L610
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L612+12
	ldr	r0, [fp, #-24]
	bl	fprintf
	bl	OptPrint
	mov	r0, #1
	bl	exit
.L610:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L613:
	.align	2
.L612:
	.word	g_argv
	.word	op
	.word	errstream
	.word	.LC70
	.size	OptInit, .-OptInit
	.align	2
	.global	OptNArgs
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptNArgs, %function
OptNArgs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L622
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L615
	ldr	r3, .L622
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L615
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L616
.L620:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L617
	ldr	r3, .L622
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L618
	ldr	r3, .L622
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L618
	ldr	r3, .L622
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L618
.L617:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L618:
	ldr	r3, .L622
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L622+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L619
	mov	r3, #1
	str	r3, [fp, #-12]
.L619:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L616:
	ldr	r3, .L622
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L620
.L615:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L623:
	.align	2
.L622:
	.word	g_argv
	.word	.LC62
	.size	OptNArgs, .-OptNArgs
	.align	2
	.global	OptArg
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptArg, %function
OptArg:
	@ 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	r0, [fp, #-16]
	bl	argindex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L625
	ldr	r3, .L628
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	b	.L627
.L625:
	mov	r3, #0
.L627:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L629:
	.align	2
.L628:
	.word	g_argv
	.size	OptArg, .-OptArg
	.align	2
	.global	OptErr
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptErr, %function
OptErr:
	@ 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	r0, [fp, #-16]
	bl	argindex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L632
	ldr	r3, .L633
	ldr	r3, [r3]
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	errline
.L632:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L634:
	.align	2
.L633:
	.word	errstream
	.size	OptErr, .-OptErr
	.section	.rodata
	.align	2
.LC71:
	.ascii	"  -%-*s  %s\012\000"
	.align	2
.LC72:
	.ascii	"  -%s<integer>%*s  %s\012\000"
	.align	2
.LC73:
	.ascii	"  -%s<real>%*s  %s\012\000"
	.align	2
.LC74:
	.ascii	"  -%s<string>%*s  %s\012\000"
	.text
	.align	2
	.global	OptPrint
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptPrint, %function
OptPrint:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L636
.L644:
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L637
.L639:
	.word	.L637
	.word	.L641
	.word	.L640
	.word	.L638
	.word	.L637
	.word	.L641
	.word	.L640
	.word	.L638
.L641:
	ldr	r3, [fp, #-16]
	add	r3, r3, #9
	str	r3, [fp, #-16]
	b	.L637
.L640:
	ldr	r3, [fp, #-16]
	add	r3, r3, #6
	str	r3, [fp, #-16]
	b	.L637
.L638:
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	str	r3, [fp, #-16]
	nop
.L637:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	ble	.L643
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-20]
.L643:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L636:
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L644
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L645
.L652:
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L646
.L648:
	.word	.L651
	.word	.L650
	.word	.L649
	.word	.L647
	.word	.L651
	.word	.L650
	.word	.L649
	.word	.L647
.L651:
	ldr	r3, .L653+4
	ldr	r0, [r3]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r1, [r3, #4]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-20]
	ldr	r1, .L653+8
	bl	fprintf
	b	.L646
.L650:
	ldr	r3, .L653+4
	ldr	r4, [r3]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r5, [r3, #4]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	sub	r3, r3, r2
	sub	r1, r3, #9
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp, #4]
	ldr	r3, .L653+12
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	ldr	r1, .L653+16
	mov	r0, r4
	bl	fprintf
	b	.L646
.L649:
	ldr	r3, .L653+4
	ldr	r4, [r3]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r5, [r3, #4]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	sub	r3, r3, r2
	sub	r1, r3, #6
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp, #4]
	ldr	r3, .L653+12
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	ldr	r1, .L653+20
	mov	r0, r4
	bl	fprintf
	b	.L646
.L647:
	ldr	r3, .L653+4
	ldr	r4, [r3]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r5, [r3, #4]
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	sub	r3, r3, r2
	sub	r1, r3, #8
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp, #4]
	ldr	r3, .L653+12
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r5
	ldr	r1, .L653+24
	mov	r0, r4
	bl	fprintf
	nop
.L646:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L645:
	ldr	r3, .L653
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L652
	nop
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L654:
	.align	2
.L653:
	.word	op
	.word	errstream
	.word	.LC71
	.word	.LC59
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.size	OptPrint, .-OptPrint
	.section	.rodata
	.align	2
.LC75:
	.ascii	"There is no prior rule upon which to attach the cod"
	.ascii	"e fragment which begins on this line.\000"
	.align	2
.LC76:
	.ascii	"Code fragment beginning on this line is not the fir"
	.ascii	"st to follow the previous rule.\000"
	.align	2
.LC77:
	.ascii	"{NEVER-REDUCE\000"
	.align	2
.LC78:
	.ascii	"Token \"%s\" should be either \"%%\" or a nontermin"
	.ascii	"al name.\000"
	.align	2
.LC79:
	.ascii	"The precedence symbol must be a terminal.\000"
	.align	2
.LC80:
	.ascii	"There is no prior rule to assign precedence \"[%s]\""
	.ascii	".\000"
	.align	2
.LC81:
	.ascii	"Precedence mark on this line is not the first to fo"
	.ascii	"llow the previous rule.\000"
	.align	2
.LC82:
	.ascii	"Missing \"]\" on precedence mark.\000"
	.align	2
.LC83:
	.ascii	"Expected to see a \":\" following the LHS symbol \""
	.ascii	"%s\".\000"
	.align	2
.LC84:
	.ascii	"\"%s\" is not a valid alias for the LHS \"%s\"\012\000"
	.align	2
.LC85:
	.ascii	"Missing \")\" following LHS alias name \"%s\".\000"
	.align	2
.LC86:
	.ascii	"Missing \"->\" following: \"%s(%s)\".\000"
	.align	2
.LC87:
	.ascii	"Can't allocate enough memory for this rule.\000"
	.align	2
.LC88:
	.ascii	"Too many symbols on RHS of rule beginning at \"%s\""
	.ascii	".\000"
	.align	2
.LC89:
	.ascii	"Cannot form a compound containing a non-terminal\000"
	.align	2
.LC90:
	.ascii	"Illegal character on RHS of rule: \"%s\".\000"
	.align	2
.LC91:
	.ascii	"\"%s\" is not a valid alias for the RHS symbol \"%s"
	.ascii	"\"\012\000"
	.align	2
.LC92:
	.ascii	"name\000"
	.align	2
.LC93:
	.ascii	"include\000"
	.align	2
.LC94:
	.ascii	"code\000"
	.align	2
.LC95:
	.ascii	"token_destructor\000"
	.align	2
.LC96:
	.ascii	"default_destructor\000"
	.align	2
.LC97:
	.ascii	"token_prefix\000"
	.align	2
.LC98:
	.ascii	"syntax_error\000"
	.align	2
.LC99:
	.ascii	"parse_accept\000"
	.align	2
.LC100:
	.ascii	"parse_failure\000"
	.align	2
.LC101:
	.ascii	"stack_overflow\000"
	.align	2
.LC102:
	.ascii	"extra_argument\000"
	.align	2
.LC103:
	.ascii	"extra_context\000"
	.align	2
.LC104:
	.ascii	"token_type\000"
	.align	2
.LC105:
	.ascii	"default_type\000"
	.align	2
.LC106:
	.ascii	"stack_size\000"
	.align	2
.LC107:
	.ascii	"start_symbol\000"
	.align	2
.LC108:
	.ascii	"left\000"
	.align	2
.LC109:
	.ascii	"right\000"
	.align	2
.LC110:
	.ascii	"nonassoc\000"
	.align	2
.LC111:
	.ascii	"destructor\000"
	.align	2
.LC112:
	.ascii	"type\000"
	.align	2
.LC113:
	.ascii	"fallback\000"
	.align	2
.LC114:
	.ascii	"token\000"
	.align	2
.LC115:
	.ascii	"wildcard\000"
	.align	2
.LC116:
	.ascii	"token_class\000"
	.align	2
.LC117:
	.ascii	"expect\000"
	.align	2
.LC118:
	.ascii	"Multiple %expect declarations.\000"
	.align	2
.LC119:
	.ascii	"Unknown declaration keyword: \"%%%s\".\000"
	.align	2
.LC120:
	.ascii	"Illegal declaration keyword: \"%s\".\000"
	.align	2
.LC121:
	.ascii	"Symbol name missing after %%destructor keyword\000"
	.align	2
.LC122:
	.ascii	"Integer expected after %%expect keyword\000"
	.align	2
.LC123:
	.ascii	"Integer can't be negative after %%expect keyword\000"
	.align	2
.LC124:
	.ascii	"Symbol name missing after %%type keyword\000"
	.align	2
.LC125:
	.ascii	"Symbol %%type \"%s\" already defined\000"
	.align	2
.LC126:
	.ascii	"Symbol \"%s\" has already be given a precedence.\000"
	.align	2
.LC127:
	.ascii	"Can't assign a precedence to \"%s\".\000"
	.align	2
.LC128:
	.ascii	"#line %d \000"
	.align	2
.LC129:
	.ascii	"Illegal argument to %%%s: %s\000"
	.align	2
.LC130:
	.ascii	"%%fallback argument \"%s\" should be a token\000"
	.align	2
.LC131:
	.ascii	"More than one fallback assigned to token %s\000"
	.align	2
.LC132:
	.ascii	"%%token argument \"%s\" should be a token\000"
	.align	2
.LC133:
	.ascii	"%%wildcard argument \"%s\" should be a token\000"
	.align	2
.LC134:
	.ascii	"Extra wildcard to token: %s\000"
	.align	2
.LC135:
	.ascii	"%%token_class must be followed by an identifier: %s"
	.ascii	"\000"
	.align	2
.LC136:
	.ascii	"Symbol \"%s\" already used\000"
	.align	2
.LC137:
	.ascii	"%%token_class argument \"%s\" should be a token\000"
	.align	2
.LC138:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	parseonetoken, %function
parseonetoken:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #164
	str	r0, [fp, #-160]
	ldr	r3, .L813
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Strsafe
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #20]
	cmp	r3, #23
	ldrls	pc, [pc, r3, asl #2]
	b	.L810
.L658:
	.word	.L680
	.word	.L679
	.word	.L678
	.word	.L677
	.word	.L676
	.word	.L675
	.word	.L674
	.word	.L673
	.word	.L672
	.word	.L671
	.word	.L670
	.word	.L669
	.word	.L668
	.word	.L667
	.word	.L666
	.word	.L666
	.word	.L665
	.word	.L664
	.word	.L663
	.word	.L662
	.word	.L661
	.word	.L660
	.word	.L659
	.word	.L657
.L680:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3948]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3972]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3980]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3980]
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3976]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	mov	r2, #0
	str	r2, [r3, #20]
.L679:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L681
	ldr	r3, [fp, #-160]
	mov	r2, #2
	str	r2, [r3, #20]
	b	.L656
.L681:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L683
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	mov	r2, r0
	ldr	r3, [fp, #-160]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-160]
	mov	r2, #0
	str	r2, [r3, #40]
	ldr	r3, [fp, #-160]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-160]
	mov	r2, #5
	str	r2, [r3, #20]
	b	.L656
.L683:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L684
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	cmp	r3, #0
	bne	.L685
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+4
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L685:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L686
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+8
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L686:
	ldr	r1, .L813+12
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L687
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	mov	r2, #1
	str	r2, [r3, #72]
	b	.L656
.L687:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	ldr	r2, [fp, #-160]
	ldr	r2, [r2, #4]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	ldr	r2, [fp, #-152]
	add	r2, r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	mov	r2, #0
	str	r2, [r3, #56]
	b	.L656
.L684:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L688
	ldr	r3, [fp, #-160]
	mov	r2, #12
	str	r2, [r3, #20]
	b	.L656
.L688:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+16
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L668:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L689
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+20
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L690
.L689:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	cmp	r3, #0
	bne	.L691
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+24
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L690
.L691:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3948]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L692
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+28
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L690
.L692:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r4, [r3, #3948]
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	mov	r3, r0
	str	r3, [r4, #44]
.L690:
	ldr	r3, [fp, #-160]
	mov	r2, #13
	str	r2, [r3, #20]
	b	.L656
.L667:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L693
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+32
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
.L693:
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L675:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L694
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L694
	ldr	r3, [fp, #-152]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L694
	ldr	r3, [fp, #-160]
	mov	r2, #6
	str	r2, [r3, #20]
	b	.L656
.L694:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L696
	ldr	r3, [fp, #-160]
	mov	r2, #7
	str	r2, [r3, #20]
	b	.L656
.L696:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #32]
	ldr	r3, [r3]
	ldr	r2, .L813+36
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L673:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L697
	ldr	r3, [fp, #-160]
	ldr	r2, [fp, #-152]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-160]
	mov	r2, #8
	str	r2, [r3, #20]
	b	.L656
.L697:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #32]
	ldr	r3, [r3]
	str	r3, [sp]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+40
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L672:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L699
	ldr	r3, [fp, #-160]
	mov	r2, #9
	str	r2, [r3, #20]
	b	.L656
.L699:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #36]
	ldr	r2, .L813+44
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L671:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L701
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L701
	ldr	r3, [fp, #-152]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L701
	ldr	r3, [fp, #-160]
	mov	r2, #6
	str	r2, [r3, #20]
	b	.L656
.L701:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #36]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L813+48
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L674:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L703
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	lsl	r3, r3, #3
	add	r3, r3, #84
	mov	r1, #1
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L704
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+52
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3948]
	b	.L705
.L704:
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-88]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-88]
	add	r2, r3, #84
	ldr	r3, [fp, #-88]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #24]
	mov	r3, #0
	str	r3, [fp, #-148]
	b	.L706
.L708:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r1, [fp, #-160]
	ldr	r3, [fp, #-148]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	str	r3, [r2]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r1, [fp, #-160]
	ldr	r3, [fp, #-148]
	add	r3, r3, #1008
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	str	r3, [r2]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L707
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #56]
.L707:
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	str	r3, [fp, #-148]
.L706:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-148]
	cmp	r2, r3
	blt	.L708
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-88]
	str	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-88]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-88]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-88]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-88]
	mov	r2, #1
	str	r2, [r3, #56]
	ldr	r3, [fp, #-88]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #16]
	ldr	r3, [r2, #20]
	add	r1, r3, #1
	str	r1, [r2, #20]
	ldr	r2, [fp, #-88]
	str	r3, [r2, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-88]
	str	r2, [r3, #76]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [fp, #-88]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-88]
	mov	r2, #0
	str	r2, [r3, #80]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3976]
	cmp	r3, #0
	bne	.L709
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-88]
	str	r3, [r2, #3980]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3980]
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3976]
	b	.L710
.L709:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3980]
	ldr	r2, [fp, #-88]
	str	r2, [r3, #80]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-88]
	str	r3, [r2, #3980]
.L710:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-88]
	str	r3, [r2, #3948]
.L705:
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L703:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L712
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	cmp	r3, #1000
	blt	.L713
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+56
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L713:
	ldr	r3, [fp, #-160]
	ldr	r4, [r3, #40]
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	mov	r1, r0
	ldr	r2, [fp, #-160]
	add	r3, r4, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-160]
	add	r3, r3, #1008
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #40]
	b	.L656
.L712:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	beq	.L714
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L715
.L714:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	ble	.L715
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L715
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	sub	r3, r3, #1
	ldr	r2, [fp, #-160]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L716
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-92]
	mov	r1, #68
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-144]
	mov	r2, #68
	mov	r1, #0
	ldr	r0, [fp, #-144]
	bl	memset
	ldr	r3, [fp, #-144]
	mov	r2, #2
	str	r2, [r3, #8]
	ldr	r3, [fp, #-144]
	mov	r2, #1
	str	r2, [r3, #60]
	mov	r1, #4
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-144]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #64]
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	ldr	r2, [r3]
	ldr	r3, [fp, #-144]
	str	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	sub	r3, r3, #1
	ldr	r2, [fp, #-160]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	str	r2, [r3, #4]
.L716:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #60]
	add	r2, r3, #1
	ldr	r3, [fp, #-144]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-144]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #60]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-144]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-152]
	add	r1, r3, #1
	ldr	r3, [fp, #-144]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #60]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r4, r2, r3
	mov	r0, r1
	bl	Symbol_new
	mov	r3, r0
	str	r3, [r4]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	bne	.L717
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #64]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L811
.L717:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+60
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L811
.L715:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L719
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	ble	.L719
	ldr	r3, [fp, #-160]
	mov	r2, #10
	str	r2, [r3, #20]
	b	.L711
.L719:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+64
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L811:
	nop
.L711:
	b	.L656
.L670:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L720
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	sub	r3, r3, #1
	ldr	r2, [fp, #-160]
	add	r3, r3, #1008
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-152]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-160]
	mov	r2, #11
	str	r2, [r3, #20]
	b	.L656
.L720:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #40]
	sub	r3, r3, #1
	ldr	r2, [fp, #-160]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	str	r3, [sp]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+68
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L669:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L722
	ldr	r3, [fp, #-160]
	mov	r2, #6
	str	r2, [r3, #20]
	b	.L656
.L722:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #36]
	ldr	r2, .L813+44
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L656
.L678:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L724
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-152]
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3964]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #3960]
	ldr	r3, [fp, #-160]
	mov	r2, #3
	str	r2, [r3, #20]
	ldr	r1, .L813+72
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L725
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #76
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L725:
	ldr	r1, .L813+76
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L727
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #104
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L727:
	ldr	r1, .L813+80
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L728
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #124
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L728:
	ldr	r1, .L813+84
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L729
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #128
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L729:
	ldr	r1, .L813+88
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L730
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #132
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L814:
	.align	2
.L813:
	.word	.LC138
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.word	.LC111
	.word	.LC112
	.word	.LC113
	.word	.LC114
	.word	.LC115
	.word	.LC116
	.word	.LC117
	.word	.LC118
	.word	.LC119
	.word	.LC120
	.word	.LC121
	.word	.LC122
	.word	.LC123
	.word	.LC124
	.word	.LC125
	.word	.LC126
	.word	.LC127
	.word	.LC59
	.word	.LC128
	.word	.LC129
	.word	.LC130
	.word	.LC131
	.word	.LC132
	.word	.LC133
.L730:
	ldr	r1, .L813+92
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L731
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #144
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L731:
	ldr	r1, .L813+96
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L732
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #108
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L732:
	ldr	r1, .L813+100
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L733
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #120
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L733:
	ldr	r1, .L813+104
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L734
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #116
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L734:
	ldr	r1, .L813+108
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L735
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #112
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L656
.L735:
	ldr	r1, .L813+112
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L736
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #80
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L736:
	ldr	r1, .L813+116
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L737
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #84
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L737:
	ldr	r1, .L813+120
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L738
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #88
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L738:
	ldr	r1, .L813+124
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L739
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #92
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L739:
	ldr	r1, .L813+128
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L740
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #100
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L740:
	ldr	r1, .L813+132
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L741
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	add	r3, r3, #96
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	b	.L656
.L741:
	ldr	r1, .L813+136
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L742
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3972]
	add	r3, r3, #1
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3972]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3968]
	ldr	r3, [fp, #-160]
	mov	r2, #4
	str	r2, [r3, #20]
	b	.L656
.L742:
	ldr	r1, .L813+140
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L743
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3972]
	add	r3, r3, #1
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3972]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #3968]
	ldr	r3, [fp, #-160]
	mov	r2, #4
	str	r2, [r3, #20]
	b	.L656
.L743:
	ldr	r1, .L813+144
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L744
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3972]
	add	r3, r3, #1
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3972]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #3968]
	ldr	r3, [fp, #-160]
	mov	r2, #4
	str	r2, [r3, #20]
	b	.L656
.L744:
	ldr	r1, .L813+148
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L745
	ldr	r3, [fp, #-160]
	mov	r2, #16
	str	r2, [r3, #20]
	b	.L656
.L745:
	ldr	r1, .L813+152
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L746
	ldr	r3, [fp, #-160]
	mov	r2, #17
	str	r2, [r3, #20]
	b	.L656
.L746:
	ldr	r1, .L813+156
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L747
	ldr	r3, [fp, #-160]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-160]
	mov	r2, #18
	str	r2, [r3, #20]
	b	.L656
.L747:
	ldr	r1, .L813+160
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L748
	ldr	r3, [fp, #-160]
	mov	r2, #23
	str	r2, [r3, #20]
	b	.L656
.L748:
	ldr	r1, .L813+164
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L749
	ldr	r3, [fp, #-160]
	mov	r2, #19
	str	r2, [r3, #20]
	b	.L656
.L749:
	ldr	r1, .L813+168
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L750
	ldr	r3, [fp, #-160]
	mov	r2, #20
	str	r2, [r3, #20]
	b	.L656
.L750:
	ldr	r1, .L813+172
	ldr	r0, [fp, #-152]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L751
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #152]
	cmp	r3, #0
	blt	.L752
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+176
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L752:
	ldr	r3, [fp, #-160]
	mov	r2, #22
	str	r2, [r3, #20]
	b	.L656
.L751:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+180
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L724:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+184
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L665:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L753
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+188
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L753:
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	add	r3, r3, #40
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-96]
	add	r3, r3, #44
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3964]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #3960]
	ldr	r3, [fp, #-160]
	mov	r2, #3
	str	r2, [r3, #20]
	b	.L656
.L659:
	ldr	r3, [fp, #-160]
	ldr	r4, [r3, #16]
	sub	r3, fp, #156
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-152]
	bl	strtol
	mov	r3, r0
	str	r3, [r4, #152]
	ldr	r3, [fp, #-156]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L755
	ldr	r3, [fp, #-156]
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	bne	.L756
.L755:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+192
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L757
.L756:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #152]
	cmp	r3, #0
	bge	.L757
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+196
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
.L757:
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L664:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L758
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	ldr	r2, .L813+200
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L758:
	ldr	r0, [fp, #-152]
	bl	Symbol_find
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L760
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L760
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+204
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L760:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	bne	.L761
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	str	r0, [fp, #-140]
.L761:
	ldr	r3, [fp, #-140]
	add	r3, r3, #48
	ldr	r2, [fp, #-160]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	ldr	r3, [fp, #-160]
	mov	r2, #3
	str	r2, [r3, #20]
	b	.L656
.L676:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L762
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L762:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L764
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L765
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+208
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L765:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r2, [r3, #3972]
	ldr	r3, [fp, #-84]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r2, [r3, #3968]
	ldr	r3, [fp, #-84]
	str	r2, [r3, #24]
	b	.L656
.L764:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+212
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L677:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L766
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L766
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L767
.L766:
	mov	r3, #0
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-152]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L768
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L769
.L768:
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L769:
	ldr	r0, [fp, #-132]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3956]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L770
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3956]
	ldr	r3, [r3]
	str	r3, [fp, #-136]
	b	.L771
.L770:
	ldr	r3, .L813+216
	str	r3, [fp, #-136]
.L771:
	ldr	r0, [fp, #-136]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-80]
	add	r3, r2, r3
	add	r3, r3, #20
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #180]
	cmp	r3, #0
	bne	.L772
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3960]
	cmp	r3, #0
	beq	.L772
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L772
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	cmp	r3, #0
	beq	.L773
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L772
.L773:
	mov	r3, #1
	b	.L774
.L772:
	mov	r3, #0
.L774:
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L775
	ldr	r3, [fp, #-160]
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-112]
	b	.L776
.L778:
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L777
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L777:
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L776:
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L778
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #4]
	sub	r3, fp, #68
	ldr	r1, .L813+220
	mov	r0, r3
	bl	lemon_sprintf
	sub	r3, fp, #68
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-116]
	add	r2, r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	str	r3, [fp, #-120]
.L775:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3956]
	ldr	r2, [r3]
	ldr	r1, [fp, #-120]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r4, [r3, #3956]
	mov	r0, r2
	bl	realloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3956]
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L779
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L780
	ldr	r3, [fp, #-128]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L780
	ldr	r3, [fp, #-128]
	add	r2, r3, #1
	str	r2, [fp, #-128]
	mov	r2, #10
	strb	r2, [r3]
.L780:
	ldr	r2, [fp, #-116]
	sub	r3, fp, #68
	mov	r1, r3
	ldr	r0, [fp, #-128]
	bl	memcpy
	ldr	r3, [fp, #-116]
	ldr	r2, [fp, #-128]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	add	r2, r3, #1
	str	r2, [fp, #-128]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	b	.L781
.L783:
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L782
	ldr	r3, [fp, #-128]
	add	r2, r3, #1
	str	r2, [fp, #-128]
	mov	r2, #92
	strb	r2, [r3]
.L782:
	ldr	r3, [fp, #-128]
	add	r2, r3, #1
	str	r2, [fp, #-128]
	ldr	r2, [fp, #-124]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L781:
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L783
	ldr	r3, [fp, #-128]
	add	r2, r3, #1
	str	r2, [fp, #-128]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-128]
	add	r2, r3, #1
	str	r2, [fp, #-128]
	mov	r2, #10
	strb	r2, [r3]
.L779:
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	cmp	r3, #0
	beq	.L784
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L784
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	ldr	r2, [fp, #-160]
	ldr	r2, [r2, #4]
	str	r2, [r3]
.L784:
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-128]
	bl	memcpy
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-128]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	nop
	b	.L656
.L767:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4096
	ldr	r2, [r3, #3952]
	ldr	r3, [fp, #-152]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L813+224
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L663:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L786
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L786:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L788
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+228
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L788:
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L789
	ldr	r3, [fp, #-160]
	ldr	r2, [fp, #-100]
	str	r2, [r3, #24]
	b	.L656
.L789:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L790
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+232
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L790:
	ldr	r3, [fp, #-160]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-100]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	mov	r2, #1
	str	r2, [r3, #176]
	b	.L656
.L657:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L791
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L791:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L793
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+236
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L793:
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	b	.L656
.L662:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L794
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L794:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L796
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L813+240
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L796:
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #72]
	cmp	r3, #0
	bne	.L797
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-104]
	str	r2, [r3, #72]
	b	.L656
.L797:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L815
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	b	.L656
.L661:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	bne	.L798
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L815+4
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L798:
	ldr	r0, [fp, #-152]
	bl	Symbol_find
	mov	r3, r0
	cmp	r3, #0
	beq	.L800
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L815+8
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L800:
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	mov	r2, r0
	ldr	r3, [fp, #-160]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #28]
	mov	r2, #2
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #21
	str	r2, [r3, #20]
	b	.L656
.L660:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L801
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L656
.L801:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L803
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	beq	.L804
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L805
.L804:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L805
.L803:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #60]
	add	r2, r3, #1
	ldr	r3, [fp, #-108]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-108]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #60]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-108]
	str	r2, [r3, #64]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L806
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L806:
	ldr	r3, [fp, #-108]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #60]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r4, r2, r3
	ldr	r0, [fp, #-152]
	bl	Symbol_new
	mov	r3, r0
	str	r3, [r4]
	nop
	b	.L656
.L805:
	ldr	r3, [fp, #-160]
	ldr	r0, [r3]
	ldr	r3, [fp, #-160]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-152]
	ldr	r2, .L815+12
	bl	ErrorMsg
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-160]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L656
.L666:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L807
	ldr	r3, [fp, #-160]
	mov	r2, #1
	str	r2, [r3, #20]
.L807:
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L812
	ldr	r3, [fp, #-160]
	mov	r2, #2
	str	r2, [r3, #20]
.L812:
	nop
.L656:
.L810:
	nop
	ldr	r3, .L815+16
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L809
	bl	__stack_chk_fail
.L809:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L816:
	.align	2
.L815:
	.word	.LC134
	.word	.LC135
	.word	.LC136
	.word	.LC137
	.word	.LC138
	.size	parseonetoken, .-parseonetoken
	.section	.rodata
	.align	2
.LC139:
	.ascii	"%%if syntax error on line %d.\012\000"
	.align	2
.LC140:
	.ascii	"  %.*s <-- syntax error here\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	eval_preprocessor_boolean, %function
eval_preprocessor_boolean:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L818
.L850:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-48]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L852
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #33
	bne	.L821
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L853
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-40]
	b	.L820
.L821:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	bne	.L824
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	bne	.L824
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L854
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L826
	mov	r3, #1
	b	.L827
.L826:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L820
.L824:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #38
	bne	.L828
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #38
	bne	.L828
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L855
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L830
	mov	r3, #0
	b	.L827
.L830:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L820
.L828:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L831
	mov	r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L856
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L833
.L839:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L834
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L835
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mvn	r1, #0
	mov	r0, r3
	bl	eval_preprocessor_boolean
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #41
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bge	.L836
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	b	.L823
.L836:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
	b	.L837
.L834:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L838
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L835
.L838:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L835
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
	b	.L823
.L835:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L833:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L839
.L837:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L840
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-40]
.L840:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L820
.L831:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-48]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L857
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L858
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L843
.L844:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L843:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-48]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L844
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L844
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L845
.L848:
	ldr	r3, .L859
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L846
	ldr	r3, .L859
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L846
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L847
.L846:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L845:
	ldr	r3, .L859+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L848
.L847:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L849
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-40]
.L849:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L820
.L852:
	nop
.L820:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L818:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L850
	ldr	r3, [fp, #-36]
	b	.L827
.L853:
	nop
	b	.L823
.L854:
	nop
	b	.L823
.L855:
	nop
	b	.L823
.L856:
	nop
	b	.L823
.L857:
	nop
	b	.L823
.L858:
	nop
.L823:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	ble	.L851
	ldr	r3, .L859+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	ldr	r1, .L859+12
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L859+8
	ldr	r0, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	ldr	r1, .L859+16
	bl	fprintf
	mov	r0, #1
	bl	exit
.L851:
	ldr	r3, [fp, #-28]
	mvn	r3, r3
.L827:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L860:
	.align	2
.L859:
	.word	azDefine
	.word	nDefine
	.word	stderr
	.word	.LC139
	.word	.LC140
	.size	eval_preprocessor_boolean, .-eval_preprocessor_boolean
	.section	.rodata
	.align	2
.LC141:
	.ascii	"%endif\000"
	.align	2
.LC142:
	.ascii	"%else\000"
	.align	2
.LC143:
	.ascii	"%ifdef \000"
	.align	2
.LC144:
	.ascii	"%if \000"
	.align	2
.LC145:
	.ascii	"%ifndef \000"
	.align	2
.LC146:
	.ascii	"unterminated %%ifdef starting on line %d\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	preprocess_input, %function
preprocess_input:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L862
.L896:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L863
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L863:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L898
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	ble	.L865
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L898
.L865:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #6
	ldr	r1, .L902
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L867
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #6
	ldr	r1, [fp, #-48]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L867
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L868
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L868
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-36]
	b	.L869
.L871:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L870
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
.L870:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L869:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L871
.L868:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L872
.L874:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L872:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L899
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L874
	b	.L899
.L867:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #5
	ldr	r1, .L902+4
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L875
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #5
	ldr	r1, [fp, #-48]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L875
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bne	.L876
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-36]
	b	.L877
.L879:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L878
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
.L878:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L877:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L879
	b	.L880
.L876:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L880
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
.L880:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L881
.L883:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L881:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L900
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L883
	b	.L900
.L875:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #7
	ldr	r1, .L902+8
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L884
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #4
	ldr	r1, .L902+12
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L884
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #8
	ldr	r1, .L902+16
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L866
.L884:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L885
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L886
.L885:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L887
.L889:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L887:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L888
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r1, [fp, #-48]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L889
.L888:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	add	r3, r3, #7
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-12]
	b	.L890
.L892:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L890:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L891
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L892
.L891:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	eval_preprocessor_boolean
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L893
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-32]
.L893:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L886
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
.L886:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L894
.L895:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L894:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L866
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L895
	b	.L866
.L898:
	nop
	b	.L866
.L899:
	nop
	b	.L866
.L900:
	nop
.L866:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L862:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L896
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L901
	ldr	r3, .L902+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, .L902+24
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L901:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L903:
	.align	2
.L902:
	.word	.LC141
	.word	.LC142
	.word	.LC143
	.word	.LC144
	.word	.LC145
	.word	stderr
	.word	.LC146
	.size	preprocess_input, .-preprocess_input
	.section	.rodata
	.align	2
.LC147:
	.ascii	"rb\000"
	.align	2
.LC148:
	.ascii	"Can't open this file for reading.\000"
	.align	2
.LC149:
	.ascii	"Input file too large.\000"
	.align	2
.LC150:
	.ascii	"Can't read in all %d bytes of this file.\000"
	.align	2
.LC151:
	.ascii	"String starting on this line is not terminated befo"
	.ascii	"re the end of the file.\000"
	.align	2
.LC152:
	.ascii	"C code starting on this line is not terminated befo"
	.ascii	"re the end of the file.\000"
	.align	2
.LC153:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Parse
	.syntax unified
	.arm
	.fpu softvfp
	.type	Parse, %function
Parse:
	@ args = 0, pretend = 0, frame = 8144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #8128
	sub	sp, sp, #20
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-4044]
	ldr	r3, .L971+32
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4012]
	sub	r3, fp, #8064
	sub	r3, r3, #12
	sub	r3, r3, #20
	ldr	r2, .L971
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	str	r3, [r2, #-3972]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	ldr	r3, [r3, #136]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3980]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3968]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	ldr	r1, .L971+4
	mov	r0, r3
	bl	fopen
	str	r0, [r4, #-4008]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4008]
	cmp	r3, #0
	bne	.L905
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	ldr	r2, .L971+8
	mov	r1, #0
	mov	r0, r3
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	str	r2, [r3, #64]
	b	.L904
.L905:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [r3, #-4008]
	bl	fseek
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4008]
	bl	ftell
	mov	r3, r0
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-4004]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4008]
	bl	rewind
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4004]
	add	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #-4000]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4004]
	ldr	r2, .L971+12
	cmp	r3, r2
	bhi	.L907
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4000]
	cmp	r3, #0
	bne	.L908
.L907:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	ldr	r2, .L971+16
	mov	r1, #0
	mov	r0, r3
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	str	r2, [r3, #64]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4008]
	bl	fclose
	b	.L904
.L908:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r1, fp, #4096
	sub	r1, r1, #12
	mov	r0, r1
	ldr	r3, [r3, #-4008]
	ldr	r2, [r2, #-4004]
	mov	r1, #1
	ldr	r0, [r0, #-4000]
	bl	fread
	mov	r2, r0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4004]
	cmp	r3, r2
	beq	.L909
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4004]
	ldr	r2, .L971+20
	mov	r1, #0
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	str	r2, [r3, #64]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4008]
	bl	fclose
	b	.L904
.L909:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4008]
	bl	fclose
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r2, #-4000]
	ldr	r3, [r3, #-4004]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	preprocess_input
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	ldr	r3, [r3, #172]
	cmp	r3, #0
	beq	.L910
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	puts
	b	.L904
.L910:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-4036]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4000]
	str	r3, [r2, #-4032]
	b	.L911
.L967:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L912
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	add	r3, r3, #1
	str	r3, [r2, #-4036]
.L912:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L913
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
	b	.L911
.L913:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #47
	bne	.L914
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L914
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #2
	str	r3, [r2, #-4032]
	b	.L915
.L917:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L915:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L911
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L917
	b	.L911
.L914:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #47
	bne	.L918
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L918
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #2
	str	r3, [r2, #-4032]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L920
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
	b	.L920
.L923:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L921
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	add	r3, r3, #1
	str	r3, [r2, #-4036]
.L921:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L920:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L922
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #47
	bne	.L923
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L923
.L922:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L911
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
	b	.L911
.L918:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	str	r3, [r2, #-3976]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	str	r3, [r2, #-3984]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #34
	bne	.L925
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
	b	.L926
.L929:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L927
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	add	r3, r3, #1
	str	r3, [r2, #-4036]
.L927:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L926:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L928
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #34
	bne	.L929
.L928:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	bne	.L930
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, .L971+24
	ldr	r1, [r1, #-4012]
	mov	r0, r3
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3980]
	add	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3980]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	str	r3, [r2, #-4028]
	b	.L931
.L930:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
	b	.L931
.L925:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #123
	bne	.L932
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-4024]
	b	.L933
.L955:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L934
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	add	r3, r3, #1
	str	r3, [r2, #-4036]
	b	.L935
.L934:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #123
	bne	.L936
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
	b	.L935
.L936:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #125
	bne	.L937
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	sub	r3, r3, #1
	str	r3, [r2, #-4024]
	b	.L935
.L937:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #47
	bne	.L938
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L938
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #2
	str	r3, [r2, #-4032]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4020]
	b	.L939
.L942:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L940
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	add	r3, r3, #1
	str	r3, [r2, #-4036]
.L940:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	str	r3, [r2, #-4020]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L939:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L970
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #47
	bne	.L942
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4020]
	cmp	r3, #42
	bne	.L942
	b	.L970
.L938:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #47
	bne	.L943
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L943
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #2
	str	r3, [r2, #-4032]
	b	.L944
.L946:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L944:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L945
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L946
.L945:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L935
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	add	r3, r3, #1
	str	r3, [r2, #-4036]
	b	.L935
.L943:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #39
	beq	.L948
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #34
	bne	.L935
.L948:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	str	r3, [r2, #-3992]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4016]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
	b	.L949
.L953:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #10
	bne	.L950
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	add	r3, r3, #1
	str	r3, [r2, #-4036]
.L950:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4016]
	cmp	r3, #92
	bne	.L951
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4016]
	b	.L952
.L951:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	str	r3, [r2, #-4016]
.L952:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L949:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L935
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r2, #-3996]
	ldr	r3, [r3, #-3992]
	cmp	r2, r3
	bne	.L953
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4016]
	cmp	r3, #92
	beq	.L953
	b	.L935
.L970:
	nop
.L935:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L933:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L954
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	cmp	r3, #1
	bgt	.L955
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #125
	bne	.L955
.L954:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	bne	.L956
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r1, [r2, #-3984]
	ldr	r2, .L971+28
	mov	r0, r3
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3980]
	add	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3980]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	str	r3, [r2, #-4028]
	b	.L931
.L956:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
	b	.L931
.L932:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L957
	b	.L958
.L960:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L958:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L959
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L960
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #95
	beq	.L960
.L959:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	str	r3, [r2, #-4028]
	b	.L931
.L957:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #58
	bne	.L961
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L961
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L961
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #3
	str	r3, [r2, #-4032]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	str	r3, [r2, #-4028]
	b	.L931
.L961:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #47
	beq	.L962
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #124
	bne	.L963
.L962:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L963
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #2
	str	r3, [r2, #-4032]
	b	.L964
.L972:
	.align	2
.L971:
	.word	8080
	.word	.LC147
	.word	.LC148
	.word	100000000
	.word	.LC149
	.word	.LC150
	.word	.LC151
	.word	.LC152
	.word	.LC153
.L966:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
.L964:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	beq	.L965
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L966
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #95
	beq	.L966
.L965:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	str	r3, [r2, #-4028]
	b	.L931
.L963:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	add	r3, r3, #1
	str	r3, [r2, #-4032]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	str	r3, [r2, #-4028]
.L931:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #8064
	sub	r3, r3, #12
	sub	r3, r3, #20
	mov	r0, r3
	bl	parseonetoken
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	and	r2, r3, #255
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	strb	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	str	r3, [r2, #-4032]
.L911:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4032]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r3, #0
	bne	.L967
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #4084]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	str	r2, [r3, #4]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-3980]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4044]
	str	r2, [r3, #64]
.L904:
	ldr	r3, .L971+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L969
	bl	__stack_chk_fail
.L969:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	Parse, .-Parse
	.local	plink_freelist
	.comm	plink_freelist,4,4
	.section	.rodata
	.align	2
.LC154:
	.ascii	"Unable to allocate memory for a new follow-set prop"
	.ascii	"agation link.\012\000"
	.text
	.align	2
	.global	Plink_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_new, %function
Plink_new:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L979
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L974
	mov	r3, #100
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r1, #8
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L979
	str	r2, [r3]
	ldr	r3, .L979
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L975
	ldr	r3, .L979+4
	ldr	r3, [r3]
	mov	r2, #65
	mov	r1, #1
	ldr	r0, .L979+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L975:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L976
.L977:
	ldr	r3, .L979
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r2, r3, #3
	ldr	r3, .L979
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L976:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L977
	ldr	r3, .L979
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
.L974:
	ldr	r3, .L979
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L979
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L979
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L980:
	.align	2
.L979:
	.word	plink_freelist
	.word	stderr
	.word	.LC154
	.size	Plink_new, .-Plink_new
	.align	2
	.global	Plink_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_add, %function
Plink_add:
	@ 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]
	bl	Plink_new
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Plink_add, .-Plink_add
	.align	2
	.global	Plink_copy
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_copy, %function
Plink_copy:
	@ 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]
	b	.L983
.L984:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
.L983:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L984
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Plink_copy, .-Plink_copy
	.align	2
	.global	Plink_delete
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_delete, %function
Plink_delete:
	@ 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]
	b	.L986
.L987:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, .L988
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r2, .L988
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L986:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L987
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L989:
	.align	2
.L988:
	.word	plink_freelist
	.size	Plink_delete, .-Plink_delete
	.section	.rodata
	.align	2
.LC155:
	.ascii	"Can't allocate space for a filename.\012\000"
	.align	2
.LC156:
	.ascii	"/\000"
	.text
	.align	2
	.global	file_makename
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_makename, %function
file_makename:
	@ 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]
	ldr	r3, [r3, #136]
	str	r3, [fp, #-20]
	ldr	r3, .L997
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L991
	mov	r1, #47
	ldr	r0, [fp, #-20]
	bl	strrchr
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L991
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L991:
	ldr	r0, [fp, #-20]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-28]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, .L997
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L992
	ldr	r3, .L997
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
.L992:
	ldr	r3, [fp, #-16]
	add	r3, r3, #5
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L993
	ldr	r3, .L997+4
	ldr	r3, [r3]
	mov	r2, #37
	mov	r1, #1
	ldr	r0, .L997+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L993:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L997
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L994
	ldr	r3, .L997
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	lemon_strcpy
	ldr	r1, .L997+12
	ldr	r0, [fp, #-8]
	bl	lemon_strcat
.L994:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	lemon_strcat
	mov	r1, #46
	ldr	r0, [fp, #-8]
	bl	strrchr
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L995
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3]
.L995:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-8]
	bl	lemon_strcat
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L998:
	.align	2
.L997:
	.word	outputDir
	.word	stderr
	.word	.LC155
	.word	.LC156
	.size	file_makename, .-file_makename
	.section	.rodata
	.align	2
.LC157:
	.ascii	"Can't open file \"%s\".\012\000"
	.align	2
.LC158:
	.ascii	".out\000"
	.text
	.align	2
	.global	file_open
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_open, %function
file_open:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #140]
	cmp	r3, #0
	beq	.L1000
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #140]
	mov	r0, r3
	bl	free
.L1000:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	file_makename
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #140]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #140]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1001
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #119
	bne	.L1001
	ldr	r3, .L1006
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #140]
	mov	r2, r3
	ldr	r1, .L1006+4
	bl	fprintf
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #64]
	mov	r3, #0
	b	.L1002
.L1001:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #119
	bne	.L1003
	ldr	r1, .L1006+8
	ldr	r0, [fp, #-28]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1003
	ldr	r3, .L1006+12
	ldr	r2, [r3]
	ldr	r3, .L1006+16
	ldr	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #140]
	mov	r0, r3
	bl	Strsafe
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1004
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1005
.L1004:
	ldr	r0, [fp, #-12]
	bl	free
	bl	memory_error
.L1005:
	ldr	r2, .L1006+12
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, .L1006+12
	ldr	r2, [r3]
	ldr	r3, .L1006+16
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r0, .L1006+16
	str	r1, [r0]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L1003:
	ldr	r3, [fp, #-16]
.L1002:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1007:
	.align	2
.L1006:
	.word	stderr
	.word	.LC157
	.word	.LC158
	.word	made_files
	.word	made_files_count
	.size	file_open, .-file_open
	.section	.rodata
	.align	2
.LC159:
	.ascii	" ::=\000"
	.align	2
.LC160:
	.ascii	"|%s\000"
	.text
	.align	2
	.global	rule_print
	.syntax unified
	.arm
	.fpu softvfp
	.type	rule_print, %function
rule_print:
	@ 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, #-28]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	fputs
	ldr	r3, [fp, #-24]
	mov	r2, #4
	mov	r1, #1
	ldr	r0, .L1015
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1009
.L1014:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L1010
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #64]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1015+4
	ldr	r0, [fp, #-24]
	bl	fprintf
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L1011
.L1012:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1015+8
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1011:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1012
	b	.L1013
.L1010:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1015+4
	ldr	r0, [fp, #-24]
	bl	fprintf
.L1013:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1009:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1014
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1016:
	.align	2
.L1015:
	.word	.LC159
	.word	.LC58
	.word	.LC160
	.size	rule_print, .-rule_print
	.section	.rodata
	.align	2
.LC161:
	.ascii	"// Reprint of input file \"%s\".\012// Symbols:\012"
	.ascii	"\000"
	.global	__aeabi_idiv
	.align	2
.LC162:
	.ascii	"//\000"
	.align	2
.LC163:
	.ascii	"sp->index==j\000"
	.align	2
.LC164:
	.ascii	" %3d %-*.*s\000"
	.align	2
.LC165:
	.ascii	" [%s]\000"
	.text
	.align	2
	.global	Reprint
	.syntax unified
	.arm
	.fpu softvfp
	.type	Reprint, %function
Reprint:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #136]
	mov	r1, r3
	ldr	r0, .L1030
	bl	printf
	mov	r3, #10
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1018
.L1020:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	ble	.L1019
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
.L1019:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1018:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L1020
	ldr	r3, [fp, #-24]
	add	r3, r3, #5
	mov	r1, r3
	mov	r0, #76
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L1021
	mov	r3, #1
	str	r3, [fp, #-20]
.L1021:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1022
.L1026:
	ldr	r0, .L1030+4
	bl	printf
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	b	.L1023
.L1025:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	beq	.L1024
	ldr	r3, .L1030+8
	mov	r2, #3376
	ldr	r1, .L1030+12
	ldr	r0, .L1030+16
	bl	__assert_fail
.L1024:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, .L1030+20
	bl	printf
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-28]
.L1023:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L1025
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1022:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L1026
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
	b	.L1027
.L1029:
	ldr	r3, .L1030+24
	ldr	r3, [r3]
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	rule_print
	mov	r0, #46
	bl	putchar
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L1028
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #44]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1030+28
	bl	printf
.L1028:
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-36]
.L1027:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1029
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1031:
	.align	2
.L1030:
	.word	.LC161
	.word	.LC162
	.word	__PRETTY_FUNCTION__.7360
	.word	.LC10
	.word	.LC163
	.word	.LC164
	.word	stdout
	.word	.LC165
	.size	Reprint, .-Reprint
	.section	.rodata
	.align	2
.LC166:
	.ascii	"%s ::=\000"
	.align	2
.LC167:
	.ascii	" *\000"
	.text
	.align	2
	.global	RulePrint
	.syntax unified
	.arm
	.fpu softvfp
	.type	RulePrint, %function
RulePrint:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1044
	ldr	r0, [fp, #-24]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1033
.L1041:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L1034
	ldr	r3, [fp, #-24]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1044+4
	bl	fwrite
.L1034:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L1042
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L1037
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #64]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1044+8
	ldr	r0, [fp, #-24]
	bl	fprintf
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L1038
.L1039:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1044+12
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1038:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1039
	b	.L1040
.L1037:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1044+8
	ldr	r0, [fp, #-24]
	bl	fprintf
.L1040:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1033:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L1041
	b	.L1043
.L1042:
	nop
.L1043:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1045:
	.align	2
.L1044:
	.word	.LC166
	.word	.LC167
	.word	.LC58
	.word	.LC160
	.size	RulePrint, .-RulePrint
	.align	2
	.global	ConfigPrint
	.syntax unified
	.arm
	.fpu softvfp
	.type	ConfigPrint, %function
ConfigPrint:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	RulePrint
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ConfigPrint, .-ConfigPrint
	.section	.rodata
	.align	2
.LC168:
	.ascii	"%*s shift        %-7d\000"
	.align	2
.LC169:
	.ascii	"%*s reduce       %-7d\000"
	.align	2
.LC170:
	.ascii	"%*s shift-reduce %-7d\000"
	.align	2
.LC171:
	.ascii	"%*s accept\000"
	.align	2
.LC172:
	.ascii	"%*s error\000"
	.align	2
.LC173:
	.ascii	"%*s reduce       %-7d ** Parsing conflict **\000"
	.align	2
.LC174:
	.ascii	"%*s shift        %-7d ** Parsing conflict **\000"
	.align	2
.LC175:
	.ascii	"%*s shift        %-7d -- dropped by precedence\000"
	.align	2
.LC176:
	.ascii	"%*s reduce %-7d -- dropped by precedence\000"
	.align	2
.LC177:
	.ascii	"  /* because %s==%s */\000"
	.text
	.align	2
	.global	PrintAction
	.syntax unified
	.arm
	.fpu softvfp
	.type	PrintAction, %function
PrintAction:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #10
	ldrls	pc, [pc, r3, asl #2]
	b	.L1048
.L1050:
	.word	.L1059
	.word	.L1058
	.word	.L1057
	.word	.L1056
	.word	.L1055
	.word	.L1054
	.word	.L1054
	.word	.L1053
	.word	.L1052
	.word	.L1051
	.word	.L1049
.L1059:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L1048
.L1057:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #52]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+4
	ldr	r0, [fp, #-28]
	bl	fprintf
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	RulePrint
	b	.L1048
.L1049:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #52]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+8
	ldr	r0, [fp, #-28]
	bl	fprintf
	mvn	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-28]
	bl	RulePrint
	b	.L1048
.L1058:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+12
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L1048
.L1056:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+16
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L1048
.L1054:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #52]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+20
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L1048
.L1055:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #8]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+24
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L1048
.L1053:
	ldr	r3, .L1066+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1060
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #8]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+32
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L1048
.L1060:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1048
.L1052:
	ldr	r3, .L1066+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1062
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #52]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, .L1066+36
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L1048
.L1062:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1048
.L1051:
	mov	r3, #0
	str	r3, [fp, #-20]
	nop
.L1048:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1064
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1064
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	ldr	r1, .L1066+40
	ldr	r0, [fp, #-28]
	bl	fprintf
.L1064:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1067:
	.align	2
.L1066:
	.word	.LC168
	.word	.LC169
	.word	.LC170
	.word	.LC171
	.word	.LC172
	.word	.LC173
	.word	.LC174
	.word	showPrecedenceConflict
	.word	.LC175
	.word	.LC176
	.word	.LC177
	.size	PrintAction, .-PrintAction
	.section	.rodata
	.align	2
.LC178:
	.ascii	"wb\000"
	.align	2
.LC179:
	.ascii	"State %d:\012\000"
	.align	2
.LC180:
	.ascii	"(%d)\000"
	.align	2
.LC181:
	.ascii	"    %5s \000"
	.align	2
.LC182:
	.ascii	"          \000"
	.align	2
.LC183:
	.ascii	"---------------------------------------------------"
	.ascii	"-\012\000"
	.align	2
.LC184:
	.ascii	"Symbols:\012\000"
	.align	2
.LC185:
	.ascii	"The first-set of non-terminals is shown after the n"
	.ascii	"ame.\012\012\000"
	.align	2
.LC186:
	.ascii	"  %3d: %s\000"
	.align	2
.LC187:
	.ascii	" <lambda>\000"
	.align	2
.LC188:
	.ascii	" (precedence=%d)\000"
	.align	2
.LC189:
	.ascii	"Syntax-only Symbols:\012\000"
	.align	2
.LC190:
	.ascii	"The following symbols never carry semantic content."
	.ascii	"\012\012\000"
	.align	2
.LC191:
	.ascii	"Rules:\012\000"
	.align	2
.LC192:
	.ascii	"%4d: \000"
	.align	2
.LC193:
	.ascii	" [%s precedence=%d]\000"
	.align	2
.LC194:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ReportOutput
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReportOutput, %function
ReportOutput:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-80]
	ldr	r3, .L1105
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L1105+4
	ldr	r1, .L1105+8
	ldr	r0, [fp, #-80]
	bl	file_open
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L1103
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L1071
.L1083:
	ldr	r3, [fp, #-80]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, .L1105+12
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #168]
	cmp	r3, #0
	beq	.L1072
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	b	.L1074
.L1072:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-64]
	b	.L1074
.L1079:
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bne	.L1075
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	sub	r3, fp, #28
	ldr	r1, .L1105+16
	mov	r0, r3
	bl	lemon_sprintf
	sub	r3, fp, #28
	mov	r2, r3
	ldr	r1, .L1105+20
	ldr	r0, [fp, #-48]
	bl	fprintf
	b	.L1076
.L1075:
	ldr	r3, [fp, #-48]
	mov	r2, #10
	mov	r1, #1
	ldr	r0, .L1105+24
	bl	fwrite
.L1076:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-48]
	bl	ConfigPrint
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #168]
	cmp	r3, #0
	beq	.L1077
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-64]
	b	.L1074
.L1077:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-64]
.L1074:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L1079
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-60]
	b	.L1080
.L1082:
	mov	r2, #30
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-60]
	bl	PrintAction
	mov	r3, r0
	cmp	r3, #0
	beq	.L1081
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
.L1081:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-60]
.L1080:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L1082
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L1071:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L1083
	ldr	r3, [fp, #-48]
	mov	r2, #53
	mov	r1, #1
	ldr	r0, .L1105+28
	bl	fwrite
	ldr	r3, [fp, #-48]
	mov	r2, #9
	mov	r1, #1
	ldr	r0, .L1105+32
	bl	fwrite
	ldr	r3, [fp, #-48]
	mov	r2, #57
	mov	r1, #1
	ldr	r0, .L1105+36
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L1084
.L1091:
	ldr	r3, [fp, #-80]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	ldr	r1, .L1105+40
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L1085
	ldr	r1, [fp, #-48]
	mov	r0, #58
	bl	fputc
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L1086
	ldr	r3, [fp, #-48]
	mov	r2, #9
	mov	r1, #1
	ldr	r0, .L1105+44
	bl	fwrite
.L1086:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1087
.L1089:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1088
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1088
	ldr	r3, [fp, #-80]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1105+48
	ldr	r0, [fp, #-48]
	bl	fprintf
.L1088:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L1087:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L1089
.L1085:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L1090
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #20]
	mov	r2, r3
	ldr	r1, .L1105+52
	ldr	r0, [fp, #-48]
	bl	fprintf
.L1090:
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L1084:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L1091
	ldr	r3, [fp, #-48]
	mov	r2, #53
	mov	r1, #1
	ldr	r0, .L1105+28
	bl	fwrite
	ldr	r3, [fp, #-48]
	mov	r2, #21
	mov	r1, #1
	ldr	r0, .L1105+56
	bl	fwrite
	ldr	r3, [fp, #-48]
	mov	r2, #53
	mov	r1, #1
	ldr	r0, .L1105+60
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-72]
	b	.L1092
.L1097:
	ldr	r3, [fp, #-80]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1104
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	ble	.L1095
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	cmp	r3, #75
	ble	.L1095
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
	mov	r3, #0
	str	r3, [fp, #-68]
.L1095:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	ble	.L1096
	ldr	r1, [fp, #-48]
	mov	r0, #32
	bl	fputc
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L1096:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	fputs
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	b	.L1094
.L1104:
	nop
.L1094:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L1092:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L1097
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	ble	.L1098
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
.L1098:
	ldr	r3, [fp, #-48]
	mov	r2, #53
	mov	r1, #1
	ldr	r0, .L1105+28
	bl	fwrite
	ldr	r3, [fp, #-48]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L1105+64
	bl	fwrite
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-56]
	b	.L1099
.L1101:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1105+68
	ldr	r0, [fp, #-48]
	bl	fprintf
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-48]
	bl	rule_print
	ldr	r1, [fp, #-48]
	mov	r0, #46
	bl	fputc
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L1100
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	ldr	r3, [r3, #20]
	ldr	r1, .L1105+72
	ldr	r0, [fp, #-48]
	bl	fprintf
.L1100:
	ldr	r1, [fp, #-48]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-56]
.L1099:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L1101
	ldr	r0, [fp, #-48]
	bl	fclose
	b	.L1068
.L1103:
	nop
.L1068:
	ldr	r3, .L1105
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1102
	bl	__stack_chk_fail
.L1102:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1106:
	.align	2
.L1105:
	.word	.LC194
	.word	.LC178
	.word	.LC158
	.word	.LC179
	.word	.LC180
	.word	.LC181
	.word	.LC182
	.word	.LC183
	.word	.LC184
	.word	.LC185
	.word	.LC186
	.word	.LC187
	.word	.LC58
	.word	.LC188
	.word	.LC189
	.word	.LC190
	.word	.LC191
	.word	.LC192
	.word	.LC193
	.size	ReportOutput, .-ReportOutput
	.section	.rodata
	.align	2
.LC195:
	.ascii	"%s/%s\000"
	.align	2
.LC196:
	.ascii	"PATH\000"
	.align	2
.LC197:
	.ascii	".:/bin:/usr/bin\000"
	.text
	.align	2
	.global	pathsearch
	.syntax unified
	.arm
	.fpu softvfp
	.type	pathsearch, %function
pathsearch:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r1, #47
	ldr	r0, [fp, #-40]
	bl	strrchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1108
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-40]
	bl	strlen
	mov	r3, r0
	mov	r4, r3
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1109
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r1, .L1120
	ldr	r0, [fp, #-20]
	bl	lemon_sprintf
.L1109:
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-33]
	strb	r2, [r3]
	b	.L1110
.L1108:
	ldr	r0, .L1120+4
	bl	getenv
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1111
	ldr	r3, .L1120+8
	str	r3, [fp, #-32]
.L1111:
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r3, r0
	mov	r4, r3
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1112
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1112
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	lemon_strcpy
	b	.L1113
.L1117:
	mov	r1, #58
	ldr	r0, [fp, #-24]
	bl	strchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1114
	ldr	r0, [fp, #-24]
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-16]
.L1114:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-24]
	ldr	r1, .L1120
	ldr	r0, [fp, #-20]
	bl	lemon_sprintf
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-33]
	strb	r2, [r3]
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1115
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	b	.L1116
.L1115:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1116:
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-20]
	bl	access
	mov	r3, r0
	cmp	r3, #0
	beq	.L1119
.L1113:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1117
	b	.L1112
.L1119:
	nop
.L1112:
	ldr	r0, [fp, #-28]
	bl	free
.L1110:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1121:
	.align	2
.L1120:
	.word	.LC195
	.word	.LC196
	.word	.LC197
	.size	pathsearch, .-pathsearch
	.align	2
	.global	compute_action
	.syntax unified
	.arm
	.fpu softvfp
	.type	compute_action, %function
compute_action:
	@ 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, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #10
	ldrls	pc, [pc, r3, asl #2]
	b	.L1123
.L1125:
	.word	.L1129
	.word	.L1128
	.word	.L1127
	.word	.L1126
	.word	.L1123
	.word	.L1123
	.word	.L1123
	.word	.L1123
	.word	.L1123
	.word	.L1123
	.word	.L1124
.L1129:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	b	.L1130
.L1124:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	blt	.L1131
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L1132
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	beq	.L1131
.L1132:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #52]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L1130
.L1131:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #52]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L1130
.L1127:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #52]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L1130
.L1126:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-8]
	b	.L1130
.L1128:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-8]
	b	.L1130
.L1123:
	mvn	r3, #0
	str	r3, [fp, #-8]
	nop
.L1130:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	compute_action, .-compute_action
	.section	.rodata
	.align	2
.LC198:
	.ascii	"Parse\000"
	.align	2
.LC199:
	.ascii	"%.*s\000"
	.align	2
.LC200:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tplt_xfer
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_xfer, %function
tplt_xfer:
	@ args = 0, pretend = 0, frame = 1032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1024
	sub	sp, sp, #8
	str	r0, [fp, #-1024]
	str	r1, [fp, #-1028]
	str	r2, [fp, #-1032]
	str	r3, [fp, #-1036]
	ldr	r3, .L1147
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L1136
.L1144:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-1036]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-1012]
	ldr	r3, [fp, #-1024]
	cmp	r3, #0
	beq	.L1137
	mov	r3, #0
	str	r3, [fp, #-1016]
	b	.L1138
.L1142:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1016]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #80
	bne	.L1139
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1016]
	add	r3, r2, r3
	mov	r2, #5
	ldr	r1, .L1147+4
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1139
	ldr	r3, [fp, #-1016]
	cmp	r3, #0
	beq	.L1140
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1016]
	sub	r3, r3, #1
	sub	r1, fp, #4
	add	r3, r1, r3
	ldrb	r3, [r3, #-1004]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1139
.L1140:
	ldr	r2, [fp, #-1016]
	ldr	r3, [fp, #-1012]
	cmp	r2, r3
	ble	.L1141
	ldr	r2, [fp, #-1016]
	ldr	r3, [fp, #-1012]
	sub	r1, r2, r3
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1012]
	add	r3, r2, r3
	mov	r2, r1
	ldr	r1, .L1147+8
	ldr	r0, [fp, #-1032]
	bl	fprintf
.L1141:
	ldr	r1, [fp, #-1032]
	ldr	r0, [fp, #-1024]
	bl	fputs
	ldr	r3, [fp, #-1016]
	add	r3, r3, #4
	str	r3, [fp, #-1016]
	ldr	r3, [fp, #-1016]
	add	r3, r3, #1
	str	r3, [fp, #-1012]
.L1139:
	ldr	r3, [fp, #-1016]
	add	r3, r3, #1
	str	r3, [fp, #-1016]
.L1138:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1016]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1142
.L1137:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1012]
	add	r3, r2, r3
	ldr	r1, [fp, #-1032]
	mov	r0, r3
	bl	fputs
.L1136:
	sub	r3, fp, #1008
	ldr	r2, [fp, #-1028]
	mov	r1, #1000
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	beq	.L1146
	ldrb	r3, [fp, #-1008]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L1144
	ldrb	r3, [fp, #-1007]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L1144
.L1146:
	nop
	ldr	r3, .L1147
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1145
	bl	__stack_chk_fail
.L1145:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1148:
	.align	2
.L1147:
	.word	.LC200
	.word	.LC198
	.word	.LC199
	.size	tplt_xfer, .-tplt_xfer
	.section	.rodata
	.align	2
.LC201:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tplt_skip_header
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_skip_header, %function
tplt_skip_header:
	@ args = 0, pretend = 0, frame = 1016
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1016
	str	r0, [fp, #-1016]
	str	r1, [fp, #-1020]
	ldr	r3, .L1155
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L1150
.L1152:
	ldr	r3, [fp, #-1020]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-1020]
	str	r2, [r3]
.L1150:
	sub	r3, fp, #1008
	ldr	r2, [fp, #-1016]
	mov	r1, #1000
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	beq	.L1154
	ldrb	r3, [fp, #-1008]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L1152
	ldrb	r3, [fp, #-1007]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L1152
.L1154:
	nop
	ldr	r3, .L1155
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1153
	bl	__stack_chk_fail
.L1153:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1156:
	.align	2
.L1155:
	.word	.LC201
	.size	tplt_skip_header, .-tplt_skip_header
	.section	.rodata
	.align	2
.LC202:
	.ascii	"Can't find the parser driver template file \"%s\".\012"
	.ascii	"\000"
	.align	2
.LC203:
	.ascii	"Can't open the template file \"%s\".\012\000"
	.align	2
.LC204:
	.ascii	"%.*s.lt\000"
	.align	2
.LC205:
	.ascii	"%s.lt\000"
	.align	2
.LC206:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tplt_open
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_open, %function
tplt_open:
	@ args = 0, pretend = 0, frame = 1032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1024
	sub	sp, sp, #8
	str	r0, [fp, #-1032]
	ldr	r3, .L1171
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1020]
	ldr	r3, .L1171+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1158
	ldr	r3, .L1171+4
	ldr	r3, [r3]
	mov	r1, #4
	mov	r0, r3
	bl	access
	mov	r3, r0
	cmn	r3, #1
	bne	.L1159
	ldr	r3, .L1171+8
	ldr	r3, [r3]
	ldr	r2, .L1171+4
	ldr	r2, [r2]
	ldr	r1, .L1171+12
	mov	r0, r3
	bl	fprintf
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-1032]
	str	r2, [r3, #64]
	mov	r3, #0
	b	.L1169
.L1159:
	ldr	r3, .L1171+4
	ldr	r3, [r3]
	ldr	r1, .L1171+16
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-1012]
	ldr	r3, [fp, #-1012]
	cmp	r3, #0
	bne	.L1161
	ldr	r3, .L1171+8
	ldr	r3, [r3]
	ldr	r2, .L1171+4
	ldr	r2, [r2]
	ldr	r1, .L1171+20
	mov	r0, r3
	bl	fprintf
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-1032]
	str	r2, [r3, #64]
	mov	r3, #0
	b	.L1169
.L1161:
	ldr	r3, [fp, #-1012]
	b	.L1169
.L1158:
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #136]
	mov	r1, #46
	mov	r0, r3
	bl	strrchr
	str	r0, [fp, #-1016]
	ldr	r3, [fp, #-1016]
	cmp	r3, #0
	beq	.L1162
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #136]
	ldr	r2, [fp, #-1016]
	sub	r2, r2, r3
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #136]
	sub	r0, fp, #1008
	ldr	r1, .L1171+24
	bl	lemon_sprintf
	b	.L1163
.L1162:
	ldr	r3, [fp, #-1032]
	ldr	r2, [r3, #136]
	sub	r3, fp, #1008
	ldr	r1, .L1171+28
	mov	r0, r3
	bl	lemon_sprintf
.L1163:
	sub	r3, fp, #1008
	mov	r1, #4
	mov	r0, r3
	bl	access
	mov	r3, r0
	cmp	r3, #0
	bne	.L1164
	sub	r3, fp, #1008
	str	r3, [fp, #-1024]
	b	.L1165
.L1164:
	mov	r1, #4
	ldr	r0, .L1171+32
	bl	access
	mov	r3, r0
	cmp	r3, #0
	bne	.L1166
	ldr	r3, .L1171+32
	str	r3, [fp, #-1024]
	b	.L1165
.L1166:
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #184]
	mov	r2, #0
	ldr	r1, .L1171+32
	mov	r0, r3
	bl	pathsearch
	str	r0, [fp, #-1024]
	ldr	r3, [fp, #-1024]
	str	r3, [fp, #-1020]
.L1165:
	ldr	r3, [fp, #-1024]
	cmp	r3, #0
	bne	.L1167
	ldr	r3, .L1171+8
	ldr	r3, [r3]
	ldr	r2, .L1171+32
	ldr	r1, .L1171+12
	mov	r0, r3
	bl	fprintf
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-1032]
	str	r2, [r3, #64]
	mov	r3, #0
	b	.L1169
.L1167:
	ldr	r1, .L1171+16
	ldr	r0, [fp, #-1024]
	bl	fopen
	str	r0, [fp, #-1012]
	ldr	r3, [fp, #-1012]
	cmp	r3, #0
	bne	.L1168
	ldr	r3, .L1171+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-1024]
	ldr	r1, .L1171+20
	mov	r0, r3
	bl	fprintf
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-1032]
	str	r2, [r3, #64]
.L1168:
	ldr	r0, [fp, #-1020]
	bl	free
	ldr	r3, [fp, #-1012]
.L1169:
	ldr	r2, .L1171
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1170
	bl	__stack_chk_fail
.L1170:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1172:
	.align	2
.L1171:
	.word	.LC206
	.word	user_templatename
	.word	stderr
	.word	.LC202
	.word	.LC147
	.word	.LC203
	.word	.LC204
	.word	.LC205
	.word	templatename.7498
	.size	tplt_open, .-tplt_open
	.section	.rodata
	.align	2
.LC207:
	.ascii	"#line %d \"\000"
	.align	2
.LC208:
	.ascii	"\"\012\000"
	.text
	.align	2
	.global	tplt_linedir
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_linedir, %function
tplt_linedir:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, .L1177
	ldr	r0, [fp, #-8]
	bl	fprintf
	b	.L1174
.L1176:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1175
	ldr	r1, [fp, #-8]
	mov	r0, #92
	bl	putc
.L1175:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1174:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1176
	ldr	r3, [fp, #-8]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1177+4
	bl	fwrite
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1178:
	.align	2
.L1177:
	.word	.LC207
	.word	.LC208
	.size	tplt_linedir, .-tplt_linedir
	.align	2
	.global	tplt_print
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_print, %function
tplt_print:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1187
	b	.L1182
.L1184:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1183
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3]
.L1183:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1182:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1184
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L1185
	ldr	r1, [fp, #-8]
	mov	r0, #10
	bl	putc
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3]
.L1185:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #180]
	cmp	r3, #0
	bne	.L1188
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #140]
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	tplt_linedir
	b	.L1188
.L1187:
	nop
	b	.L1179
.L1188:
	nop
.L1179:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tplt_print, .-tplt_print
	.section	.rodata
	.align	2
.LC209:
	.ascii	"{\012\000"
	.align	2
.LC210:
	.ascii	"(yypminor->yy%d)\000"
	.align	2
.LC211:
	.ascii	"}\012\000"
	.text
	.align	2
	.global	emit_destructor_code
	.syntax unified
	.arm
	.fpu softvfp
	.type	emit_destructor_code, %function
emit_destructor_code:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1190
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #128]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1203
	ldr	r3, [fp, #-16]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1205
	bl	fwrite
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	b	.L1197
.L1190:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1194
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1205
	bl	fwrite
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	cmp	r3, #0
	bne	.L1197
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #44]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #136]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	tplt_linedir
	b	.L1197
.L1194:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #132]
	cmp	r3, #0
	beq	.L1195
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #132]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1204
	ldr	r3, [fp, #-16]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1205
	bl	fwrite
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	b	.L1197
.L1195:
	ldr	r3, .L1205+4
	mov	r2, #3856
	ldr	r1, .L1205+8
	ldr	r0, .L1205+12
	bl	__assert_fail
.L1201:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L1198
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L1198
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1205+16
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L1199
.L1198:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1200
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
.L1200:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	fputc
.L1199:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1197:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1201
	ldr	r1, [fp, #-16]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	cmp	r3, #0
	bne	.L1202
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #140]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	tplt_linedir
.L1202:
	ldr	r3, [fp, #-16]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1205+20
	bl	fwrite
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	b	.L1189
.L1203:
	nop
	b	.L1189
.L1204:
	nop
.L1189:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1206:
	.align	2
.L1205:
	.word	.LC209
	.word	__PRETTY_FUNCTION__.7528
	.word	.LC10
	.word	.LC1
	.word	.LC210
	.word	.LC211
	.size	emit_destructor_code, .-emit_destructor_code
	.align	2
	.global	has_destructor
	.syntax unified
	.arm
	.fpu softvfp
	.type	has_destructor, %function
has_destructor:
	@ 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]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1208
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #128]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	b	.L1209
.L1208:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #132]
	cmp	r3, #0
	bne	.L1210
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1211
.L1210:
	mov	r3, #1
	b	.L1212
.L1211:
	mov	r3, #0
.L1212:
	str	r3, [fp, #-8]
.L1209:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	has_destructor, .-has_destructor
	.section	.rodata
	.align	2
.LC212:
	.ascii	"used>=0\000"
	.align	2
.LC213:
	.ascii	"%d\000"
	.align	2
.LC214:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	append_str
	.syntax unified
	.arm
	.fpu softvfp
	.type	append_str, %function
append_str:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, .L1227
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L1215
	ldr	r3, .L1227+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1216
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1216
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	mov	r2, #0
	strb	r2, [r3]
.L1216:
	ldr	r3, .L1227+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	b	.L1225
.L1215:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bgt	.L1218
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bge	.L1219
	ldr	r3, .L1227+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, .L1227+4
	str	r3, [r2]
	ldr	r3, .L1227+4
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L1219
	ldr	r3, .L1227+12
	ldr	r2, .L1227+16
	ldr	r1, .L1227+20
	ldr	r0, .L1227+24
	bl	__assert_fail
.L1219:
	ldr	r0, [fp, #-56]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-60]
.L1218:
	ldr	r3, [fp, #-60]
	ldr	r2, .L1227+4
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r3, r3, #80
	mov	r2, r3
	ldr	r3, .L1227+28
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1220
	ldr	r3, [fp, #-60]
	ldr	r2, .L1227+4
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r3, r3, #280
	mov	r2, r3
	ldr	r3, .L1227+28
	str	r2, [r3]
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	ldr	r2, .L1227+28
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	realloc
	mov	r3, r0
	ldr	r2, .L1227+8
	str	r3, [r2]
.L1220:
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1222
	ldr	r3, .L1227+32
	b	.L1225
.L1224:
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	str	r2, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #37
	bne	.L1223
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L1223
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #100
	bne	.L1223
	sub	r3, fp, #48
	ldr	r2, [fp, #-64]
	ldr	r1, .L1227+36
	mov	r0, r3
	bl	lemon_sprintf
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	ldr	r2, .L1227+4
	ldr	r2, [r2]
	add	r3, r3, r2
	sub	r2, fp, #48
	mov	r1, r2
	mov	r0, r3
	bl	lemon_strcpy
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	ldr	r2, .L1227+4
	ldr	r2, [r2]
	add	r3, r3, r2
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1227+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L1227+4
	str	r3, [r2]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L1222
.L1223:
	ldr	r3, .L1227+8
	ldr	r2, [r3]
	ldr	r3, .L1227+4
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r0, .L1227+4
	str	r1, [r0]
	add	r3, r2, r3
	ldr	r2, [fp, #-52]
	and	r2, r2, #255
	strb	r2, [r3]
.L1222:
	ldr	r3, [fp, #-60]
	sub	r2, r3, #1
	str	r2, [fp, #-60]
	cmp	r3, #0
	bgt	.L1224
	ldr	r3, .L1227+8
	ldr	r3, [r3]
	ldr	r2, .L1227+4
	ldr	r2, [r2]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L1227+8
	ldr	r3, [r3]
.L1225:
	ldr	r2, .L1227
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1226
	bl	__stack_chk_fail
.L1226:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1228:
	.align	2
.L1227:
	.word	.LC214
	.word	used.7547
	.word	z.7545
	.word	__PRETTY_FUNCTION__.7550
	.word	3916
	.word	.LC10
	.word	.LC212
	.word	alloced.7546
	.word	empty.7544
	.word	.LC213
	.size	append_str, .-append_str
	.section	.rodata
	.align	2
.LC215:
	.ascii	"  yy_destructor(yypParser,%d,&yymsp[%d].minor);\012"
	.ascii	"\000"
	.align	2
.LC216:
	.ascii	"%s(%s) and %s(%s) share the same label but have dif"
	.ascii	"ferent datatypes.\000"
	.align	2
.LC217:
	.ascii	"/*%s-overwrites-%s*/\000"
	.align	2
.LC218:
	.ascii	"yymsp[%d].minor.yy%d\000"
	.align	2
.LC219:
	.ascii	"yylhsminor.yy%d\000"
	.align	2
.LC220:
	.ascii	"Label %s used after '%s'.\000"
	.align	2
.LC221:
	.ascii	"yymsp[%d].major\000"
	.align	2
.LC222:
	.ascii	"Label \"%s\" for \"%s(%s)\" is never used.\000"
	.align	2
.LC223:
	.ascii	"%s(%s) has the same label as the LHS but is not the"
	.ascii	" left-most symbol on the RHS.\000"
	.align	2
.LC224:
	.ascii	"Label %s used for multiple symbols on the RHS of a "
	.ascii	"rule.\000"
	.align	2
.LC225:
	.ascii	"Label %s for \"%s(%s)\" is never used.\000"
	.align	2
.LC226:
	.ascii	"  yymsp[%d].minor.yy%d = \000"
	.align	2
.LC227:
	.ascii	";\012\000"
	.align	2
.LC228:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	translate_code
	.syntax unified
	.arm
	.fpu softvfp
	.type	translate_code, %function
translate_code:
	@ args = 0, pretend = 0, frame = 2008
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2016
	sub	sp, sp, #8
	str	r0, [fp, #-2008]
	str	r1, [fp, #-2012]
	ldr	r3, .L1275
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1984]
	mov	r3, #0
	str	r3, [fp, #-1980]
	mov	r3, #0
	str	r3, [fp, #-1976]
	mov	r3, #0
	strb	r3, [fp, #-1999]
	mov	r3, #0
	str	r3, [fp, #-1988]
	b	.L1230
.L1231:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1988]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-1988]
	add	r3, r3, #1
	str	r3, [fp, #-1988]
.L1230:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1988]
	cmp	r2, r3
	blt	.L1231
	mov	r3, #0
	strb	r3, [fp, #-1999]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1232
	ldr	r3, [fp, #-2012]
	ldr	r2, .L1275+4
	str	r2, [r3, #32]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-2012]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-2012]
	mov	r2, #1
	str	r2, [r3, #56]
	b	.L1233
.L1232:
	ldr	r3, [fp, #-2012]
	mov	r2, #0
	str	r2, [r3, #56]
.L1233:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1234
	mov	r3, #1
	strb	r3, [fp, #-1998]
	b	.L1235
.L1234:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1236
	mov	r3, #1
	strb	r3, [fp, #-1998]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	ldr	r1, [fp, #-2008]
	mov	r0, r3
	bl	has_destructor
	mov	r3, r0
	cmp	r3, #0
	beq	.L1235
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	rsb	r3, r3, #1
	mov	r1, #0
	ldr	r0, .L1275+8
	bl	append_str
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	mov	r3, r0
	mov	r0, r3
	bl	Strsafe
	mov	r2, r0
	ldr	r3, [fp, #-2012]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-2012]
	mov	r2, #0
	str	r2, [r3, #56]
	b	.L1235
.L1236:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1237
	mov	r3, #1
	strb	r3, [fp, #-1998]
	b	.L1235
.L1237:
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #24]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1238
	mov	r3, #1
	strb	r3, [fp, #-1998]
	mov	r3, #1
	strb	r3, [fp, #-1999]
	mov	r3, #1
	strb	r3, [fp, #-1008]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #20]
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	beq	.L1235
	ldr	r3, [fp, #-2008]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-2012]
	ldr	ip, [r3, #12]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3]
	ldr	lr, [r3]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-2012]
	ldr	r2, [r2, #20]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldr	r1, [fp, #-2012]
	ldr	r1, [r1, #24]
	ldr	r1, [r1]
	str	r1, [sp, #8]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	ldr	r2, .L1275+12
	mov	r1, ip
	bl	ErrorMsg
	ldr	r3, [fp, #-2008]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-2008]
	str	r2, [r3, #64]
	b	.L1235
.L1238:
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #24]
	ldr	r3, [r3]
	sub	r0, fp, #1904
	sub	r0, r0, #4
	ldr	r1, .L1275+16
	bl	lemon_sprintf
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #32]
	sub	r2, fp, #1904
	sub	r2, r2, #4
	mov	r1, r2
	mov	r0, r3
	bl	strstr
	str	r0, [fp, #-1976]
	ldr	r3, [fp, #-1976]
	cmp	r3, #0
	beq	.L1239
	mov	r3, #1
	strb	r3, [fp, #-1998]
	b	.L1235
.L1239:
	mov	r3, #0
	strb	r3, [fp, #-1998]
.L1235:
	ldrb	r3, [fp, #-1998]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1240
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	rsb	r2, r3, #1
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r1, .L1275+20
	bl	sprintf
	b	.L1241
.L1240:
	mov	r3, #1
	str	r3, [fp, #-1984]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3]
	ldr	r2, [r3, #52]
	sub	r3, fp, #1952
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r1, .L1275+24
	mov	r0, r3
	bl	sprintf
.L1241:
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-1996]
	b	.L1242
.L1259:
	ldr	r2, [fp, #-1996]
	ldr	r3, [fp, #-1976]
	cmp	r2, r3
	bne	.L1243
	sub	r0, fp, #1904
	sub	r0, r0, #4
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	bl	append_str
	sub	r3, fp, #1904
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, [fp, #-1996]
	add	r3, r2, r3
	str	r3, [fp, #-1996]
	mov	r3, #1
	str	r3, [fp, #-1980]
	b	.L1244
.L1243:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1996]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L1245
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-1996]
	cmp	r2, r3
	beq	.L1246
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1996]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L1245
	ldr	r3, [fp, #-1996]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L1245
.L1246:
	ldr	r3, [fp, #-1996]
	add	r3, r3, #1
	str	r3, [fp, #-1992]
	b	.L1247
.L1248:
	ldr	r3, [fp, #-1992]
	add	r3, r3, #1
	str	r3, [fp, #-1992]
.L1247:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1992]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L1248
	ldr	r3, [fp, #-1992]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L1248
	ldr	r3, [fp, #-1992]
	ldrb	r3, [r3]
	strb	r3, [fp, #-1997]
	ldr	r3, [fp, #-1992]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1249
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-1996]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1249
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	bl	append_str
	ldr	r3, [fp, #-1992]
	str	r3, [fp, #-1996]
	mov	r3, #1
	strb	r3, [fp, #-1999]
	b	.L1250
.L1249:
	mov	r3, #0
	str	r3, [fp, #-1988]
	b	.L1251
.L1258:
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1252
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-1996]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1252
	ldr	r3, [fp, #-1988]
	cmp	r3, #0
	bne	.L1253
	ldr	r3, [fp, #-1980]
	cmp	r3, #0
	beq	.L1253
	ldr	r3, [fp, #-2008]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-2012]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #24]
	ldr	r2, [r3]
	sub	r3, fp, #1904
	sub	r3, r3, #4
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L1275+28
	bl	ErrorMsg
	ldr	r3, [fp, #-2008]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-2008]
	str	r2, [r3, #64]
	b	.L1254
.L1253:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-1996]
	cmp	r2, r3
	beq	.L1255
	ldr	r3, [fp, #-1996]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L1255
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1988]
	sub	r3, r2, r3
	add	r2, r3, #1
	mov	r3, #0
	mvn	r1, #0
	ldr	r0, .L1275+32
	bl	append_str
	b	.L1254
.L1255:
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1964]
	ldr	r3, [fp, #-1964]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L1256
	ldr	r3, [fp, #-1964]
	ldr	r3, [r3, #64]
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-1972]
	b	.L1257
.L1256:
	ldr	r3, [fp, #-1964]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-1972]
.L1257:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1988]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, [fp, #-1972]
	mov	r1, #0
	ldr	r0, .L1275+20
	bl	append_str
.L1254:
	ldr	r3, [fp, #-1992]
	str	r3, [fp, #-1996]
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1988]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	b	.L1250
.L1252:
	ldr	r3, [fp, #-1988]
	add	r3, r3, #1
	str	r3, [fp, #-1988]
.L1251:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1988]
	cmp	r2, r3
	blt	.L1258
.L1250:
	ldr	r3, [fp, #-1992]
	ldrb	r2, [fp, #-1997]
	strb	r2, [r3]
.L1245:
	mov	r3, #0
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-1996]
	bl	append_str
.L1244:
	ldr	r3, [fp, #-1996]
	add	r3, r3, #1
	str	r3, [fp, #-1996]
.L1242:
	ldr	r3, [fp, #-1996]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1259
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	str	r0, [fp, #-1996]
	ldr	r3, [fp, #-1996]
	cmp	r3, #0
	beq	.L1260
	ldr	r3, [fp, #-1996]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1260
	ldr	r0, [fp, #-1996]
	bl	Strsafe
	mov	r2, r0
	ldr	r3, [fp, #-2012]
	str	r2, [r3, #32]
.L1260:
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1261
	ldrb	r3, [fp, #-1999]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1261
	ldr	r3, [fp, #-2008]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-2012]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-2012]
	ldr	ip, [r3, #4]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-2012]
	ldr	r2, [r2, #4]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	ldr	r2, .L1275+36
	bl	ErrorMsg
	ldr	r3, [fp, #-2008]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-2008]
	str	r2, [r3, #64]
.L1261:
	mov	r3, #0
	str	r3, [fp, #-1988]
	b	.L1262
.L1270:
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1263
	ldr	r3, [fp, #-1988]
	cmp	r3, #0
	ble	.L1264
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1265
	ldr	r3, [fp, #-2012]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1265
	ldr	r3, [fp, #-2008]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-2012]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	ip, [r3]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, ip
	ldr	r2, .L1275+40
	bl	ErrorMsg
	ldr	r3, [fp, #-2008]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-2008]
	str	r2, [r3, #64]
.L1265:
	mov	r3, #0
	str	r3, [fp, #-1968]
	b	.L1266
.L1268:
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1968]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1267
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1968]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1267
	ldr	r3, [fp, #-2008]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-2012]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L1275+44
	bl	ErrorMsg
	ldr	r3, [fp, #-2008]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-2008]
	str	r2, [r3, #64]
	b	.L1264
.L1267:
	ldr	r3, [fp, #-1968]
	add	r3, r3, #1
	str	r3, [fp, #-1968]
.L1266:
	ldr	r2, [fp, #-1968]
	ldr	r3, [fp, #-1988]
	cmp	r2, r3
	blt	.L1268
.L1264:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1988]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1269
	ldr	r3, [fp, #-2008]
	ldr	r0, [r3, #136]
	ldr	r3, [fp, #-2012]
	ldr	ip, [r3, #12]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	lr, [r3]
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-2012]
	ldr	r1, [r2, #24]
	ldr	r2, [fp, #-1988]
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	ldr	r2, .L1275+48
	mov	r1, ip
	bl	ErrorMsg
	ldr	r3, [fp, #-2008]
	ldr	r3, [r3, #64]
	add	r2, r3, #1
	ldr	r3, [fp, #-2008]
	str	r2, [r3, #64]
	b	.L1269
.L1263:
	ldr	r3, [fp, #-1988]
	cmp	r3, #0
	ble	.L1269
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-2008]
	mov	r0, r3
	bl	has_destructor
	mov	r3, r0
	cmp	r3, #0
	beq	.L1269
	ldr	r3, [fp, #-2012]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1988]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1988]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r2, r1
	mov	r1, #0
	ldr	r0, .L1275+8
	bl	append_str
.L1269:
	ldr	r3, [fp, #-1988]
	add	r3, r3, #1
	str	r3, [fp, #-1988]
.L1262:
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1988]
	cmp	r2, r3
	blt	.L1270
	ldrb	r3, [fp, #-1998]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1271
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3, #16]
	rsb	r2, r3, #1
	ldr	r3, [fp, #-2012]
	ldr	r3, [r3]
	ldr	r3, [r3, #52]
	mov	r1, #0
	ldr	r0, .L1275+52
	bl	append_str
	sub	r0, fp, #1952
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	bl	append_str
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, .L1275+56
	bl	append_str
.L1271:
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	str	r0, [fp, #-1996]
	ldr	r3, [fp, #-1996]
	cmp	r3, #0
	beq	.L1272
	ldr	r3, [fp, #-1996]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1272
	ldr	r0, [fp, #-1996]
	bl	Strsafe
	mov	r2, r0
	ldr	r3, [fp, #-2012]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-2012]
	mov	r2, #0
	str	r2, [r3, #56]
.L1272:
	ldr	r3, [fp, #-1984]
	ldr	r2, .L1275
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1274
	bl	__stack_chk_fail
.L1274:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1276:
	.align	2
.L1275:
	.word	.LC228
	.word	newlinestr.7572
	.word	.LC215
	.word	.LC216
	.word	.LC217
	.word	.LC218
	.word	.LC219
	.word	.LC220
	.word	.LC221
	.word	.LC222
	.word	.LC223
	.word	.LC224
	.word	.LC225
	.word	.LC226
	.word	.LC227
	.size	translate_code, .-translate_code
	.section	.rodata
	.align	2
.LC229:
	.ascii	"{%s\000"
	.text
	.align	2
	.global	emit_code
	.syntax unified
	.arm
	.fpu softvfp
	.type	emit_code, %function
emit_code:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1278
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1278
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	mov	r2, r3
	ldr	r1, .L1294
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-8]
	b	.L1279
.L1281:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1280
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
.L1280:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1279:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1281
.L1278:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L1282
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	cmp	r3, #0
	bne	.L1283
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #136]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	tplt_linedir
.L1283:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	mov	r2, r3
	ldr	r1, .L1294
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
	b	.L1284
.L1286:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1285
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
.L1285:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1284:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1286
	ldr	r3, [fp, #-16]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1294+4
	bl	fwrite
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	cmp	r3, #0
	bne	.L1282
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #140]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	tplt_linedir
.L1282:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1287
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1287
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	fputs
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-8]
	b	.L1288
.L1290:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1289
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
.L1289:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1288:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1290
.L1287:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1293
	ldr	r3, [fp, #-16]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L1294+4
	bl	fwrite
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	nop
.L1293:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1295:
	.align	2
.L1294:
	.word	.LC229
	.word	.LC211
	.size	emit_code, .-emit_code
	.section	.rodata
	.align	2
.LC230:
	.ascii	"Out of memory.\012\000"
	.global	__aeabi_uidivmod
	.align	2
.LC231:
	.ascii	"#if INTERFACE\012\000"
	.align	2
.LC232:
	.ascii	"void*\000"
	.align	2
.LC233:
	.ascii	"#define %sTOKENTYPE %s\012\000"
	.align	2
.LC234:
	.ascii	"#endif\012\000"
	.align	2
.LC235:
	.ascii	"typedef union {\012\000"
	.align	2
.LC236:
	.ascii	"  int yyinit;\012\000"
	.align	2
.LC237:
	.ascii	"  %sTOKENTYPE yy0;\012\000"
	.align	2
.LC238:
	.ascii	"  %s yy%d;\012\000"
	.align	2
.LC239:
	.ascii	"  int yy%d;\012\000"
	.align	2
.LC240:
	.ascii	"} YYMINORTYPE;\012\000"
	.text
	.align	2
	.global	print_stack_union
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_stack_union, %function
print_stack_union:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1297
	ldr	r3, .L1341
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1341+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L1297:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L1298
.L1299:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L1298:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L1299
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	beq	.L1300
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #92]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-60]
.L1300:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L1301
.L1304:
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L1339
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	ble	.L1303
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-60]
	b	.L1303
.L1339:
	nop
.L1303:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L1301:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L1304
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #1
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1305
	ldr	r3, .L1341
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1341+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L1305:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L1306
.L1327:
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #68]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L1307
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #52]
	b	.L1308
.L1307:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L1309
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L1310
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	bne	.L1310
.L1309:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #52]
	b	.L1308
.L1310:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L1311
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #92]
	str	r3, [fp, #-44]
.L1311:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1312
.L1313:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1312:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1313
	b	.L1314
.L1315:
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-52]
	add	r1, r2, #1
	str	r1, [fp, #-52]
	mov	r1, r2
	ldr	r2, [fp, #-32]
	add	r2, r2, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
.L1314:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1315
	b	.L1316
.L1318:
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
.L1316:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	ble	.L1317
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1318
.L1317:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	beq	.L1319
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #88]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1319
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #52]
	b	.L1308
.L1319:
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1320
.L1321:
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-32]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L1320:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1321
	ldr	r3, [fp, #-48]
	bic	r3, r3, #-2147483648
	ldr	r2, [fp, #-40]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	str	r3, [fp, #-48]
	b	.L1322
.L1325:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1323
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #52]
	b	.L1324
.L1323:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bcc	.L1322
	mov	r3, #0
	str	r3, [fp, #-48]
.L1322:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1325
.L1324:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1308
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #52]
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1326
	ldr	r3, .L1341
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1341+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L1326:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	lemon_strcpy
.L1308:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L1306:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L1327
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #76]
	cmp	r3, #0
	beq	.L1328
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #76]
	b	.L1329
.L1328:
	ldr	r3, .L1341+8
.L1329:
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L1330
	ldr	r3, [fp, #-72]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1341+12
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L1330:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	beq	.L1331
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #88]
	b	.L1332
.L1331:
	ldr	r3, .L1341+16
.L1332:
	ldr	r2, [fp, #-28]
	ldr	r1, .L1341+20
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L1333
	ldr	r3, [fp, #-72]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L1341+24
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L1333:
	ldr	r3, [fp, #-72]
	mov	r2, #16
	mov	r1, #1
	ldr	r0, .L1341+28
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1341+32
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-28]
	ldr	r1, .L1341+36
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L1334
.L1337:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1340
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	ldr	r1, .L1341+40
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	b	.L1336
.L1340:
	nop
.L1336:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L1334:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L1337
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L1338
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1338
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1341+44
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L1338:
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r0, [fp, #-36]
	bl	free
	ldr	r3, [fp, #-72]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1341+48
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-64]
	str	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1342:
	.align	2
.L1341:
	.word	stderr
	.word	.LC230
	.word	.LC198
	.word	.LC231
	.word	.LC232
	.word	.LC233
	.word	.LC234
	.word	.LC235
	.word	.LC236
	.word	.LC237
	.word	.LC238
	.word	.LC239
	.word	.LC240
	.size	print_stack_union, .-print_stack_union
	.section	.rodata
	.align	2
.LC241:
	.ascii	"int\000"
	.align	2
.LC242:
	.ascii	"unsigned char\000"
	.align	2
.LC243:
	.ascii	"unsigned short int\000"
	.align	2
.LC244:
	.ascii	"unsigned int\000"
	.align	2
.LC245:
	.ascii	"signed char\000"
	.align	2
.LC246:
	.ascii	"short\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	minimum_size_type, %function
minimum_size_type:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L1351
	str	r3, [fp, #-12]
	mov	r3, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L1344
	ldr	r3, [fp, #-20]
	cmp	r3, #255
	bgt	.L1345
	ldr	r3, .L1351+4
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L1346
.L1345:
	ldr	r3, [fp, #-20]
	ldr	r2, .L1351+8
	cmp	r3, r2
	bgt	.L1347
	ldr	r3, .L1351+12
	str	r3, [fp, #-12]
	mov	r3, #2
	str	r3, [fp, #-8]
	b	.L1346
.L1347:
	ldr	r3, .L1351+16
	str	r3, [fp, #-12]
	mov	r3, #4
	str	r3, [fp, #-8]
	b	.L1346
.L1344:
	ldr	r3, [fp, #-16]
	cmn	r3, #127
	blt	.L1348
	ldr	r3, [fp, #-20]
	cmp	r3, #127
	bgt	.L1348
	ldr	r3, .L1351+20
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L1346
.L1348:
	ldr	r3, [fp, #-16]
	cmn	r3, #32768
	ble	.L1346
	ldr	r3, [fp, #-20]
	ldr	r2, .L1351+24
	cmp	r3, r2
	bgt	.L1346
	ldr	r3, .L1351+28
	str	r3, [fp, #-12]
	mov	r3, #2
	str	r3, [fp, #-8]
.L1346:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1349
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L1349:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1352:
	.align	2
.L1351:
	.word	.LC241
	.word	.LC242
	.word	65534
	.word	.LC243
	.word	.LC244
	.word	.LC245
	.word	32766
	.word	.LC246
	.size	minimum_size_type, .-minimum_size_type
	.section	.rodata
	.align	2
.LC247:
	.ascii	"c!=0 || p1==p2\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	axset_compare, %function
axset_compare:
	@ 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]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1354
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
.L1354:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1355
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	beq	.L1355
	ldr	r3, .L1357
	ldr	r2, .L1357+4
	ldr	r1, .L1357+8
	ldr	r0, .L1357+12
	bl	__assert_fail
.L1355:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1358:
	.align	2
.L1357:
	.word	__PRETTY_FUNCTION__.7677
	.word	4365
	.word	.LC10
	.word	.LC247
	.size	axset_compare, .-axset_compare
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeRuleText, %function
writeRuleText:
	@ 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, #-28]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1366
	ldr	r0, [fp, #-24]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1360
.L1365:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L1361
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1366+4
	ldr	r0, [fp, #-24]
	bl	fprintf
	b	.L1362
.L1361:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #64]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1366+4
	ldr	r0, [fp, #-24]
	bl	fprintf
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L1363
.L1364:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1366+8
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1363:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1364
.L1362:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1360:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1365
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1367:
	.align	2
.L1366:
	.word	.LC166
	.word	.LC58
	.word	.LC160
	.size	writeRuleText, .-writeRuleText
	.section	.rodata
	.align	2
.LC248:
	.ascii	".h\000"
	.align	2
.LC249:
	.ascii	".sql\000"
	.align	2
.LC250:
	.ascii	"BEGIN;\012CREATE TABLE symbol(\012  id INTEGER PRIM"
	.ascii	"ARY KEY,\012  name TEXT NOT NULL,\012  isTerminal B"
	.ascii	"OOLEAN NOT NULL,\012  fallback INTEGER REFERENCES s"
	.ascii	"ymbol DEFERRABLE INITIALLY DEFERRED\012);\012\000"
	.align	2
.LC251:
	.ascii	"TRUE\000"
	.align	2
.LC252:
	.ascii	"FALSE\000"
	.align	2
.LC253:
	.ascii	"INSERT INTO symbol(id,name,isTerminal,fallback)VALU"
	.ascii	"ES(%d,'%s',%s\000"
	.align	2
.LC254:
	.ascii	",%d);\012\000"
	.align	2
.LC255:
	.ascii	",NULL);\012\000"
	.align	2
.LC256:
	.ascii	"CREATE TABLE rule(\012  ruleid INTEGER PRIMARY KEY,"
	.ascii	"\012  lhs INTEGER REFERENCES symbol(id),\012  txt T"
	.ascii	"EXT\012);\012CREATE TABLE rulerhs(\012  ruleid INTE"
	.ascii	"GER REFERENCES rule(ruleid),\012  pos INTEGER,\012 "
	.ascii	" sym INTEGER REFERENCES symbol(id)\012);\012\000"
	.align	2
.LC257:
	.ascii	"i==rp->iRule\000"
	.align	2
.LC258:
	.ascii	"INSERT INTO rule(ruleid,lhs,txt)VALUES(%d,%d,'\000"
	.align	2
.LC259:
	.ascii	"');\012\000"
	.align	2
.LC260:
	.ascii	"INSERT INTO rulerhs(ruleid,pos,sym)VALUES(%d,%d,%d)"
	.ascii	";\012\000"
	.align	2
.LC261:
	.ascii	"COMMIT;\012\000"
	.align	2
.LC262:
	.ascii	"/* This file is automatically generated by Lemon fr"
	.ascii	"om input grammar\012** source file \"%s\". */\012\000"
	.align	2
.LC263:
	.ascii	"#define %s%-30s %2d\012\000"
	.align	2
.LC264:
	.ascii	"#define YYCODETYPE %s\012\000"
	.align	2
.LC265:
	.ascii	"#define YYNOCODE %d\012\000"
	.align	2
.LC266:
	.ascii	"#define YYACTIONTYPE %s\012\000"
	.align	2
.LC267:
	.ascii	"#define YYWILDCARD %d\012\000"
	.align	2
.LC268:
	.ascii	"#ifndef YYSTACKDEPTH\012\000"
	.align	2
.LC269:
	.ascii	"#define YYSTACKDEPTH %s\012\000"
	.align	2
.LC270:
	.ascii	"#define YYSTACKDEPTH 100\012\000"
	.align	2
.LC271:
	.ascii	"#define %sARG_SDECL %s;\012\000"
	.align	2
.LC272:
	.ascii	"#define %sARG_PDECL ,%s\012\000"
	.align	2
.LC273:
	.ascii	"#define %sARG_PARAM ,%s\012\000"
	.align	2
.LC274:
	.ascii	"#define %sARG_FETCH %s=yypParser->%s;\012\000"
	.align	2
.LC275:
	.ascii	"#define %sARG_STORE yypParser->%s=%s;\012\000"
	.align	2
.LC276:
	.ascii	"#define %sARG_SDECL\012\000"
	.align	2
.LC277:
	.ascii	"#define %sARG_PDECL\012\000"
	.align	2
.LC278:
	.ascii	"#define %sARG_PARAM\012\000"
	.align	2
.LC279:
	.ascii	"#define %sARG_FETCH\012\000"
	.align	2
.LC280:
	.ascii	"#define %sARG_STORE\012\000"
	.align	2
.LC281:
	.ascii	"#define %sCTX_SDECL %s;\012\000"
	.align	2
.LC282:
	.ascii	"#define %sCTX_PDECL ,%s\012\000"
	.align	2
.LC283:
	.ascii	"#define %sCTX_PARAM ,%s\012\000"
	.align	2
.LC284:
	.ascii	"#define %sCTX_FETCH %s=yypParser->%s;\012\000"
	.align	2
.LC285:
	.ascii	"#define %sCTX_STORE yypParser->%s=%s;\012\000"
	.align	2
.LC286:
	.ascii	"#define %sCTX_SDECL\012\000"
	.align	2
.LC287:
	.ascii	"#define %sCTX_PDECL\012\000"
	.align	2
.LC288:
	.ascii	"#define %sCTX_PARAM\012\000"
	.align	2
.LC289:
	.ascii	"#define %sCTX_FETCH\012\000"
	.align	2
.LC290:
	.ascii	"#define %sCTX_STORE\012\000"
	.align	2
.LC291:
	.ascii	"#define YYERRORSYMBOL %d\012\000"
	.align	2
.LC292:
	.ascii	"#define YYERRSYMDT yy%d\012\000"
	.align	2
.LC293:
	.ascii	"#define YYFALLBACK 1\012\000"
	.align	2
.LC294:
	.ascii	"#define YYNSTATE             %d\012\000"
	.align	2
.LC295:
	.ascii	"#define YYNRULE              %d\012\000"
	.align	2
.LC296:
	.ascii	"#define YYNRULE_WITH_ACTION  %d\012\000"
	.align	2
.LC297:
	.ascii	"#define YYNTOKEN             %d\012\000"
	.align	2
.LC298:
	.ascii	"#define YY_MAX_SHIFT         %d\012\000"
	.align	2
.LC299:
	.ascii	"#define YY_MIN_SHIFTREDUCE   %d\012\000"
	.align	2
.LC300:
	.ascii	"#define YY_MAX_SHIFTREDUCE   %d\012\000"
	.align	2
.LC301:
	.ascii	"#define YY_ERROR_ACTION      %d\012\000"
	.align	2
.LC302:
	.ascii	"#define YY_ACCEPT_ACTION     %d\012\000"
	.align	2
.LC303:
	.ascii	"#define YY_NO_ACTION         %d\012\000"
	.align	2
.LC304:
	.ascii	"#define YY_MIN_REDUCE        %d\012\000"
	.align	2
.LC305:
	.ascii	"#define YY_MAX_REDUCE        %d\012\000"
	.align	2
.LC306:
	.ascii	"#define YY_ACTTAB_COUNT (%d)\012\000"
	.align	2
.LC307:
	.ascii	"static const YYACTIONTYPE yy_action[] = {\012\000"
	.align	2
.LC308:
	.ascii	" /* %5d */ \000"
	.align	2
.LC309:
	.ascii	" %4d,\000"
	.align	2
.LC310:
	.ascii	"};\012\000"
	.align	2
.LC311:
	.ascii	"static const YYCODETYPE yy_lookahead[] = {\012\000"
	.align	2
.LC312:
	.ascii	"#define YY_SHIFT_COUNT    (%d)\012\000"
	.align	2
.LC313:
	.ascii	"#define YY_SHIFT_MIN      (%d)\012\000"
	.align	2
.LC314:
	.ascii	"#define YY_SHIFT_MAX      (%d)\012\000"
	.align	2
.LC315:
	.ascii	"static const %s yy_shift_ofst[] = {\012\000"
	.align	2
.LC316:
	.ascii	"#define YY_REDUCE_COUNT (%d)\012\000"
	.align	2
.LC317:
	.ascii	"#define YY_REDUCE_MIN   (%d)\012\000"
	.align	2
.LC318:
	.ascii	"#define YY_REDUCE_MAX   (%d)\012\000"
	.align	2
.LC319:
	.ascii	"static const %s yy_reduce_ofst[] = {\012\000"
	.align	2
.LC320:
	.ascii	"static const YYACTIONTYPE yy_default[] = {\012\000"
	.align	2
.LC321:
	.ascii	"    0,  /* %10s => nothing */\012\000"
	.align	2
.LC322:
	.ascii	"  %3d,  /* %10s => %s */\012\000"
	.align	2
.LC323:
	.ascii	"  /* %4d */ \"%s\",\012\000"
	.align	2
.LC324:
	.ascii	"rp->iRule==i\000"
	.align	2
.LC325:
	.ascii	" /* %3d */ \"\000"
	.align	2
.LC326:
	.ascii	"\",\012\000"
	.align	2
.LC327:
	.ascii	"      /* TERMINAL Destructor */\012\000"
	.align	2
.LC328:
	.ascii	"    case %d: /* %s */\012\000"
	.align	2
.LC329:
	.ascii	"      break;\012\000"
	.align	2
.LC330:
	.ascii	"      /* Default NON-TERMINAL Destructor */\012\000"
	.align	2
.LC331:
	.ascii	"  %4d,  /* (%d) \000"
	.align	2
.LC332:
	.ascii	" */\012\000"
	.align	2
.LC333:
	.ascii	"  %3d,  /* (%d) \000"
	.align	2
.LC334:
	.ascii	"        YYMINORTYPE yylhsminor;\012\000"
	.align	2
.LC335:
	.ascii	"      case %d: /* \000"
	.align	2
.LC336:
	.ascii	" */ yytestcase(yyruleno==%d);\012\000"
	.align	2
.LC337:
	.ascii	"        break;\012\000"
	.align	2
.LC338:
	.ascii	"      default:\012\000"
	.align	2
.LC339:
	.ascii	"rp->noCode\000"
	.align	2
.LC340:
	.ascii	"      /* (%d) \000"
	.align	2
.LC341:
	.ascii	" (NEVER REDUCES) */ assert(yyruleno!=%d);\012\000"
	.align	2
.LC342:
	.ascii	" (OPTIMIZED OUT) */ assert(yyruleno!=%d);\012\000"
	.align	2
.LC343:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ReportTable
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReportTable, %function
ReportTable:
	@ args = 0, pretend = 0, frame = 184
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #192
	str	r0, [fp, #-176]
	str	r1, [fp, #-180]
	str	r2, [fp, #-184]
	ldr	r3, .L1579
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-176]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #20]
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #40]
	add	r2, r3, #1
	ldr	r3, [fp, #-176]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #44]
	add	r2, r3, #1
	ldr	r3, [fp, #-176]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #48]
	add	r2, r3, #1
	ldr	r3, [fp, #-176]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #20]
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #56]
	ldr	r0, [fp, #-176]
	bl	tplt_open
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L1565
	ldr	r2, .L1579+4
	ldr	r1, .L1579+8
	ldr	r0, [fp, #-176]
	bl	file_open
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L1371
	ldr	r0, [fp, #-72]
	bl	fclose
	b	.L1368
.L1371:
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	bne	.L1372
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L1373
.L1372:
	ldr	r2, .L1579+4
	ldr	r1, .L1579+12
	ldr	r0, [fp, #-176]
	bl	file_open
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L1374
	ldr	r0, [fp, #-72]
	bl	fclose
	ldr	r0, [fp, #-68]
	bl	fclose
	b	.L1368
.L1374:
	ldr	r3, [fp, #-152]
	mov	r2, #177
	mov	r1, #1
	ldr	r0, .L1579+16
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1375
.L1380:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bge	.L1376
	ldr	r3, .L1579+20
	b	.L1377
.L1376:
	ldr	r3, .L1579+24
.L1377:
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+28
	ldr	r0, [fp, #-152]
	bl	fprintf
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1378
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1579+32
	ldr	r0, [fp, #-152]
	bl	fprintf
	b	.L1379
.L1378:
	ldr	r3, [fp, #-152]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L1579+36
	bl	fwrite
.L1379:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1375:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1380
	ldr	r3, [fp, #-152]
	mov	r2, #218
	mov	r1, #1
	ldr	r0, .L1579+40
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1381
.L1389:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	beq	.L1382
	ldr	r3, .L1579+344
	ldr	r2, .L1579+44
	ldr	r1, .L1579+356
	ldr	r0, .L1579+48
	bl	__assert_fail
.L1382:
	ldr	r3, [fp, #-144]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r1, .L1579+52
	ldr	r0, [fp, #-152]
	bl	fprintf
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-152]
	bl	writeRuleText
	ldr	r3, [fp, #-152]
	mov	r2, #4
	mov	r1, #1
	ldr	r0, .L1579+56
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1383
.L1388:
	ldr	r3, [fp, #-144]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L1384
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+60
	ldr	r0, [fp, #-152]
	bl	fprintf
	b	.L1385
.L1384:
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L1386
.L1387:
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+60
	ldr	r0, [fp, #-152]
	bl	fprintf
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L1386:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	blt	.L1387
.L1385:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1383:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-136]
	cmp	r2, r3
	blt	.L1388
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1381:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1389
	ldr	r3, [fp, #-152]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L1579+64
	bl	fwrite
.L1373:
	mov	r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #136]
	mov	r2, r3
	ldr	r1, .L1579+68
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #2
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #104]
	cmp	r3, #0
	bne	.L1390
	ldr	r3, [fp, #-176]
	ldr	r2, .L1579+72
	str	r2, [r3, #104]
.L1390:
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1391
.L1393:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #104]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1392
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #104]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #104]
	mvn	r3, #0
	str	r3, [fp, #-140]
.L1392:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1391:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r1, [r3, #104]
	ldr	r3, [fp, #-140]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1393
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #104]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L1394
	sub	r3, fp, #168
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	tplt_skip_header
	b	.L1395
.L1394:
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
.L1395:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #104]
	sub	r3, fp, #168
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	tplt_print
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #144]
	cmp	r3, #0
	beq	.L1396
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #144]
	str	r3, [fp, #-112]
	b	.L1397
.L1396:
	ldr	r3, .L1579+72
	str	r3, [fp, #-112]
.L1397:
	mov	r3, #1
	str	r3, [fp, #-140]
	b	.L1398
.L1399:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-112]
	ldr	r1, .L1579+76
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1398:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1399
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	sub	r2, fp, #156
	mov	r1, r3
	mov	r0, #0
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1579+80
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	mov	r2, r3
	ldr	r1, .L1579+84
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #56]
	sub	r2, fp, #160
	mov	r1, r3
	mov	r0, #0
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1579+88
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L1400
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #72]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1579+92
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1400:
	sub	r2, fp, #168
	ldr	r3, [fp, #-180]
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	print_stack_union
	ldr	r3, [fp, #-68]
	mov	r2, #21
	mov	r1, #1
	ldr	r0, .L1579+96
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #100]
	cmp	r3, #0
	beq	.L1401
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #100]
	mov	r2, r3
	ldr	r1, .L1579+100
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1402
.L1401:
	ldr	r3, [fp, #-68]
	mov	r2, #25
	mov	r1, #1
	ldr	r0, .L1579+104
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1402:
	ldr	r3, [fp, #-68]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L1579+108
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	beq	.L1403
	ldr	r3, [fp, #-68]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1579+112
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1403:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #76]
	cmp	r3, #0
	beq	.L1404
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #76]
	b	.L1405
.L1404:
	ldr	r3, .L1579+116
.L1405:
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L1406
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1406
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #80]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-140]
	b	.L1407
.L1409:
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	str	r3, [fp, #-140]
.L1407:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	ble	.L1410
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r1, [r3, #80]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1409
	b	.L1410
.L1412:
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	str	r3, [fp, #-140]
.L1410:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	ble	.L1411
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r1, [r3, #80]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L1412
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L1412
.L1411:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #80]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+120
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #80]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+124
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+128
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r1, [r3, #80]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+132
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-140]
	add	r1, r2, r3
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+136
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1413
.L1406:
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+140
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+144
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+148
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+152
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+156
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1413:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	beq	.L1414
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #84]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1414
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #84]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-140]
	b	.L1415
.L1417:
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	str	r3, [fp, #-140]
.L1415:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	ble	.L1418
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r1, [r3, #84]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1417
	b	.L1418
.L1420:
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	str	r3, [fp, #-140]
.L1418:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	ble	.L1419
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r1, [r3, #84]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L1420
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L1420
.L1419:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #84]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+160
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #84]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+164
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+168
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r1, [r3, #84]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+172
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-140]
	add	r1, r2, r3
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-140]
	add	r3, r2, r3
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+176
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1421
.L1414:
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+180
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+184
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+188
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+192
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-60]
	ldr	r1, .L1579+196
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1421:
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	beq	.L1422
	ldr	r3, [fp, #-68]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L1579+108
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1422:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L1423
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1423
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1579+200
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1579+204
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1423:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #176]
	cmp	r3, #0
	beq	.L1424
	ldr	r3, [fp, #-68]
	mov	r2, #21
	mov	r1, #1
	ldr	r0, .L1579+208
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1424:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #1
	mov	r1, #16
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L1425
	ldr	r3, .L1579+212
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1579+216
	bl	fwrite
	mov	r0, #1
	bl	exit
.L1425:
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1426
.L1427:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #5
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #5
	add	r3, r3, #16
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #5
	add	r3, r3, #16
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #5
	add	r3, r3, #16
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1426:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1427
	mov	r3, #0
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	str	r3, [fp, #-116]
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1428
.L1429:
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1428:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1429
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r3, .L1579+220
	mov	r2, #16
	ldr	r0, [fp, #-56]
	bl	qsort
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	mov	r1, r3
	mov	r0, r2
	bl	acttab_alloc
	str	r0, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1430
.L1447:
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1431
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-148]
	b	.L1432
.L1580:
	.align	2
.L1579:
	.word	.LC343
	.word	.LC178
	.word	.LC248
	.word	.LC249
	.word	.LC250
	.word	.LC251
	.word	.LC252
	.word	.LC253
	.word	.LC254
	.word	.LC255
	.word	.LC256
	.word	4475
	.word	.LC257
	.word	.LC258
	.word	.LC259
	.word	.LC260
	.word	.LC261
	.word	.LC262
	.word	.LC59
	.word	.LC263
	.word	.LC264
	.word	.LC265
	.word	.LC266
	.word	.LC267
	.word	.LC268
	.word	.LC269
	.word	.LC270
	.word	.LC234
	.word	.LC231
	.word	.LC198
	.word	.LC271
	.word	.LC272
	.word	.LC273
	.word	.LC274
	.word	.LC275
	.word	.LC276
	.word	.LC277
	.word	.LC278
	.word	.LC279
	.word	.LC280
	.word	.LC281
	.word	.LC282
	.word	.LC283
	.word	.LC284
	.word	.LC285
	.word	.LC286
	.word	.LC287
	.word	.LC288
	.word	.LC289
	.word	.LC290
	.word	.LC291
	.word	.LC292
	.word	.LC293
	.word	stderr
	.word	.LC9
	.word	axset_compare
	.word	.LC294
	.word	.LC295
	.word	.LC296
	.word	.LC297
	.word	.LC298
	.word	.LC299
	.word	.LC300
	.word	.LC301
	.word	.LC302
	.word	.LC303
	.word	.LC304
	.word	.LC305
	.word	.LC306
	.word	.LC307
	.word	.LC311
	.word	.LC312
	.word	.LC313
	.word	.LC314
	.word	.LC315
	.word	.LC316
	.word	.LC317
	.word	.LC318
	.word	.LC319
	.word	.LC320
	.word	.LC308
	.word	.LC309
	.word	.LC310
	.word	.LC321
	.word	.LC322
	.word	.LC323
	.word	__PRETTY_FUNCTION__.7721
	.word	4891
	.word	.LC324
	.word	.LC10
.L1436:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	bge	.L1566
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-176]
	bl	compute_action
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	blt	.L1567
	ldr	r3, [fp, #-148]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	acttab_action
	b	.L1434
.L1566:
	nop
	b	.L1434
.L1567:
	nop
.L1434:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-148]
.L1432:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L1436
	mov	r1, #1
	ldr	r0, [fp, #-52]
	bl	acttab_insert
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	ble	.L1437
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-128]
.L1437:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	bge	.L1438
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-124]
	b	.L1438
.L1431:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-148]
	b	.L1439
.L1444:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	blt	.L1568
	ldr	r3, [fp, #-148]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	cmp	r2, r3
	beq	.L1569
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-176]
	bl	compute_action
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L1570
	ldr	r3, [fp, #-148]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	acttab_action
	b	.L1441
.L1568:
	nop
	b	.L1441
.L1569:
	nop
	b	.L1441
.L1570:
	nop
.L1441:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-148]
.L1439:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L1444
	mov	r1, #0
	ldr	r0, [fp, #-52]
	bl	acttab_insert
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-120]
	cmp	r2, r3
	ble	.L1445
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-120]
.L1445:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	bge	.L1438
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-116]
.L1438:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1430:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bge	.L1446
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1447
.L1446:
	ldr	r0, [fp, #-56]
	bl	free
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1448
.L1449:
	ldr	r3, [fp, #-144]
	mov	r2, #0
	str	r2, [r3, #68]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
.L1448:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1449
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1450
.L1455:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-148]
	b	.L1451
.L1454:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	beq	.L1452
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	cmp	r3, #10
	bne	.L1453
.L1452:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #8]
	mov	r2, #1
	str	r2, [r3, #68]
.L1453:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-148]
.L1451:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L1454
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1450:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1455
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r1, .L1579+224
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #20]
	mov	r2, r3
	ldr	r1, .L1579+228
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #24]
	mov	r2, r3
	ldr	r1, .L1579+232
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	mov	r2, r3
	ldr	r1, .L1579+236
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1579+240
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-140]
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+244
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1579+248
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #40]
	mov	r2, r3
	ldr	r1, .L1579+252
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #44]
	mov	r2, r3
	ldr	r1, .L1579+256
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #48]
	mov	r2, r3
	ldr	r1, .L1579+260
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1579+264
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #20]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-140]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1579+268
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r0, [fp, #-52]
	bl	acttab_action_size
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-176]
	ldr	r2, [fp, #-132]
	str	r2, [r3, #156]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #164]
	ldr	r3, [fp, #-160]
	ldr	r1, [fp, #-132]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #164]
	ldr	r2, [fp, #-132]
	ldr	r1, .L1579+272
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-68]
	mov	r2, #42
	mov	r1, #1
	ldr	r0, .L1579+276
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-140]
	b	.L1456
.L1462:
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bge	.L1457
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-104]
.L1457:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L1458
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+320
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1458:
	ldr	r2, [fp, #-104]
	ldr	r1, .L1579+324
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-136]
	cmp	r3, #9
	beq	.L1459
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bne	.L1460
.L1459:
	ldr	r1, [fp, #-68]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1461
.L1460:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1461:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1456:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	blt	.L1462
	ldr	r3, [fp, #-68]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1579+328
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-176]
	ldr	r2, [fp, #-132]
	str	r2, [r3, #160]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #164]
	ldr	r3, [fp, #-156]
	ldr	r1, [fp, #-132]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #164]
	ldr	r3, [fp, #-68]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L1579+280
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-140]
	b	.L1463
.L1468:
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bge	.L1464
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-100]
.L1464:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L1465
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+320
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1465:
	ldr	r2, [fp, #-100]
	ldr	r1, .L1579+324
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-136]
	cmp	r3, #9
	bne	.L1466
	ldr	r1, [fp, #-68]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1467
.L1466:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1467:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1463:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	blt	.L1468
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #156]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L1469
.L1473:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L1470
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+320
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1470:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	mov	r2, r3
	ldr	r1, .L1579+324
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-136]
	cmp	r3, #9
	bne	.L1471
	ldr	r1, [fp, #-68]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1472
.L1471:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1472:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1469:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L1473
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	ble	.L1474
	ldr	r1, [fp, #-68]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1474:
	ldr	r3, [fp, #-68]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1579+328
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-132]
	b	.L1475
.L1477:
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	str	r3, [fp, #-132]
.L1475:
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	ble	.L1476
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #-2147483647
	beq	.L1477
.L1476:
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1579+284
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-128]
	ldr	r1, .L1579+288
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-124]
	ldr	r1, .L1579+292
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #156]
	add	r3, r2, r3
	sub	r2, fp, #164
	mov	r1, r3
	ldr	r0, [fp, #-128]
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1579+296
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #164]
	ldr	r3, [fp, #-164]
	ldr	r1, [fp, #-132]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #164]
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-140]
	b	.L1478
.L1484:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #-2147483647
	bne	.L1479
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #156]
	str	r3, [fp, #-96]
.L1479:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L1480
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+320
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1480:
	ldr	r2, [fp, #-96]
	ldr	r1, .L1579+324
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-136]
	cmp	r3, #9
	beq	.L1481
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bne	.L1482
.L1481:
	ldr	r1, [fp, #-68]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1483
.L1482:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1483:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1478:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	blt	.L1484
	ldr	r3, [fp, #-68]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1579+328
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-132]
	b	.L1485
.L1487:
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	str	r3, [fp, #-132]
.L1485:
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	ble	.L1486
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-132]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	cmp	r3, #-2147483647
	beq	.L1487
.L1486:
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1579+300
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-120]
	ldr	r1, .L1579+304
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-116]
	ldr	r1, .L1579+308
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-120]
	sub	r3, r3, #1
	sub	r2, fp, #164
	ldr	r1, [fp, #-116]
	mov	r0, r3
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1579+312
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #164]
	ldr	r3, [fp, #-164]
	ldr	r1, [fp, #-132]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #164]
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-140]
	b	.L1488
.L1494:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #-2147483647
	bne	.L1489
	ldr	r3, [fp, #-120]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
.L1489:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L1490
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+320
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1490:
	ldr	r2, [fp, #-92]
	ldr	r1, .L1579+324
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-136]
	cmp	r3, #9
	beq	.L1491
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bne	.L1492
.L1491:
	ldr	r1, [fp, #-68]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1493
.L1492:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1493:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1488:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	blt	.L1494
	ldr	r3, [fp, #-68]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1579+328
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-68]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L1579+316
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #164]
	ldr	r3, [fp, #-160]
	ldr	r1, [fp, #-132]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #164]
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	str	r3, [fp, #-140]
	b	.L1495
.L1502:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L1496
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+320
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1496:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bge	.L1497
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #40]
	mov	r2, r3
	ldr	r1, .L1579+324
	ldr	r0, [fp, #-68]
	bl	fprintf
	b	.L1498
.L1497:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #52]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r1, .L1579+324
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1498:
	ldr	r3, [fp, #-136]
	cmp	r3, #9
	beq	.L1499
	ldr	r3, [fp, #-132]
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bne	.L1500
.L1499:
	ldr	r1, [fp, #-68]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L1501
.L1500:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1501:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1495:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	blt	.L1502
	ldr	r3, [fp, #-68]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1579+328
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #176]
	cmp	r3, #0
	beq	.L1503
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #164]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldr	r1, [fp, #-156]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-176]
	str	r2, [r3, #164]
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1504
.L1507:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1505
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1579+332
	ldr	r0, [fp, #-68]
	bl	fprintf
	b	.L1506
.L1505:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L1579+336
	ldr	r0, [fp, #-68]
	bl	fprintf
.L1506:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1504:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	ble	.L1507
.L1503:
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1508
.L1509:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-140]
	ldr	r1, .L1579+340
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1508:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1509
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	mov	r3, #0
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1510
.L1512:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	beq	.L1511
	ldr	r3, .L1579+344
	ldr	r2, .L1579+348
	ldr	r1, .L1579+356
	ldr	r0, .L1579+352
	bl	__assert_fail
.L1511:
	ldr	r2, [fp, #-140]
	ldr	r1, .L1581
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-68]
	bl	writeRuleText
	ldr	r3, [fp, #-68]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1581+4
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1510:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1512
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #128]
	cmp	r3, #0
	beq	.L1513
	mov	r3, #1
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1514
.L1519:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1571
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1571
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L1518
	ldr	r3, [fp, #-68]
	mov	r2, #32
	mov	r1, #1
	ldr	r0, .L1581+8
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-88]
.L1518:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, .L1581+12
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1517
.L1571:
	nop
.L1517:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1514:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1519
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1520
.L1522:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1520:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bge	.L1521
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1522
.L1521:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bge	.L1513
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #168
	ldr	r2, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	emit_destructor_code
	ldr	r3, [fp, #-68]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L1581+16
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1513:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #132]
	cmp	r3, #0
	beq	.L1523
	mov	r3, #0
	str	r3, [fp, #-84]
	mov	r3, #1
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1524
.L1529:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1572
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1572
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	ble	.L1572
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L1572
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L1528
	ldr	r3, [fp, #-68]
	mov	r2, #44
	mov	r1, #1
	ldr	r0, .L1581+20
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-80]
.L1528:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r1, .L1581+12
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-84]
	b	.L1527
.L1572:
	nop
.L1527:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1524:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1529
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L1530
	sub	r3, fp, #168
	ldr	r2, [fp, #-176]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-68]
	bl	emit_destructor_code
.L1530:
	ldr	r3, [fp, #-68]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L1581+16
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1523:
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L1531
.L1539:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1573
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1573
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1573
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	blt	.L1574
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, .L1581+12
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-136]
	b	.L1536
.L1538:
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1537
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1537
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1537
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bne	.L1537
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #40]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1537
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, .L1581+12
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-12]
	mvn	r2, #0
	str	r2, [r3, #44]
.L1537:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L1536:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-136]
	cmp	r2, r3
	blt	.L1538
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #168
	ldr	r2, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	emit_destructor_code
	ldr	r3, [fp, #-68]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L1581+16
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1534
.L1573:
	nop
	b	.L1534
.L1574:
	nop
.L1534:
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1531:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	blt	.L1539
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #112]
	sub	r3, fp, #168
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	tplt_print
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	mov	r3, #0
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1540
.L1541:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-140]
	ldr	r1, .L1581+24
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-68]
	bl	rule_print
	ldr	r3, [fp, #-68]
	mov	r2, #4
	mov	r1, #1
	ldr	r0, .L1581+28
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1540:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1541
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	mov	r3, #0
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1542
.L1543:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #16]
	rsb	r2, r3, #0
	ldr	r3, [fp, #-140]
	ldr	r1, .L1581+32
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-68]
	bl	rule_print
	ldr	r3, [fp, #-68]
	mov	r2, #4
	mov	r1, #1
	ldr	r0, .L1581+28
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L1542:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1543
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	mov	r3, #0
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1544
.L1545:
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-176]
	bl	translate_code
	mov	r2, r0
	ldr	r3, [fp, #-140]
	add	r3, r3, r2
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
.L1544:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1545
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L1546
	ldr	r3, [fp, #-68]
	mov	r2, #32
	mov	r1, #1
	ldr	r0, .L1581+36
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1546:
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1547
.L1554:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	bne	.L1575
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1576
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1581+40
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-68]
	bl	writeRuleText
	ldr	r3, [fp, #-68]
	mov	r2, #4
	mov	r1, #1
	ldr	r0, .L1581+28
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-76]
	b	.L1551
.L1553:
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	bne	.L1552
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #36]
	cmp	r2, r3
	bne	.L1552
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #40]
	cmp	r2, r3
	bne	.L1552
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1581+40
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-68]
	bl	writeRuleText
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1581+44
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-76]
	mov	r2, #1
	str	r2, [r3, #60]
.L1552:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-76]
.L1551:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L1553
	sub	r3, fp, #168
	ldr	r2, [fp, #-176]
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-68]
	bl	emit_code
	ldr	r3, [fp, #-68]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1581+48
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-144]
	mov	r2, #1
	str	r2, [r3, #60]
	b	.L1549
.L1575:
	nop
	b	.L1549
.L1576:
	nop
.L1549:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
.L1547:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1554
	ldr	r3, [fp, #-68]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1581+52
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-144]
	b	.L1555
.L1561:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	bne	.L1577
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1558
	ldr	r3, .L1581+56
	ldr	r2, .L1581+60
	ldr	r1, .L1581+64
	ldr	r0, .L1581+68
	bl	__assert_fail
.L1558:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1581+72
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-68]
	bl	writeRuleText
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #72]
	cmp	r3, #0
	beq	.L1559
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1581+76
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1557
.L1559:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L1560
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1581+44
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1557
.L1560:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r1, .L1581+80
	ldr	r0, [fp, #-68]
	bl	fprintf
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L1557
.L1577:
	nop
.L1557:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #80]
	str	r3, [fp, #-144]
.L1555:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L1561
	ldr	r3, [fp, #-68]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1581+48
	bl	fwrite
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #116]
	sub	r3, fp, #168
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	tplt_print
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #108]
	sub	r3, fp, #168
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	tplt_print
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #120]
	sub	r3, fp, #168
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	tplt_print
	ldr	r3, [fp, #-176]
	ldr	r0, [r3, #76]
	sub	r3, fp, #168
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-72]
	bl	tplt_xfer
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #124]
	sub	r3, fp, #168
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-68]
	bl	tplt_print
	ldr	r0, [fp, #-52]
	bl	acttab_free
	ldr	r0, [fp, #-72]
	bl	fclose
	ldr	r0, [fp, #-68]
	bl	fclose
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	beq	.L1578
	ldr	r0, [fp, #-152]
	bl	fclose
	b	.L1578
.L1565:
	nop
	b	.L1368
.L1578:
	nop
.L1368:
	ldr	r3, .L1581+84
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1564
	bl	__stack_chk_fail
.L1564:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1582:
	.align	2
.L1581:
	.word	.LC325
	.word	.LC326
	.word	.LC327
	.word	.LC328
	.word	.LC329
	.word	.LC330
	.word	.LC331
	.word	.LC332
	.word	.LC333
	.word	.LC334
	.word	.LC335
	.word	.LC336
	.word	.LC337
	.word	.LC338
	.word	__PRETTY_FUNCTION__.7721
	.word	5021
	.word	.LC10
	.word	.LC339
	.word	.LC340
	.word	.LC341
	.word	.LC342
	.word	.LC343
	.size	ReportTable, .-ReportTable
	.section	.rodata
	.align	2
.LC344:
	.ascii	"#define %s%-30s %3d\012\000"
	.align	2
.LC345:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ReportHeader
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReportHeader, %function
ReportHeader:
	@ args = 0, pretend = 0, frame = 2032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2032
	sub	sp, sp, #8
	str	r0, [fp, #-2032]
	ldr	r3, .L1600
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #144]
	cmp	r3, #0
	beq	.L1584
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #144]
	str	r3, [fp, #-2028]
	b	.L1585
.L1584:
	ldr	r3, .L1600+4
	str	r3, [fp, #-2028]
.L1585:
	ldr	r2, .L1600+8
	ldr	r1, .L1600+12
	ldr	r0, [fp, #-2032]
	bl	file_open
	str	r0, [fp, #-2020]
	ldr	r3, [fp, #-2020]
	cmp	r3, #0
	beq	.L1586
	mov	r3, #1
	str	r3, [fp, #-2024]
	b	.L1587
.L1590:
	ldr	r3, [fp, #-2032]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-2024]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	sub	r0, fp, #1008
	ldr	r3, [fp, #-2024]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-2028]
	ldr	r1, .L1600+16
	bl	lemon_sprintf
	sub	r2, fp, #1008
	sub	r3, fp, #2000
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1597
	ldr	r3, [fp, #-2024]
	add	r3, r3, #1
	str	r3, [fp, #-2024]
.L1587:
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-2024]
	cmp	r2, r3
	bge	.L1589
	sub	r3, fp, #2000
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-2020]
	mov	r1, #1000
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L1590
	b	.L1589
.L1597:
	nop
.L1589:
	ldr	r0, [fp, #-2020]
	bl	fgetc
	str	r0, [fp, #-2016]
	ldr	r0, [fp, #-2020]
	bl	fclose
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-2024]
	cmp	r2, r3
	bne	.L1586
	ldr	r3, [fp, #-2016]
	cmn	r3, #1
	beq	.L1598
.L1586:
	ldr	r2, .L1600+20
	ldr	r1, .L1600+12
	ldr	r0, [fp, #-2032]
	bl	file_open
	str	r0, [fp, #-2012]
	ldr	r3, [fp, #-2012]
	cmp	r3, #0
	beq	.L1599
	mov	r3, #1
	str	r3, [fp, #-2024]
	b	.L1593
.L1594:
	ldr	r3, [fp, #-2032]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-2024]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-2024]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-2028]
	ldr	r1, .L1600+16
	ldr	r0, [fp, #-2012]
	bl	fprintf
	ldr	r3, [fp, #-2024]
	add	r3, r3, #1
	str	r3, [fp, #-2024]
.L1593:
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-2024]
	cmp	r2, r3
	blt	.L1594
	ldr	r0, [fp, #-2012]
	bl	fclose
	b	.L1599
.L1598:
	nop
	b	.L1583
.L1599:
	nop
.L1583:
	ldr	r3, .L1600
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1596
	bl	__stack_chk_fail
.L1596:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1601:
	.align	2
.L1600:
	.word	.LC345
	.word	.LC59
	.word	.LC147
	.word	.LC248
	.word	.LC344
	.word	.LC178
	.size	ReportHeader, .-ReportHeader
	.section	.rodata
	.align	2
.LC346:
	.ascii	"ap\000"
	.align	2
.LC347:
	.ascii	"ap2!=0\000"
	.text
	.align	2
	.global	CompressTables
	.syntax unified
	.arm
	.fpu softvfp
	.type	CompressTables, %function
CompressTables:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1603
.L1632:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-52]
	b	.L1604
.L1615:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1605
	ldr	r3, [fp, #-52]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #72]
	cmp	r2, r3
	bne	.L1605
	mov	r3, #1
	str	r3, [fp, #-24]
.L1605:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1652
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1653
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	beq	.L1654
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-48]
	b	.L1610
.L1614:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1655
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	beq	.L1656
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1612
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L1612
.L1655:
	nop
	b	.L1612
.L1656:
	nop
.L1612:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-48]
.L1610:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1614
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L1607
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-40]
	b	.L1607
.L1652:
	nop
	b	.L1607
.L1653:
	nop
	b	.L1607
.L1654:
	nop
.L1607:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
.L1604:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1615
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	ble	.L1657
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1657
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-52]
	b	.L1619
.L1622:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1620
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	beq	.L1658
.L1620:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
.L1619:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1622
	b	.L1621
.L1658:
	nop
.L1621:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1623
	ldr	r3, .L1666
	ldr	r2, .L1666+4
	ldr	r1, .L1666+8
	ldr	r0, .L1666+12
	bl	__assert_fail
.L1623:
	ldr	r0, .L1666+16
	bl	Symbol_new
	mov	r2, r0
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
	b	.L1624
.L1626:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1625
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bne	.L1625
	ldr	r3, [fp, #-52]
	mov	r2, #9
	str	r2, [r3, #4]
.L1625:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
.L1624:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1626
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Action_sort
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-52]
	b	.L1627
.L1631:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1659
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1630
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bne	.L1660
.L1630:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
.L1627:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1631
	b	.L1629
.L1659:
	nop
	b	.L1629
.L1660:
	nop
.L1629:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1618
	ldr	r3, [fp, #-20]
	mov	r2, #1
	str	r2, [r3, #40]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #36]
	b	.L1618
.L1657:
	nop
.L1618:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1603:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L1632
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1633
.L1638:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-52]
	b	.L1634
.L1637:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1661
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1636
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1636
	ldr	r3, [fp, #-52]
	mov	r2, #10
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
	b	.L1636
.L1661:
	nop
.L1636:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
.L1634:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1637
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1633:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L1638
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1639
.L1651:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-52]
	b	.L1640
.L1650:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #10
	bne	.L1662
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1663
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #1
	bne	.L1664
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	blt	.L1665
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-48]
	b	.L1646
.L1648:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-48]
.L1646:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L1647
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	beq	.L1648
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1648
.L1647:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1649
	ldr	r3, .L1666
	ldr	r2, .L1666+20
	ldr	r1, .L1666+8
	ldr	r0, .L1666+24
	bl	__assert_fail
.L1649:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #8]
	str	r2, [r3, #8]
	b	.L1642
.L1662:
	nop
	b	.L1642
.L1663:
	nop
	b	.L1642
.L1664:
	nop
	b	.L1642
.L1665:
	nop
.L1642:
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-52]
.L1640:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1650
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1639:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L1651
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1667:
	.align	2
.L1666:
	.word	__PRETTY_FUNCTION__.7906
	.word	5149
	.word	.LC10
	.word	.LC346
	.word	.LC43
	.word	5206
	.word	.LC347
	.size	CompressTables, .-CompressTables
	.section	.rodata
	.align	2
.LC348:
	.ascii	"n!=0\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stateResortCompare, %function
stateResortCompare:
	@ 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]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1669
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1669
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
.L1669:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1670
	ldr	r3, .L1672
	ldr	r2, .L1672+4
	ldr	r1, .L1672+8
	ldr	r0, .L1672+12
	bl	__assert_fail
.L1670:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1673:
	.align	2
.L1672:
	.word	__PRETTY_FUNCTION__.7941
	.word	5233
	.word	.LC10
	.word	.LC348
	.size	stateResortCompare, .-stateResortCompare
	.section	.rodata
	.align	2
.LC349:
	.ascii	"stp->autoReduce==0 || stp->pDfltReduce==ap->x.rp\000"
	.text
	.align	2
	.global	ResortStates
	.syntax unified
	.arm
	.fpu softvfp
	.type	ResortStates, %function
ResortStates:
	@ 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, #-20]
	b	.L1675
.L1682:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	mvn	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-12]
	mov	r2, #-2147483647
	str	r2, [r3, #24]
	ldr	r3, [fp, #-12]
	mov	r2, #-2147483647
	str	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	b	.L1676
.L1681:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	compute_action
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L1677
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	bge	.L1678
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	b	.L1677
.L1678:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	cmp	r2, r3
	bge	.L1679
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #20]
	b	.L1677
.L1679:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1680
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	beq	.L1680
	ldr	r3, .L1689
	ldr	r2, .L1689+4
	ldr	r1, .L1689+8
	ldr	r0, .L1689+12
	bl	__assert_fail
.L1680:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #32]
.L1677:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
.L1676:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1681
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1675:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1682
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r0, r3, #4
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r3, .L1689+16
	mov	r2, #4
	bl	qsort
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1683
.L1684:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1683:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1684
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	b	.L1685
.L1687:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
.L1685:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	cmp	r3, #1
	ble	.L1688
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L1687
.L1688:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1690:
	.align	2
.L1689:
	.word	__PRETTY_FUNCTION__.7949
	.word	5262
	.word	.LC10
	.word	.LC349
	.word	stateResortCompare
	.size	ResortStates, .-ResortStates
	.local	size
	.comm	size,4,4
	.align	2
	.global	SetSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetSize, %function
SetSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, .L1692
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1693:
	.align	2
.L1692:
	.word	size
	.size	SetSize, .-SetSize
	.align	2
	.global	SetNew
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetNew, %function
SetNew:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L1697
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1695
	bl	memory_error
.L1695:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1698:
	.align	2
.L1697:
	.word	size
	.size	SetNew, .-SetNew
	.align	2
	.global	SetFree
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetFree, %function
SetFree:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	SetFree, .-SetFree
	.section	.rodata
	.align	2
.LC350:
	.ascii	"e>=0 && e<size\000"
	.text
	.align	2
	.global	SetAdd
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetAdd, %function
SetAdd:
	@ 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]
	cmp	r3, #0
	blt	.L1701
	ldr	r3, .L1705
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1704
.L1701:
	ldr	r3, .L1705+4
	ldr	r2, .L1705+8
	ldr	r1, .L1705+12
	ldr	r0, .L1705+16
	bl	__assert_fail
.L1704:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1706:
	.align	2
.L1705:
	.word	size
	.word	__PRETTY_FUNCTION__.7978
	.word	5314
	.word	.LC10
	.word	.LC350
	.size	SetAdd, .-SetAdd
	.align	2
	.global	SetUnion
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetUnion, %function
SetUnion:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1708
.L1711:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1713
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1710
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	b	.L1710
.L1713:
	nop
.L1710:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1708:
	ldr	r3, .L1714
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1711
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1715:
	.align	2
.L1714:
	.word	size
	.size	SetUnion, .-SetUnion
	.align	2
	.global	strhash
	.syntax unified
	.arm
	.fpu softvfp
	.type	strhash, %function
strhash:
	@ 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]
	b	.L1717
.L1718:
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r3, r2
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-8]
.L1717:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1718
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	strhash, .-strhash
	.align	2
	.global	Strsafe
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe, %function
Strsafe:
	@ 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]
	cmp	r3, #0
	bne	.L1721
	mov	r3, #0
	b	.L1722
.L1721:
	ldr	r0, [fp, #-16]
	bl	Strsafe_find
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1723
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1723
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	lemon_strcpy
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	Strsafe_insert
.L1723:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1724
	bl	memory_error
.L1724:
	ldr	r3, [fp, #-12]
.L1722:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Strsafe, .-Strsafe
	.local	x1a
	.comm	x1a,4,4
	.align	2
	.global	Strsafe_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe_init, %function
Strsafe_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1732
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1731
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1732
	str	r2, [r3]
	ldr	r3, .L1732
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1725
	ldr	r3, .L1732
	ldr	r3, [r3]
	mov	r2, #1024
	str	r2, [r3]
	ldr	r3, .L1732
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1732
	ldr	r4, [r3]
	mov	r1, #16
	mov	r0, #1024
	bl	calloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1732
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1728
	ldr	r3, .L1732
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1732
	mov	r2, #0
	str	r2, [r3]
	b	.L1725
.L1728:
	ldr	r3, .L1732
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1732
	ldr	r3, [r3]
	add	r2, r2, #12288
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1729
.L1730:
	ldr	r3, .L1732
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1729:
	ldr	r3, [fp, #-16]
	cmp	r3, #1024
	blt	.L1730
	b	.L1725
.L1731:
	nop
.L1725:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1733:
	.align	2
.L1732:
	.word	x1a
	.size	Strsafe_init, .-Strsafe_init
	.align	2
	.global	Strsafe_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe_insert, %function
Strsafe_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L1748
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1735
	mov	r3, #0
	b	.L1736
.L1735:
	ldr	r0, [fp, #-56]
	bl	strhash
	str	r0, [fp, #-40]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1737
.L1739:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1738
	mov	r3, #0
	b	.L1736
.L1738:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-48]
.L1737:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1739
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1740
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	mov	r1, #16
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1741
	mov	r3, #0
	b	.L1736
.L1741:
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1742
.L1743:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1742:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1743
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1744
.L1746:
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strhash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1745
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1745:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1744:
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1746
	ldr	r3, .L1748
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1740:
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1747
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1747:
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1748
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	mov	r3, #1
.L1736:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1749:
	.align	2
.L1748:
	.word	x1a
	.size	Strsafe_insert, .-Strsafe_insert
	.align	2
	.global	Strsafe_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe_find, %function
Strsafe_find:
	@ 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, .L1760
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1751
	mov	r3, #0
	b	.L1752
.L1751:
	ldr	r0, [fp, #-16]
	bl	strhash
	mov	r2, r0
	ldr	r3, .L1760
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1760
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1753
.L1756:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1759
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L1753:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1756
	b	.L1755
.L1759:
	nop
.L1755:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1757
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1752
.L1757:
	mov	r3, #0
.L1752:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1761:
	.align	2
.L1760:
	.word	x1a
	.size	Strsafe_find, .-Strsafe_find
	.align	2
	.global	Symbol_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_new, %function
Symbol_new:
	@ 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	r0, [fp, #-16]
	bl	Symbol_find
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1763
	mov	r1, #68
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1764
	bl	memory_error
.L1764:
	ldr	r0, [fp, #-16]
	bl	Strsafe
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Symbol_insert
.L1763:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Symbol_new, .-Symbol_new
	.align	2
	.global	Symbolcmpp
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbolcmpp, %function
Symbolcmpp:
	@ 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]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L1767
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bls	.L1768
	mov	r3, #2
	b	.L1770
.L1768:
	mov	r3, #1
	b	.L1770
.L1767:
	mov	r3, #3
.L1770:
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	beq	.L1771
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bls	.L1772
	mov	r3, #2
	b	.L1774
.L1772:
	mov	r3, #1
	b	.L1774
.L1771:
	mov	r3, #3
.L1774:
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bne	.L1775
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	b	.L1777
.L1775:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
.L1777:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Symbolcmpp, .-Symbolcmpp
	.local	x2a
	.comm	x2a,4,4
	.align	2
	.global	Symbol_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_init, %function
Symbol_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1785
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1784
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1785
	str	r2, [r3]
	ldr	r3, .L1785
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1778
	ldr	r3, .L1785
	ldr	r3, [r3]
	mov	r2, #128
	str	r2, [r3]
	ldr	r3, .L1785
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1785
	ldr	r4, [r3]
	mov	r1, #20
	mov	r0, #128
	bl	calloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1785
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1781
	ldr	r3, .L1785
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1785
	mov	r2, #0
	str	r2, [r3]
	b	.L1778
.L1781:
	ldr	r3, .L1785
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1785
	ldr	r3, [r3]
	add	r2, r2, #2048
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1782
.L1783:
	ldr	r3, .L1785
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1782:
	ldr	r3, [fp, #-16]
	cmp	r3, #127
	ble	.L1783
	b	.L1778
.L1784:
	nop
.L1778:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1786:
	.align	2
.L1785:
	.word	x2a
	.size	Symbol_init, .-Symbol_init
	.align	2
	.global	Symbol_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_insert, %function
Symbol_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L1801
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1788
	mov	r3, #0
	b	.L1789
.L1788:
	ldr	r0, [fp, #-60]
	bl	strhash
	str	r0, [fp, #-40]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1790
.L1792:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1791
	mov	r3, #0
	b	.L1789
.L1791:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-48]
.L1790:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1792
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1793
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	mov	r1, #20
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1794
	mov	r3, #0
	b	.L1789
.L1794:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1795
.L1796:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1795:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1796
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1797
.L1799:
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strhash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1798
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1798:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1797:
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1799
	ldr	r3, .L1801
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1793:
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1800
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1800:
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1801
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	mov	r3, #1
.L1789:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1802:
	.align	2
.L1801:
	.word	x2a
	.size	Symbol_insert, .-Symbol_insert
	.align	2
	.global	Symbol_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_find, %function
Symbol_find:
	@ 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, .L1813
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1804
	mov	r3, #0
	b	.L1805
.L1804:
	ldr	r0, [fp, #-16]
	bl	strhash
	mov	r2, r0
	ldr	r3, .L1813
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1813
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1806
.L1809:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1812
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L1806:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1809
	b	.L1808
.L1812:
	nop
.L1808:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1810
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1805
.L1810:
	mov	r3, #0
.L1805:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1814:
	.align	2
.L1813:
	.word	x2a
	.size	Symbol_find, .-Symbol_find
	.align	2
	.global	Symbol_Nth
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_Nth, %function
Symbol_Nth:
	@ 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, .L1819
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1816
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L1816
	ldr	r3, .L1819
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L1816
	ldr	r3, .L1819
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-268435455
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L1817
.L1816:
	mov	r3, #0
	str	r3, [fp, #-8]
.L1817:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1820:
	.align	2
.L1819:
	.word	x2a
	.size	Symbol_Nth, .-Symbol_Nth
	.align	2
	.global	Symbol_count
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_count, %function
Symbol_count:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L1825
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1822
	ldr	r3, .L1825
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	b	.L1824
.L1822:
	mov	r3, #0
.L1824:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1826:
	.align	2
.L1825:
	.word	x2a
	.size	Symbol_count, .-Symbol_count
	.align	2
	.global	Symbol_arrayof
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_arrayof, %function
Symbol_arrayof:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L1833
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1828
	mov	r3, #0
	b	.L1829
.L1828:
	ldr	r3, .L1833
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1830
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1831
.L1832:
	ldr	r3, .L1833
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1831:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L1832
.L1830:
	ldr	r3, [fp, #-8]
.L1829:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1834:
	.align	2
.L1833:
	.word	x2a
	.size	Symbol_arrayof, .-Symbol_arrayof
	.align	2
	.global	Configcmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configcmp, %function
Configcmp:
	@ 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]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r3, [r3, #48]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1836
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
.L1836:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Configcmp, .-Configcmp
	.align	2
	.global	statecmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	statecmp, %function
statecmp:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1839
.L1842:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #48]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1840
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L1840:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-20]
.L1839:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1841
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1841
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1842
.L1841:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1843
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1844
	mov	r3, #1
	str	r3, [fp, #-8]
.L1844:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1843
	mvn	r3, #0
	str	r3, [fp, #-8]
.L1843:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	statecmp, .-statecmp
	.align	2
	.global	statehash
	.syntax unified
	.arm
	.fpu softvfp
	.type	statehash, %function
statehash:
	@ 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]
	b	.L1847
.L1848:
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r1, r3, r2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #4]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
.L1847:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1848
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	statehash, .-statehash
	.align	2
	.global	State_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_new, %function
State_new:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r1, #44
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1851
	bl	memory_error
.L1851:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	State_new, .-State_new
	.local	x3a
	.comm	x3a,4,4
	.align	2
	.global	State_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_init, %function
State_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1860
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1859
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1860
	str	r2, [r3]
	ldr	r3, .L1860
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1853
	ldr	r3, .L1860
	ldr	r3, [r3]
	mov	r2, #128
	str	r2, [r3]
	ldr	r3, .L1860
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1860
	ldr	r4, [r3]
	mov	r1, #20
	mov	r0, #128
	bl	calloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1860
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1856
	ldr	r3, .L1860
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1860
	mov	r2, #0
	str	r2, [r3]
	b	.L1853
.L1856:
	ldr	r3, .L1860
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1860
	ldr	r3, [r3]
	add	r2, r2, #2048
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1857
.L1858:
	ldr	r3, .L1860
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1857:
	ldr	r3, [fp, #-16]
	cmp	r3, #127
	ble	.L1858
	b	.L1853
.L1859:
	nop
.L1853:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1861:
	.align	2
.L1860:
	.word	x3a
	.size	State_init, .-State_init
	.align	2
	.global	State_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_insert, %function
State_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L1876
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1863
	mov	r3, #0
	b	.L1864
.L1863:
	ldr	r0, [fp, #-60]
	bl	statehash
	str	r0, [fp, #-40]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1865
.L1867:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	statecmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1866
	mov	r3, #0
	b	.L1864
.L1866:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-48]
.L1865:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1867
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1868
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	mov	r1, #20
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1869
	mov	r3, #0
	b	.L1864
.L1869:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1870
.L1871:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1870:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1871
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1872
.L1874:
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	statehash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1873
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1873:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1872:
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1874
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, .L1876
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1868:
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1875
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1875:
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1876
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	mov	r3, #1
.L1864:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1877:
	.align	2
.L1876:
	.word	x3a
	.size	State_insert, .-State_insert
	.align	2
	.global	State_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_find, %function
State_find:
	@ 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, .L1888
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1879
	mov	r3, #0
	b	.L1880
.L1879:
	ldr	r0, [fp, #-16]
	bl	statehash
	mov	r2, r0
	ldr	r3, .L1888
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1888
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1881
.L1884:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	statecmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1887
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L1881:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1884
	b	.L1883
.L1887:
	nop
.L1883:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1885
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1880
.L1885:
	mov	r3, #0
.L1880:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1889:
	.align	2
.L1888:
	.word	x3a
	.size	State_find, .-State_find
	.align	2
	.global	State_arrayof
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_arrayof, %function
State_arrayof:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L1896
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1891
	mov	r3, #0
	b	.L1892
.L1891:
	ldr	r3, .L1896
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1893
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1894
.L1895:
	ldr	r3, .L1896
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1894:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L1895
.L1893:
	ldr	r3, [fp, #-8]
.L1892:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1897:
	.align	2
.L1896:
	.word	x3a
	.size	State_arrayof, .-State_arrayof
	.align	2
	.global	confighash
	.syntax unified
	.arm
	.fpu softvfp
	.type	confighash, %function
confighash:
	@ 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	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r1, r3, r2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #4]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	confighash, .-confighash
	.local	x4a
	.comm	x4a,4,4
	.align	2
	.global	Configtable_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_init, %function
Configtable_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1907
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1906
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1907
	str	r2, [r3]
	ldr	r3, .L1907
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1900
	ldr	r3, .L1907
	ldr	r3, [r3]
	mov	r2, #64
	str	r2, [r3]
	ldr	r3, .L1907
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1907
	ldr	r4, [r3]
	mov	r1, #16
	mov	r0, #64
	bl	calloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1907
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1903
	ldr	r3, .L1907
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1907
	mov	r2, #0
	str	r2, [r3]
	b	.L1900
.L1903:
	ldr	r3, .L1907
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1907
	ldr	r3, [r3]
	add	r2, r2, #768
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1904
.L1905:
	ldr	r3, .L1907
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1904:
	ldr	r3, [fp, #-16]
	cmp	r3, #63
	ble	.L1905
	b	.L1900
.L1906:
	nop
.L1900:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1908:
	.align	2
.L1907:
	.word	x4a
	.size	Configtable_init, .-Configtable_init
	.align	2
	.global	Configtable_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_insert, %function
Configtable_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L1923
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1910
	mov	r3, #0
	b	.L1911
.L1910:
	ldr	r0, [fp, #-56]
	bl	confighash
	str	r0, [fp, #-40]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1912
.L1914:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	Configcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1913
	mov	r3, #0
	b	.L1911
.L1913:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-48]
.L1912:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1914
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1915
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	mov	r1, #16
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1916
	mov	r3, #0
	b	.L1911
.L1916:
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1917
.L1918:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1917:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1918
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1919
.L1921:
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	confighash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1920
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1920:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1919:
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1921
	ldr	r3, .L1923
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1915:
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1922
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1922:
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1923
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	mov	r3, #1
.L1911:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1924:
	.align	2
.L1923:
	.word	x4a
	.size	Configtable_insert, .-Configtable_insert
	.align	2
	.global	Configtable_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_find, %function
Configtable_find:
	@ 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, .L1935
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1926
	mov	r3, #0
	b	.L1927
.L1926:
	ldr	r0, [fp, #-16]
	bl	confighash
	mov	r2, r0
	ldr	r3, .L1935
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1935
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1928
.L1931:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	Configcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1934
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L1928:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1931
	b	.L1930
.L1934:
	nop
.L1930:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1932
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1927
.L1932:
	mov	r3, #0
.L1927:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1936:
	.align	2
.L1935:
	.word	x4a
	.size	Configtable_find, .-Configtable_find
	.align	2
	.global	Configtable_clear
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_clear, %function
Configtable_clear:
	@ 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, .L1947
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1946
	ldr	r3, .L1947
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1946
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1941
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1942
.L1943:
	ldr	r3, .L1947
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1942:
	ldr	r3, .L1947
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1943
.L1941:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1944
.L1945:
	ldr	r3, .L1947
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1944:
	ldr	r3, .L1947
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1945
	ldr	r3, .L1947
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	b	.L1937
.L1946:
	nop
.L1937:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1948:
	.align	2
.L1947:
	.word	x4a
	.size	Configtable_clear, .-Configtable_clear
	.local	actionfreelist.6404
	.comm	actionfreelist.6404,4,4
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.6466, %object
	.size	__PRETTY_FUNCTION__.6466, 14
__PRETTY_FUNCTION__.6466:
	.ascii	"acttab_insert\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6533, %object
	.size	__PRETTY_FUNCTION__.6533, 14
__PRETTY_FUNCTION__.6533:
	.ascii	"FindFirstSets\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6653, %object
	.size	__PRETTY_FUNCTION__.6653, 15
__PRETTY_FUNCTION__.6653:
	.ascii	"FindFollowSets\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6725, %object
	.size	__PRETTY_FUNCTION__.6725, 17
__PRETTY_FUNCTION__.6725:
	.ascii	"resolve_conflict\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6749, %object
	.size	__PRETTY_FUNCTION__.6749, 15
__PRETTY_FUNCTION__.6749:
	.ascii	"Configlist_add\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6756, %object
	.size	__PRETTY_FUNCTION__.6756, 20
__PRETTY_FUNCTION__.6756:
	.ascii	"Configlist_addbasis\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6768, %object
	.size	__PRETTY_FUNCTION__.6768, 19
__PRETTY_FUNCTION__.6768:
	.ascii	"Configlist_closure\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6801, %object
	.size	__PRETTY_FUNCTION__.6801, 15
__PRETTY_FUNCTION__.6801:
	.ascii	"Configlist_eat\000"
	.align	2
.LC351:
	.ascii	"b\000"
	.align	2
.LC352:
	.ascii	"Print only the basis in report.\000"
	.align	2
.LC353:
	.ascii	"c\000"
	.align	2
.LC354:
	.ascii	"Don't compress the action table.\000"
	.align	2
.LC355:
	.ascii	"d\000"
	.align	2
.LC356:
	.ascii	"Output directory.  Default '.'\000"
	.align	2
.LC357:
	.ascii	"D\000"
	.align	2
.LC358:
	.ascii	"Define an %ifdef macro.\000"
	.align	2
.LC359:
	.ascii	"E\000"
	.align	2
.LC360:
	.ascii	"Print input file after preprocessing.\000"
	.align	2
.LC361:
	.ascii	"f\000"
	.align	2
.LC362:
	.ascii	"Ignored.  (Placeholder for -f compiler options.)\000"
	.align	2
.LC363:
	.ascii	"g\000"
	.align	2
.LC364:
	.ascii	"Print grammar without actions.\000"
	.align	2
.LC365:
	.ascii	"I\000"
	.align	2
.LC366:
	.ascii	"Ignored.  (Placeholder for '-I' compiler options.)\000"
	.align	2
.LC367:
	.ascii	"m\000"
	.align	2
.LC368:
	.ascii	"Output a makeheaders compatible file.\000"
	.align	2
.LC369:
	.ascii	"l\000"
	.align	2
.LC370:
	.ascii	"Do not print #line statements.\000"
	.align	2
.LC371:
	.ascii	"O\000"
	.align	2
.LC372:
	.ascii	"Ignored.  (Placeholder for '-O' compiler options.)\000"
	.align	2
.LC373:
	.ascii	"p\000"
	.align	2
.LC374:
	.ascii	"Show conflicts resolved by precedence rules\000"
	.align	2
.LC375:
	.ascii	"q\000"
	.align	2
.LC376:
	.ascii	"(Quiet) Don't print the report file.\000"
	.align	2
.LC377:
	.ascii	"r\000"
	.align	2
.LC378:
	.ascii	"Do not sort or renumber states\000"
	.align	2
.LC379:
	.ascii	"s\000"
	.align	2
.LC380:
	.ascii	"Print parser stats to standard output.\000"
	.align	2
.LC381:
	.ascii	"S\000"
	.align	2
.LC382:
	.ascii	"Generate the *.sql file describing the parser table"
	.ascii	"s.\000"
	.align	2
.LC383:
	.ascii	"x\000"
	.align	2
.LC384:
	.ascii	"Print the version number.\000"
	.align	2
.LC385:
	.ascii	"T\000"
	.align	2
.LC386:
	.ascii	"Specify a template file.\000"
	.align	2
.LC387:
	.ascii	"W\000"
	.align	2
.LC388:
	.ascii	"Ignored.  (Placeholder for '-W' compiler options.)\000"
	.data
	.align	2
	.type	options.6879, %object
	.size	options.6879, 320
options.6879:
	.word	1
	.word	.LC351
	.word	basisflag.6870
	.word	.LC352
	.word	1
	.word	.LC353
	.word	compress.6871
	.word	.LC354
	.word	8
	.word	.LC355
	.word	handle_d_option
	.word	.LC356
	.word	8
	.word	.LC357
	.word	handle_D_option
	.word	.LC358
	.word	1
	.word	.LC359
	.word	printPP.6878
	.word	.LC360
	.word	8
	.word	.LC361
	.word	0
	.word	.LC362
	.word	1
	.word	.LC363
	.word	rpflag.6869
	.word	.LC364
	.word	8
	.word	.LC365
	.word	0
	.word	.LC366
	.word	1
	.word	.LC367
	.word	mhflag.6874
	.word	.LC368
	.word	1
	.word	.LC369
	.word	nolinenosflag.6875
	.word	.LC370
	.word	8
	.word	.LC371
	.word	0
	.word	.LC372
	.word	1
	.word	.LC373
	.word	showPrecedenceConflict
	.word	.LC374
	.word	1
	.word	.LC375
	.word	quiet.6872
	.word	.LC376
	.word	1
	.word	.LC377
	.word	noResort.6876
	.word	.LC378
	.word	1
	.word	.LC379
	.word	statistics.6873
	.word	.LC380
	.word	1
	.word	.LC381
	.word	sqlFlag.6877
	.word	.LC382
	.word	1
	.word	.LC383
	.word	version.6868
	.word	.LC384
	.word	8
	.word	.LC385
	.word	handle_T_option
	.word	.LC386
	.word	8
	.word	.LC387
	.word	0
	.word	.LC388
	.word	1
	.word	0
	.word	0
	.word	0
	.local	version.6868
	.comm	version.6868,4,4
	.local	basisflag.6870
	.comm	basisflag.6870,4,4
	.local	nolinenosflag.6875
	.comm	nolinenosflag.6875,4,4
	.local	printPP.6878
	.comm	printPP.6878,4,4
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.6893, %object
	.size	__PRETTY_FUNCTION__.6893, 5
__PRETTY_FUNCTION__.6893:
	.ascii	"main\000"
	.local	rpflag.6869
	.comm	rpflag.6869,4,4
	.local	compress.6871
	.comm	compress.6871,4,4
	.local	noResort.6876
	.comm	noResort.6876,4,4
	.local	quiet.6872
	.comm	quiet.6872,4,4
	.local	mhflag.6874
	.comm	mhflag.6874,4,4
	.local	sqlFlag.6877
	.comm	sqlFlag.6877,4,4
	.local	statistics.6873
	.comm	statistics.6873,4,4
	.align	2
	.type	__PRETTY_FUNCTION__.6987, %object
	.size	__PRETTY_FUNCTION__.6987, 13
__PRETTY_FUNCTION__.6987:
	.ascii	"handleswitch\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7360, %object
	.size	__PRETTY_FUNCTION__.7360, 8
__PRETTY_FUNCTION__.7360:
	.ascii	"Reprint\000"
	.data
	.align	2
	.type	templatename.7498, %object
	.size	templatename.7498, 9
templatename.7498:
	.ascii	"lempar.c\000"
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.7528, %object
	.size	__PRETTY_FUNCTION__.7528, 21
__PRETTY_FUNCTION__.7528:
	.ascii	"emit_destructor_code\000"
	.local	used.7547
	.comm	used.7547,4,4
	.local	z.7545
	.comm	z.7545,4,4
	.align	2
	.type	__PRETTY_FUNCTION__.7550, %object
	.size	__PRETTY_FUNCTION__.7550, 11
__PRETTY_FUNCTION__.7550:
	.ascii	"append_str\000"
	.local	alloced.7546
	.comm	alloced.7546,4,4
	.local	empty.7544
	.comm	empty.7544,1,4
	.data
	.align	2
	.type	newlinestr.7572, %object
	.size	newlinestr.7572, 2
newlinestr.7572:
	.ascii	"\012\000"
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.7677, %object
	.size	__PRETTY_FUNCTION__.7677, 14
__PRETTY_FUNCTION__.7677:
	.ascii	"axset_compare\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7721, %object
	.size	__PRETTY_FUNCTION__.7721, 12
__PRETTY_FUNCTION__.7721:
	.ascii	"ReportTable\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7906, %object
	.size	__PRETTY_FUNCTION__.7906, 15
__PRETTY_FUNCTION__.7906:
	.ascii	"CompressTables\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7941, %object
	.size	__PRETTY_FUNCTION__.7941, 19
__PRETTY_FUNCTION__.7941:
	.ascii	"stateResortCompare\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7949, %object
	.size	__PRETTY_FUNCTION__.7949, 13
__PRETTY_FUNCTION__.7949:
	.ascii	"ResortStates\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7978, %object
	.size	__PRETTY_FUNCTION__.7978, 7
__PRETTY_FUNCTION__.7978:
	.ascii	"SetAdd\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
