	.file	"17067.c"
	.intel_syntax noprefix
	.text
	.globl	novo_grafo
	.type	novo_grafo, @function
novo_grafo:
.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	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	novo_grafo, .-novo_grafo
	.globl	novo_vertice
	.type	novo_vertice, @function
novo_vertice:
.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	DWORD PTR -20[rbp], edi
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	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	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	novo_vertice, .-novo_vertice
	.globl	nova_aresta
	.type	nova_aresta, @function
nova_aresta:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	nova_aresta, .-nova_aresta
	.globl	nova_fila
	.type	nova_fila, @function
nova_fila:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	nova_fila, .-nova_fila
	.globl	nova_celula_fila
	.type	nova_celula_fila, @function
nova_celula_fila:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	nova_celula_fila, .-nova_celula_fila
	.globl	nova_lista
	.type	nova_lista, @function
nova_lista:
.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	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	nova_lista, .-nova_lista
	.globl	nova_celula_lista
	.type	nova_celula_lista, @function
nova_celula_lista:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	eax, r8d
	mov	DWORD PTR -44[rbp], r9d
	mov	BYTE PTR -40[rbp], al
	mov	edi, 56
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR -40[rbp]
	mov	BYTE PTR 12[rax], dl
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	nova_celula_lista, .-nova_celula_lista
	.globl	fila_vazia
	.type	fila_vazia, @function
fila_vazia:
.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 -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L16
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L17
.L16:
	mov	eax, 1
	jmp	.L18
.L17:
	mov	eax, 0
.L18:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	fila_vazia, .-fila_vazia
	.globl	verifica_aresta
	.type	verifica_aresta, @function
verifica_aresta:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L20
.L23:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L21
	mov	eax, 1
	jmp	.L22
.L21:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L20:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L23
	mov	eax, 0
.L22:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	verifica_aresta, .-verifica_aresta
	.globl	verifica_vertice
	.type	verifica_vertice, @function
verifica_vertice:
.LFB15:
	.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 -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L25
.L28:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L26
	mov	eax, 1
	jmp	.L27
.L26:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
.L25:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L28
	mov	eax, 0
.L27:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	verifica_vertice, .-verifica_vertice
	.globl	verifica_branco
	.type	verifica_branco, @function
verifica_branco:
.LFB16:
	.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	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L30
.L33:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L31
	mov	eax, 1
	jmp	.L32
.L31:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
.L30:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L33
	mov	eax, 0
.L32:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	verifica_branco, .-verifica_branco
	.globl	busca_fila
	.type	busca_fila, @function
busca_fila:
.LFB17:
	.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 -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L35
.L38:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L36
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L34
.L36:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L35:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L38
.L34:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	busca_fila, .-busca_fila
	.globl	busca_lista
	.type	busca_lista, @function
busca_lista:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L40
.L43:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L41
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L39
.L41:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
.L40:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L43
.L39:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	busca_lista, .-busca_lista
	.globl	busca_vertice
	.type	busca_vertice, @function
busca_vertice:
.LFB19:
	.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 -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L45
.L48:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L46
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L44
.L46:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
.L45:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L48
.L44:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	busca_vertice, .-busca_vertice
	.globl	enfila
	.type	enfila, @function
enfila:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L50
	mov	eax, 0
	jmp	.L51
.L50:
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	nova_celula_fila
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L52
	mov	eax, 0
	jmp	.L51
.L52:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L53
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L54
.L53:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, 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 8[rax], rdx
.L54:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, 1
.L51:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	enfila, .-enfila
	.globl	insere_lista
	.type	insere_lista, @function
