	.text
	.file	"Graphiti"
	.globl	main                    # -- Begin function main
	.p2align	4, 0x90
	.type	main,@function
main:                                   # @main
	.cfi_startproc
# %bb.0:                                # %entry
	pushq	%rbx
	.cfi_def_cfa_offset 16
	subq	$96, %rsp
	.cfi_def_cfa_offset 112
	.cfi_offset %rbx, -16
	callq	make_map@PLT
	movq	%rax, %rbx
	leaq	.Lstr(%rip), %rsi
	leaq	.Lstr.3(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.4(%rip), %rsi
	leaq	.Lstr.5(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.6(%rip), %rsi
	leaq	.Lstr.7(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	movq	%rbx, 48(%rsp)
	callq	make_map@PLT
	movq	%rax, %rbx
	leaq	.Lstr.8(%rip), %rsi
	leaq	.Lstr.9(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.10(%rip), %rsi
	leaq	.Lstr.11(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.12(%rip), %rsi
	leaq	.Lstr.13(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	movq	%rbx, 40(%rsp)
	callq	new_graph@PLT
	movq	%rax, %rbx
	movq	48(%rsp), %rsi
	movq	40(%rsp), %rcx
	leaq	.Lstr.14(%rip), %rdx
	movq	%rbx, %rdi
	callq	add_wedge@PLT
	movq	40(%rsp), %rsi
	movq	48(%rsp), %rcx
	leaq	.Lstr.15(%rip), %rdx
	movq	%rbx, %rdi
	callq	add_wedge@PLT
	movq	%rbx, (%rsp)
	callq	make_map@PLT
	movq	%rax, %rbx
	leaq	.Lstr.16(%rip), %rsi
	leaq	.Lstr.17(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.18(%rip), %rsi
	leaq	.Lstr.19(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.20(%rip), %rsi
	leaq	.Lstr.21(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	movq	%rbx, 8(%rsp)
	callq	make_map@PLT
	movq	%rax, %rbx
	leaq	.Lstr.22(%rip), %rsi
	leaq	.Lstr.23(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.24(%rip), %rsi
	leaq	.Lstr.25(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.26(%rip), %rsi
	leaq	.Lstr.27(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	movq	%rbx, 16(%rsp)
	callq	make_map@PLT
	movq	%rax, %rbx
	leaq	.Lstr.28(%rip), %rsi
	leaq	.Lstr.29(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.30(%rip), %rsi
	leaq	.Lstr.31(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.32(%rip), %rsi
	leaq	.Lstr.33(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	movq	%rbx, 32(%rsp)
	movq	(%rsp), %rdi
	movq	48(%rsp), %rsi
	movq	8(%rsp), %rcx
	leaq	.Lstr.34(%rip), %rdx
	callq	add_wedge@PLT
	movq	(%rsp), %rdi
	movq	40(%rsp), %rsi
	movq	8(%rsp), %rcx
	leaq	.Lstr.35(%rip), %rdx
	callq	add_wedge@PLT
	movq	(%rsp), %rdi
	movq	8(%rsp), %rsi
	movq	16(%rsp), %rcx
	leaq	.Lstr.36(%rip), %rdx
	callq	add_wedge@PLT
	movq	(%rsp), %rdi
	movq	16(%rsp), %rsi
	movq	56(%rsp), %rcx
	leaq	.Lstr.37(%rip), %rdx
	callq	add_wedge@PLT
	movq	(%rsp), %rdi
	movq	8(%rsp), %rsi
	movq	56(%rsp), %rcx
	leaq	.Lstr.38(%rip), %rdx
	callq	add_wedge@PLT
	callq	make_map@PLT
	movq	%rax, %rbx
	leaq	.Lstr.39(%rip), %rsi
	leaq	.Lstr.40(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.41(%rip), %rsi
	leaq	.Lstr.42(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.43(%rip), %rsi
	leaq	.Lstr.44(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	movq	%rbx, 32(%rsp)
	callq	make_map@PLT
	movq	%rax, %rbx
	leaq	.Lstr.45(%rip), %rsi
	leaq	.Lstr.46(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.47(%rip), %rsi
	leaq	.Lstr.48(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	leaq	.Lstr.49(%rip), %rsi
	leaq	.Lstr.50(%rip), %rdx
	movq	%rbx, %rdi
	callq	put@PLT
	movq	%rbx, 72(%rsp)
	callq	new_graph@PLT
	movq	%rax, %rbx
	movq	32(%rsp), %rsi
	movq	72(%rsp), %rcx
	leaq	.Lstr.51(%rip), %rdx
	movq	%rbx, %rdi
	callq	add_wedge@PLT
	movq	%rbx, 24(%rsp)
	callq	new_graph@PLT
	movq	%rax, %rbx
	movq	8(%rsp), %rsi
	movq	32(%rsp), %rcx
	leaq	.Lstr.52(%rip), %rdx
	movq	%rbx, %rdi
	callq	add_wedge@PLT
	movq	%rbx, 24(%rsp)
	callq	new_graph@PLT
	movq	%rax, %rbx
	movq	8(%rsp), %rsi
	movq	56(%rsp), %rcx
	leaq	.Lstr.53(%rip), %rdx
	movq	%rbx, %rdi
	callq	add_wedge@PLT
	movq	%rbx, 24(%rsp)
	movq	(%rsp), %rdi
	movq	%rbx, %rsi
	callq	union_graph@PLT
	movq	%rax, 64(%rsp)
	leaq	.Lfmt.2(%rip), %rbx
	leaq	.Lstr.54(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	movq	24(%rsp), %rdi
	callq	printg@PLT
	leaq	.Lstr.55(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	movq	(%rsp), %rdi
	callq	printg@PLT
	leaq	.Lstr.56(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	movq	64(%rsp), %rdi
	callq	printg@PLT
	movq	(%rsp), %rdi
	movq	24(%rsp), %rsi
	callq	intersection_graph@PLT
	movq	%rax, 64(%rsp)
	leaq	.Lstr.57(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	movq	(%rsp), %rdi
	movq	8(%rsp), %rsi
	movq	16(%rsp), %rcx
	leaq	.Lstr.58(%rip), %rdx
	callq	add_wedge@PLT
	leaq	.Lstr.59(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	leaq	.Lstr.60(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	movq	(%rsp), %rdi
	callq	printg@PLT
	movq	(%rsp), %rdi
	movq	8(%rsp), %rsi
	movq	16(%rsp), %rdx
	callq	delete_edge@PLT
	leaq	.Lstr.61(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	leaq	.Lstr.62(%rip), %rsi
	xorl	%eax, %eax
	movq	%rbx, %rdi
	callq	printf@PLT
	movq	(%rsp), %rdi
	callq	printg@PLT
	xorl	%eax, %eax
	addq	$96, %rsp
	popq	%rbx
	retq
.Lfunc_end0:
	.size	main, .Lfunc_end0-main
	.cfi_endproc
                                        # -- End function
	.type	.Lfmt,@object           # @fmt
	.section	.rodata.str1.1,"aMS",@progbits,1
.Lfmt:
	.asciz	"%d\n"
	.size	.Lfmt, 4

	.type	.Lfmt.1,@object         # @fmt.1
.Lfmt.1:
	.asciz	"%g\n"
	.size	.Lfmt.1, 4

	.type	.Lfmt.2,@object         # @fmt.2
.Lfmt.2:
	.asciz	"%s\n"
	.size	.Lfmt.2, 4

	.type	.Lstr,@object           # @str
.Lstr:
	.asciz	"state"
	.size	.Lstr, 6

	.type	.Lstr.3,@object         # @str.3
.Lstr.3:
	.asciz	"Vermont"
	.size	.Lstr.3, 8

	.type	.Lstr.4,@object         # @str.4
.Lstr.4:
	.asciz	"age"
	.size	.Lstr.4, 4

	.type	.Lstr.5,@object         # @str.5
.Lstr.5:
	.asciz	"88"
	.size	.Lstr.5, 3

	.type	.Lstr.6,@object         # @str.6
.Lstr.6:
	.asciz	"name"
	.size	.Lstr.6, 5

	.type	.Lstr.7,@object         # @str.7
.Lstr.7:
	.asciz	"John Smith"
	.size	.Lstr.7, 11

	.type	.Lstr.8,@object         # @str.8
.Lstr.8:
	.asciz	"state"
	.size	.Lstr.8, 6

	.type	.Lstr.9,@object         # @str.9
.Lstr.9:
	.asciz	"Vermont"
	.size	.Lstr.9, 8

	.type	.Lstr.10,@object        # @str.10
.Lstr.10:
	.asciz	"age"
	.size	.Lstr.10, 4

	.type	.Lstr.11,@object        # @str.11
.Lstr.11:
	.asciz	"88"
	.size	.Lstr.11, 3

	.type	.Lstr.12,@object        # @str.12
.Lstr.12:
	.asciz	"name"
	.size	.Lstr.12, 5

	.type	.Lstr.13,@object        # @str.13
.Lstr.13:
	.asciz	"Mary Smith"
	.size	.Lstr.13, 11

	.type	.Lstr.14,@object        # @str.14
.Lstr.14:
	.asciz	"spouse_of"
	.size	.Lstr.14, 10

	.type	.Lstr.15,@object        # @str.15
.Lstr.15:
	.asciz	"spouse_of"
	.size	.Lstr.15, 10

	.type	.Lstr.16,@object        # @str.16
.Lstr.16:
	.asciz	"state"
	.size	.Lstr.16, 6

	.type	.Lstr.17,@object        # @str.17
.Lstr.17:
	.asciz	"New York"
	.size	.Lstr.17, 9

	.type	.Lstr.18,@object        # @str.18
.Lstr.18:
	.asciz	"age"
	.size	.Lstr.18, 4

	.type	.Lstr.19,@object        # @str.19
.Lstr.19:
	.asciz	"50"
	.size	.Lstr.19, 3

	.type	.Lstr.20,@object        # @str.20
.Lstr.20:
	.asciz	"name"
	.size	.Lstr.20, 5

	.type	.Lstr.21,@object        # @str.21
.Lstr.21:
	.asciz	"Amy Green"
	.size	.Lstr.21, 10

	.type	.Lstr.22,@object        # @str.22
.Lstr.22:
	.asciz	"state"
	.size	.Lstr.22, 6

	.type	.Lstr.23,@object        # @str.23
.Lstr.23:
	.asciz	"New York"
	.size	.Lstr.23, 9

	.type	.Lstr.24,@object        # @str.24
.Lstr.24:
	.asciz	"age"
	.size	.Lstr.24, 4

	.type	.Lstr.25,@object        # @str.25
.Lstr.25:
	.asciz	"53"
	.size	.Lstr.25, 3

	.type	.Lstr.26,@object        # @str.26
.Lstr.26:
	.asciz	"name"
	.size	.Lstr.26, 5

	.type	.Lstr.27,@object        # @str.27
.Lstr.27:
	.asciz	"Bob Green"
	.size	.Lstr.27, 10

	.type	.Lstr.28,@object        # @str.28
.Lstr.28:
	.asciz	"state"
	.size	.Lstr.28, 6

	.type	.Lstr.29,@object        # @str.29
.Lstr.29:
	.asciz	"New York"
	.size	.Lstr.29, 9

	.type	.Lstr.30,@object        # @str.30
.Lstr.30:
	.asciz	"age"
	.size	.Lstr.30, 4

	.type	.Lstr.31,@object        # @str.31
.Lstr.31:
	.asciz	"15"
	.size	.Lstr.31, 3

	.type	.Lstr.32,@object        # @str.32
.Lstr.32:
	.asciz	"name"
	.size	.Lstr.32, 5

	.type	.Lstr.33,@object        # @str.33
.Lstr.33:
	.asciz	"Ellie Green"
	.size	.Lstr.33, 12

	.type	.Lstr.34,@object        # @str.34
.Lstr.34:
	.asciz	"father_of"
	.size	.Lstr.34, 10

	.type	.Lstr.35,@object        # @str.35
.Lstr.35:
	.asciz	"mother_of"
	.size	.Lstr.35, 10

	.type	.Lstr.36,@object        # @str.36
.Lstr.36:
	.asciz	"spouse_of"
	.size	.Lstr.36, 10

	.type	.Lstr.37,@object        # @str.37
.Lstr.37:
	.asciz	"father_of"
	.size	.Lstr.37, 10

	.type	.Lstr.38,@object        # @str.38
.Lstr.38:
	.asciz	"mother_of"
	.size	.Lstr.38, 10

	.type	.Lstr.39,@object        # @str.39
.Lstr.39:
	.asciz	"state"
	.size	.Lstr.39, 6

	.type	.Lstr.40,@object        # @str.40
.Lstr.40:
	.asciz	"California"
	.size	.Lstr.40, 11

	.type	.Lstr.41,@object        # @str.41
.Lstr.41:
	.asciz	"age"
	.size	.Lstr.41, 4

	.type	.Lstr.42,@object        # @str.42
.Lstr.42:
	.asciz	"45"
	.size	.Lstr.42, 3

	.type	.Lstr.43,@object        # @str.43
.Lstr.43:
	.asciz	"name"
	.size	.Lstr.43, 5

	.type	.Lstr.44,@object        # @str.44
.Lstr.44:
	.asciz	"Steve Green"
	.size	.Lstr.44, 12

	.type	.Lstr.45,@object        # @str.45
.Lstr.45:
	.asciz	"state"
	.size	.Lstr.45, 6

	.type	.Lstr.46,@object        # @str.46
.Lstr.46:
	.asciz	"California"
	.size	.Lstr.46, 11

	.type	.Lstr.47,@object        # @str.47
.Lstr.47:
	.asciz	"age"
	.size	.Lstr.47, 4

	.type	.Lstr.48,@object        # @str.48
.Lstr.48:
	.asciz	"18"
	.size	.Lstr.48, 3

	.type	.Lstr.49,@object        # @str.49
.Lstr.49:
	.asciz	"name"
	.size	.Lstr.49, 5

	.type	.Lstr.50,@object        # @str.50
.Lstr.50:
	.asciz	"Martha Green"
	.size	.Lstr.50, 13

	.type	.Lstr.51,@object        # @str.51
.Lstr.51:
	.asciz	"father_of"
	.size	.Lstr.51, 10

	.type	.Lstr.52,@object        # @str.52
.Lstr.52:
	.asciz	"brother_of"
	.size	.Lstr.52, 11

	.type	.Lstr.53,@object        # @str.53
.Lstr.53:
	.asciz	"father_of"
	.size	.Lstr.53, 10

	.type	.Lstr.54,@object        # @str.54
	.section	.rodata.str1.16,"aMS",@progbits,1
	.p2align	4
.Lstr.54:
	.asciz	"This is the Green Family!"
	.size	.Lstr.54, 26

	.type	.Lstr.55,@object        # @str.55
	.p2align	4
.Lstr.55:
	.asciz	"This is the Smith Family!"
	.size	.Lstr.55, 26

	.type	.Lstr.56,@object        # @str.56
	.p2align	4
.Lstr.56:
	.asciz	"This is the Green-Smith Family!"
	.size	.Lstr.56, 32

	.type	.Lstr.57,@object        # @str.57
	.p2align	4
.Lstr.57:
	.asciz	"Bob Green is both in the Smith Family and Green Family!"
	.size	.Lstr.57, 56

	.type	.Lstr.58,@object        # @str.58
	.section	.rodata.str1.1,"aMS",@progbits,1
.Lstr.58:
	.asciz	"ex_spouse"
	.size	.Lstr.58, 10

	.type	.Lstr.59,@object        # @str.59
	.section	.rodata.str1.16,"aMS",@progbits,1
	.p2align	4
.Lstr.59:
	.asciz	"Caroline and Bob got divorced..."
	.size	.Lstr.59, 33

	.type	.Lstr.60,@object        # @str.60
	.p2align	4
.Lstr.60:
	.asciz	"* relationship change *"
	.size	.Lstr.60, 24

	.type	.Lstr.61,@object        # @str.61
	.p2align	4
.Lstr.61:
	.asciz	"Caroline and Bob don't want a relationship anymore..."
	.size	.Lstr.61, 54

	.type	.Lstr.62,@object        # @str.62
	.p2align	4
.Lstr.62:
	.asciz	"* deleted relationship edge *"
	.size	.Lstr.62, 30


	.section	".note.GNU-stack","",@progbits