insere_lista:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	DWORD PTR -44[rbp], r8d
	mov	eax, r9d
	mov	BYTE PTR -48[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L56
	movsx	r8d, BYTE PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	esi, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, DWORD PTR 32[rbp]
	push	rdi
	mov	edi, DWORD PTR 24[rbp]
	push	rdi
	mov	r9d, DWORD PTR 16[rbp]
	mov	rdi, rax
	call	nova_celula_lista
	add	rsp, 16
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L57
	mov	eax, 0
	jmp	.L58
.L57:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, 1
	jmp	.L58
.L56:
	movsx	r8d, BYTE PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	esi, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, DWORD PTR 32[rbp]
	push	rdi
	mov	edi, DWORD PTR 24[rbp]
	push	rdi
	mov	r9d, DWORD PTR 16[rbp]
	mov	rdi, rax
	call	nova_celula_lista
	add	rsp, 16
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L59
	mov	eax, 0
	jmp	.L58
.L59:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, 1
.L58:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	insere_lista, .-insere_lista
	.section	.rodata
.LC0:
	.string	"\n + Vertice %d Inserido\n"
.LC1:
	.string	" + Vertice %d Inserido\n"
	.align 8
.LC2:
	.string	" * Entrada Invalida, O vertice %d ja Existe!\n"
	.text
	.globl	insere_vertice
	.type	insere_vertice, @function
insere_vertice:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L61
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	novo_vertice
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L62
	mov	eax, 0
	jmp	.L63
.L62:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L63
.L61:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	test	eax, eax
	jne	.L64
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	novo_vertice
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L65
	mov	eax, 0
	jmp	.L63
.L65:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L63
.L64:
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
.L63:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	insere_vertice, .-insere_vertice
	.section	.rodata
.LC3:
	.string	" + Aresta %d Inserida\n"
	.align 8
.LC4:
	.string	" * Entrada Invalida, A Aresta %d ja Existe!\n"
	.text
	.globl	insere_aresta1
	.type	insere_aresta1, @function
insere_aresta1:
.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, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L67
.L74:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jne	.L68
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L69
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, edx
	mov	edi, eax
	call	nova_aresta
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L70
	mov	eax, 0
	jmp	.L71
.L70:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L71
.L69:
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_aresta
	test	eax, eax
	jne	.L72
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, edx
	mov	edi, eax
	call	nova_aresta
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L73
	mov	eax, 0
	jmp	.L71
.L73:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L71
.L72:
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, eax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L71
.L68:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
.L67:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L74
	mov	eax, 0
.L71:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	insere_aresta1, .-insere_aresta1
	.section	.rodata
	.align 8
.LC5:
	.string	"\n * Nao existe nenhum vertice no grafo, impossivel adicionar aresta. "
.LC6:
	.string	"\nOK - Verificao"
	.align 8
.LC7:
	.string	"\n * Nao \303\251 possivel inserir loops no grafo. "
	.align 8
.LC8:
	.string	"\n * Entrada Invalida, Algum dos Vertices inseridos nao existe!"
	.text
	.globl	insere_aresta2
	.type	insere_aresta2, @function
insere_aresta2:
.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, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L76
	lea	rdi, .LC5[rip]
	call	puts@PLT
	jmp	.L77
.L76:
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	cmp	eax, 1
	jne	.L78
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	cmp	eax, 1
	jne	.L78
	lea	rdi, .LC6[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jne	.L79
	lea	rdi, .LC7[rip]
	call	puts@PLT
	jmp	.L77
.L79:
	mov	ecx, DWORD PTR -20[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	insere_aresta1
	mov	ecx, DWORD PTR -20[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	insere_aresta1
	jmp	.L77
.L78:
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L75
.L77:
.L75:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	insere_aresta2, .-insere_aresta2
	.globl	apaga_fila
	.type	apaga_fila, @function
apaga_fila:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L83
.L84:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L83:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L84
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	apaga_fila, .-apaga_fila
	.section	.rodata
	.align 8
.LC9:
	.string	"\n x N\303\243o existem arestas nesse vertice para serem apagadas"
	.align 8
.LC10:
	.string	"\n x Todas as Arestas do Vertice [%d] Foram Apagadas\n"
	.text
	.globl	apaga_arestas
	.type	apaga_arestas, @function
apaga_arestas:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L86
	lea	rdi, .LC9[rip]
	call	puts@PLT
	jmp	.L90
.L86:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L88
.L89:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L88:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L89
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
.L90:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	apaga_arestas, .-apaga_arestas
	.section	.rodata
	.align 8
.LC11:
	.string	"\n x Todos os V\303\251rtices do Grafo Foram Apagados"
	.text
	.globl	apaga_vertices
	.type	apaga_vertices, @function
apaga_vertices:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L92
.L93:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	apaga_arestas
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L92:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L93
	lea	rdi, .LC11[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	apaga_vertices, .-apaga_vertices
	.globl	apaga_lista
	.type	apaga_lista, @function
apaga_lista:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L95
.L96:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L95:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L96
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	apaga_lista, .-apaga_lista
	.section	.rodata
	.align 8
.LC12:
	.string	"\n\n--------------------------[APAGANDO O GRAFO]-----------------------------"
.LC13:
	.string	"\n $ O GRAFO FOI APAGADO.\n"
	.text
	.globl	apaga_grafo
	.type	apaga_grafo, @function
apaga_grafo:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	lea	rdi, .LC12[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	apaga_vertices
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	apaga_grafo, .-apaga_grafo
	.section	.rodata
	.align 8
.LC14:
	.string	" * Nao ha elementos na Fila, Impossivel Remover."
	.text
	.globl	desenfila
	.type	desenfila, @function
desenfila:
.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
	cmp	QWORD PTR -40[rbp], 0
	je	.L99
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L100
.L99:
	lea	rdi, .LC14[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L101
.L100:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L102
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L102
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L101
.L102:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -20[rbp]
.L101:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	desenfila, .-desenfila
	.section	.rodata
	.align 8
.LC15:
	.string	"\nAchou uma Aresta Unica na Lista do Vertice v[%d]\n"
	.align 8
.LC16:
	.string	"\nAchou a Aresta no Inicio da Lista do Vertice v[%d]\n"
	.align 8
.LC17:
	.string	"\nAchou a Aresta no Fim da Lista do Vertice v[%d]\n"
	.align 8
.LC18:
	.string	"\nAchou a Aresta no Meio da Lista do Vertice v[%d]\n"
.LC19:
	.string	" - Aresta %d Removida\n"
	.text
	.globl	remove_aresta1
	.type	remove_aresta1, @function
remove_aresta1:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L104
.L114:
	mov	DWORD PTR -28[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jne	.L105
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 1
	jne	.L106
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jne	.L107
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], 0
	jmp	.L107
.L106:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L108
.L113:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jne	.L109
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L110
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L111
.L110:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L112
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L111
.L112:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rdx]
	mov	QWORD PTR 16[rax], rdx
.L111:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L108
.L109:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L108:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L113
.L107:
	cmp	DWORD PTR -28[rbp], 0
	je	.L105
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
.L105:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
.L104:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L114
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	remove_aresta1, .-remove_aresta1
	.section	.rodata
	.align 8
.LC20:
	.string	"\n * Nao existe nenhum vertice no grafo, impossivel remover aresta. "
	.align 8
.LC21:
	.string	"\n\n-------------------------[REMOCAO DE ARESTA]-----------------------------\n"
	.align 8
.LC22:
	.string	"\n * N\303\243o Existe Loop no Vertice para ser Removido"
	.text
	.globl	remove_aresta2
	.type	remove_aresta2, @function
remove_aresta2:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 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	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L116
	lea	rdi, .LC20[rip]
	call	puts@PLT
	jmp	.L117
.L116:
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	cmp	eax, 1
	jne	.L118
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	cmp	eax, 1
	jne	.L118
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jne	.L119
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L117
.L119:
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	remove_aresta1
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	remove_aresta1
	jmp	.L117
.L118:
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L115
.L117:
.L115:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	remove_aresta2, .-remove_aresta2
	.section	.rodata
	.align 8
.LC23:
	.string	"\n * Nao existe nenhum vertice no grafo, impossivel remover vertices. "
	.align 8
.LC24:
	.string	"\n\n-------------------------[REMOCAO DE VERTICE]----------------------------\n"
	.align 8
.LC25:
	.string	"\nAchou o Vertice v[%d] Como Unico no Grafo\n"
	.align 8
.LC26:
	.string	"\nAchou o Vertice v[%d] no Inicio do Grafo\n"
	.align 8
.LC27:
	.string	"\nAchou o Vertice v[%d] no Fim do Grafo\n"
	.align 8
.LC28:
	.string	"\nAchou o Vertice v[%d] no Meio da Grafo\n"
	.align 8
.LC29:
	.string	"\n - O Vertice v[%d] Foi Removido\n"
	.align 8
.LC30:
	.string	"\n * O Vertice N\303\243o Existe, Impossivel Remover"
	.text
	.globl	remove_vertice
	.type	remove_vertice, @function
remove_vertice:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L123
	lea	rdi, .LC23[rip]
	call	puts@PLT
	jmp	.L135
.L123:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	cmp	eax, 1
	jne	.L125
	lea	rdi, .LC24[rip]
	call	puts@PLT
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jne	.L128
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jne	.L128
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], 0
	jmp	.L127
.L134:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jne	.L129
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	apaga_arestas
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L130
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	jmp	.L131
.L130:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L132
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	jmp	.L131
.L132:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rdx]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rdx]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
.L131:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L133
.L129:
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	remove_aresta1
.L133:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
.L128:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L134
.L127:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	cmp	DWORD PTR -20[rbp], 0
	je	.L135
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L135
.L125:
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
.L135:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	remove_vertice, .-remove_vertice
	.section	.rodata
	.align 8
.LC31:
	.string	"\n\n-------------------------------[GRAFO]-----------------------------------\n"
.LC32:
	.string	"\n V[%d] | "
.LC33:
	.string	"=> %d <="
.LC34:
	.string	"\n"
	.text
	.globl	imprime_grafo
	.type	imprime_grafo, @function
imprime_grafo:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	lea	rdi, .LC31[rip]
	call	puts@PLT
	jmp	.L137
.L141:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L138
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L139
.L140:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L139:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L140
.L138:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
.L137:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L141
	lea	rdi, .LC34[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	imprime_grafo, .-imprime_grafo
	.section	.rodata
.LC35:
	.string	"\nFILA: "
.LC36:
	.string	" %d <- "
	.text
	.globl	imprime_fila
	.type	imprime_fila, @function
imprime_fila:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L143
.L144:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L143:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L144
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	imprime_fila, .-imprime_fila
	.section	.rodata
.LC37:
	.string	"\nLista:"
.LC38:
	.string	" %d / %c /%d\n "
	.text
	.globl	imprime_lista
	.type	imprime_lista, @function
imprime_lista:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC37[rip]
	call	puts@PLT
	jmp	.L146
.L147:
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 12[rax]
	movsx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
.L146:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L147
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	imprime_lista, .-imprime_lista
	.section	.rodata
	.align 8
.LC39:
	.string	"[ vert \t|\tdist \t|\tpai \t|\tcor \t]"
.LC40:
	.string	"[ v[%d]\t|\t%d\t|\t%d\t|\t%c\t]\n"
	.text
	.globl	imprime_largura
	.type	imprime_largura, @function
imprime_largura:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC39[rip]
	call	puts@PLT
	jmp	.L149
.L150:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 12[rax]
	movsx	esi, al
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	r8d, esi
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
.L149:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L150
	lea	rdi, .LC34[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	imprime_largura, .-imprime_largura
	.section	.rodata
	.align 8
.LC41:
	.string	"[ vert \t|\td[v] \t|\tf[v] \t|\tpi[v] \t]"
.LC42:
	.string	"[ v[%d]\t|\t%d\t|\t%d\t|\t%d\t]\n"
	.text
	.globl	imprime_profundidade
	.type	imprime_profundidade, @function
imprime_profundidade:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC41[rip]
	call	puts@PLT
	jmp	.L152
.L153:
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	r8d, esi
	mov	esi, eax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
.L152:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L153
	lea	rdi, .LC34[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	imprime_profundidade, .-imprime_profundidade
	.section	.rodata
.LC43:
	.string	"[ vert \t|\tpi[v] \t|\tkey[v]\t]"
.LC44:
	.string	"[ v[%d]\t|\t%d\t|\t%d\t]\n"
	.text
	.globl	imprime_prim
	.type	imprime_prim, @function
imprime_prim:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC43[rip]
	call	puts@PLT
	jmp	.L155
.L156:
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	esi, eax
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
.L155:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L156
	lea	rdi, .LC34[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	imprime_prim, .-imprime_prim
	.section	.rodata
.LC45:
	.string	"[ vert \t|\tpi[v] \t|\td[v] \t]"
	.text
	.globl	imprime_dijkstra
	.type	imprime_dijkstra, @function
imprime_dijkstra:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC45[rip]
	call	puts@PLT
	jmp	.L158
.L159:
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	esi, eax
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -8[rbp], rax
.L158:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L159
	lea	rdi, .LC34[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	imprime_dijkstra, .-imprime_dijkstra
	.section	.rodata
	.align 8
.LC46:
	.string	"\n\n-------------------------[BUSCA EM LARGURA]----------------------------\n"
.LC47:
	.string	"\n\tVertice Inexistente."
	.text
	.globl	buscaemlargura
	.type	buscaemlargura, @function
buscaemlargura:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	cmp	DWORD PTR -76[rbp], -1
	jne	.L161
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -76[rbp], eax
.L161:
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	lea	rdi, .LC46[rip]
	call	puts@PLT
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	cmp	eax, 1
	jne	.L162
	mov	eax, 0
	call	nova_fila
	mov	QWORD PTR -32[rbp], rax
	mov	eax, 0
	call	nova_lista
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L163
.L166:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -76[rbp], eax
	jne	.L164
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9d, 67
	mov	r8d, -1
	mov	ecx, 0
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
	jmp	.L165
.L164:
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9d, 66
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
.L165:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
.L163:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L166
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	enfila
	jmp	.L167
.L171:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	desenfila
	mov	DWORD PTR -52[rbp], eax
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	busca_lista
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L168
.L170:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	busca_lista
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L169
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 12[rax], 67
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	enfila
.L169:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
.L168:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L170
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 12[rax], 80
.L167:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	fila_vazia
	test	eax, eax
	je	.L171
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	apaga_fila
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L160
.L162:
	lea	rdi, .LC47[rip]
	mov	eax, 0
	call	printf@PLT
.L160:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	buscaemlargura, .-buscaemlargura
	.section	.rodata
.LC48:
	.string	"\n   O Grafo \303\251 Conexo!!\n"
.LC49:
	.string	"\n   O Grafo \303\251 Desconexo!!\n"
	.text
	.globl	grafo_conexo
	.type	grafo_conexo, @function
grafo_conexo:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	buscaemlargura
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L174
.L176:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L175
	add	DWORD PTR -20[rbp], 1
.L175:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -16[rbp], rax
.L174:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L176
	cmp	DWORD PTR -20[rbp], 0
	jne	.L177
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	apaga_lista
	lea	rdi, .LC48[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L178
.L177:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	apaga_lista
	lea	rdi, .LC49[rip]
	call	puts@PLT
	mov	eax, 0
.L178:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	grafo_conexo, .-grafo_conexo
	.globl	profundidadevisita
	.type	profundidadevisita, @function
profundidadevisita:
.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, 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 32[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR 12[rax], 67
	jmp	.L180
.L182:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	busca_lista
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L181
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	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	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	profundidadevisita
.L181:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L180:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L182
	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 -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR 12[rax], 80
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	profundidadevisita, .-profundidadevisita
	.section	.rodata
	.align 8
.LC50:
	.string	"\n\n------------------------[BUSCA EM PROFUNDIDADE]-------------------------\n"
	.text
	.globl	buscaemprofundidade
	.type	buscaemprofundidade, @function
buscaemprofundidade:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	lea	rdi, .LC50[rip]
	call	puts@PLT
	mov	edi, 4
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 0
	mov	eax, 0
	call	nova_lista
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L184
.L185:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9d, 66
	mov	r8d, -1
	mov	ecx, 0
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
.L184:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L185
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L186
.L188:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L187
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	profundidadevisita
.L187:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -32[rbp], rax
.L186:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L188
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	imprime_profundidade
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	apaga_lista
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	buscaemprofundidade, .-buscaemprofundidade
	.globl	extrair_min
	.type	extrair_min, @function
extrair_min:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 999999999
	jmp	.L190
.L192:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -20[rbp], eax
	jle	.L191
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L191
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
.L191:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -16[rbp], rax
.L190:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L192
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 12[rax], 80
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	extrair_min, .-extrair_min
	.section	.rodata
	.align 8
.LC51:
	.string	"\n\n------------------------[ALGORITMO DE PRIM]-------------------------\n"
	.align 8
.LC52:
	.string	"\nO Algoritmo de Prim nao pode ser executado, funciona apenas para grafos conexos, o grafo \303\251 desconexo."
	.text
	.globl	Algoritmo_de_Prim
	.type	Algoritmo_de_Prim, @function
Algoritmo_de_Prim:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	grafo_conexo
	cmp	eax, 1
	jne	.L195
	lea	rdi, .LC51[rip]
	call	puts@PLT
	mov	eax, 0
	call	nova_lista
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L196
.L199:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -60[rbp], eax
	jne	.L197
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9d, 66
	mov	r8d, -1
	mov	ecx, 0
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
	jmp	.L198
.L197:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	sub	rsp, 8
	push	999999999
	push	0
	push	0
	mov	r9d, 66
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
.L198:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
.L196:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L199
	jmp	.L200
.L204:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	extrair_min
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L201
.L203:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	busca_lista
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jge	.L202
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L202
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
.L202:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
.L201:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L203
.L200:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	verifica_branco
	test	eax, eax
	jne	.L204
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	imprime_prim
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	apaga_lista
	jmp	.L206
.L195:
	lea	rdi, .LC52[rip]
	call	puts@PLT
.L206:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	Algoritmo_de_Prim, .-Algoritmo_de_Prim
	.section	.rodata
	.align 8
.LC53:
	.string	"\n\n----------------------[ALGORITMO DE DIJKSTRA]-----------------------\n"
	.text
	.globl	Algoritmo_de_Dijkstra
	.type	Algoritmo_de_Dijkstra, @function
Algoritmo_de_Dijkstra:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	lea	rdi, .LC53[rip]
	call	puts@PLT
	mov	eax, 0
	call	nova_lista
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L208
.L211:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -60[rbp], eax
	jne	.L209
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9d, 66
	mov	r8d, -1
	mov	ecx, 0
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
	jmp	.L210
.L209:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	sub	rsp, 8
	push	999999999
	push	0
	push	0
	mov	r9d, 66
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
.L210:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
.L208:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L211
	jmp	.L212
.L216:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	extrair_min
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L213
.L215:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	busca_lista
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jge	.L214
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 12[rax]
	cmp	al, 66
	jne	.L214
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
.L214:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
.L213:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L215
.L212:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	verifica_branco
	test	eax, eax
	jne	.L216
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	imprime_dijkstra
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	apaga_lista
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	Algoritmo_de_Dijkstra, .-Algoritmo_de_Dijkstra
	.section	.rodata
	.align 8
.LC54:
	.string	"\nInforme o Vertice que deseja saber o Grau: "
.LC55:
	.string	"%d"
	.align 8
.LC56:
	.string	"\n\n-------------------------------[GRAU]------------------------------------\n"
	.align 8
.LC57:
	.string	"\n -> O Grau do Vertice v[%d] e: %d \n\n"
.LC58:
	.string	"\n * Vertice Inexistente."
	.text
	.globl	grau_vertice
	.type	grau_vertice, @function
grau_vertice:
.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC56[rip]
	call	puts@PLT
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	verifica_vertice
	cmp	eax, 1
	jne	.L218
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L219
.L221:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jne	.L220
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
.L220:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
.L219:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L221
	jmp	.L224
.L218:
	lea	rdi, .LC58[rip]
	mov	eax, 0
	call	printf@PLT
.L224:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L223
	call	__stack_chk_fail@PLT
.L223:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	grau_vertice, .-grau_vertice
	.section	.rodata
	.align 8
.LC59:
	.string	"\n\n------------------------[MATRIZ ADJACENCIA]------------------------------\n"
.LC60:
	.string	"      "
.LC61:
	.string	" v[%d] "
.LC62:
	.string	"v[%d] |"
.LC63:
	.string	"  %.2d |"
	.text
	.globl	matriz_adjacencia
	.type	matriz_adjacencia, @function
matriz_adjacencia:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 168
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	QWORD PTR -152[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -56[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	QWORD PTR -160[rbp], rax
	lea	rdi, .LC59[rip]
	call	puts@PLT
	mov	DWORD PTR -132[rbp], 0
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -124[rbp], eax
	mov	ecx, DWORD PTR -124[rbp]
	mov	esi, DWORD PTR -124[rbp]
	movsx	rax, ecx
	sub	rax, 1
	mov	QWORD PTR -96[rbp], rax
	movsx	rax, ecx
	mov	QWORD PTR -208[rbp], rax
	mov	QWORD PTR -200[rbp], 0
	movsx	rax, ecx
	lea	rbx, 0[0+rax*4]
	movsx	rax, esi
	sub	rax, 1
	mov	QWORD PTR -88[rbp], rax
	movsx	rax, ecx
	mov	QWORD PTR -176[rbp], rax
	mov	QWORD PTR -168[rbp], 0
	movsx	rax, esi
	mov	QWORD PTR -192[rbp], rax
	mov	QWORD PTR -184[rbp], 0
	mov	r10, QWORD PTR -176[rbp]
	mov	r11, QWORD PTR -168[rbp]
	mov	rdx, r11
	mov	r8, QWORD PTR -192[rbp]
	mov	r9, QWORD PTR -184[rbp]
	imul	rdx, r8
	mov	rax, r9
	imul	rax, r10
	lea	rdi, [rdx+rax]
	mov	rax, r10
	mul	r8
	add	rdi, rdx
	mov	rdx, rdi
	movsx	rax, ecx
	mov	r14, rax
	mov	r15d, 0
	movsx	rax, esi
	mov	r12, rax
	mov	r13d, 0
	mov	rdx, r15
	imul	rdx, r12
	mov	rax, r13
	imul	rax, r14
	lea	rdi, [rdx+rax]
	mov	rax, r14
	mul	r12
	add	rdi, rdx
	mov	rdx, rdi
	movsx	rdx, ecx
	movsx	rax, esi
	imul	rax, rdx
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	esi, 16
	mov	edx, 0
	div	rsi
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L226:
	cmp	rsp, rdx
	je	.L227
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L226
.L227:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L228
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L228:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -80[rbp], rax
	mov	DWORD PTR -136[rbp], 0
	jmp	.L229
.L232:
	mov	DWORD PTR -140[rbp], 0
	jmp	.L230
.L231:
	mov	rcx, rbx
	shr	rcx, 2
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -140[rbp]
	movsx	rsi, edx
	mov	edx, DWORD PTR -136[rbp]
	movsx	rdx, edx
	imul	rdx, rcx
	add	rdx, rsi
	mov	DWORD PTR [rax+rdx*4], 0
	add	DWORD PTR -140[rbp], 1
.L230:
	mov	eax, DWORD PTR -140[rbp]
	cmp	eax, DWORD PTR -124[rbp]
	jl	.L231
	add	DWORD PTR -136[rbp], 1
.L229:
	mov	eax, DWORD PTR -136[rbp]
	cmp	eax, DWORD PTR -124[rbp]
	jl	.L232
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	eax, 0
	call	nova_lista
	mov	QWORD PTR -72[rbp], rax
	jmp	.L233
.L234:
	add	DWORD PTR -132[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -72[rbp]
	sub	rsp, 8
	push	0
	mov	ecx, DWORD PTR -132[rbp]
	push	rcx
	push	-1
	mov	r9d, 66
	mov	r8d, -1
	mov	ecx, -1
	mov	rdi, rax
	call	insere_lista
	add	rsp, 32
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -104[rbp], rax
.L233:
	cmp	QWORD PTR -104[rbp], 0
	jne	.L234
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -120[rbp], rax
	jmp	.L235
.L238:
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -112[rbp], rax
	jmp	.L236
.L237:
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	busca_lista
	mov	QWORD PTR -64[rbp], rax
	mov	rdi, rbx
	shr	rdi, 2
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -80[rbp]
	movsx	rsi, esi
	movsx	rcx, ecx
	imul	rcx, rdi
	add	rcx, rsi
	mov	DWORD PTR [rax+rcx*4], edx
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -112[rbp], rax
.L236:
	cmp	QWORD PTR -112[rbp], 0
	jne	.L237
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -120[rbp], rax
.L235:
	cmp	QWORD PTR -120[rbp], 0
	jne	.L238
	mov	DWORD PTR -128[rbp], 0
	mov	eax, DWORD PTR -128[rbp]
	mov	DWORD PTR -144[rbp], eax
	lea	rdi, .LC60[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L239
.L240:
	mov	eax, DWORD PTR -144[rbp]
	mov	esi, eax
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -144[rbp], 1
.L239:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -124[rbp]
	jl	.L240
	mov	edi, 10
	call	putchar@PLT
	mov	DWORD PTR -128[rbp], 0
	mov	eax, DWORD PTR -128[rbp]
	mov	DWORD PTR -144[rbp], eax
	mov	DWORD PTR -144[rbp], 0
	jmp	.L241
.L244:
	mov	eax, DWORD PTR -144[rbp]
	mov	esi, eax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -128[rbp], 0
	jmp	.L242
.L243:
	mov	rcx, rbx
	shr	rcx, 2
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -128[rbp]
	movsx	rsi, edx
	mov	edx, DWORD PTR -144[rbp]
	movsx	rdx, edx
	imul	rdx, rcx
	add	rdx, rsi
	mov	eax, DWORD PTR [rax+rdx*4]
	mov	esi, eax
	lea	rdi, .LC63[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -128[rbp], 1
.L242:
	mov	eax, DWORD PTR -128[rbp]
	cmp	eax, DWORD PTR -124[rbp]
	jl	.L243
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -144[rbp], 1
.L241:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -124[rbp]
	jl	.L244
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	apaga_lista
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	rsp, QWORD PTR -160[rbp]
	nop
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L245
	call	__stack_chk_fail@PLT
.L245:
	lea	rsp, -40[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	matriz_adjacencia, .-matriz_adjacencia
	.section	.rodata
	.align 8
.LC64:
	.string	"\n\n--------------------------------[MENU]-----------------------------------"
.LC65:
	.string	"\n 1. Inserir Vertice"
.LC66:
	.string	"\n 2. Inserir Aresta"
.LC67:
	.string	"\n 3. Visualizar Grafo"
.LC68:
	.string	"\n 4. Remover Vertices"
.LC69:
	.string	"\n 5. Remover Arestas"
.LC70:
	.string	"\n 6. Grau de um Vertice"
	.align 8
.LC71:
	.string	"\n 7. Informar se o Grafo e Conexo"
	.align 8
.LC72:
	.string	"\n 8. Converter para Matriz de Adjac\303\252ncia"
.LC73:
	.string	"\n 9. Busca em Largura"
.LC74:
	.string	"\n 10. Busca em Profundidade"
	.align 8
.LC75:
	.string	"\n 11. Caminho Minimo (Algoritmo de Dijkstra)"
	.align 8
.LC76:
	.string	"\n 12. Arvore Geradora Minima (Algoritmo de Prim)"
.LC77:
	.string	"\n 0. Sair"
.LC78:
	.string	"\n\nInforme a Opcao Desejada:"
	.align 8
.LC79:
	.string	"\n - Digite o numero do vertice:"
	.align 8
.LC80:
	.string	"\n - Digite o n\303\272mero do primeiro vertice:"
	.align 8
.LC81:
	.string	"\n - Digite o n\303\272mero do segundo vertice:"
	.align 8
.LC82:
	.string	"\n - Digite o peso/distancia da aresta:"
	.align 8
.LC83:
	.string	"\n x Digite um Peso Maior que Zero."
	.align 8
.LC84:
	.string	"\n - Digite o numero do vertice a ser removido:"
	.align 8
.LC85:
	.string	"\n - Digite o n\303\272mero do primeiro vertice da aresta a ser removida:"
	.align 8
.LC86:
	.string	"\n - Digite o n\303\272mero do segundo vertice da aresta a ser removida:"
	.align 8
.LC87:
	.string	"\nInforme um vertice existente no grafo para inicio: "
	.align 8
.LC88:
	.string	"\n * Op\303\247\303\243o nao Existe, Informe Novamente"
	.text
	.globl	Menu
	.type	Menu, @function
Menu:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -36[rbp], 0
.L262:
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	lea	rdi, .LC64[rip]
	call	puts@PLT
	lea	rdi, .LC65[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC66[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC67[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC68[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC69[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC70[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC71[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC72[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC73[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC74[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC75[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC76[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC77[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC78[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -36[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 1
	jne	.L247
	lea	rdi, .LC79[rip]
	call	puts@PLT
	lea	rax, -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	insere_vertice
	jmp	.L248
.L247:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 2
	jne	.L249
	lea	rdi, .LC80[rip]
	call	puts@PLT
	lea	rax, -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC81[rip]
	call	puts@PLT
	lea	rax, -28[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC82[rip]
	call	puts@PLT
	lea	rax, -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	eax, DWORD PTR -24[rbp]
	test	eax, eax
	jle	.L250
	mov	ecx, DWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	insere_aresta2
	jmp	.L248
.L250:
	lea	rdi, .LC83[rip]
	call	puts@PLT
	jmp	.L248
.L249:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 3
	jne	.L251
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	imprime_grafo
	jmp	.L248
.L251:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 4
	jne	.L252
	lea	rdi, .LC84[rip]
	call	puts@PLT
	lea	rax, -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	remove_vertice
	jmp	.L248
.L252:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 5
	jne	.L253
	lea	rdi, .LC85[rip]
	call	puts@PLT
	lea	rax, -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rdi, .LC86[rip]
	call	puts@PLT
	lea	rax, -28[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR -28[rbp]
	mov	ecx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	remove_aresta2
	jmp	.L248
.L253:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 6
	jne	.L254
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	grau_vertice
	jmp	.L248
.L254:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 7
	jne	.L255
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	grafo_conexo
	jmp	.L248
.L255:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 8
	jne	.L256
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	matriz_adjacencia
	jmp	.L248
.L256:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 9
	jne	.L257
	lea	rdi, .LC87[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	buscaemlargura
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	imprime_largura
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	apaga_lista
	jmp	.L248
.L257:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 10
	jne	.L258
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	buscaemprofundidade
	jmp	.L248
.L258:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 11
	jne	.L259
	lea	rdi, .LC87[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Algoritmo_de_Dijkstra
	jmp	.L248
.L259:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 12
	jne	.L260
	lea	rdi, .LC87[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Algoritmo_de_Prim
	jmp	.L248
.L260:
	mov	eax, DWORD PTR -36[rbp]
	test	eax, eax
	jne	.L261
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	apaga_grafo
	jmp	.L248
.L261:
	lea	rdi, .LC88[rip]
	mov	eax, 0
	call	printf@PLT
.L248:
	mov	eax, DWORD PTR -36[rbp]
	test	eax, eax
	jne	.L262
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L263
	call	__stack_chk_fail@PLT
.L263:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	Menu, .-Menu
	.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, 16
	mov	eax, 0
	call	novo_grafo
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 7
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 9
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	insere_vertice
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 7
	mov	edx, 2
	mov	esi, 1
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 9
	mov	edx, 4
	mov	esi, 1
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 10
	mov	edx, 5
	mov	esi, 1
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 8
	mov	edx, 6
	mov	esi, 1
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 9
	mov	edx, 8
	mov	esi, 1
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 8
	mov	edx, 10
	mov	esi, 1
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 4
	mov	edx, 3
	mov	esi, 2
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 5
	mov	edx, 4
	mov	esi, 2
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 9
	mov	edx, 9
	mov	esi, 2
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 9
	mov	edx, 10
	mov	esi, 2
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	mov	edx, 4
	mov	esi, 3
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 4
	mov	edx, 5
	mov	esi, 3
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 3
	mov	edx, 5
	mov	esi, 4
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 18
	mov	edx, 6
	mov	esi, 5
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 9
	mov	edx, 7
	mov	esi, 6
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 9
	mov	edx, 8
	mov	esi, 6
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 3
	mov	edx, 8
	mov	esi, 7
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 6
	mov	edx, 9
	mov	esi, 7
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 4
	mov	edx, 9
	mov	esi, 8
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 2
	mov	edx, 10
	mov	esi, 8
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 2
	mov	edx, 10
	mov	esi, 9
	mov	rdi, rax
	call	insere_aresta2
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	imprime_grafo
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Menu
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	main, .-main
	.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	"17067.c"
	.text
	.align	2
	.global	novo_grafo
	.syntax unified
	.arm
	.fpu softvfp
	.type	novo_grafo, %function
novo_grafo:
	@ 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	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	novo_grafo, .-novo_grafo
	.align	2
	.global	novo_vertice
	.syntax unified
	.arm
	.fpu softvfp
	.type	novo_vertice, %function
novo_vertice:
	@ 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	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	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]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	novo_vertice, .-novo_vertice
	.align	2
	.global	nova_aresta
	.syntax unified
	.arm
	.fpu softvfp
	.type	nova_aresta, %function
nova_aresta:
	@ 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	r0, #16
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	nova_aresta, .-nova_aresta
	.align	2
	.global	nova_fila
	.syntax unified
	.arm
	.fpu softvfp
	.type	nova_fila, %function
nova_fila:
	@ 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	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	nova_fila, .-nova_fila
	.align	2
	.global	nova_celula_fila
	.syntax unified
	.arm
	.fpu softvfp
	.type	nova_celula_fila, %function
nova_celula_fila:
	@ 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	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	nova_celula_fila, .-nova_celula_fila
	.align	2
	.global	nova_lista
	.syntax unified
	.arm
	.fpu softvfp
	.type	nova_lista, %function
nova_lista:
	@ 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	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	nova_lista, .-nova_lista
	.align	2
	.global	nova_celula_lista
	.syntax unified
	.arm
	.fpu softvfp
	.type	nova_celula_lista, %function
nova_celula_lista:
	@ args = 16, 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	r0, #40
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldrb	r2, [fp, #4]
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	nova_celula_lista, .-nova_celula_lista
	.align	2
	.global	fila_vazia
	.syntax unified
	.arm
	.fpu softvfp
	.type	fila_vazia, %function
fila_vazia:
	@ 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]
	cmp	r3, #0
	beq	.L16
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L17
.L16:
	mov	r3, #1
	b	.L18
.L17:
	mov	r3, #0
.L18:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fila_vazia, .-fila_vazia
	.align	2
	.global	verifica_aresta
	.syntax unified
	.arm
	.fpu softvfp
	.type	verifica_aresta, %function
verifica_aresta:
	@ 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, #4]
	str	r3, [fp, #-8]
	b	.L20
.L23:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L21
	mov	r3, #1
	b	.L22
.L21:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
.L20:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L23
	mov	r3, #0
.L22:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	verifica_aresta, .-verifica_aresta
	.align	2
	.global	verifica_vertice
	.syntax unified
	.arm
	.fpu softvfp
	.type	verifica_vertice, %function
verifica_vertice:
	@ 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]
	str	r3, [fp, #-8]
	b	.L25
.L28:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L26
	mov	r3, #1
	b	.L27
.L26:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-8]
.L25:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L28
	mov	r3, #0
.L27:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	verifica_vertice, .-verifica_vertice
	.align	2
	.global	verifica_branco
	.syntax unified
	.arm
	.fpu softvfp
	.type	verifica_branco, %function
verifica_branco:
	@ 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	.L30
.L33:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L31
	mov	r3, #1
	b	.L32
.L31:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L30:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L33
	mov	r3, #0
.L32:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	verifica_branco, .-verifica_branco
	.align	2
	.global	busca_fila
	.syntax unified
	.arm
	.fpu softvfp
	.type	busca_fila, %function
busca_fila:
	@ 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]
	str	r3, [fp, #-8]
	b	.L35
.L38:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L36
	ldr	r3, [fp, #-8]
	b	.L34
.L36:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L35:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L38
.L34:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	busca_fila, .-busca_fila
	.align	2
	.global	busca_lista
	.syntax unified
	.arm
	.fpu softvfp
	.type	busca_lista, %function
busca_lista:
	@ 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]
	str	r3, [fp, #-8]
	b	.L40
.L43:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L41
	ldr	r3, [fp, #-8]
	b	.L39
.L41:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L40:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L43
.L39:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	busca_lista, .-busca_lista
	.align	2
	.global	busca_vertice
	.syntax unified
	.arm
	.fpu softvfp
	.type	busca_vertice, %function
busca_vertice:
	@ 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]
	str	r3, [fp, #-8]
	b	.L45
.L48:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L46
	ldr	r3, [fp, #-8]
	b	.L44
.L46:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-8]
.L45:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L48
.L44:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	busca_vertice, .-busca_vertice
	.align	2
	.global	enfila
	.syntax unified
	.arm
	.fpu softvfp
	.type	enfila, %function
enfila:
	@ 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, #-16]
	cmp	r3, #0
	bne	.L50
	mov	r3, #0
	b	.L51
.L50:
	ldr	r0, [fp, #-20]
	bl	nova_celula_fila
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L52
	mov	r3, #0
	b	.L51
.L52:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L53
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	b	.L54
.L53:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
.L54:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	mov	r3, #1
.L51:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	enfila, .-enfila
	.align	2
	.global	insere_lista
	.syntax unified
	.arm
	.fpu softvfp
	.type	insere_lista, %function
insere_lista:
	@ args = 20, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L56
	ldr	r3, [fp, #20]
	str	r3, [sp, #12]
	ldr	r3, [fp, #16]
	str	r3, [sp, #8]
	ldr	r3, [fp, #12]
	str	r3, [sp, #4]
	ldrb	r3, [fp, #8]	@ zero_extendqisi2
	str	r3, [sp]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	nova_celula_lista
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L57
	mov	r3, #0
	b	.L58
.L57:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	mov	r3, #1
	b	.L58
.L56:
	ldr	r3, [fp, #20]
	str	r3, [sp, #12]
	ldr	r3, [fp, #16]
	str	r3, [sp, #8]
	ldr	r3, [fp, #12]
	str	r3, [sp, #4]
	ldrb	r3, [fp, #8]	@ zero_extendqisi2
	str	r3, [sp]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	nova_celula_lista
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L59
	mov	r3, #0
	b	.L58
.L59:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	mov	r3, #1
.L58:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	insere_lista, .-insere_lista
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012 + Vertice %d Inserido\012\000"
	.align	2
.LC1:
	.ascii	" + Vertice %d Inserido\012\000"
	.align	2
.LC2:
	.ascii	" * Entrada Invalida, O vertice %d ja Existe!\012\000"
	.text
	.align	2
	.global	insere_vertice
	.syntax unified
	.arm
	.fpu softvfp
	.type	insere_vertice, %function
insere_vertice:
	@ 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, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L61
	ldr	r0, [fp, #-20]
	bl	novo_vertice
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L62
	mov	r3, #0
	b	.L63
.L62:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L66
	bl	printf
	mov	r3, #1
	b	.L63
.L61:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #0
	bne	.L64
	ldr	r0, [fp, #-20]
	bl	novo_vertice
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L65
	mov	r3, #0
	b	.L63
.L65:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L66+4
	bl	printf
	mov	r3, #1
	b	.L63
.L64:
	ldr	r1, [fp, #-20]
	ldr	r0, .L66+8
	bl	printf
	mov	r3, #0
.L63:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L67:
	.align	2
.L66:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	insere_vertice, .-insere_vertice
	.section	.rodata
	.align	2
.LC3:
	.ascii	" + Aresta %d Inserida\012\000"
	.align	2
.LC4:
	.ascii	" * Entrada Invalida, A Aresta %d ja Existe!\012\000"
	.text
	.align	2
	.global	insere_aresta1
	.syntax unified
	.arm
	.fpu softvfp
	.type	insere_aresta1, %function
insere_aresta1:
	@ 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]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L69
.L76:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L70
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L71
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	nova_aresta
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L72
	mov	r3, #0
	b	.L73
.L72:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L77
	bl	printf
	mov	r3, #1
	b	.L73
.L71:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-16]
	bl	verifica_aresta
	mov	r3, r0
	cmp	r3, #0
	bne	.L74
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	nova_aresta
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L75
	mov	r3, #0
	b	.L73
.L75:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L77
	bl	printf
	mov	r3, #1
	b	.L73
.L74:
	ldr	r1, [fp, #-32]
	ldr	r0, .L77+4
	bl	printf
	mov	r3, #0
	b	.L73
.L70:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
.L69:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L76
	mov	r3, #0
.L73:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L78:
	.align	2
.L77:
	.word	.LC3
	.word	.LC4
	.size	insere_aresta1, .-insere_aresta1
	.section	.rodata
	.align	2
.LC5:
	.ascii	"\012 * Nao existe nenhum vertice no grafo, impossiv"
	.ascii	"el adicionar aresta. \000"
	.align	2
.LC6:
	.ascii	"\012OK - Verificao\000"
	.align	2
.LC7:
	.ascii	"\012 * Nao \303\251 possivel inserir loops no grafo"
	.ascii	". \000"
	.align	2
.LC8:
	.ascii	"\012 * Entrada Invalida, Algum dos Vertices inserid"
	.ascii	"os nao existe!\000"
	.text
	.align	2
	.global	insere_aresta2
	.syntax unified
	.arm
	.fpu softvfp
	.type	insere_aresta2, %function
insere_aresta2:
	@ 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, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L80
	ldr	r0, .L86
	bl	puts
	b	.L81
.L80:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #1
	bne	.L82
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #1
	bne	.L82
	ldr	r0, .L86+4
	bl	puts
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L83
	ldr	r0, .L86+8
	bl	puts
	b	.L81
.L83:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	insere_aresta1
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	insere_aresta1
	b	.L81
.L82:
	ldr	r0, .L86+12
	bl	printf
	mov	r3, #0
	b	.L79
.L81:
.L79:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L87:
	.align	2
.L86:
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.size	insere_aresta2, .-insere_aresta2
	.align	2
	.global	apaga_fila
	.syntax unified
	.arm
	.fpu softvfp
	.type	apaga_fila, %function
apaga_fila:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L89
.L90:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	free
.L89:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L90
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r0, [fp, #-24]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	apaga_fila, .-apaga_fila
	.section	.rodata
	.align	2
.LC9:
	.ascii	"\012 x N\303\243o existem arestas nesse vertice par"
	.ascii	"a serem apagadas\000"
	.align	2
.LC10:
	.ascii	"\012 x Todas as Arestas do Vertice [%d] Foram Apaga"
	.ascii	"das\012\000"
	.text
	.align	2
	.global	apaga_arestas
	.syntax unified
	.arm
	.fpu softvfp
	.type	apaga_arestas, %function
apaga_arestas:
	@ 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]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L92
	ldr	r0, .L97
	bl	puts
	b	.L96
.L92:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	b	.L94
.L95:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	free
.L94:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L95
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L97+4
	bl	printf
.L96:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L98:
	.align	2
.L97:
	.word	.LC9
	.word	.LC10
	.size	apaga_arestas, .-apaga_arestas
	.section	.rodata
	.align	2
.LC11:
	.ascii	"\012 x Todos os V\303\251rtices do Grafo Foram Apag"
	.ascii	"ados\000"
	.text
	.align	2
	.global	apaga_vertices
	.syntax unified
	.arm
	.fpu softvfp
	.type	apaga_vertices, %function
apaga_vertices:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L100
.L101:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	apaga_arestas
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	free
.L100:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L101
	ldr	r0, .L102
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L103:
	.align	2
.L102:
	.word	.LC11
	.size	apaga_vertices, .-apaga_vertices
	.align	2
	.global	apaga_lista
	.syntax unified
	.arm
	.fpu softvfp
	.type	apaga_lista, %function
apaga_lista:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L105
.L106:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	free
.L105:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L106
	ldr	r0, [fp, #-16]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	apaga_lista, .-apaga_lista
	.section	.rodata
	.align	2
.LC12:
	.ascii	"\012\012--------------------------[APAGANDO O GRAFO"
	.ascii	"]-----------------------------\000"
	.align	2
.LC13:
	.ascii	"\012 $ O GRAFO FOI APAGADO.\012\000"
	.text
	.align	2
	.global	apaga_grafo
	.syntax unified
	.arm
	.fpu softvfp
	.type	apaga_grafo, %function
apaga_grafo:
	@ 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, .L108
	bl	puts
	ldr	r0, [fp, #-8]
	bl	apaga_vertices
	ldr	r0, [fp, #-8]
	bl	free
	ldr	r0, .L108+4
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L109:
	.align	2
.L108:
	.word	.LC12
	.word	.LC13
	.size	apaga_grafo, .-apaga_grafo
	.section	.rodata
	.align	2
.LC14:
	.ascii	" * Nao ha elementos na Fila, Impossivel Remover.\000"
	.text
	.align	2
	.global	desenfila
	.syntax unified
	.arm
	.fpu softvfp
	.type	desenfila, %function
desenfila:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L111
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L112
.L111:
	ldr	r0, .L115
	bl	puts
	mov	r3, #0
	b	.L113
.L112:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L114
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L114
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-8]
	b	.L113
.L114:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r3, [fp, #-8]
.L113:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L116:
	.align	2
.L115:
	.word	.LC14
	.size	desenfila, .-desenfila
	.section	.rodata
	.align	2
.LC15:
	.ascii	"\012Achou uma Aresta Unica na Lista do Vertice v[%d"
	.ascii	"]\012\000"
	.align	2
.LC16:
	.ascii	"\012Achou a Aresta no Inicio da Lista do Vertice v["
	.ascii	"%d]\012\000"
	.align	2
.LC17:
	.ascii	"\012Achou a Aresta no Fim da Lista do Vertice v[%d]"
	.ascii	"\012\000"
	.align	2
.LC18:
	.ascii	"\012Achou a Aresta no Meio da Lista do Vertice v[%d"
	.ascii	"]\012\000"
	.align	2
.LC19:
	.ascii	" - Aresta %d Removida\012\000"
	.text
	.align	2
	.global	remove_aresta1
	.syntax unified
	.arm
	.fpu softvfp
	.type	remove_aresta1, %function
remove_aresta1:
	@ 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]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	b	.L118
.L128:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L119
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	bne	.L120
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L121
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L129
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #20]
	b	.L121
.L120:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	b	.L122
.L127:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L123
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L124
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L129+4
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	b	.L125
.L124:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L126
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L129+8
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	b	.L125
.L126:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L129+12
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #12]
	str	r2, [r3, #12]
.L125:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	free
	b	.L122
.L123:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
.L122:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L127
.L121:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L119
	ldr	r1, [fp, #-12]
	ldr	r0, .L129+16
	bl	printf
.L119:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
.L118:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L128
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L130:
	.align	2
.L129:
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.size	remove_aresta1, .-remove_aresta1
	.section	.rodata
	.align	2
.LC20:
	.ascii	"\012 * Nao existe nenhum vertice no grafo, impossiv"
	.ascii	"el remover aresta. \000"
	.align	2
.LC21:
	.ascii	"\012\012-------------------------[REMOCAO DE ARESTA"
	.ascii	"]-----------------------------\012\000"
	.align	2
.LC22:
	.ascii	"\012 * N\303\243o Existe Loop no Vertice para ser R"
	.ascii	"emovido\000"
	.text
	.align	2
	.global	remove_aresta2
	.syntax unified
	.arm
	.fpu softvfp
	.type	remove_aresta2, %function
remove_aresta2:
	@ 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	r3, [r3]
	cmp	r3, #0
	bne	.L132
	ldr	r0, .L138
	bl	puts
	b	.L133
.L132:
	ldr	r0, .L138+4
	bl	puts
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #1
	bne	.L134
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #1
	bne	.L134
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L135
	ldr	r0, .L138+8
	bl	printf
	b	.L133
.L135:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	remove_aresta1
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	remove_aresta1
	b	.L133
.L134:
	ldr	r0, .L138+12
	bl	printf
	mov	r3, #0
	b	.L131
.L133:
.L131:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L139:
	.align	2
.L138:
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC8
	.size	remove_aresta2, .-remove_aresta2
	.section	.rodata
	.align	2
.LC23:
	.ascii	"\012 * Nao existe nenhum vertice no grafo, impossiv"
	.ascii	"el remover vertices. \000"
	.align	2
.LC24:
	.ascii	"\012\012-------------------------[REMOCAO DE VERTIC"
	.ascii	"E]----------------------------\012\000"
	.align	2
.LC25:
	.ascii	"\012Achou o Vertice v[%d] Como Unico no Grafo\012\000"
	.align	2
.LC26:
	.ascii	"\012Achou o Vertice v[%d] no Inicio do Grafo\012\000"
	.align	2
.LC27:
	.ascii	"\012Achou o Vertice v[%d] no Fim do Grafo\012\000"
	.align	2
.LC28:
	.ascii	"\012Achou o Vertice v[%d] no Meio da Grafo\012\000"
	.align	2
.LC29:
	.ascii	"\012 - O Vertice v[%d] Foi Removido\012\000"
	.align	2
.LC30:
	.ascii	"\012 * O Vertice N\303\243o Existe, Impossivel Remo"
	.ascii	"ver\000"
	.text
	.align	2
	.global	remove_vertice
	.syntax unified
	.arm
	.fpu softvfp
	.type	remove_vertice, %function
remove_vertice:
	@ 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, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L141
	ldr	r0, .L154
	bl	puts
	b	.L153
.L141:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #1
	bne	.L143
	ldr	r0, .L154+4
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L146
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L146
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L154+8
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #8]
	b	.L145
.L152:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L147
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	apaga_arestas
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L148
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L154+12
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	b	.L149
.L148:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L150
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L154+16
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	b	.L149
.L150:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L154+20
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #12]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
.L149:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	b	.L151
.L147:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	remove_aresta1
.L151:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
.L146:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L152
.L145:
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L153
	ldr	r1, [fp, #-8]
	ldr	r0, .L154+24
	bl	printf
	b	.L153
.L143:
	ldr	r0, .L154+28
	bl	printf
.L153:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L155:
	.align	2
.L154:
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.size	remove_vertice, .-remove_vertice
	.section	.rodata
	.align	2
.LC31:
	.ascii	"\012\012-------------------------------[GRAFO]-----"
	.ascii	"------------------------------\012\000"
	.align	2
.LC32:
	.ascii	"\012 V[%d] | \000"
	.align	2
.LC33:
	.ascii	"=> %d <=\000"
	.align	2
.LC34:
	.ascii	"\012\000"
	.text
	.align	2
	.global	imprime_grafo
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprime_grafo, %function
imprime_grafo:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r0, .L162
	bl	puts
	b	.L157
.L161:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L162+4
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L158
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	b	.L159
.L160:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L162+8
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
.L159:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L160
.L158:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
.L157:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L161
	ldr	r0, .L162+12
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L163:
	.align	2
.L162:
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.size	imprime_grafo, .-imprime_grafo
	.section	.rodata
	.align	2
.LC35:
	.ascii	"\012FILA: \000"
	.align	2
.LC36:
	.ascii	" %d <- \000"
	.text
	.align	2
	.global	imprime_fila
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprime_fila, %function
imprime_fila:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, .L167
	bl	printf
	b	.L165
.L166:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L167+4
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L165:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L166
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L168:
	.align	2
.L167:
	.word	.LC35
	.word	.LC36
	.size	imprime_fila, .-imprime_fila
	.section	.rodata
	.align	2
.LC37:
	.ascii	"\012Lista:\000"
	.align	2
.LC38:
	.ascii	" %d / %c /%d\012 \000"
	.text
	.align	2
	.global	imprime_lista
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprime_lista, %function
imprime_lista:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, .L172
	bl	puts
	b	.L170
.L171:
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r0, .L172+4
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L170:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L171
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L173:
	.align	2
.L172:
	.word	.LC37
	.word	.LC38
	.size	imprime_lista, .-imprime_lista
	.section	.rodata
	.align	2
.LC39:
	.ascii	"[ vert \011|\011dist \011|\011pai \011|\011cor \011"
	.ascii	"]\000"
	.align	2
.LC40:
	.ascii	"[ v[%d]\011|\011%d\011|\011%d\011|\011%c\011]\012\000"
	.text
	.align	2
	.global	imprime_largura
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprime_largura, %function
imprime_largura:
	@ 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]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, .L177
	bl	puts
	b	.L175
.L176:
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L177+4
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L175:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L176
	ldr	r0, .L177+8
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L178:
	.align	2
.L177:
	.word	.LC39
	.word	.LC40
	.word	.LC34
	.size	imprime_largura, .-imprime_largura
	.section	.rodata
	.align	2
.LC41:
	.ascii	"[ vert \011|\011d[v] \011|\011f[v] \011|\011pi[v] \011"
	.ascii	"]\000"
	.align	2
.LC42:
	.ascii	"[ v[%d]\011|\011%d\011|\011%d\011|\011%d\011]\012\000"
	.text
	.align	2
	.global	imprime_profundidade
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprime_profundidade, %function
imprime_profundidade:
	@ 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]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, .L182
	bl	puts
	b	.L180
.L181:
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L182+4
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L180:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L181
	ldr	r0, .L182+8
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L183:
	.align	2
.L182:
	.word	.LC41
	.word	.LC42
	.word	.LC34
	.size	imprime_profundidade, .-imprime_profundidade
	.section	.rodata
	.align	2
.LC43:
	.ascii	"[ vert \011|\011pi[v] \011|\011key[v]\011]\000"
	.align	2
.LC44:
	.ascii	"[ v[%d]\011|\011%d\011|\011%d\011]\012\000"
	.text
	.align	2
	.global	imprime_prim
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprime_prim, %function
imprime_prim:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, .L187
	bl	puts
	b	.L185
.L186:
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r0, .L187+4
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L185:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L186
	ldr	r0, .L187+8
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L188:
	.align	2
.L187:
	.word	.LC43
	.word	.LC44
	.word	.LC34
	.size	imprime_prim, .-imprime_prim
	.section	.rodata
	.align	2
.LC45:
	.ascii	"[ vert \011|\011pi[v] \011|\011d[v] \011]\000"
	.text
	.align	2
	.global	imprime_dijkstra
	.syntax unified
	.arm
	.fpu softvfp
	.type	imprime_dijkstra, %function
imprime_dijkstra:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, .L192
	bl	puts
	b	.L190
.L191:
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r0, .L192+4
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L190:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L191
	ldr	r0, .L192+8
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L193:
	.align	2
.L192:
	.word	.LC45
	.word	.LC44
	.word	.LC34
	.size	imprime_dijkstra, .-imprime_dijkstra
	.section	.rodata
	.align	2
.LC46:
	.ascii	"\012\012-------------------------[BUSCA EM LARGURA]"
	.ascii	"----------------------------\012\000"
	.align	2
.LC47:
	.ascii	"\012\011Vertice Inexistente.\000"
	.text
	.align	2
	.global	buscaemlargura
	.syntax unified
	.arm
	.fpu softvfp
	.type	buscaemlargura, %function
buscaemlargura:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	bne	.L195
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
.L195:
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r0, .L207
	bl	puts
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #1
	bne	.L196
	bl	nova_fila
	str	r0, [fp, #-20]
	bl	nova_lista
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	b	.L197
.L200:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bne	.L198
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #67
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-16]
	bl	insere_lista
	b	.L199
.L198:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #66
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-16]
	bl	insere_lista
.L199:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-36]
.L197:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L200
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-20]
	bl	enfila
	b	.L201
.L205:
	ldr	r0, [fp, #-20]
	bl	desenfila
	str	r0, [fp, #-24]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	busca_lista
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	b	.L202
.L204:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	busca_lista
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L203
	ldr	r3, [fp, #-8]
	mov	r2, #67
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	enfila
.L203:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
.L202:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L204
	ldr	r3, [fp, #-12]
	mov	r2, #80
	strb	r2, [r3, #12]
.L201:
	ldr	r0, [fp, #-20]
	bl	fila_vazia
	mov	r3, r0
	cmp	r3, #0
	beq	.L205
	ldr	r0, [fp, #-20]
	bl	apaga_fila
	ldr	r3, [fp, #-16]
	b	.L194
.L196:
	ldr	r0, .L207+4
	bl	printf
.L194:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L208:
	.align	2
.L207:
	.word	.LC46
	.word	.LC47
	.size	buscaemlargura, .-buscaemlargura
	.section	.rodata
	.align	2
.LC48:
	.ascii	"\012   O Grafo \303\251 Conexo!!\012\000"
	.align	2
.LC49:
	.ascii	"\012   O Grafo \303\251 Desconexo!!\012\000"
	.text
	.align	2
	.global	grafo_conexo
	.syntax unified
	.arm
	.fpu softvfp
	.type	grafo_conexo, %function
grafo_conexo:
	@ 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, #-16]
	mvn	r1, #0
	ldr	r0, [fp, #-24]
	bl	buscaemlargura
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L210
.L212:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L211
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L211:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-12]
.L210:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L212
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L213
	ldr	r0, [fp, #-8]
	bl	apaga_lista
	ldr	r0, .L215
	bl	puts
	mov	r3, #1
	b	.L214
.L213:
	ldr	r0, [fp, #-8]
	bl	apaga_lista
	ldr	r0, .L215+4
	bl	puts
	mov	r3, #0
.L214:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L216:
	.align	2
.L215:
	.word	.LC48
	.word	.LC49
	.size	grafo_conexo, .-grafo_conexo
	.align	2
	.global	profundidadevisita
	.syntax unified
	.arm
	.fpu softvfp
	.type	profundidadevisita, %function
profundidadevisita:
	@ 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, #28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-20]
	mov	r2, #67
	strb	r2, [r3, #12]
	b	.L218
.L220:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	busca_lista
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L219
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	profundidadevisita
.L219:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L218:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L220
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	mov	r2, #80
	strb	r2, [r3, #12]
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	profundidadevisita, .-profundidadevisita
	.section	.rodata
	.align	2
.LC50:
	.ascii	"\012\012------------------------[BUSCA EM PROFUNDID"
	.ascii	"ADE]-------------------------\012\000"
	.text
	.align	2
	.global	buscaemprofundidade
	.syntax unified
	.arm
	.fpu softvfp
	.type	buscaemprofundidade, %function
buscaemprofundidade:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	ldr	r0, .L227
	bl	puts
	mov	r0, #4
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3]
	bl	nova_lista
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	b	.L222
.L223:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #66
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-12]
	bl	insere_lista
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
.L222:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L223
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L224
.L226:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L225
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	profundidadevisita
.L225:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-20]
.L224:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L226
	ldr	r0, [fp, #-12]
	bl	imprime_profundidade
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r0, [fp, #-12]
	bl	apaga_lista
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L228:
	.align	2
.L227:
	.word	.LC50
	.size	buscaemprofundidade, .-buscaemprofundidade
	.align	2
	.global	extrair_min
	.syntax unified
	.arm
	.fpu softvfp
	.type	extrair_min, %function
extrair_min:
	@ 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]
	str	r3, [fp, #-16]
	ldr	r3, .L234
	str	r3, [fp, #-8]
	b	.L230
.L232:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	ble	.L231
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L231
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
.L231:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
.L230:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L232
	ldr	r3, [fp, #-12]
	mov	r2, #80
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L235:
	.align	2
.L234:
	.word	999999999
	.size	extrair_min, .-extrair_min
	.section	.rodata
	.align	2
.LC51:
	.ascii	"\012\012------------------------[ALGORITMO DE PRIM]"
	.ascii	"-------------------------\012\000"
	.align	2
.LC52:
	.ascii	"\012O Algoritmo de Prim nao pode ser executado, fun"
	.ascii	"ciona apenas para grafos conexos, o grafo \303\251 "
	.ascii	"desconexo.\000"
	.text
	.align	2
	.global	Algoritmo_de_Prim
	.syntax unified
	.arm
	.fpu softvfp
	.type	Algoritmo_de_Prim, %function
Algoritmo_de_Prim:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	grafo_conexo
	mov	r3, r0
	cmp	r3, #1
	bne	.L237
	ldr	r0, .L249
	bl	puts
	bl	nova_lista
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	b	.L238
.L241:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bne	.L239
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #66
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	insere_lista
	b	.L240
.L239:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, .L249+4
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #66
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	insere_lista
.L240:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
.L238:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L241
	b	.L242
.L246:
	ldr	r0, [fp, #-16]
	bl	extrair_min
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L243
.L245:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	busca_lista
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bge	.L244
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L244
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
.L244:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
.L243:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L245
.L242:
	ldr	r0, [fp, #-16]
	bl	verifica_branco
	mov	r3, r0
	cmp	r3, #0
	bne	.L246
	ldr	r0, [fp, #-16]
	bl	imprime_prim
	ldr	r0, [fp, #-16]
	bl	apaga_lista
	b	.L248
.L237:
	ldr	r0, .L249+8
	bl	puts
.L248:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L250:
	.align	2
.L249:
	.word	.LC51
	.word	999999999
	.word	.LC52
	.size	Algoritmo_de_Prim, .-Algoritmo_de_Prim
	.section	.rodata
	.align	2
.LC53:
	.ascii	"\012\012----------------------[ALGORITMO DE DIJKSTR"
	.ascii	"A]-----------------------\012\000"
	.text
	.align	2
	.global	Algoritmo_de_Dijkstra
	.syntax unified
	.arm
	.fpu softvfp
	.type	Algoritmo_de_Dijkstra, %function
Algoritmo_de_Dijkstra:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r0, .L261
	bl	puts
	bl	nova_lista
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	b	.L252
.L255:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bne	.L253
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #66
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	insere_lista
	b	.L254
.L253:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, .L261+4
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #66
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	insere_lista
.L254:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
.L252:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L255
	b	.L256
.L260:
	ldr	r0, [fp, #-16]
	bl	extrair_min
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L257
.L259:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	busca_lista
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	bge	.L258
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #66
	bne	.L258
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
.L258:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
.L257:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L259
.L256:
	ldr	r0, [fp, #-16]
	bl	verifica_branco
	mov	r3, r0
	cmp	r3, #0
	bne	.L260
	ldr	r0, [fp, #-16]
	bl	imprime_dijkstra
	ldr	r0, [fp, #-16]
	bl	apaga_lista
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L262:
	.align	2
.L261:
	.word	.LC53
	.word	999999999
	.size	Algoritmo_de_Dijkstra, .-Algoritmo_de_Dijkstra
	.section	.rodata
	.align	2
.LC54:
	.ascii	"\012Informe o Vertice que deseja saber o Grau: \000"
	.align	2
.LC55:
	.ascii	"%d\000"
	.align	2
.LC56:
	.ascii	"\012\012-------------------------------[GRAU]------"
	.ascii	"------------------------------\012\000"
	.align	2
.LC57:
	.ascii	"\012 -> O Grau do Vertice v[%d] e: %d \012\012\000"
	.align	2
.LC58:
	.ascii	"\012 * Vertice Inexistente.\000"
	.align	2
.LC59:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	grau_vertice
	.syntax unified
	.arm
	.fpu softvfp
	.type	grau_vertice, %function
grau_vertice:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L271
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L271+4
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L271+8
	bl	__isoc99_scanf
	ldr	r0, .L271+12
	bl	puts
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	verifica_vertice
	mov	r3, r0
	cmp	r3, #1
	bne	.L264
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L265
.L267:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L266
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	mov	r2, r3
	ldr	r0, .L271+16
	bl	printf
.L266:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
.L265:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L267
	b	.L270
.L264:
	ldr	r0, .L271+20
	bl	printf
.L270:
	nop
	ldr	r3, .L271
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L269
	bl	__stack_chk_fail
.L269:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L272:
	.align	2
.L271:
	.word	.LC59
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.size	grau_vertice, .-grau_vertice
	.section	.rodata
	.align	2
.LC60:
	.ascii	"\012\012------------------------[MATRIZ ADJACENCIA]"
	.ascii	"------------------------------\012\000"
	.align	2
.LC61:
	.ascii	"      \000"
	.align	2
.LC62:
	.ascii	" v[%d] \000"
	.align	2
.LC63:
	.ascii	"v[%d] |\000"
	.align	2
.LC64:
	.ascii	"  %.2d |\000"
	.align	2
.LC65:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	matriz_adjacencia
	.syntax unified
	.arm
	.fpu softvfp
	.type	matriz_adjacencia, %function
matriz_adjacencia:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #100
	str	r0, [fp, #-96]
	ldr	r3, .L291
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r3, sp
	mov	r8, r3
	ldr	r0, .L291+4
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-56]
	ldr	ip, [fp, #-56]
	ldr	lr, [fp, #-56]
	sub	r3, ip, #1
	str	r3, [fp, #-52]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r6, r3, #2
	sub	r3, lr, #1
	str	r3, [fp, #-48]
	mov	r3, ip
	mov	r4, r3
	mov	r5, #0
	mov	r3, lr
	mov	r0, r3
	mov	r1, #0
	mul	r2, r0, r5
	mul	r3, r4, r1
	add	r7, r2, r3
	umull	r2, r3, r4, r0
	add	r1, r7, r3
	mov	r3, r1
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #5
	orr	r1, r1, r2, lsr #27
	lsl	r0, r2, #5
	mov	r3, ip
	mov	r4, r3
	mov	r5, #0
	mov	r3, lr
	mov	r0, r3
	mov	r1, #0
	mul	r2, r0, r5
	mul	r3, r4, r1
	add	r7, r2, r3
	umull	r2, r3, r4, r0
	add	r1, r7, r3
	mov	r3, r1
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #5
	orr	r1, r1, r2, lsr #27
	lsl	r0, r2, #5
	mov	r3, ip
	mov	r2, lr
	mul	r3, r2, r3
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	add	r3, sp, #24
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-68]
	b	.L274
.L277:
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L275
.L276:
	lsr	r2, r6, #2
	ldr	r3, [fp, #-44]
	ldr	r1, [fp, #-68]
	mul	r1, r2, r1
	ldr	r2, [fp, #-72]
	add	r2, r1, r2
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L275:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L276
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L274:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L277
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	bl	nova_lista
	str	r0, [fp, #-40]
	b	.L278
.L279:
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-76]
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp, #16]
	ldr	r3, [fp, #-64]
	str	r3, [sp, #12]
	mvn	r3, #0
	str	r3, [sp, #8]
	mov	r3, #66
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mvn	r3, #0
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-40]
	bl	insere_lista
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-76]
.L278:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L279
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-84]
	b	.L280
.L283:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-80]
	b	.L281
.L282:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	busca_lista
	str	r0, [fp, #-36]
	lsr	r0, r6, #2
	ldr	r3, [fp, #-84]
	ldr	ip, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-44]
	mul	r0, ip, r0
	add	r2, r0, r2
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-80]
.L281:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L282
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-84]
.L280:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L283
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-88]
	ldr	r0, .L291+8
	bl	printf
	b	.L284
.L285:
	ldr	r1, [fp, #-88]
	ldr	r0, .L291+12
	bl	printf
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L284:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L285
	mov	r0, #10
	bl	putchar
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L286
.L289:
	ldr	r1, [fp, #-88]
	ldr	r0, .L291+16
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L287
.L288:
	lsr	r2, r6, #2
	ldr	r3, [fp, #-44]
	ldr	r1, [fp, #-88]
	mul	r1, r2, r1
	ldr	r2, [fp, #-60]
	add	r2, r1, r2
	ldr	r3, [r3, r2, lsl #2]
	mov	r1, r3
	ldr	r0, .L291+20
	bl	printf
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L287:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L288
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L286:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L289
	ldr	r0, [fp, #-40]
	bl	apaga_lista
	ldr	r0, .L291+24
	bl	puts
	mov	sp, r8
	nop
	ldr	r3, .L291
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L290
	bl	__stack_chk_fail
.L290:
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L292:
	.align	2
.L291:
	.word	.LC65
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC34
	.size	matriz_adjacencia, .-matriz_adjacencia
	.section	.rodata
	.align	2
.LC66:
	.ascii	"\012\012--------------------------------[MENU]-----"
	.ascii	"------------------------------\000"
	.align	2
.LC67:
	.ascii	"\012 1. Inserir Vertice\000"
	.align	2
.LC68:
	.ascii	"\012 2. Inserir Aresta\000"
	.align	2
.LC69:
	.ascii	"\012 3. Visualizar Grafo\000"
	.align	2
.LC70:
	.ascii	"\012 4. Remover Vertices\000"
	.align	2
.LC71:
	.ascii	"\012 5. Remover Arestas\000"
	.align	2
.LC72:
	.ascii	"\012 6. Grau de um Vertice\000"
	.align	2
.LC73:
	.ascii	"\012 7. Informar se o Grafo e Conexo\000"
	.align	2
.LC74:
	.ascii	"\012 8. Converter para Matriz de Adjac\303\252ncia\000"
	.align	2
.LC75:
	.ascii	"\012 9. Busca em Largura\000"
	.align	2
.LC76:
	.ascii	"\012 10. Busca em Profundidade\000"
	.align	2
.LC77:
	.ascii	"\012 11. Caminho Minimo (Algoritmo de Dijkstra)\000"
	.align	2
.LC78:
	.ascii	"\012 12. Arvore Geradora Minima (Algoritmo de Prim)"
	.ascii	"\000"
	.align	2
.LC79:
	.ascii	"\012 0. Sair\000"
	.align	2
.LC80:
	.ascii	"\012\012Informe a Opcao Desejada:\000"
	.align	2
.LC81:
	.ascii	"\012 - Digite o numero do vertice:\000"
	.align	2
.LC82:
	.ascii	"\012 - Digite o n\303\272mero do primeiro vertice:\000"
	.align	2
.LC83:
	.ascii	"\012 - Digite o n\303\272mero do segundo vertice:\000"
	.align	2
.LC84:
	.ascii	"\012 - Digite o peso/distancia da aresta:\000"
	.align	2
.LC85:
	.ascii	"\012 x Digite um Peso Maior que Zero.\000"
	.align	2
.LC86:
	.ascii	"\012 - Digite o numero do vertice a ser removido:\000"
	.align	2
.LC87:
	.ascii	"\012 - Digite o n\303\272mero do primeiro vertice d"
	.ascii	"a aresta a ser removida:\000"
	.align	2
.LC88:
	.ascii	"\012 - Digite o n\303\272mero do segundo vertice da"
	.ascii	" aresta a ser removida:\000"
	.align	2
.LC89:
	.ascii	"\012Informe um vertice existente no grafo para inic"
	.ascii	"io: \000"
	.align	2
.LC90:
	.ascii	"\012 * Op\303\247\303\243o nao Existe, Informe Nova"
	.ascii	"mente\000"
	.align	2
.LC91:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Menu
	.syntax unified
	.arm
	.fpu softvfp
	.type	Menu, %function
Menu:
	@ 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]
	ldr	r3, .L311
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-32]
.L309:
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r0, .L311+4
	bl	puts
	ldr	r0, .L311+8
	bl	printf
	ldr	r0, .L311+12
	bl	printf
	ldr	r0, .L311+16
	bl	printf
	ldr	r0, .L311+20
	bl	printf
	ldr	r0, .L311+24
	bl	printf
	ldr	r0, .L311+28
	bl	printf
	ldr	r0, .L311+32
	bl	printf
	ldr	r0, .L311+36
	bl	printf
	ldr	r0, .L311+40
	bl	printf
	ldr	r0, .L311+44
	bl	printf
	ldr	r0, .L311+48
	bl	printf
	ldr	r0, .L311+52
	bl	printf
	ldr	r0, .L311+56
	bl	printf
	ldr	r0, .L311+60
	bl	printf
	sub	r3, fp, #32
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bne	.L294
	ldr	r0, .L311+68
	bl	puts
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	insere_vertice
	b	.L295
.L294:
	ldr	r3, [fp, #-32]
	cmp	r3, #2
	bne	.L296
	ldr	r0, .L311+72
	bl	puts
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r0, .L311+76
	bl	puts
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r0, .L311+80
	bl	puts
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L297
	ldr	r1, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	insere_aresta2
	b	.L295
.L297:
	ldr	r0, .L311+84
	bl	puts
	b	.L295
.L296:
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	bne	.L298
	ldr	r0, [fp, #-40]
	bl	imprime_grafo
	b	.L295
.L298:
	ldr	r3, [fp, #-32]
	cmp	r3, #4
	bne	.L299
	ldr	r0, .L311+88
	bl	puts
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	remove_vertice
	b	.L295
.L299:
	ldr	r3, [fp, #-32]
	cmp	r3, #5
	bne	.L300
	ldr	r0, .L311+92
	bl	puts
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r0, .L311+96
	bl	puts
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	remove_aresta2
	b	.L295
.L300:
	ldr	r3, [fp, #-32]
	cmp	r3, #6
	bne	.L301
	ldr	r0, [fp, #-40]
	bl	grau_vertice
	b	.L295
.L301:
	ldr	r3, [fp, #-32]
	cmp	r3, #7
	bne	.L302
	ldr	r0, [fp, #-40]
	bl	grafo_conexo
	b	.L295
.L302:
	ldr	r3, [fp, #-32]
	cmp	r3, #8
	bne	.L303
	ldr	r0, [fp, #-40]
	bl	matriz_adjacencia
	b	.L295
.L303:
	ldr	r3, [fp, #-32]
	cmp	r3, #9
	bne	.L304
	ldr	r0, .L311+100
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	buscaemlargura
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	imprime_largura
	ldr	r0, [fp, #-12]
	bl	apaga_lista
	b	.L295
.L304:
	ldr	r3, [fp, #-32]
	cmp	r3, #10
	bne	.L305
	ldr	r0, [fp, #-40]
	bl	buscaemprofundidade
	b	.L295
.L305:
	ldr	r3, [fp, #-32]
	cmp	r3, #11
	bne	.L306
	ldr	r0, .L311+100
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Algoritmo_de_Dijkstra
	b	.L295
.L306:
	ldr	r3, [fp, #-32]
	cmp	r3, #12
	bne	.L307
	ldr	r0, .L311+100
	bl	printf
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L311+64
	bl	__isoc99_scanf
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Algoritmo_de_Prim
	b	.L295
.L307:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L308
	ldr	r0, [fp, #-40]
	bl	apaga_grafo
	b	.L295
.L308:
	ldr	r0, .L311+104
	bl	printf
.L295:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L309
	nop
	ldr	r3, .L311
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L310
	bl	__stack_chk_fail
.L310:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L312:
	.align	2
.L311:
	.word	.LC91
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC55
	.word	.LC81
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.size	Menu, .-Menu
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	novo_grafo
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #3
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #4
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #5
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #7
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #9
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r1, #10
	ldr	r0, [fp, #-8]
	bl	insere_vertice
	mov	r3, #7
	mov	r2, #2
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #9
	mov	r2, #4
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #10
	mov	r2, #5
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #8
	mov	r2, #6
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #9
	mov	r2, #8
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #8
	mov	r2, #10
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #4
	mov	r2, #3
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #5
	mov	r2, #4
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #9
	mov	r2, #9
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #9
	mov	r2, #10
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #1
	mov	r2, #4
	mov	r1, #3
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #4
	mov	r2, #5
	mov	r1, #3
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #3
	mov	r2, #5
	mov	r1, #4
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #18
	mov	r2, #6
	mov	r1, #5
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #9
	mov	r2, #7
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #9
	mov	r2, #8
	mov	r1, #6
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #3
	mov	r2, #8
	mov	r1, #7
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #6
	mov	r2, #9
	mov	r1, #7
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #4
	mov	r2, #9
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #2
	mov	r2, #10
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	mov	r3, #2
	mov	r2, #10
	mov	r1, #9
	ldr	r0, [fp, #-8]
	bl	insere_aresta2
	ldr	r0, [fp, #-8]
	bl	imprime_grafo
	ldr	r0, [fp, #-8]
	bl	Menu
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
