
#include <stdio.h> 
#include <queue>
#include <set>
#include <list>
#include <iterator>
#include <algorithm>

// Structure to represent a vertex and its distance
struct distNode { 
	int node; 
	int dist; 
  bool operator<(const distNode& rhs) const
    {
        return dist > rhs.dist || (dist == rhs.dist && node > rhs.node);;
    }
}; 

// Structure to represent an edge
struct edge { 
	int from; 
	int to; 
 	int weight;
   	bool operator<(const edge& rhs) const
     {
         return weight > rhs.weight || (weight == rhs.weight && to > rhs.to);
     }
};

// Structure to represent a edge source & destination
struct fromTo { 
	int from; 
	int to; 
   	bool operator<(const fromTo& rhs) const
     {
         return to < rhs.to || (to == rhs.to && from < rhs.from);
     }
};


// Initialize global variables
std::vector<int> parent; // Vector to store parent nodes
std::vector<int> dist; // dist values used to pick minimum weight edge in cut 
std::vector<bool> fixed; // Vector to store flags for node traversal
std::vector<bool> nonEmptyIndices; // Vector to store non empty indices of vertices

std::priority_queue<distNode> H; //binary heap of (j,dist) initially empty;
std::set<int> Q, R; //set of vertices initially empty;
std::set<fromTo> T; //{ set of edges } initially {};
std::set<fromTo> mwe; //set of edges; minimum weight edges for all vertices

// class to represent a graph object
class Graph
{
public:
	// construct a vector of vectors of edges to represent an adjacency list
	std::vector<std::vector<edge>> adjList;

	// Graph Constructor
	Graph(std::vector<edge> const &edges, int N)
	{
		// resize the vector to hold upto vertex of maximum label value (elements of type vector<edge>)
		adjList.resize(N);
		nonEmptyIndices.resize(N);

		// add edges to the undirected graph
		for (auto &e: edges)
		{
			int from = e.from;
			int to = e.to;
			int weight = e.weight;

			// insert at the end
			adjList[from].push_back(edge{from, to, weight});
			adjList[to].push_back(edge{to, from, weight});

			//flag the non empty indices in adjList
			nonEmptyIndices[from] = true;
			nonEmptyIndices[to] = true;
		}
	}
};


// // A utility function to add an edge in an 
// // undirected graph. 
// void addEdge(std::vector<edge> adj[], int u, int v) 
// { 
//     adj[u].push_back(edge{u,v}); 
//     adj[v].push_back(edge{v,u}); 
// } 

// print adjacency list representation of graph
void printGraph(Graph const &graph)
{
	for (int i = 0; i < graph.adjList.size(); i++)
	{
		// print all neighboring vertices of given vertex
		for (edge v : graph.adjList[i]){
			//printf("( %d, %d, %d )", v.from, v.to, v.weight);
		}
		//printf("\n");
	}
}

//Identifies all minimum weight edges for all vertices
void initMWE(Graph const &graph) 
{ 
	for (int i = 0; i < graph.adjList.size(); i++) {
		// Extract the vertex with minimum dist value 
		int prevWeight=INT_MAX;
		int min_to, minFrom;
		// Iterate through all the vertices of graph 
		//for (edge adj : graph.adjList[i]) {
		for (auto it=graph.adjList[i].begin(); it!=graph.adjList[i].end(); it++) {
			edge adj = *it;
			// Get the Minimum weight edge for vertex adj.from
			if (adj.weight < prevWeight) { 
				min_to = adj.to;
				minFrom = adj.from;
				prevWeight = adj.weight;
			}
		} 
		mwe.insert(fromTo{minFrom, min_to});
	}
} 

// Get Weight for an edge
int getWeight(Graph const &graph, int u, int v) {
	int weight;
	// Iterate through all adjacent vertices of u and extract weight of u to v edge
	for (edge adj : graph.adjList[u]) {
		// Get the Minimum weight edge for vertex v.from
		if (adj.to == v) { 			
			weight = adj.weight;
		}
	}
	return weight;
}

// Process Edge in Parallel
void processEdge1(Graph const &graph, int z, int k) 
{ 
	int weight = getWeight(graph, z, k);

	if (mwe.find(fromTo{z, k}) != mwe.end()) {
		//printf("In MWE and not fixed k, z:%d, k:%d\n", z, k);

		fixed[k] = true;
		T.insert(fromTo{k, z}); // z is the parent of k
		R.insert(k);
	}
	else if (dist[k] > weight) {
		//printf("not minimum edge and not fixed k, z:%d, k:%d\n", z, k);
		dist[k] = weight;
		parent[k] = z;
		if (Q.find(k) == Q.end()) {
			Q.insert(k);
		}
	}
}

// A utility function used to print the constructed MST 
void printMST(std::set<fromTo> T) 
{ 
	std::set<fromTo>::iterator it; //set iterator
	for (it=T.begin(); it!=T.end(); it++) {
		fromTo e = *it; 
		////printf("%d - %d\n", e.from, e.to); 
  }
} 

// The main function that constructs Minimum Spanning Tree (MST) 
// using Prim's Parallel algorithm 
std::set<fromTo> primMST(Graph const &graph, int N, int source) 
{ 
	std::set<int>::iterator it; //set iterator 
	

	// Initialize min heap with all vertices. dist value of 
	// all vertices (except 0th vertex) is initially infinite 
 
	for(int i = 0; i < N; i ++) {
		parent.push_back(-1);
		dist.push_back(INT_MAX);
		fixed.push_back(false);
	}

	// Make distance value of source vertex as 0 so it is extracted first 
	dist[source] = 0; 
	H.push(distNode{source, dist[0]});

	initMWE(graph); //initialize minimum weight edges of given graph;

	// Loop for |V| - 1 iterations
	//while (!H.empty()) { 
	for (int i = 0; i < graph.adjList.size(); i++) {
		// Extract the vertex with minimum dist value 
		distNode d = H.top();
		H.pop();
		int j = d.node; //pop the minimum distance vertex
		//printf("Pop min distance node:%d\n", j);
		if (!fixed[j]) {
			R.insert(j);
			fixed[j] = true;
			if (parent[j] != -1) {
				T.insert(fromTo{j, parent[j]});
			}

			int z;
			while (!R.empty()) {
					//if(R.find(2) != R.end()) {
						////printf("true\n");
					//}
					// call processEdge for all neighbors of vertex in R 
					z = *R.begin();
					R.erase(R.find(z));
				for (edge adj : graph.adjList[z]) {
					int k = adj.to; 
					if (!fixed[k]) {
						processEdge1(graph, z, k);							 
					}
				}
			}	
			
			while (Q.size()) {
                                //for (it=Q.begin(); it!=Q.end(); ++it) {
                                        int z = *Q.begin();
                                        //printf("z in Q:%d\n", z);
                                        Q.erase(Q.find(z));
                                        if (!fixed[z]) {
                                                H.push(distNode{z, dist[z]});
                                        }
                        //      }
                        }
		}
	}
	if (T.size() == graph.adjList.size() -1) {
		return T;
	} else 
		return std::set<fromTo>{}; // return empty tree

} 

// Driver program to test above functions 
int main() 

{ 
	// vector of graph edges as per above diagram.
	printf("2010_United_Serial\n");
	std::vector<edge> edges;
	
	edges.push_back(edge{0, 1, 866});
    edges.push_back(edge{0, 2, 187});
    edges.push_back(edge{0, 3, 399});

    edges.push_back(edge{1, 5, 605});
    edges.push_back(edge{1, 10, 1720});
    edges.push_back(edge{1, 11, 888});
    edges.push_back(edge{1, 12, 409});

    edges.push_back(edge{2, 1, 739});
    edges.push_back(edge{2, 3, 213});
    edges.push_back(edge{2, 4, 541});
    edges.push_back(edge{2, 5, 759});
    edges.push_back(edge{2, 6, 1416});
    edges.push_back(edge{2, 7, 1391});
    edges.push_back(edge{2, 8, 2474});
    edges.push_back(edge{2, 9, 2586});
    edges.push_back(edge{2, 10, 2421});
    edges.push_back(edge{2, 11, 1625});
    edges.push_back(edge{2, 12, 765});

    edges.push_back(edge{3, 4, 330});
    edges.push_back(edge{3, 5, 547});
    edges.push_back(edge{3, 12, 561});

    edges.push_back(edge{4, 5, 226});
    edges.push_back(edge{4, 6, 912});

    edges.push_back(edge{5, 6, 689});
    edges.push_back(edge{5, 7, 731});
    edges.push_back(edge{5, 11, 1199});
    edges.push_back(edge{5, 12, 213});

    edges.push_back(edge{6, 7, 224});
    edges.push_back(edge{6, 8, 1378});

    edges.push_back(edge{7, 8, 1234});
    edges.push_back(edge{7, 11, 641});
    edges.push_back(edge{7, 12, 631});

    edges.push_back(edge{8, 9, 337});
    edges.push_back(edge{8, 11, 861});

    edges.push_back(edge{9, 10, 678});
    edges.push_back(edge{9, 11, 967});

    edges.push_back(edge{10, 11, 1024});

	edges.push_back(edge{11, 12, 1013});



	


	
	
	// edges.push_back(edge{4,5,4});
	// edges.push_back(edge{4,11,8});
	// edges.push_back(edge{5,6,8});
	// edges.push_back(edge{5,11,11});
	// edges.push_back(edge{6,7,7});
	// edges.push_back(edge{6,12,2});
	// edges.push_back(edge{6,9,4});
	// edges.push_back(edge{7,8,9});
	// edges.push_back(edge{7,9,14});
	// edges.push_back(edge{8,9,10});
	// edges.push_back(edge{9,10,2});
	// edges.push_back(edge{10,11,1});
	// edges.push_back(edge{10,12,6});
	// edges.push_back(edge{11,12,7});

	
	// Maxmum label value of vertices in the given graph, assume 1000
	int N = 12000;
	
	// construct graph
	Graph graph(edges, N);

	// print adjacency list representation of graph
	//printGraph(graph);

	//Source vertex as first non empty vertex in adjacency List
	int source;
	for(int i = 0; i<nonEmptyIndices.size(); i++) {
			if (nonEmptyIndices[i]) {
				source = i;
			break;
		}
	}
	
	////printf("source:%d\n", source);
	
	cudaEvent_t start, stop;
        cudaEventCreate(&start);
        cudaEventCreate(&stop);

        ////printf("Running global reduce\n");
        cudaEventRecord(start, 0);

  ////printf("Before Prim\n");
  //fflush( stdout );
	primMST(graph, N, source); 
  ////printf("After Prim\n");
  //fflush( stdout );

	 cudaEventRecord(stop, 0);

        cudaEventSynchronize(stop);
        float elapsedTime;
        cudaEventElapsedTime(&elapsedTime, start, stop);
        printf("Serial Elpased Time in ms:%f\n", elapsedTime);

	std::set<fromTo>::iterator it; //set iterator
	////printf("T size:%d\n", T.size());
	////printf("MST in iterator\n");
	for (it=T.begin(); it!=T.end(); ++it) {
		fromTo e = *it; 
		printf("%d - %d\n", e.from, e.to); 
	}

	return 0; 
} 

//Reference: https://www.geeksforgeeks.org/prims-mst-for-adjacency-list-representation-greedy-algo-6/
// https://www.techiedelight.com/graph-implementation-using-stl/
	.file	"tmpxft_00392710_00000000-6_prim_serial.cudafe1.cpp"
	.text
#APP

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB4882:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE4882:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.align 2
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0, @function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0:
.LFB6270:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	movq	%rdi, %rbx
	pushq	%rdx
	.cfi_def_cfa_offset 32
.L3:
	testq	%rbx, %rbx
	je	.L7
	movq	24(%rbx), %rdi
	call	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0
	movq	16(%rbx), %rbp
	movq	%rbx, %rdi
	movl	$40, %esi
	call	_ZdlPvm@PLT
	movq	%rbp, %rbx
	jmp	.L3
.L7:
	popq	%rax
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6270:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0, .-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0
	.section	.text._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.isra.0,"axG",@progbits,_ZNSt3setIiSt4lessIiESaIiEED5Ev,comdat
	.align 2
	.type	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.isra.0, @function
_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.isra.0:
.LFB6273:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	movq	%rdi, %rbx
	pushq	%rdx
	.cfi_def_cfa_offset 32
.L9:
	testq	%rbx, %rbx
	je	.L12
	movq	24(%rbx), %rdi
	call	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.isra.0
	movq	16(%rbx), %rbp
	movq	%rbx, %rdi
	movl	$40, %esi
	call	_ZdlPvm@PLT
	movq	%rbp, %rbx
	jmp	.L9
.L12:
	popq	%rax
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6273:
	.size	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.isra.0, .-_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.isra.0
	.section	.text._ZNSt3setIiSt4lessIiESaIiEED2Ev,"axG",@progbits,_ZNSt3setIiSt4lessIiESaIiEED5Ev,comdat
	.align 2
	.weak	_ZNSt3setIiSt4lessIiESaIiEED2Ev
	.type	_ZNSt3setIiSt4lessIiESaIiEED2Ev, @function
_ZNSt3setIiSt4lessIiESaIiEED2Ev:
.LFB6245:
	.cfi_startproc
	endbr64
	movq	16(%rdi), %rdi
	jmp	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE.isra.0
	.cfi_endproc
.LFE6245:
	.size	_ZNSt3setIiSt4lessIiESaIiEED2Ev, .-_ZNSt3setIiSt4lessIiESaIiEED2Ev
	.weak	_ZNSt3setIiSt4lessIiESaIiEED1Ev
	.set	_ZNSt3setIiSt4lessIiESaIiEED1Ev,_ZNSt3setIiSt4lessIiESaIiEED2Ev
	.text
	.align 2
	.type	_ZNSt3setIiSt4lessIiESaIiEE4findERKi.isra.0, @function
_ZNSt3setIiSt4lessIiESaIiEE4findERKi.isra.0:
.LFB6276:
	.cfi_startproc
	leaq	8(%rdi), %rcx
	movq	16(%rdi), %rdx
	movq	%rcx, %rax
.L15:
	testq	%rdx, %rdx
	je	.L20
	cmpl	32(%rdx), %esi
	movq	24(%rdx), %rdi
	cmovle	16(%rdx), %rdi
	cmovle	%rdx, %rax
	movq	%rdi, %rdx
	jmp	.L15
.L20:
	cmpq	%rax, %rcx
	je	.L18
	cmpl	32(%rax), %esi
	jge	.L18
	movq	%rcx, %rax
.L18:
	ret
	.cfi_endproc
.LFE6276:
	.size	_ZNSt3setIiSt4lessIiESaIiEE4findERKi.isra.0, .-_ZNSt3setIiSt4lessIiESaIiEE4findERKi.isra.0
	.align 2
	.type	_ZNSt14_Bit_referenceaSEb.isra.0, @function
_ZNSt14_Bit_referenceaSEb.isra.0:
.LFB6279:
	.cfi_startproc
	movq	(%rdi), %rcx
	movq	8(%rdi), %rdx
	movq	(%rcx), %rax
	testb	%sil, %sil
	je	.L22
	orq	%rdx, %rax
	jmp	.L23
.L22:
	notq	%rdx
	andq	%rdx, %rax
.L23:
	movq	%rax, (%rcx)
	ret
	.cfi_endproc
.LFE6279:
	.size	_ZNSt14_Bit_referenceaSEb.isra.0, .-_ZNSt14_Bit_referenceaSEb.isra.0
	.section	.text._ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev,"axG",@progbits,_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED5Ev,comdat
	.align 2
	.weak	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev
	.type	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev, @function
_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev:
.LFB4864:
	.cfi_startproc
	endbr64
	movq	16(%rdi), %rdi
	jmp	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0
	.cfi_endproc
.LFE4864:
	.size	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev, .-_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev
	.weak	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED1Ev
	.set	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED1Ev,_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev
	.section	.text._ZNSt6vectorIiSaIiEED2Ev,"axG",@progbits,_ZNSt6vectorIiSaIiEED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorIiSaIiEED2Ev
	.type	_ZNSt6vectorIiSaIiEED2Ev, @function
_ZNSt6vectorIiSaIiEED2Ev:
.LFB6248:
	.cfi_startproc
	endbr64
	movq	(%rdi), %rax
	testq	%rax, %rax
	je	.L25
	movq	16(%rdi), %rsi
	movq	%rax, %rdi
	subq	%rax, %rsi
	jmp	_ZdlPvm@PLT
.L25:
	ret
	.cfi_endproc
.LFE6248:
	.size	_ZNSt6vectorIiSaIiEED2Ev, .-_ZNSt6vectorIiSaIiEED2Ev
	.weak	_ZNSt6vectorIiSaIiEED1Ev
	.set	_ZNSt6vectorIiSaIiEED1Ev,_ZNSt6vectorIiSaIiEED2Ev
	.section	.text._ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev,"axG",@progbits,_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED5Ev,comdat
	.align 2
	.weak	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev
	.type	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev, @function
_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev:
.LFB6242:
	.cfi_startproc
	endbr64
	movq	(%rdi), %rax
	testq	%rax, %rax
	je	.L27
	movq	16(%rdi), %rsi
	movq	%rax, %rdi
	subq	%rax, %rsi
	jmp	_ZdlPvm@PLT
.L27:
	ret
	.cfi_endproc
.LFE6242:
	.size	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev, .-_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev
	.weak	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED1Ev
	.set	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED1Ev,_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev
	.text
	.align 2
	.type	_ZNSt13_Bvector_baseISaIbEE11_M_allocateEm.isra.0, @function
_ZNSt13_Bvector_baseISaIbEE11_M_allocateEm.isra.0:
.LFB6286:
	.cfi_startproc
	addq	$63, %rdi
	shrq	$6, %rdi
	salq	$3, %rdi
	jmp	_Znwm@PLT
	.cfi_endproc
.LFE6286:
	.size	_ZNSt13_Bvector_baseISaIbEE11_M_allocateEm.isra.0, .-_ZNSt13_Bvector_baseISaIbEE11_M_allocateEm.isra.0
	.align 2
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_.isra.0, @function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_.isra.0:
.LFB6288:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA6288
	pushq	%r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	pushq	%r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	movq	%rsi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	movq	%rdi, %rbp
	movl	$40, %edi
	pushq	%rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	pushq	%r8
	.cfi_def_cfa_offset 48
.LEHB0:
	call	_Znwm@PLT
.LEHE0:
	movq	24(%rbp), %rdi
	xorl	%r9d, %r9d
	movq	%rax, %rbx
	movq	32(%rbp), %rax
	movq	%r9, 16(%rbx)
	movq	%rax, 32(%rbx)
	movl	0(%rbp), %eax
	movq	%r9, 24(%rbx)
	movl	%eax, (%rbx)
	movq	%r12, 8(%rbx)
	testq	%rdi, %rdi
	je	.L31
	movq	%rbx, %rsi
.LEHB1:
	call	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_.isra.0
	movq	%rax, 24(%rbx)
.L31:
	movq	16(%rbp), %r12
	movq	%rbx, %r13
.L32:
	testq	%r12, %r12
	je	.L47
	movl	$40, %edi
	call	_Znwm@PLT
	movq	%rax, %rbp
	movq	32(%r12), %rax
	xorl	%ecx, %ecx
	movq	%rax, 32(%rbp)
	movl	(%r12), %eax
	movq	%rcx, 16(%rbp)
	movq	%rcx, 24(%rbp)
	movl	%eax, 0(%rbp)
	movq	%rbp, 16(%r13)
	movq	%r13, 8(%rbp)
	movq	24(%r12), %rdi
	testq	%rdi, %rdi
	je	.L33
	movq	%rbp, %rsi
	call	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_.isra.0
.LEHE1:
	movq	%rax, 24(%rbp)
.L33:
	movq	16(%r12), %r12
	movq	%rbp, %r13
	jmp	.L32
.L38:
	endbr64
	movq	%rax, %rdi
.L35:
	call	__cxa_begin_catch@PLT
	movq	%rbx, %rdi
	call	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0
.LEHB2:
	call	__cxa_rethrow@PLT
.LEHE2:
.L37:
	endbr64
	movq	%rax, %rbx
.L36:
	call	__cxa_end_catch@PLT
	movq	%rbx, %rdi
.LEHB3:
	call	_Unwind_Resume@PLT
.LEHE3:
.L47:
	popq	%rdx
	.cfi_def_cfa_offset 40
	movq	%rbx, %rax
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%rbp
	.cfi_def_cfa_offset 24
	popq	%r12
	.cfi_def_cfa_offset 16
	popq	%r13
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6288:
	.globl	__gxx_personality_v0
	.section	.gcc_except_table,"a",@progbits
	.align 4
.LLSDA6288:
	.byte	0xff
	.byte	0x9b
	.uleb128 .LLSDATT6288-.LLSDATTD6288
.LLSDATTD6288:
	.byte	0x1
	.uleb128 .LLSDACSE6288-.LLSDACSB6288
.LLSDACSB6288:
	.uleb128 .LEHB0-.LFB6288
	.uleb128 .LEHE0-.LEHB0
	.uleb128 0
	.uleb128 0
	.uleb128 .LEHB1-.LFB6288
	.uleb128 .LEHE1-.LEHB1
	.uleb128 .L38-.LFB6288
	.uleb128 0x1
	.uleb128 .LEHB2-.LFB6288
	.uleb128 .LEHE2-.LEHB2
	.uleb128 .L37-.LFB6288
	.uleb128 0
	.uleb128 .LEHB3-.LFB6288
	.uleb128 .LEHE3-.LEHB3
	.uleb128 0
	.uleb128 0
.LLSDACSE6288:
	.byte	0x1
	.byte	0
	.align 4
	.long	0

.LLSDATT6288:
	.text
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_.isra.0, .-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_.isra.0
	.type	_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops14_Iter_comp_valISt4lessIS2_EEEEvT_T0_SE_T1_RT2_.isra.0, @function
_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops14_Iter_comp_valISt4lessIS2_EEEEvT_T0_SE_T1_RT2_.isra.0:
.LFB6294:
	.cfi_startproc
	leaq	-1(%rsi), %rax
	movq	%rdx, %r8
	movl	$2, %r9d
	movl	%ecx, %r11d
	cqto
	idivq	%r9
	movq	%rcx, %rdx
	shrq	$32, %rdx
	movl	%edx, %r10d
.L51:
	cmpq	%r8, %rsi
	jle	.L49
	leaq	(%rdi,%rax,8), %rdx
	cmpl	%r10d, 4(%rdx)
	jg	.L50
	jne	.L49
	cmpl	%r11d, (%rdx)
	jle	.L49
.L50:
	movq	(%rdx), %rdx
	movq	%rdx, (%rdi,%rsi,8)
	leaq	-1(%rax), %rdx
	movq	%rax, %rsi
	movq	%rdx, %rax
	cqto
	idivq	%r9
	jmp	.L51
.L49:
	movq	%rcx, (%rdi,%rsi,8)
	ret
	.cfi_endproc
.LFE6294:
	.size	_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops14_Iter_comp_valISt4lessIS2_EEEEvT_T0_SE_T1_RT2_.isra.0, .-_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops14_Iter_comp_valISt4lessIS2_EEEEvT_T0_SE_T1_RT2_.isra.0
	.section	.text._ZNKSt14_Bit_referencecvbEv,"axG",@progbits,_ZNKSt14_Bit_referencecvbEv,comdat
	.align 2
	.weak	_ZNKSt14_Bit_referencecvbEv
	.type	_ZNKSt14_Bit_referencecvbEv, @function
_ZNKSt14_Bit_referencecvbEv:
.LFB2903:
	.cfi_startproc
	endbr64
	movq	(%rdi), %rax
	movq	(%rax), %rax
	andq	8(%rdi), %rax
	setne	%al
	ret
	.cfi_endproc
.LFE2903:
	.size	_ZNKSt14_Bit_referencecvbEv, .-_ZNKSt14_Bit_referencecvbEv
	.section	.text._ZNSt18_Bit_iterator_base10_M_bump_upEv,"axG",@progbits,_ZNSt18_Bit_iterator_base10_M_bump_upEv,comdat
	.align 2
	.weak	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	.type	_ZNSt18_Bit_iterator_base10_M_bump_upEv, @function
_ZNSt18_Bit_iterator_base10_M_bump_upEv:
.LFB2916:
	.cfi_startproc
	endbr64
	movl	8(%rdi), %eax
	cmpl	$63, %eax
	je	.L54
	incl	%eax
	movl	%eax, 8(%rdi)
	ret
.L54:
	xorl	%eax, %eax
	addq	$8, (%rdi)
	movl	%eax, 8(%rdi)
	ret
	.cfi_endproc
.LFE2916:
	.size	_ZNSt18_Bit_iterator_base10_M_bump_upEv, .-_ZNSt18_Bit_iterator_base10_M_bump_upEv
	.section	.text._ZNSt18_Bit_iterator_base12_M_bump_downEv,"axG",@progbits,_ZNSt18_Bit_iterator_base12_M_bump_downEv,comdat
	.align 2
	.weak	_ZNSt18_Bit_iterator_base12_M_bump_downEv
	.type	_ZNSt18_Bit_iterator_base12_M_bump_downEv, @function
_ZNSt18_Bit_iterator_base12_M_bump_downEv:
.LFB2917:
	.cfi_startproc
	endbr64
	movl	8(%rdi), %eax
	testl	%eax, %eax
	je	.L57
	decl	%eax
	movl	%eax, 8(%rdi)
	ret
.L57:
	subq	$8, (%rdi)
	movl	$63, 8(%rdi)
	ret
	.cfi_endproc
.LFE2917:
	.size	_ZNSt18_Bit_iterator_base12_M_bump_downEv, .-_ZNSt18_Bit_iterator_base12_M_bump_downEv
	.section	.text._ZNSt18_Bit_iterator_base7_M_incrEl,"axG",@progbits,_ZNSt18_Bit_iterator_base7_M_incrEl,comdat
	.align 2
	.weak	_ZNSt18_Bit_iterator_base7_M_incrEl
	.type	_ZNSt18_Bit_iterator_base7_M_incrEl, @function
_ZNSt18_Bit_iterator_base7_M_incrEl:
.LFB2918:
	.cfi_startproc
	endbr64
	movl	8(%rdi), %eax
	movl	$64, %ecx
	addq	%rsi, %rax
	cqto
	idivq	%rcx
	movq	(%rdi), %rcx
	leaq	(%rcx,%rax,8), %rax
	testq	%rdx, %rdx
	jns	.L60
	addq	$64, %rdx
	subq	$8, %rax
.L60:
	movq	%rax, (%rdi)
	movl	%edx, 8(%rdi)
	ret
	.cfi_endproc
.LFE2918:
	.size	_ZNSt18_Bit_iterator_base7_M_incrEl, .-_ZNSt18_Bit_iterator_base7_M_incrEl
	.section	.text._ZStmiRKSt18_Bit_iterator_baseS1_,"axG",@progbits,_ZStmiRKSt18_Bit_iterator_baseS1_,comdat
	.weak	_ZStmiRKSt18_Bit_iterator_baseS1_
	.type	_ZStmiRKSt18_Bit_iterator_baseS1_, @function
_ZStmiRKSt18_Bit_iterator_baseS1_:
.LFB2925:
	.cfi_startproc
	endbr64
	movl	8(%rdi), %edx
	movq	(%rdi), %rax
	subq	(%rsi), %rax
	leaq	(%rdx,%rax,8), %rax
	movl	8(%rsi), %edx
	subq	%rdx, %rax
	ret
	.cfi_endproc
.LFE2925:
	.size	_ZStmiRKSt18_Bit_iterator_baseS1_, .-_ZStmiRKSt18_Bit_iterator_baseS1_
	.section	.text._ZNKSt13_Bit_iteratordeEv,"axG",@progbits,_ZNKSt13_Bit_iteratordeEv,comdat
	.align 2
	.weak	_ZNKSt13_Bit_iteratordeEv
	.type	_ZNKSt13_Bit_iteratordeEv, @function
_ZNKSt13_Bit_iteratordeEv:
.LFB2933:
	.cfi_startproc
	endbr64
	movl	8(%rdi), %ecx
	movl	$1, %edx
	movq	(%rdi), %rax
	salq	%cl, %rdx
	ret
	.cfi_endproc
.LFE2933:
	.size	_ZNKSt13_Bit_iteratordeEv, .-_ZNKSt13_Bit_iteratordeEv
	.text
	.type	_ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0, @function
_ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0:
.LFB6295:
	.cfi_startproc
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	subq	$96, %rsp
	.cfi_def_cfa_offset 128
	movq	%fs:40, %rax
	movq	%rax, 88(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rbp
	movl	%esi, 16(%rsp)
	leaq	8(%rsp), %rsi
	movq	%rdi, 8(%rsp)
	movq	%rbp, %rdi
	leaq	40(%rsp), %r12
	movq	%rdx, 24(%rsp)
	movl	%ecx, 32(%rsp)
	movq	%r8, 40(%rsp)
	movl	%r9d, 48(%rsp)
	call	_ZStmiRKSt18_Bit_iterator_baseS1_
	movq	%rax, %rbx
.L64:
	testq	%rbx, %rbx
	jle	.L68
	movq	%rbp, %rdi
	decq	%rbx
	call	_ZNSt18_Bit_iterator_base12_M_bump_downEv
	movq	%rbp, %rdi
	call	_ZNKSt13_Bit_iteratordeEv
	movq	%r12, %rdi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNSt18_Bit_iterator_base12_M_bump_downEv
	movq	%r12, %rdi
	call	_ZNKSt13_Bit_iteratordeEv
	leaq	72(%rsp), %rdi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	_ZNKSt14_Bit_referencecvbEv
	leaq	56(%rsp), %rdi
	movzbl	%al, %esi
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	jmp	.L64
.L68:
	movq	88(%rsp), %rax
	subq	%fs:40, %rax
	je	.L66
	call	__stack_chk_fail@PLT
.L66:
	addq	$96, %rsp
	.cfi_def_cfa_offset 32
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6295:
	.size	_ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0, .-_ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0
	.type	_ZSt4copyISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0, @function
_ZSt4copyISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0:
.LFB6298:
	.cfi_startproc
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	subq	$112, %rsp
	.cfi_def_cfa_offset 144
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rbp
	movl	%esi, 32(%rsp)
	leaq	56(%rsp), %r12
	movq	%rdi, 24(%rsp)
	movq	%rbp, %rsi
	leaq	40(%rsp), %rdi
	movq	%rdx, 40(%rsp)
	movl	%ecx, 48(%rsp)
	movq	%r8, 56(%rsp)
	movl	%r9d, 64(%rsp)
	call	_ZStmiRKSt18_Bit_iterator_baseS1_
	movq	%rax, %rbx
.L70:
	testq	%rbx, %rbx
	jle	.L74
	movq	%rbp, %rdi
	decq	%rbx
	call	_ZNKSt13_Bit_iteratordeEv
	movq	%r12, %rdi
	movq	%rax, 88(%rsp)
	movq	%rdx, 96(%rsp)
	call	_ZNKSt13_Bit_iteratordeEv
	leaq	88(%rsp), %rdi
	movq	%rdx, 80(%rsp)
	movq	%rax, 72(%rsp)
	call	_ZNKSt14_Bit_referencecvbEv
	leaq	72(%rsp), %rdi
	movzbl	%al, %esi
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	movq	%rbp, %rdi
	call	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	movq	%r12, %rdi
	call	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	jmp	.L70
.L74:
	movq	56(%rsp), %rax
	movq	%rax, 88(%rsp)
	movl	64(%rsp), %eax
	movl	%eax, 96(%rsp)
	movq	88(%rsp), %rax
	movq	96(%rsp), %rdx
	movq	104(%rsp), %rcx
	subq	%fs:40, %rcx
	je	.L72
	call	__stack_chk_fail@PLT
.L72:
	addq	$112, %rsp
	.cfi_def_cfa_offset 32
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6298:
	.size	_ZSt4copyISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0, .-_ZSt4copyISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0
	.align 2
	.type	_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.isra.0, @function
_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.isra.0:
.LFB6300:
	.cfi_startproc
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movl	%edx, %r12d
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movq	%rsi, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	%rdi, %rbp
	movq	%rsi, %rbx
	subq	$104, %rsp
	.cfi_def_cfa_offset 160
	movq	%fs:40, %rax
	movq	%rax, 88(%rsp)
	xorl	%eax, %eax
	cmpq	$8, %rbp
	jle	.L76
	movq	%rdi, %rsi
	movq	%rbp, %rdx
	movq	%rcx, %rdi
	call	memmove@PLT
	movq	%rax, %rcx
	jmp	.L77
.L76:
	jne	.L77
	movq	(%rdi), %rax
	movq	%rax, (%rcx)
.L77:
	movl	%r12d, 48(%rsp)
	leaq	24(%rsp), %r12
	xorl	%eax, %eax
	addq	%rbp, %rcx
	xorl	%edx, %edx
	leaq	40(%rsp), %rdi
	movq	%r12, %rsi
	movq	%rbx, 24(%rsp)
	movq	%rbx, 40(%rsp)
	movl	$1, %r15d
	movl	%eax, 32(%rsp)
	movq	%rcx, 56(%rsp)
	movl	%edx, 64(%rsp)
	call	_ZStmiRKSt18_Bit_iterator_baseS1_
	movq	%rax, %rbx
.L78:
	testq	%rbx, %rbx
	jle	.L82
	movl	32(%rsp), %ecx
	movq	24(%rsp), %rdx
	movq	%r15, %rax
	decq	%rbx
	leaq	72(%rsp), %r14
	leaq	56(%rsp), %r13
	salq	%cl, %rax
	movq	%r14, %rdi
	movq	%rdx, 72(%rsp)
	movq	%rax, 80(%rsp)
	call	_ZNKSt14_Bit_referencecvbEv
	movq	%r13, %rdi
	movl	%eax, %ebp
	call	_ZNKSt13_Bit_iteratordeEv
	movzbl	%bpl, %esi
	movq	%r14, %rdi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	movq	%r12, %rdi
	call	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	movq	%r13, %rdi
	call	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	jmp	.L78
.L82:
	movq	56(%rsp), %rax
	movq	%rax, 72(%rsp)
	movl	64(%rsp), %eax
	movl	%eax, 80(%rsp)
	movq	72(%rsp), %rax
	movq	80(%rsp), %rdx
	movq	88(%rsp), %rcx
	subq	%fs:40, %rcx
	je	.L80
	call	__stack_chk_fail@PLT
.L80:
	addq	$104, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6300:
	.size	_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.isra.0, .-_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.isra.0
	.section	.text._ZStplRKSt13_Bit_iteratorl,"axG",@progbits,_ZStplRKSt13_Bit_iteratorl,comdat
	.weak	_ZStplRKSt13_Bit_iteratorl
	.type	_ZStplRKSt13_Bit_iteratorl, @function
_ZStplRKSt13_Bit_iteratorl:
.LFB2941:
	.cfi_startproc
	endbr64
	subq	$72, %rsp
	.cfi_def_cfa_offset 80
	movups	(%rdi), %xmm0
	movq	%fs:40, %rax
	movq	%rax, 56(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rdi
	movups	%xmm0, 24(%rsp)
	call	_ZNSt18_Bit_iterator_base7_M_incrEl
	movq	24(%rsp), %rax
	movq	32(%rsp), %rdx
	movq	56(%rsp), %rcx
	subq	%fs:40, %rcx
	je	.L84
	call	__stack_chk_fail@PLT
.L84:
	addq	$72, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE2941:
	.size	_ZStplRKSt13_Bit_iteratorl, .-_ZStplRKSt13_Bit_iteratorl
	.text
	.align 2
	.type	_ZNSt6vectorIbSaIbEEixEm.isra.0, @function
_ZNSt6vectorIbSaIbEEixEm.isra.0:
.LFB6303:
	.cfi_startproc
	subq	$56, %rsp
	.cfi_def_cfa_offset 64
	movq	%fs:40, %rax
	movq	%rax, 40(%rsp)
	xorl	%eax, %eax
	xorl	%eax, %eax
	movq	%rdi, 8(%rsp)
	leaq	8(%rsp), %rdi
	movl	%eax, 16(%rsp)
	call	_ZStplRKSt13_Bit_iteratorl
	leaq	24(%rsp), %rdi
	movq	%rax, 24(%rsp)
	movq	%rdx, 32(%rsp)
	call	_ZNKSt13_Bit_iteratordeEv
	movq	40(%rsp), %rcx
	subq	%fs:40, %rcx
	je	.L87
	call	__stack_chk_fail@PLT
.L87:
	addq	$56, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6303:
	.size	_ZNSt6vectorIbSaIbEEixEm.isra.0, .-_ZNSt6vectorIbSaIbEEixEm.isra.0
	.section	.text._ZSt14__fill_bvectorPmjjb,"axG",@progbits,_ZSt14__fill_bvectorPmjjb,comdat
	.weak	_ZSt14__fill_bvectorPmjjb
	.type	_ZSt14__fill_bvectorPmjjb, @function
_ZSt14__fill_bvectorPmjjb:
.LFB3057:
	.cfi_startproc
	endbr64
	movl	%ecx, %r8d
	movl	$64, %ecx
	subl	%edx, %ecx
	orq	$-1, %rdx
	movq	%rdx, %rax
	shrq	%cl, %rax
	movl	%esi, %ecx
	salq	%cl, %rdx
	andq	%rdx, %rax
	movq	(%rdi), %rdx
	testb	%r8b, %r8b
	je	.L90
	orq	%rdx, %rax
	jmp	.L91
.L90:
	notq	%rax
	andq	%rdx, %rax
.L91:
	movq	%rax, (%rdi)
	ret
	.cfi_endproc
.LFE3057:
	.size	_ZSt14__fill_bvectorPmjjb, .-_ZSt14__fill_bvectorPmjjb
	.section	.text._ZNK6fromToltERKS_,"axG",@progbits,_ZNK6fromToltERKS_,comdat
	.align 2
	.weak	_ZNK6fromToltERKS_
	.type	_ZNK6fromToltERKS_, @function
_ZNK6fromToltERKS_:
.LFB4790:
	.cfi_startproc
	endbr64
	movl	4(%rsi), %edx
	movb	$1, %al
	cmpl	%edx, 4(%rdi)
	jl	.L92
	movb	$0, %al
	jne	.L92
	movl	(%rsi), %eax
	cmpl	%eax, (%rdi)
	setl	%al
.L92:
	ret
	.cfi_endproc
.LFE4790:
	.size	_ZNK6fromToltERKS_, .-_ZNK6fromToltERKS_
	.text
	.globl	_Z10printGraphRK5Graph
	.type	_Z10printGraphRK5Graph, @function
_Z10printGraphRK5Graph:
.LFB4851:
	.cfi_startproc
	endbr64
	ret
	.cfi_endproc
.LFE4851:
	.size	_Z10printGraphRK5Graph, .-_Z10printGraphRK5Graph
	.globl	_Z9getWeightRK5Graphii
	.type	_Z9getWeightRK5Graphii, @function
_Z9getWeightRK5Graphii:
.LFB4855:
	.cfi_startproc
	endbr64
	movslq	%esi, %rsi
	xorl	%ecx, %ecx
	imulq	$24, %rsi, %rsi
	addq	(%rdi), %rsi
	movq	8(%rsi), %rdi
	movq	(%rsi), %rax
.L98:
	cmpq	%rax, %rdi
	je	.L101
	cmpl	%edx, 4(%rax)
	jne	.L99
	movl	8(%rax), %ecx
.L99:
	addq	$12, %rax
	jmp	.L98
.L101:
	movl	%ecx, %eax
	ret
	.cfi_endproc
.LFE4855:
	.size	_Z9getWeightRK5Graphii, .-_Z9getWeightRK5Graphii
	.globl	_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE
	.type	_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE, @function
_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE:
.LFB4858:
	.cfi_startproc
	endbr64
	ret
	.cfi_endproc
.LFE4858:
	.size	_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE, .-_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE
	.section	.text.startup,"ax",@progbits
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB4905:
	.cfi_startproc
	endbr64
	pushq	%rax
	.cfi_def_cfa_offset 16
	leaq	_ZL15__fatDeviceText(%rip), %rdi
	call	__cudaRegisterFatBinary@PLT
	movq	%rax, %rdi
	movq	%rax, _ZL20__cudaFatCubinHandle(%rip)
	call	__cudaRegisterFatBinaryEnd@PLT
	leaq	_ZL26__cudaUnregisterBinaryUtilv(%rip), %rdi
	popq	%rdx
	.cfi_def_cfa_offset 8
	jmp	atexit@PLT
	.cfi_endproc
.LFE4905:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.text._ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_,"axG",@progbits,_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_,comdat
	.align 2
	.weak	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_
	.type	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_, @function
_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_:
.LFB5278:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movq	%rsi, %r15
	movb	$1, %al
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	leaq	8(%rdi), %r14
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movq	%r14, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movq	%rdi, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	pushq	%r8
	.cfi_def_cfa_offset 64
	movq	16(%rdi), %rbx
.L106:
	testq	%rbx, %rbx
	je	.L118
	leaq	32(%rbx), %rsi
	movq	%r15, %rdi
	movq	%rbx, %r12
	call	_ZNK6fromToltERKS_
	movq	24(%rbx), %rdx
	testb	%al, %al
	cmovne	16(%rbx), %rdx
	movq	%rdx, %rbx
	jmp	.L106
.L118:
	testb	%al, %al
	je	.L113
	cmpq	%r12, 24(%rbp)
	je	.L110
	movq	%r12, %rdi
	call	_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@PLT
	movq	%rax, %rbx
	jmp	.L109
.L113:
	movq	%r12, %rbx
.L109:
	leaq	32(%rbx), %rdi
	movq	%r15, %rsi
	call	_ZNK6fromToltERKS_
	movl	%eax, %edx
	xorl	%eax, %eax
	testb	%dl, %dl
	je	.L111
.L110:
	movb	$1, %r13b
	cmpq	%r12, %r14
	je	.L112
	leaq	32(%r12), %rsi
	movq	%r15, %rdi
	call	_ZNK6fromToltERKS_
	movl	%eax, %r13d
.L112:
	movl	$40, %edi
	call	_Znwm@PLT
	movzbl	%r13b, %edi
	movq	%r14, %rcx
	movq	%r12, %rdx
	movq	%rax, %rbx
	movq	(%r15), %rax
	movq	%rbx, %rsi
	movq	%rax, 32(%rbx)
	call	_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@PLT
	incq	40(%rbp)
	movb	$1, %al
.L111:
	popq	%rcx
	.cfi_def_cfa_offset 56
	movzbl	%al, %edx
	movq	%rbx, %rax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5278:
	.size	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_, .-_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_
	.text
	.globl	_Z7initMWERK5Graph
	.type	_Z7initMWERK5Graph, @function
_Z7initMWERK5Graph:
.LFB4852:
	.cfi_startproc
	endbr64
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	movabsq	$-6148914691236517205, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	movq	%rdi, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	xorl	%ebx, %ebx
	subq	$16, %rsp
	.cfi_def_cfa_offset 64
	movq	%fs:40, %rax
	movq	%rax, 8(%rsp)
	xorl	%eax, %eax
.L120:
	movq	0(%rbp), %rdx
	movq	8(%rbp), %rax
	subq	%rdx, %rax
	sarq	$3, %rax
	imulq	%r12, %rax
	cmpq	%rax, %rbx
	jnb	.L127
	imulq	$24, %rbx, %rax
	addq	%rax, %rdx
	movq	8(%rdx), %rsi
	movq	(%rdx), %rax
	movl	$2147483647, %edx
.L121:
	cmpq	%rsi, %rax
	je	.L128
	movl	8(%rax), %ecx
	cmpl	%ecx, %edx
	jle	.L122
	movl	(%rax), %r14d
	movl	4(%rax), %r13d
	movl	%ecx, %edx
.L122:
	addq	$12, %rax
	jmp	.L121
.L128:
	movq	%rsp, %rsi
	leaq	mwe(%rip), %rdi
	movl	%r14d, (%rsp)
	incq	%rbx
	movl	%r13d, 4(%rsp)
	call	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_
	jmp	.L120
.L127:
	movq	8(%rsp), %rax
	subq	%fs:40, %rax
	je	.L125
	call	__stack_chk_fail@PLT
.L125:
	addq	$16, %rsp
	.cfi_def_cfa_offset 48
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4852:
	.size	_Z7initMWERK5Graph, .-_Z7initMWERK5Graph
	.section	.text._ZNSt3setIiSt4lessIiESaIiEE6insertERKi,"axG",@progbits,_ZNSt3setIiSt4lessIiESaIiEE6insertERKi,comdat
	.align 2
	.weak	_ZNSt3setIiSt4lessIiESaIiEE6insertERKi
	.type	_ZNSt3setIiSt4lessIiESaIiEE6insertERKi, @function
_ZNSt3setIiSt4lessIiESaIiEE6insertERKi:
.LFB5287:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movb	$1, %dl
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	movq	%rsi, %r14
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	leaq	8(%rdi), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movq	%r12, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rdi, %rbx
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	movl	(%rsi), %r15d
	movq	16(%rdi), %rax
.L130:
	testq	%rax, %rax
	je	.L142
	cmpl	32(%rax), %r15d
	movq	24(%rax), %rcx
	movq	%rax, %rbp
	cmovl	16(%rax), %rcx
	setl	%dl
	movq	%rcx, %rax
	jmp	.L130
.L142:
	testb	%dl, %dl
	je	.L138
	cmpq	%rbp, 24(%rbx)
	je	.L134
	movq	%rbp, %rdi
	call	_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@PLT
	jmp	.L133
.L138:
	movq	%rbp, %rax
.L133:
	xorl	%ecx, %ecx
	cmpl	32(%rax), %r15d
	jle	.L135
.L134:
	movb	$1, %r13b
	cmpq	%rbp, %r12
	je	.L136
	cmpl	32(%rbp), %r15d
	setl	%r13b
.L136:
	movl	$40, %edi
	call	_Znwm@PLT
	movl	(%r14), %edx
	movq	%r12, %rcx
	movzbl	%r13b, %edi
	movq	%rax, %rsi
	movq	%rax, 8(%rsp)
	movl	%edx, 32(%rax)
	movq	%rbp, %rdx
	call	_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@PLT
	incq	40(%rbx)
	movq	8(%rsp), %rax
	movb	$1, %cl
.L135:
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	movzbl	%cl, %edx
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5287:
	.size	_ZNSt3setIiSt4lessIiESaIiEE6insertERKi, .-_ZNSt3setIiSt4lessIiESaIiEE6insertERKi
	.text
	.globl	_Z12processEdge1RK5Graphii
	.type	_Z12processEdge1RK5Graphii, @function
_Z12processEdge1RK5Graphii:
.LFB4856:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movl	%esi, %r12d
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movl	%edx, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	8+mwe(%rip), %rbx
	movq	%rbx, %r14
	subq	$56, %rsp
	.cfi_def_cfa_offset 112
	movl	%edx, 12(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 40(%rsp)
	xorl	%eax, %eax
	call	_Z9getWeightRK5Graphii
	movl	%edx, 28(%rsp)
	movq	16+mwe(%rip), %r15
	movl	%eax, %r13d
	leaq	24(%rsp), %rax
	movl	%r12d, 24(%rsp)
	movq	%rax, (%rsp)
.L144:
	testq	%r15, %r15
	je	.L159
	movq	(%rsp), %rsi
	leaq	32(%r15), %rdi
	call	_ZNK6fromToltERKS_
	movq	24(%r15), %rdx
	testb	%al, %al
	cmove	16(%r15), %rdx
	cmove	%r15, %rbx
	movq	%rdx, %r15
	jmp	.L144
.L159:
	cmpq	%r14, %rbx
	je	.L147
	leaq	32(%rbx), %rsi
	leaq	24(%rsp), %rdi
	call	_ZNK6fromToltERKS_
	testb	%al, %al
	leaq	8+mwe(%rip), %rax
	cmovne	%rax, %rbx
.L147:
	movslq	%ebp, %rsi
	cmpq	%r14, %rbx
	je	.L148
	movq	fixed(%rip), %rdi
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	leaq	24(%rsp), %rdi
	movl	$1, %esi
	movq	%rax, 24(%rsp)
	movq	%rdx, 32(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	movq	%rdi, %rsi
	movl	%ebp, 24(%rsp)
	leaq	T(%rip), %rdi
	movl	%r12d, 28(%rsp)
	call	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_
	leaq	12(%rsp), %rsi
	leaq	R(%rip), %rdi
	jmp	.L158
.L148:
	movq	dist(%rip), %rax
	leaq	(%rax,%rsi,4), %rax
	cmpl	%r13d, (%rax)
	jle	.L143
	movl	%r13d, (%rax)
	movq	parent(%rip), %rax
	leaq	Q(%rip), %r8
	movq	%r8, %rdi
	movl	%r12d, (%rax,%rsi,4)
	movl	%ebp, %esi
	call	_ZNSt3setIiSt4lessIiESaIiEE4findERKi.isra.0
	leaq	8(%r8), %rdx
	cmpq	%rax, %rdx
	jne	.L143
	leaq	12(%rsp), %rsi
	movq	%r8, %rdi
.L158:
	call	_ZNSt3setIiSt4lessIiESaIiEE6insertERKi
.L143:
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	je	.L152
	call	__stack_chk_fail@PLT
.L152:
	addq	$56, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4856:
	.size	_Z12processEdge1RK5Graphii, .-_Z12processEdge1RK5Graphii
	.section	.text._ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE,"axG",@progbits,_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE,comdat
	.align 2
	.weak	_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	.type	_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE, @function
_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE:
.LFB5314:
	.cfi_startproc
	endbr64
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	movq	%rsi, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	movq	%rdi, %rbx
	movq	%rsi, %rdi
	call	_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@PLT
	leaq	8(%rbx), %rsi
	movq	%rbp, %rdi
	movq	%rax, %r12
	call	_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@PLT
	movl	$40, %esi
	movq	%rax, %rdi
	call	_ZdlPvm@PLT
	decq	40(%rbx)
	movq	%r12, %rax
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5314:
	.size	_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE, .-_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	.section	.text._ZNSt6vectorI4edgeSaIS0_EED2Ev,"axG",@progbits,_ZNSt6vectorI4edgeSaIS0_EED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorI4edgeSaIS0_EED2Ev
	.type	_ZNSt6vectorI4edgeSaIS0_EED2Ev, @function
_ZNSt6vectorI4edgeSaIS0_EED2Ev:
.LFB5330:
	.cfi_startproc
	endbr64
	movq	(%rdi), %rax
	testq	%rax, %rax
	je	.L162
	movq	16(%rdi), %rsi
	movq	%rax, %rdi
	subq	%rax, %rsi
	jmp	_ZdlPvm@PLT
.L162:
	ret
	.cfi_endproc
.LFE5330:
	.size	_ZNSt6vectorI4edgeSaIS0_EED2Ev, .-_ZNSt6vectorI4edgeSaIS0_EED2Ev
	.weak	_ZNSt6vectorI4edgeSaIS0_EED1Ev
	.set	_ZNSt6vectorI4edgeSaIS0_EED1Ev,_ZNSt6vectorI4edgeSaIS0_EED2Ev
	.section	.text._ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev,"axG",@progbits,_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	.type	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev, @function
_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev:
.LFB5263:
	.cfi_startproc
	endbr64
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	movq	8(%rdi), %r12
	movq	%rdi, %rbx
	movq	(%rdi), %rbp
.L165:
	cmpq	%rbp, %r12
	je	.L169
	movq	%rbp, %rdi
	addq	$24, %rbp
	call	_ZNSt6vectorI4edgeSaIS0_EED1Ev
	jmp	.L165
.L169:
	movq	(%rbx), %rdi
	testq	%rdi, %rdi
	je	.L164
	movq	16(%rbx), %rsi
	popq	%rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	subq	%rdi, %rsi
	jmp	_ZdlPvm@PLT
.L164:
	.cfi_restore_state
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5263:
	.size	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev, .-_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	.weak	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED1Ev
	.set	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED1Ev,_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	.section	.text._ZNKSt6vectorIbSaIbEE4sizeEv,"axG",@progbits,_ZNKSt6vectorIbSaIbEE4sizeEv,comdat
	.align 2
	.weak	_ZNKSt6vectorIbSaIbEE4sizeEv
	.type	_ZNKSt6vectorIbSaIbEE4sizeEv, @function
_ZNKSt6vectorIbSaIbEE4sizeEv:
.LFB5332:
	.cfi_startproc
	endbr64
	subq	$56, %rsp
	.cfi_def_cfa_offset 64
	movq	16(%rdi), %rdx
	movq	%fs:40, %rax
	movq	%rax, 40(%rsp)
	movq	(%rdi), %rax
	leaq	24(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	movl	%eax, 32(%rsp)
	movl	24(%rdi), %eax
	leaq	8(%rsp), %rdi
	movl	%eax, 16(%rsp)
	call	_ZStmiRKSt18_Bit_iterator_baseS1_
	movq	40(%rsp), %rdx
	subq	%fs:40, %rdx
	je	.L171
	call	__stack_chk_fail@PLT
.L171:
	addq	$56, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5332:
	.size	_ZNKSt6vectorIbSaIbEE4sizeEv, .-_ZNKSt6vectorIbSaIbEE4sizeEv
	.section	.text._ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv,"axG",@progbits,_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv,comdat
	.align 2
	.weak	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	.type	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv, @function
_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv:
.LFB5492:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rdi, %rbx
	movq	(%rdi), %rdi
	testq	%rdi, %rdi
	je	.L173
	movq	32(%rbx), %rsi
	subq	%rdi, %rsi
	call	_ZdlPvm@PLT
	xorl	%eax, %eax
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%esi, %esi
	xorl	%edi, %edi
	movq	%rax, (%rbx)
	movl	%edx, 8(%rbx)
	movq	%rcx, 16(%rbx)
	movl	%esi, 24(%rbx)
	movq	%rdi, 32(%rbx)
.L173:
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5492:
	.size	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv, .-_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	.section	.text._ZNSt6vectorIbSaIbEED2Ev,"axG",@progbits,_ZNSt6vectorIbSaIbEED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorIbSaIbEED2Ev
	.type	_ZNSt6vectorIbSaIbEED2Ev, @function
_ZNSt6vectorIbSaIbEED2Ev:
.LFB6251:
	.cfi_startproc
	endbr64
	jmp	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	.cfi_endproc
.LFE6251:
	.size	_ZNSt6vectorIbSaIbEED2Ev, .-_ZNSt6vectorIbSaIbEED2Ev
	.weak	_ZNSt6vectorIbSaIbEED1Ev
	.set	_ZNSt6vectorIbSaIbEED1Ev,_ZNSt6vectorIbSaIbEED2Ev
	.section	.rodata._ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm.str1.1,"aMS",@progbits,1
.LC0:
	.string	"vector::_M_default_append"
	.section	.text._ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm,"axG",@progbits,_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm,comdat
	.align 2
	.weak	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm
	.type	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm, @function
_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm:
.LFB5539:
	.cfi_startproc
	endbr64
	testq	%rsi, %rsi
	je	.L198
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movq	%rdi, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rsi, %rbx
	movabsq	$-6148914691236517205, %rsi
	subq	$40, %rsp
	.cfi_def_cfa_offset 96
	movq	8(%rdi), %rcx
	movq	16(%rdi), %rax
	movq	(%rdi), %rdx
	subq	%rcx, %rax
	sarq	$3, %rax
	imulq	%rsi, %rax
	cmpq	%rbx, %rax
	jb	.L182
	movq	%rbx, %rdx
	movq	%rcx, %rax
.L183:
	xorl	%r8d, %r8d
	addq	$24, %rax
	movq	%r8, -24(%rax)
	movq	%r8, -16(%rax)
	movq	%r8, -8(%rax)
	decq	%rdx
	jne	.L183
	imulq	$24, %rbx, %rbx
	addq	%rcx, %rbx
	movq	%rbx, 8(%rbp)
	jmp	.L180
.L182:
	movabsq	$384307168202282325, %rax
	movq	%rcx, %r13
	subq	%rdx, %r13
	movq	%r13, %r15
	sarq	$3, %r15
	imulq	%rsi, %r15
	subq	%r15, %rax
	cmpq	%rbx, %rax
	jnb	.L184
	leaq	.LC0(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L184:
	cmpq	%r15, %rbx
	movq	%r15, %r12
	movq	%rcx, 24(%rsp)
	movabsq	$384307168202282325, %rax
	cmovnb	%rbx, %r12
	movq	%rdx, 16(%rsp)
	addq	%r15, %r12
	cmpq	%rax, %r12
	cmova	%rax, %r12
	imulq	$24, %r12, %rax
	movq	%rax, %rdi
	movq	%rax, 8(%rsp)
	call	_Znwm@PLT
	movq	24(%rsp), %rcx
	movq	16(%rsp), %rdx
	movq	%rbx, %rsi
	movq	%rax, %r14
	leaq	(%rax,%r13), %rax
.L185:
	xorl	%edi, %edi
	addq	$24, %rax
	movq	%rdi, -24(%rax)
	movq	%rdi, -16(%rax)
	movq	%rdi, -8(%rax)
	decq	%rsi
	jne	.L185
	movq	%r14, %r12
	movq	%rdx, %r13
.L186:
	cmpq	%r13, %rcx
	je	.L201
	movq	0(%r13), %rsi
	xorl	%eax, %eax
	movq	%r13, %rdi
	movq	%rcx, 24(%rsp)
	movq	%rax, 0(%r13)
	addq	$24, %r12
	addq	$24, %r13
	movq	%rsi, -24(%r12)
	movq	-16(%r13), %rsi
	movq	%rax, -16(%r13)
	movq	%rsi, -16(%r12)
	movq	-8(%r13), %rsi
	movq	%rax, -8(%r13)
	movq	%rsi, -8(%r12)
	movq	%rdx, 16(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EED1Ev
	movq	24(%rsp), %rcx
	movq	16(%rsp), %rdx
	jmp	.L186
.L201:
	testq	%rdx, %rdx
	je	.L188
	movq	16(%rbp), %rsi
	movq	%rdx, %rdi
	subq	%rdx, %rsi
	call	_ZdlPvm@PLT
.L188:
	addq	%r15, %rbx
	movq	8(%rsp), %rax
	movq	%r14, 0(%rbp)
	imulq	$24, %rbx, %rbx
	addq	%r14, %rbx
	addq	%rax, %r14
	movq	%rbx, 8(%rbp)
	movq	%r14, 16(%rbp)
.L180:
	addq	$40, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
.L198:
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	.cfi_restore 15
	ret
	.cfi_endproc
.LFE5539:
	.size	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm, .-_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm
	.section	.rodata._ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_.str1.1,"aMS",@progbits,1
.LC1:
	.string	"vector::_M_realloc_insert"
	.section	.text._ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,"axG",@progbits,_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,comdat
	.align 2
	.weak	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.type	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_, @function
_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_:
.LFB5767:
	.cfi_startproc
	endbr64
	movabsq	$-6148914691236517205, %rax
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	movq	8(%rdi), %rbp
	movq	(%rdi), %r15
	movq	%rsi, (%rsp)
	movabsq	$768614336404564650, %rsi
	movq	%rbp, %rbx
	subq	%r15, %rbx
	sarq	$2, %rbx
	imulq	%rax, %rbx
	cmpq	%rsi, %rbx
	jne	.L203
	leaq	.LC1(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L203:
	cmpq	%r15, %rbp
	movl	$1, %eax
	movq	(%rsp), %r12
	movq	%rdi, %r13
	cmovne	%rbx, %rax
	addq	%rax, %rbx
	setc	%al
	subq	%r15, %r12
	movzbl	%al, %eax
	testq	%rax, %rax
	jne	.L213
	xorl	%r14d, %r14d
	testq	%rbx, %rbx
	je	.L208
	movabsq	$768614336404564650, %rax
	cmpq	%rax, %rbx
	cmova	%rax, %rbx
	jmp	.L207
.L213:
	movq	%rsi, %rbx
.L207:
	imulq	$12, %rbx, %rdi
	movq	%rdx, 8(%rsp)
	call	_Znwm@PLT
	movq	8(%rsp), %rdx
	movq	%rax, %r14
.L208:
	movq	(%rdx), %rax
	movq	%rax, (%r14,%r12)
	movl	8(%rdx), %eax
	movl	%eax, 8(%r14,%r12)
	testq	%r12, %r12
	jle	.L209
	movq	%r12, %rdx
	movq	%r15, %rsi
	movq	%r14, %rdi
	call	memmove@PLT
.L209:
	movq	(%rsp), %rcx
	leaq	12(%r14,%r12), %rax
	subq	%rcx, %rbp
	testq	%rbp, %rbp
	jle	.L210
	movq	%rcx, %rsi
	movq	%rax, %rdi
	movq	%rbp, %rcx
	rep movsb
.L210:
	addq	%rax, %rbp
	testq	%r15, %r15
	je	.L211
	movq	16(%r13), %rsi
	movq	%r15, %rdi
	subq	%r15, %rsi
	call	_ZdlPvm@PLT
.L211:
	imulq	$12, %rbx, %rax
	movq	%r14, 0(%r13)
	movq	%rbp, 8(%r13)
	leaq	(%r14,%rax), %rbx
	movq	%rbx, 16(%r13)
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5767:
	.size	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_, .-_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.text
	.align 2
	.type	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0, @function
_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0:
.LFB6334:
	.cfi_startproc
	movq	%rsi, %rdx
	movq	8(%rdi), %rsi
	cmpq	16(%rdi), %rsi
	je	.L221
	movq	(%rdx), %rax
	addq	$12, %rsi
	movq	%rax, -12(%rsi)
	movl	8(%rdx), %eax
	movl	%eax, -4(%rsi)
	movq	%rsi, 8(%rdi)
	ret
.L221:
	jmp	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.cfi_endproc
.LFE6334:
	.size	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0, .-_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	.section	.text._ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,"axG",@progbits,_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,comdat
	.align 2
	.weak	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
	.type	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_, @function
_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_:
.LFB5831:
	.cfi_startproc
	endbr64
	movabsq	$2305843009213693951, %rcx
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	movq	8(%rdi), %rax
	movq	(%rdi), %r14
	movq	%rax, %rbx
	movq	%rax, (%rsp)
	subq	%r14, %rbx
	sarq	$2, %rbx
	cmpq	%rcx, %rbx
	jne	.L225
	leaq	.LC1(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L225:
	cmpq	%r14, (%rsp)
	movl	$1, %eax
	movq	%rsi, %r15
	movq	%rdi, %r13
	cmovne	%rbx, %rax
	movq	%rsi, %rbp
	addq	%rax, %rbx
	setc	%al
	subq	%r14, %r15
	movzbl	%al, %eax
	testq	%rax, %rax
	jne	.L235
	xorl	%r12d, %r12d
	testq	%rbx, %rbx
	je	.L230
	movabsq	$2305843009213693951, %rax
	cmpq	%rax, %rbx
	cmova	%rax, %rbx
	jmp	.L229
.L235:
	movq	%rcx, %rbx
.L229:
	leaq	0(,%rbx,4), %rdi
	movq	%rdx, 8(%rsp)
	call	_Znwm@PLT
	movq	8(%rsp), %rdx
	movq	%rax, %r12
.L230:
	movl	(%rdx), %eax
	movl	%eax, (%r12,%r15)
	testq	%r15, %r15
	jle	.L231
	movq	%r15, %rdx
	movq	%r14, %rsi
	movq	%r12, %rdi
	call	memmove@PLT
.L231:
	movq	(%rsp), %rax
	leaq	4(%r12,%r15), %rdx
	subq	%rbp, %rax
	testq	%rax, %rax
	jle	.L232
	movq	%rdx, %rdi
	movq	%rbp, %rsi
	movq	%rax, %rcx
	rep movsb
.L232:
	leaq	(%rdx,%rax), %rbp
	testq	%r14, %r14
	je	.L233
	movq	16(%r13), %rsi
	movq	%r14, %rdi
	subq	%r14, %rsi
	call	_ZdlPvm@PLT
.L233:
	leaq	(%r12,%rbx,4), %rax
	movq	%r12, 0(%r13)
	movq	%rbp, 8(%r13)
	movq	%rax, 16(%r13)
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5831:
	.size	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_, .-_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
	.section	.text._ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc,comdat
	.align 2
	.weak	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	.type	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc, @function
_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc:
.LFB5838:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rdx, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	movq	%rsi, %rbx
	pushq	%rcx
	.cfi_def_cfa_offset 32
	call	_ZNKSt6vectorIbSaIbEE4sizeEv
	movq	%rax, %rdx
	movabsq	$9223372036854775744, %rax
	movq	%rax, %rcx
	subq	%rdx, %rcx
	cmpq	%rbx, %rcx
	jnb	.L243
	movq	%rbp, %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L243:
	cmpq	%rbx, %rdx
	cmovnb	%rdx, %rbx
	addq	%rbx, %rdx
	jc	.L242
	movabsq	$9223372036854775744, %rax
	cmpq	%rax, %rdx
	cmovbe	%rdx, %rax
.L242:
	popq	%rdx
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5838:
	.size	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc, .-_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	.section	.rodata._ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb.str1.1,"aMS",@progbits,1
.LC2:
	.string	"vector<bool>::_M_insert_aux"
	.section	.text._ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb,"axG",@progbits,_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb,comdat
	.align 2
	.weak	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb
	.type	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb, @function
_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb:
.LFB5589:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rdi, %rbx
	subq	$104, %rsp
	.cfi_def_cfa_offset 160
	movq	16(%rdi), %r14
	movq	%rsi, 16(%rsp)
	leaq	56(%rsp), %r15
	movq	%rdx, 24(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 88(%rsp)
	xorl	%eax, %eax
	movzbl	%cl, %eax
	cmpq	32(%rdi), %r14
	movl	%eax, (%rsp)
	je	.L250
	leaq	16(%rdi), %r13
	movq	%rsi, %rbp
	movl	$1, %esi
	movq	%r13, %rdi
	call	_ZStplRKSt13_Bit_iteratorl
	movl	24(%rbx), %ecx
	movl	24(%rsp), %esi
	movq	%rbp, %rdi
	movq	%rax, 72(%rsp)
	movq	72(%rsp), %r8
	movq	%rdx, 80(%rsp)
	movl	80(%rsp), %r9d
	movq	%r14, %rdx
	call	_ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0
	leaq	16(%rsp), %rdi
	call	_ZNKSt13_Bit_iteratordeEv
	movl	(%rsp), %esi
	movq	%r15, %rdi
	movq	%rax, 56(%rsp)
	movq	%rdx, 64(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	movq	%r13, %rdi
	call	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	jmp	.L249
.L250:
	leaq	.LC2(%rip), %rdx
	movl	$1, %esi
	call	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	movq	%rax, %rdi
	movq	%rax, %rbp
	call	_ZNSt13_Bvector_baseISaIbEE11_M_allocateEm.isra.0
	movq	(%rbx), %rdi
	addq	$63, %rbp
	movq	%rax, %r12
	movl	24(%rsp), %eax
	shrq	$6, %rbp
	movq	%r12, %rcx
	movl	%eax, 4(%rsp)
	movq	16(%rsp), %rax
	movl	4(%rsp), %edx
	movq	%rax, %rsi
	movq	%rax, 8(%rsp)
	call	_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.isra.0
	leaq	40(%rsp), %rdi
	movq	%rdx, 48(%rsp)
	movl	48(%rsp), %r13d
	movq	%rax, %r14
	movq	%rax, 40(%rsp)
	call	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	movq	%r15, %rdi
	movq	%r14, 56(%rsp)
	movl	%r13d, 64(%rsp)
	call	_ZNKSt13_Bit_iteratordeEv
	movl	(%rsp), %esi
	leaq	72(%rsp), %rdi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	movq	16(%rbx), %rdx
	movl	24(%rbx), %ecx
	movl	48(%rsp), %r9d
	movq	40(%rsp), %r8
	movl	4(%rsp), %esi
	movq	8(%rsp), %rdi
	call	_ZSt4copyISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0
	movq	%rbx, %rdi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	leaq	(%r12,%rbp,8), %rax
	movq	%r12, (%rbx)
	movq	%rax, 32(%rbx)
	xorl	%eax, %eax
	movl	%eax, 8(%rbx)
	movq	72(%rsp), %rax
	movq	%rax, 16(%rbx)
	movl	80(%rsp), %eax
	movl	%eax, 24(%rbx)
.L249:
	movq	88(%rsp), %rax
	subq	%fs:40, %rax
	je	.L252
	call	__stack_chk_fail@PLT
.L252:
	addq	$104, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5589:
	.size	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb, .-_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb
	.section	.text._ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_,"axG",@progbits,_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_,comdat
	.weak	_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_
	.type	_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_, @function
_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_:
.LFB5957:
	.cfi_startproc
	endbr64
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	movq	%rdx, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	movq	%r8, %rbx
	subq	$32, %rsp
	.cfi_def_cfa_offset 80
	movq	%rcx, 8(%rsp)
	movl	8(%rsp), %r14d
	movq	%rdx, (%rsp)
	cmpq	%rdi, %rdx
	je	.L255
	movzbl	(%r8), %r12d
	movq	%rdi, %r9
	testl	%esi, %esi
	je	.L256
	leaq	8(%rdi), %r13
	movl	%r12d, %ecx
	movl	$64, %edx
	call	_ZSt14__fill_bvectorPmjjb
	movq	%r13, %r9
.L256:
	movq	%rbp, %rcx
	movl	%r12d, %eax
	movq	%r9, %rdi
	subq	%r9, %rcx
	negl	%eax
	rep stosb
	testl	%r14d, %r14d
	je	.L254
	movzbl	(%rbx), %ecx
	movl	%r14d, %edx
	xorl	%esi, %esi
	jmp	.L264
.L255:
	cmpl	%esi, %r14d
	je	.L254
	movzbl	(%r8), %ecx
	movl	%r14d, %edx
.L264:
	addq	$32, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 48
	movq	%rbp, %rdi
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	jmp	_ZSt14__fill_bvectorPmjjb
.L254:
	.cfi_restore_state
	addq	$32, %rsp
	.cfi_def_cfa_offset 48
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r13
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5957:
	.size	_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_, .-_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_
	.section	.rodata._ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb.str1.1,"aMS",@progbits,1
.LC3:
	.string	"vector<bool>::_M_fill_insert"
	.section	.text._ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb,"axG",@progbits,_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb,comdat
	.align 2
	.weak	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb
	.type	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb, @function
_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb:
.LFB5763:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$120, %rsp
	.cfi_def_cfa_offset 176
	movq	%rsi, 16(%rsp)
	movq	%rdx, 24(%rsp)
	movb	%r8b, 12(%rsp)
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	testq	%rcx, %rcx
	je	.L265
	movq	(%rdi), %rax
	xorl	%edx, %edx
	movq	%rdi, %r13
	movq	%rcx, %rbx
	movq	%rsi, %r12
	xorl	%ecx, %ecx
	leaq	88(%rsp), %rsi
	movl	%edx, 96(%rsp)
	movq	%rax, 88(%rsp)
	movq	32(%rdi), %rax
	leaq	72(%rsp), %rdi
	leaq	12(%rsp), %r15
	movl	%ecx, 80(%rsp)
	movq	%rax, 72(%rsp)
	call	_ZStmiRKSt18_Bit_iterator_baseS1_
	movq	%r13, %rdi
	movq	%rax, %rbp
	call	_ZNKSt6vectorIbSaIbEE4sizeEv
	subq	%rax, %rbp
	cmpq	%rbx, %rbp
	jb	.L267
	leaq	16(%r13), %rbp
	movq	%rbx, %rsi
	movq	%rbp, %rdi
	call	_ZStplRKSt13_Bit_iteratorl
	movl	24(%r13), %ecx
	movl	24(%rsp), %esi
	movq	%r12, %rdi
	movq	%rax, 40(%rsp)
	movq	40(%rsp), %r8
	movq	%rdx, 48(%rsp)
	movq	16(%r13), %rdx
	movl	48(%rsp), %r9d
	call	_ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0
	leaq	16(%rsp), %rdi
	movq	%rbx, %rsi
	call	_ZStplRKSt13_Bit_iteratorl
	movq	16(%rsp), %rdi
	movq	24(%rsp), %rsi
	movq	%r15, %r8
	movq	%rdx, 64(%rsp)
	movq	%rdx, %rcx
	movq	%rax, %rdx
	movq	%rax, 56(%rsp)
	call	_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_
	movq	%rbx, %rsi
	movq	%rbp, %rdi
	call	_ZNSt18_Bit_iterator_base7_M_incrEl
	jmp	.L265
.L267:
	leaq	.LC3(%rip), %rdx
	movq	%rbx, %rsi
	leaq	40(%rsp), %r14
	movq	%r13, %rdi
	call	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	movq	%rax, %rdi
	movq	%rax, %rbp
	call	_ZNSt13_Bvector_baseISaIbEE11_M_allocateEm.isra.0
	movq	0(%r13), %rdi
	addq	$63, %rbp
	movq	%rax, %r12
	movl	24(%rsp), %eax
	shrq	$6, %rbp
	movq	%r12, %rcx
	movl	%eax, 8(%rsp)
	movq	16(%rsp), %rax
	movl	8(%rsp), %edx
	movq	%rax, %rsi
	movq	%rax, (%rsp)
	call	_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.isra.0
	movq	%rbx, %rsi
	movq	%r14, %rdi
	movq	%rax, 40(%rsp)
	movq	%rdx, 48(%rsp)
	call	_ZStplRKSt13_Bit_iteratorl
	movq	40(%rsp), %rdi
	movq	48(%rsp), %rsi
	movq	%r15, %r8
	movq	%rdx, %rcx
	movq	%rdx, 80(%rsp)
	movq	%rax, %rdx
	movq	%rax, 72(%rsp)
	call	_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_
	movq	%rbx, %rsi
	movq	%r14, %rdi
	call	_ZStplRKSt13_Bit_iteratorl
	movl	24(%r13), %ecx
	movl	8(%rsp), %esi
	movq	%rax, 88(%rsp)
	movq	(%rsp), %rdi
	movq	%rdx, 96(%rsp)
	movq	88(%rsp), %r8
	movq	16(%r13), %rdx
	movl	96(%rsp), %r9d
	call	_ZSt4copyISt13_Bit_iteratorS0_ET0_T_S2_S1_.isra.0
	movq	%r13, %rdi
	movq	%rax, 56(%rsp)
	movq	%rdx, 64(%rsp)
	call	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	leaq	(%r12,%rbp,8), %rax
	movq	%r12, 0(%r13)
	movq	%rax, 32(%r13)
	xorl	%eax, %eax
	movl	%eax, 8(%r13)
	movq	56(%rsp), %rax
	movq	%rax, 16(%r13)
	movl	64(%rsp), %eax
	movl	%eax, 24(%r13)
.L265:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L268
	call	__stack_chk_fail@PLT
.L268:
	addq	$120, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5763:
	.size	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb, .-_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb
	.section	.text._ZNSt6vectorIbSaIbEE6resizeEmb,"axG",@progbits,_ZNSt6vectorIbSaIbEE6resizeEmb,comdat
	.align 2
	.weak	_ZNSt6vectorIbSaIbEE6resizeEmb
	.type	_ZNSt6vectorIbSaIbEE6resizeEmb, @function
_ZNSt6vectorIbSaIbEE6resizeEmb:
.LFB5266:
	.cfi_startproc
	endbr64
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	movl	%edx, %r12d
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	movq	%rsi, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	movq	%rdi, %rbx
	subq	$64, %rsp
	.cfi_def_cfa_offset 96
	movq	%fs:40, %rax
	movq	%rax, 56(%rsp)
	xorl	%eax, %eax
	call	_ZNKSt6vectorIbSaIbEE4sizeEv
	cmpq	%rax, %rbp
	jnb	.L274
	movq	(%rbx), %rax
	leaq	40(%rsp), %rdi
	movq	%rbp, %rsi
	movq	%rax, 40(%rsp)
	xorl	%eax, %eax
	movl	%eax, 48(%rsp)
	call	_ZStplRKSt13_Bit_iteratorl
	movq	%rax, 8(%rsp)
	movq	%rdx, 16(%rsp)
	movq	%rax, 16(%rbx)
	movl	16(%rsp), %eax
	movl	%eax, 24(%rbx)
	movq	56(%rsp), %rax
	subq	%fs:40, %rax
	je	.L277
	jmp	.L278
.L274:
	movl	24(%rbx), %edx
	movq	16(%rbx), %rsi
	movl	%edx, 48(%rsp)
	movq	%rsi, 40(%rsp)
	movq	56(%rsp), %rdx
	subq	%fs:40, %rdx
	jne	.L278
	movq	%rbp, %rcx
	movq	48(%rsp), %rdx
	addq	$64, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 32
	movzbl	%r12b, %r8d
	movq	%rbx, %rdi
	subq	%rax, %rcx
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	jmp	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb
.L278:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
.L277:
	addq	$64, %rsp
	.cfi_def_cfa_offset 32
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5266:
	.size	_ZNSt6vectorIbSaIbEE6resizeEmb, .-_ZNSt6vectorIbSaIbEE6resizeEmb
	.section	.text._ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi,"axG",@progbits,_ZN5GraphC5ERKSt6vectorI4edgeSaIS1_EEi,comdat
	.align 2
	.weak	_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi
	.type	_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi, @function
_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi:
.LFB4849:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA4849
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movq	%rsi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movslq	%edx, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rdi, %rbx
	subq	$72, %rsp
	.cfi_def_cfa_offset 128
	movq	%fs:40, %rax
	movq	%rax, 56(%rsp)
	xorl	%eax, %eax
	xorl	%eax, %eax
	movq	%rax, (%rdi)
	movq	%rax, 8(%rdi)
	movq	%rax, 16(%rdi)
	testq	%rbp, %rbp
	jne	.L281
.L283:
	leaq	nonEmptyIndices(%rip), %r14
	xorl	%edx, %edx
	movq	%rbp, %rsi
	movq	%r14, %rdi
.LEHB4:
	call	_ZNSt6vectorIbSaIbEE6resizeEmb
	movq	8(%r12), %rax
	movq	(%r12), %rbp
	movq	%rax, 24(%rsp)
	leaq	40(%rsp), %rax
	movq	%rax, (%rsp)
	jmp	.L284
.L281:
	movq	%rbp, %rsi
	call	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm
	jmp	.L283
.L285:
	movslq	0(%rbp), %rax
	movl	4(%rbp), %r13d
	movl	8(%rbp), %r15d
	movq	(%rsp), %rsi
	imulq	$24, %rax, %rdi
	addq	(%rbx), %rdi
	movq	%rax, 8(%rsp)
	movq	%rax, %r12
	movl	%eax, 40(%rsp)
	movl	%r13d, 44(%rsp)
	movl	%r15d, 48(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movslq	%r13d, %rax
	movq	(%rsp), %rsi
	movl	%r13d, 40(%rsp)
	imulq	$24, %rax, %rdi
	addq	(%rbx), %rdi
	movq	%rax, 16(%rsp)
	movl	%r12d, 44(%rsp)
	movl	%r15d, 48(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
.LEHE4:
	movq	(%r14), %r12
	movq	8(%rsp), %rsi
	addq	$12, %rbp
	movq	%r12, %rdi
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	movq	(%rsp), %rdi
	movl	$1, %esi
	movq	%rax, 40(%rsp)
	movq	%rdx, 48(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	movq	16(%rsp), %rsi
	movq	%r12, %rdi
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	movq	(%rsp), %rdi
	movl	$1, %esi
	movq	%rax, 40(%rsp)
	movq	%rdx, 48(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
.L284:
	cmpq	%rbp, 24(%rsp)
	jne	.L285
	jmp	.L294
.L289:
	endbr64
	movq	%rax, %rbp
.L286:
	movq	%rbx, %rdi
	call	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED1Ev
	movq	56(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L293
	movq	%rbp, %rdi
.LEHB5:
	call	_Unwind_Resume@PLT
.LEHE5:
.L294:
	movq	56(%rsp), %rax
	subq	%fs:40, %rax
	je	.L288
.L293:
	call	__stack_chk_fail@PLT
.L288:
	addq	$72, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4849:
	.section	.gcc_except_table
.LLSDA4849:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE4849-.LLSDACSB4849
.LLSDACSB4849:
	.uleb128 .LEHB4-.LFB4849
	.uleb128 .LEHE4-.LEHB4
	.uleb128 .L289-.LFB4849
	.uleb128 0
	.uleb128 .LEHB5-.LFB4849
	.uleb128 .LEHE5-.LEHB5
	.uleb128 0
	.uleb128 0
.LLSDACSE4849:
	.section	.text._ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi,"axG",@progbits,_ZN5GraphC5ERKSt6vectorI4edgeSaIS1_EEi,comdat
	.size	_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi, .-_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi
	.weak	_ZN5GraphC1ERKSt6vectorI4edgeSaIS1_EEi
	.set	_ZN5GraphC1ERKSt6vectorI4edgeSaIS1_EEi,_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi
	.section	.text._ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,"axG",@progbits,_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,comdat
	.align 2
	.weak	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.type	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_, @function
_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_:
.LFB6021:
	.cfi_startproc
	endbr64
	movabsq	$1152921504606846975, %rcx
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	movq	8(%rdi), %rax
	movq	(%rdi), %r14
	movq	%rax, %rbx
	movq	%rax, (%rsp)
	subq	%r14, %rbx
	sarq	$3, %rbx
	cmpq	%rcx, %rbx
	jne	.L296
	leaq	.LC1(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L296:
	cmpq	%r14, (%rsp)
	movl	$1, %eax
	movq	%rsi, %r15
	movq	%rdi, %r13
	cmovne	%rbx, %rax
	movq	%rsi, %rbp
	addq	%rax, %rbx
	setc	%al
	subq	%r14, %r15
	movzbl	%al, %eax
	testq	%rax, %rax
	jne	.L306
	xorl	%r12d, %r12d
	testq	%rbx, %rbx
	je	.L301
	movabsq	$1152921504606846975, %rax
	cmpq	%rax, %rbx
	cmova	%rax, %rbx
	jmp	.L300
.L306:
	movq	%rcx, %rbx
.L300:
	leaq	0(,%rbx,8), %rdi
	movq	%rdx, 8(%rsp)
	call	_Znwm@PLT
	movq	8(%rsp), %rdx
	movq	%rax, %r12
.L301:
	movq	(%rdx), %rax
	movq	%rax, (%r12,%r15)
	testq	%r15, %r15
	jle	.L302
	movq	%r15, %rdx
	movq	%r14, %rsi
	movq	%r12, %rdi
	call	memmove@PLT
.L302:
	movq	(%rsp), %rax
	leaq	8(%r12,%r15), %rdx
	subq	%rbp, %rax
	testq	%rax, %rax
	jle	.L303
	movq	%rdx, %rdi
	movq	%rbp, %rsi
	movq	%rax, %rcx
	rep movsb
.L303:
	leaq	(%rdx,%rax), %rbp
	testq	%r14, %r14
	je	.L304
	movq	16(%r13), %rsi
	movq	%r14, %rdi
	subq	%r14, %rsi
	call	_ZdlPvm@PLT
.L304:
	leaq	(%r12,%rbx,8), %rax
	movq	%r12, 0(%r13)
	movq	%rbp, 8(%r13)
	movq	%rax, 16(%r13)
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE6021:
	.size	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_, .-_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.section	.text._ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_,"axG",@progbits,_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_,comdat
	.align 2
	.weak	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
	.type	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_, @function
_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_:
.LFB5308:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rsi, %rdx
	movq	%rdi, %rbx
	movq	8(%rdi), %rsi
	cmpq	16(%rdi), %rsi
	je	.L314
	movq	(%rdx), %rax
	addq	$8, %rsi
	movq	%rax, -8(%rsi)
	movq	%rsi, 8(%rdi)
	jmp	.L315
.L314:
	call	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.L315:
	movq	8(%rbx), %rsi
	movq	(%rbx), %rdi
	xorl	%edx, %edx
	popq	%rbx
	.cfi_def_cfa_offset 8
	movq	-8(%rsi), %rcx
	subq	%rdi, %rsi
	sarq	$3, %rsi
	decq	%rsi
	jmp	_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops14_Iter_comp_valISt4lessIS2_EEEEvT_T0_SE_T1_RT2_.isra.0
	.cfi_endproc
.LFE5308:
	.size	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_, .-_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
	.text
	.globl	_Z7primMSTRK5Graphii
	.type	_Z7primMSTRK5Graphii, @function
_Z7primMSTRK5Graphii:
.LFB4859:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	xorl	%r14d, %r14d
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	movl	%edx, %r13d
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movl	%ecx, %r12d
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movq	%rsi, %rbp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rdi, %rbx
	subq	$104, %rsp
	.cfi_def_cfa_offset 160
	movq	%fs:40, %rax
	movq	%rax, 88(%rsp)
	xorl	%eax, %eax
.L318:
	cmpl	%r13d, %r14d
	jge	.L360
	movq	8+parent(%rip), %rsi
	cmpq	16+parent(%rip), %rsi
	movl	$-1, 72(%rsp)
	je	.L319
	movl	$-1, (%rsi)
	addq	$4, %rsi
	movq	%rsi, 8+parent(%rip)
	jmp	.L320
.L319:
	leaq	72(%rsp), %rdx
	leaq	parent(%rip), %rdi
	call	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
.L320:
	movq	8+dist(%rip), %rsi
	cmpq	16+dist(%rip), %rsi
	movl	$2147483647, 72(%rsp)
	je	.L321
	movl	$2147483647, (%rsi)
	addq	$4, %rsi
	movq	%rsi, 8+dist(%rip)
	jmp	.L322
.L321:
	leaq	72(%rsp), %rdx
	leaq	dist(%rip), %rdi
	call	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
.L322:
	movq	16+fixed(%rip), %rsi
	cmpq	32+fixed(%rip), %rsi
	je	.L323
	leaq	16+fixed(%rip), %rdi
	movq	%rsi, 8(%rsp)
	movl	24+fixed(%rip), %r15d
	call	_ZNSt18_Bit_iterator_base10_M_bump_upEv
	movq	8(%rsp), %rsi
	leaq	56(%rsp), %rdi
	movl	%r15d, 64(%rsp)
	movq	%rsi, 56(%rsp)
	call	_ZNKSt13_Bit_iteratordeEv
	leaq	72(%rsp), %rdi
	xorl	%esi, %esi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	jmp	.L324
.L323:
	movl	24+fixed(%rip), %eax
	xorl	%ecx, %ecx
	movq	%rsi, 40(%rsp)
	leaq	fixed(%rip), %rdi
	movl	%eax, 48(%rsp)
	movq	48(%rsp), %rdx
	call	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb
.L324:
	incl	%r14d
	jmp	.L318
.L360:
	movq	dist(%rip), %rax
	movslq	%r12d, %rdx
	xorl	%esi, %esi
	leaq	H(%rip), %rdi
	movl	%r12d, 72(%rsp)
	xorl	%r12d, %r12d
	movl	%esi, (%rax,%rdx,4)
	movl	(%rax), %eax
	leaq	72(%rsp), %rsi
	movl	%eax, 76(%rsp)
	call	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
	movq	%rbp, %rdi
	call	_Z7initMWERK5Graph
.L326:
	movabsq	$-6148914691236517205, %rcx
	movq	8(%rbp), %rax
	subq	0(%rbp), %rax
	sarq	$3, %rax
	imulq	%rcx, %rax
	cmpq	%rax, %r12
	jnb	.L361
	movq	8+H(%rip), %rax
	movq	H(%rip), %rdi
	movq	%rax, %rdx
	movl	(%rdi), %r13d
	leaq	-8(%rax), %r14
	subq	%rdi, %rdx
	cmpq	$8, %rdx
	jle	.L327
	movq	%r14, %rcx
	movq	(%rdi), %rdx
	movq	-8(%rax), %r8
	movl	$2, %esi
	subq	%rdi, %rcx
	sarq	$3, %rcx
	movq	%rdx, -8(%rax)
	leaq	-1(%rcx), %rax
	cqto
	idivq	%rsi
	xorl	%esi, %esi
.L328:
	cmpq	%rax, %rsi
	jge	.L362
	leaq	1(%rsi), %rdx
	addq	%rdx, %rdx
	leaq	-1(%rdx), %r9
	leaq	(%rdi,%rdx,8), %r11
	leaq	(%rdi,%r9,8), %r10
	movl	4(%r10), %r15d
	cmpl	%r15d, 4(%r11)
	jg	.L329
	jne	.L349
	movl	(%r10), %r10d
	cmpl	%r10d, (%r11)
	cmovle	%rdx, %r9
	jmp	.L329
.L349:
	movq	%rdx, %r9
.L329:
	movq	(%rdi,%r9,8), %rdx
	movq	%rdx, (%rdi,%rsi,8)
	movq	%r9, %rsi
	jmp	.L328
.L362:
	testb	$1, %cl
	jne	.L331
	leaq	-2(%rcx), %rax
	movl	$2, %ecx
	cqto
	idivq	%rcx
	cmpq	%rax, %rsi
	jne	.L331
	leaq	(%rsi,%rsi), %rax
	incq	%rax
	movq	(%rdi,%rax,8), %rdx
	movq	%rdx, (%rdi,%rsi,8)
	movq	%rax, %rsi
.L331:
	movq	%r8, %rcx
	xorl	%edx, %edx
	call	_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops14_Iter_comp_valISt4lessIS2_EEEEvT_T0_SE_T1_RT2_.isra.0
.L327:
	movq	%r14, 8+H(%rip)
	movq	fixed(%rip), %rdi
	movslq	%r13d, %r14
	leaq	fixed(%rip), %r15
	movq	%r14, %rsi
	movl	%r13d, 56(%rsp)
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	movq	%rax, 72(%rsp)
	leaq	72(%rsp), %rax
	movq	%rax, %rdi
	movq	%rdx, 80(%rsp)
	movq	%rax, 8(%rsp)
	call	_ZNKSt14_Bit_referencecvbEv
	testb	%al, %al
	je	.L332
.L342:
	incq	%r12
	jmp	.L326
.L332:
	leaq	56(%rsp), %rsi
	leaq	R(%rip), %rdi
	call	_ZNSt3setIiSt4lessIiESaIiEE6insertERKi
	movq	fixed(%rip), %rdi
	movq	%r14, %rsi
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	movq	8(%rsp), %rdi
	movl	$1, %esi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNSt14_Bit_referenceaSEb.isra.0
	movq	parent(%rip), %rax
	movl	(%rax,%r14,4), %eax
	cmpl	$-1, %eax
	je	.L337
	movq	8(%rsp), %rsi
	leaq	T(%rip), %rdi
	movl	%r13d, 72(%rsp)
	movl	%eax, 76(%rsp)
	call	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EE6insertEOS0_
	jmp	.L337
.L336:
	movslq	4(%r13), %rsi
	movq	(%r15), %rdi
	movl	%esi, 20(%rsp)
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	movq	8(%rsp), %rdi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNKSt14_Bit_referencecvbEv
	testb	%al, %al
	jne	.L335
	movl	20(%rsp), %edx
	movl	%r14d, %esi
	movq	%rbp, %rdi
	call	_Z12processEdge1RK5Graphii
.L335:
	addq	$12, %r13
.L334:
	cmpq	%r13, 24(%rsp)
	jne	.L336
.L337:
	cmpq	$0, 40+R(%rip)
	je	.L340
	movq	24+R(%rip), %rax
	leaq	R(%rip), %rdi
	movl	32(%rax), %r14d
	movl	%r14d, %esi
	call	_ZNSt3setIiSt4lessIiESaIiEE4findERKi.isra.0
	leaq	R(%rip), %rdi
	movq	%rax, %rsi
	call	_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	movslq	%r14d, %rax
	imulq	$24, %rax, %rax
	addq	0(%rbp), %rax
	movq	8(%rax), %rcx
	movq	(%rax), %r13
	movq	%rcx, 24(%rsp)
	jmp	.L334
.L341:
	movq	24+Q(%rip), %rax
	leaq	Q(%rip), %rdi
	movslq	32(%rax), %r14
	movl	%r14d, %esi
	call	_ZNSt3setIiSt4lessIiESaIiEE4findERKi.isra.0
	leaq	Q(%rip), %rdi
	movq	%rax, %rsi
	call	_ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	movq	(%r15), %rdi
	movq	%r14, %rsi
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	movq	8(%rsp), %rdi
	movq	%rax, 72(%rsp)
	movq	%rdx, 80(%rsp)
	call	_ZNKSt14_Bit_referencecvbEv
	testb	%al, %al
	jne	.L340
	movq	dist(%rip), %rax
	movq	8(%rsp), %rsi
	movl	%r14d, 72(%rsp)
	leaq	H(%rip), %rdi
	movl	(%rax,%r14,4), %eax
	movl	%eax, 76(%rsp)
	call	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
.L340:
	cmpq	$0, 40+Q(%rip)
	jne	.L341
	jmp	.L342
.L361:
	decq	%rax
	cmpq	40+T(%rip), %rax
	leaq	8(%rbx), %rsi
	jne	.L344
	xorl	%edx, %edx
	xorl	%eax, %eax
	xorl	%ecx, %ecx
	movq	%rsi, 24(%rbx)
	movq	%rdx, 16(%rbx)
	movq	16+T(%rip), %rdi
	movl	%eax, 8(%rbx)
	movq	%rsi, 32(%rbx)
	movq	%rcx, 40(%rbx)
	testq	%rdi, %rdi
	je	.L317
	call	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_.isra.0
	movq	%rax, %rdx
.L346:
	movq	%rdx, %rcx
	movq	16(%rdx), %rdx
	testq	%rdx, %rdx
	jne	.L346
	movq	%rcx, 24(%rbx)
	movq	%rax, %rdx
.L347:
	movq	%rdx, %rcx
	movq	24(%rdx), %rdx
	testq	%rdx, %rdx
	jne	.L347
	movq	40+T(%rip), %rdx
	movq	%rcx, 32(%rbx)
	movq	%rax, 16(%rbx)
	movq	%rdx, 40(%rbx)
	jmp	.L317
.L344:
	movl	$12, %ecx
	xorl	%eax, %eax
	movq	%rbx, %rdi
	rep stosl
	movq	%rsi, 24(%rbx)
	movq	%rsi, 32(%rbx)
.L317:
	movq	88(%rsp), %rax
	subq	%fs:40, %rax
	je	.L348
	call	__stack_chk_fail@PLT
.L348:
	addq	$104, %rsp
	.cfi_def_cfa_offset 56
	movq	%rbx, %rax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4859:
	.size	_Z7primMSTRK5Graphii, .-_Z7primMSTRK5Graphii
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC4:
	.string	"2010_United_Serial\n"
.LC5:
	.string	"Serial Elpased Time in ms:%f\n"
.LC6:
	.string	"%d - %d\n"
	.section	.text.startup
	.globl	main
	.type	main, @function
main:
.LFB4866:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA4866
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC4(%rip), %rsi
	movl	$2, %edi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$152, %rsp
	.cfi_def_cfa_offset 208
	movq	%fs:40, %rax
	movq	%rax, 136(%rsp)
	xorl	%eax, %eax
	leaq	88(%rsp), %rbp
.LEHB6:
	call	__printf_chk@PLT
.LEHE6:
	xorl	%eax, %eax
	movq	%rbp, %rsi
	movl	$866, 96(%rsp)
	movq	%rax, 40(%rsp)
	movq	%rax, 48(%rsp)
	movq	%rax, 56(%rsp)
	movl	$1, %eax
	salq	$32, %rax
	movq	%rax, 88(%rsp)
	leaq	40(%rsp), %rax
	movq	%rax, %rdi
	movq	%rax, 8(%rsp)
.LEHB7:
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movl	$1, %eax
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movl	$187, 96(%rsp)
	salq	$33, %rax
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movl	$3, %eax
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movl	$399, 96(%rsp)
	salq	$32, %rax
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$21474836481, %rax
	movl	$605, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$42949672961, %rax
	movl	$1720, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$47244640257, %rax
	movl	$888, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$51539607553, %rax
	movl	$409, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movl	$2147483649, %eax
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movl	$739, 96(%rsp)
	addq	%rax, %rax
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$12884901890, %rax
	movl	$213, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$17179869186, %rax
	movl	$541, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$21474836482, %rax
	movl	$759, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$25769803778, %rax
	movl	$1416, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$30064771074, %rax
	movl	$1391, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$34359738370, %rax
	movl	$2474, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$38654705666, %rax
	movl	$2586, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$42949672962, %rax
	movl	$2421, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$47244640258, %rax
	movl	$1625, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$51539607554, %rax
	movl	$765, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$17179869187, %rax
	movl	$330, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$21474836483, %rax
	movl	$547, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$51539607555, %rax
	movl	$561, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$21474836484, %rax
	movl	$226, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$25769803780, %rax
	movl	$912, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$25769803781, %rax
	movl	$689, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$30064771077, %rax
	movl	$731, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$47244640261, %rax
	movl	$1199, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$51539607557, %rax
	movl	$213, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$30064771078, %rax
	movl	$224, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$34359738374, %rax
	movl	$1378, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$34359738375, %rax
	movl	$1234, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movq	8(%rsp), %rdi
	movq	%rbp, %rsi
	movabsq	$47244640263, %rax
	movl	$641, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	leaq	40(%rsp), %r12
	movq	%rbp, %rsi
	movabsq	$51539607559, %rax
	movl	$631, 96(%rsp)
	movq	%r12, %rdi
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movabsq	$38654705672, %rax
	movq	%rbp, %rsi
	movq	%r12, %rdi
	movl	$337, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movabsq	$47244640264, %rax
	movq	%rbp, %rsi
	movq	%r12, %rdi
	movl	$861, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movabsq	$42949672969, %rax
	movq	%rbp, %rsi
	movq	%r12, %rdi
	movl	$678, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movabsq	$47244640265, %rax
	movq	%rbp, %rsi
	movq	%r12, %rdi
	movl	$967, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movabsq	$47244640266, %rax
	movq	%rbp, %rsi
	movq	%r12, %rdi
	movl	$1024, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	movabsq	$51539607563, %rax
	movq	%rbp, %rsi
	movq	%r12, %rdi
	movl	$1013, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNSt6vectorI4edgeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_.isra.0
	leaq	64(%rsp), %r13
	movl	$12000, %edx
	movq	%r12, %rsi
	movq	%r13, %rdi
	call	_ZN5GraphC1ERKSt6vectorI4edgeSaIS1_EEi
.LEHE7:
	xorl	%ebx, %ebx
	leaq	nonEmptyIndices(%rip), %r15
.L364:
	movq	%r15, %rdi
	call	_ZNKSt6vectorIbSaIbEE4sizeEv
	cmpq	%rax, %rbx
	jnb	.L365
	movq	(%r15), %rdi
	movq	%rbx, %rsi
	call	_ZNSt6vectorIbSaIbEEixEm.isra.0
	movq	%rbp, %rdi
	movq	%rdx, 96(%rsp)
	movq	%rax, 88(%rsp)
	call	_ZNKSt14_Bit_referencecvbEv
	movl	%eax, %edx
	leaq	1(%rbx), %rax
	testb	%dl, %dl
	je	.L374
	movl	%ebx, %r14d
	jmp	.L365
.L374:
	movq	%rax, %rbx
	jmp	.L364
.L365:
	leaq	24(%rsp), %rdi
.LEHB8:
	call	cudaEventCreate@PLT
	leaq	32(%rsp), %rdi
	call	cudaEventCreate@PLT
	movq	24(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movl	%r14d, %ecx
	movl	$12000, %edx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	call	_Z7primMSTRK5Graphii
	movq	104(%rsp), %rdi
	call	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E.isra.0
	movq	32(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	32(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	32(%rsp), %rdx
	movq	24(%rsp), %rsi
	movq	%rbp, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC5(%rip), %rsi
	movl	$2, %edi
	movb	$1, %al
	cvtss2sd	88(%rsp), %xmm0
	call	__printf_chk@PLT
	movq	24+T(%rip), %rbp
	leaq	8+T(%rip), %r14
.L367:
	cmpq	%r14, %rbp
	je	.L380
	movl	36(%rbp), %ecx
	movl	32(%rbp), %edx
	leaq	.LC6(%rip), %rsi
	xorl	%eax, %eax
	movl	$2, %edi
	call	__printf_chk@PLT
.LEHE8:
	movq	%rbp, %rdi
	call	_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@PLT
	movq	%rax, %rbp
	jmp	.L367
.L380:
	movq	%r13, %rdi
	call	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED1Ev
	movq	%r12, %rdi
	call	_ZNSt6vectorI4edgeSaIS0_EED1Ev
	movq	136(%rsp), %rax
	subq	%fs:40, %rax
	je	.L372
	jmp	.L378
.L376:
	endbr64
	movq	%rax, %rbp
.L369:
	movq	%r13, %rdi
	call	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED1Ev
	jmp	.L370
.L375:
	endbr64
	movq	%rax, %rbp
.L370:
	movq	8(%rsp), %rdi
	call	_ZNSt6vectorI4edgeSaIS0_EED1Ev
	movq	136(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L378
	movq	%rbp, %rdi
.LEHB9:
	call	_Unwind_Resume@PLT
.LEHE9:
.L378:
	call	__stack_chk_fail@PLT
.L372:
	addq	$152, %rsp
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4866:
	.section	.gcc_except_table
.LLSDA4866:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE4866-.LLSDACSB4866
.LLSDACSB4866:
	.uleb128 .LEHB6-.LFB4866
	.uleb128 .LEHE6-.LEHB6
	.uleb128 0
	.uleb128 0
	.uleb128 .LEHB7-.LFB4866
	.uleb128 .LEHE7-.LEHB7
	.uleb128 .L375-.LFB4866
	.uleb128 0
	.uleb128 .LEHB8-.LFB4866
	.uleb128 .LEHE8-.LEHB8
	.uleb128 .L376-.LFB4866
	.uleb128 0
	.uleb128 .LEHB9-.LFB4866
	.uleb128 .LEHE9-.LEHB9
	.uleb128 0
	.uleb128 0
.LLSDACSE4866:
	.section	.text.startup
	.size	main, .-main
	.type	_GLOBAL__sub_I_parent, @function
_GLOBAL__sub_I_parent:
.LFB6253:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	xorl	%edx, %edx
	leaq	_ZNSt6vectorIiSaIiEED1Ev(%rip), %rbp
	leaq	parent(%rip), %rsi
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	leaq	__dso_handle(%rip), %rbx
	movq	%rbp, %rdi
	pushq	%rax
	.cfi_def_cfa_offset 32
	movq	%rdx, parent(%rip)
	movq	%rdx, 8+parent(%rip)
	movq	%rdx, 16+parent(%rip)
	movq	%rbx, %rdx
	call	__cxa_atexit@PLT
	xorl	%ecx, %ecx
	movq	%rbx, %rdx
	movq	%rbp, %rdi
	leaq	dist(%rip), %rsi
	movq	%rcx, dist(%rip)
	leaq	_ZNSt6vectorIbSaIbEED1Ev(%rip), %rbp
	movq	%rcx, 8+dist(%rip)
	movq	%rcx, 16+dist(%rip)
	call	__cxa_atexit@PLT
	xorl	%esi, %esi
	movq	%rbx, %rdx
	movq	%rbp, %rdi
	movq	%rsi, fixed(%rip)
	movq	%rsi, 8+fixed(%rip)
	movq	%rsi, 16+fixed(%rip)
	movq	%rsi, 24+fixed(%rip)
	movq	%rsi, 32+fixed(%rip)
	leaq	fixed(%rip), %rsi
	call	__cxa_atexit@PLT
	xorl	%edi, %edi
	movq	%rbx, %rdx
	leaq	nonEmptyIndices(%rip), %rsi
	movq	%rdi, nonEmptyIndices(%rip)
	movq	%rdi, 8+nonEmptyIndices(%rip)
	movq	%rdi, 16+nonEmptyIndices(%rip)
	movq	%rdi, 24+nonEmptyIndices(%rip)
	movq	%rdi, 32+nonEmptyIndices(%rip)
	movq	%rbp, %rdi
	leaq	_ZNSt3setIiSt4lessIiESaIiEED1Ev(%rip), %rbp
	call	__cxa_atexit@PLT
	xorl	%r8d, %r8d
	movq	%rbx, %rdx
	leaq	H(%rip), %rsi
	leaq	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED1Ev(%rip), %rdi
	movq	%r8, H(%rip)
	movq	%r8, 8+H(%rip)
	movq	%r8, 16+H(%rip)
	call	__cxa_atexit@PLT
	xorl	%r9d, %r9d
	xorl	%r10d, %r10d
	xorl	%r11d, %r11d
	leaq	8+Q(%rip), %rax
	movq	%rbx, %rdx
	movq	%rbp, %rdi
	movl	%r9d, 8+Q(%rip)
	leaq	-8(%rax), %rsi
	movq	%r10, 16+Q(%rip)
	movq	%r11, 40+Q(%rip)
	movq	%rax, 24+Q(%rip)
	movq	%rax, 32+Q(%rip)
	call	__cxa_atexit@PLT
	xorl	%eax, %eax
	xorl	%edx, %edx
	movq	%rbp, %rdi
	movl	%eax, 8+R(%rip)
	xorl	%eax, %eax
	leaq	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED1Ev(%rip), %rbp
	movq	%rax, 16+R(%rip)
	leaq	8+R(%rip), %rax
	movq	%rdx, 40+R(%rip)
	leaq	-8(%rax), %rsi
	movq	%rbx, %rdx
	movq	%rax, 24+R(%rip)
	movq	%rax, 32+R(%rip)
	call	__cxa_atexit@PLT
	leaq	8+T(%rip), %rax
	xorl	%esi, %esi
	xorl	%edi, %edi
	movq	%rbx, %rdx
	movq	%rsi, 16+T(%rip)
	xorl	%ecx, %ecx
	leaq	-8(%rax), %rsi
	movq	%rdi, 40+T(%rip)
	movq	%rbp, %rdi
	movl	%ecx, 8+T(%rip)
	movq	%rax, 24+T(%rip)
	movq	%rax, 32+T(%rip)
	call	__cxa_atexit@PLT
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	xorl	%r10d, %r10d
	leaq	8+mwe(%rip), %rax
	movq	%rbx, %rdx
	movq	%rbp, %rdi
	movl	%r8d, 8+mwe(%rip)
	movq	%r9, 16+mwe(%rip)
	leaq	-8(%rax), %rsi
	movq	%rax, 24+mwe(%rip)
	movq	%rax, 32+mwe(%rip)
	movq	%r10, 40+mwe(%rip)
	popq	%r11
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	jmp	__cxa_atexit@PLT
	.cfi_endproc
.LFE6253:
	.size	_GLOBAL__sub_I_parent, .-_GLOBAL__sub_I_parent
	.section	.init_array
	.align 8
	.quad	_GLOBAL__sub_I_parent
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.globl	mwe
	.bss
	.align 32
	.type	mwe, @object
	.size	mwe, 48
mwe:
	.zero	48
	.globl	T
	.align 32
	.type	T, @object
	.size	T, 48
T:
	.zero	48
	.globl	R
	.align 32
	.type	R, @object
	.size	R, 48
R:
	.zero	48
	.globl	Q
	.align 32
	.type	Q, @object
	.size	Q, 48
Q:
	.zero	48
	.globl	H
	.align 32
	.type	H, @object
	.size	H, 32
H:
	.zero	32
	.globl	nonEmptyIndices
	.align 32
	.type	nonEmptyIndices, @object
	.size	nonEmptyIndices, 40
nonEmptyIndices:
	.zero	40
	.globl	fixed
	.align 32
	.type	fixed, @object
	.size	fixed, 40
fixed:
	.zero	40
	.globl	dist
	.align 16
	.type	dist, @object
	.size	dist, 24
dist:
	.zero	24
	.globl	parent
	.align 16
	.type	parent, @object
	.size	parent, 24
parent:
	.zero	24
	.hidden	DW.ref.__gxx_personality_v0
	.weak	DW.ref.__gxx_personality_v0
	.section	.data.rel.local.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
	.align 8
	.type	DW.ref.__gxx_personality_v0, @object
	.size	DW.ref.__gxx_personality_v0, 8
DW.ref.__gxx_personality_v0:
	.quad	__gxx_personality_v0
	.hidden	__dso_handle
	.ident	"GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.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:



#include <hip/hip_runtime.h>
#include <stdio.h> 
#include <queue>
#include <set>
#include <list>
#include <iterator>
#include <algorithm>

// Structure to represent a vertex and its distance
struct distNode { 
	int node; 
	int dist; 
  bool operator<(const distNode& rhs) const
    {
        return dist > rhs.dist || (dist == rhs.dist && node > rhs.node);;
    }
}; 

// Structure to represent an edge
struct edge { 
	int from; 
	int to; 
 	int weight;
   	bool operator<(const edge& rhs) const
     {
         return weight > rhs.weight || (weight == rhs.weight && to > rhs.to);
     }
};

// Structure to represent a edge source & destination
struct fromTo { 
	int from; 
	int to; 
   	bool operator<(const fromTo& rhs) const
     {
         return to < rhs.to || (to == rhs.to && from < rhs.from);
     }
};


// Initialize global variables
std::vector<int> parent; // Vector to store parent nodes
std::vector<int> dist; // dist values used to pick minimum weight edge in cut 
std::vector<bool> fixed; // Vector to store flags for node traversal
std::vector<bool> nonEmptyIndices; // Vector to store non empty indices of vertices

std::priority_queue<distNode> H; //binary heap of (j,dist) initially empty;
std::set<int> Q, R; //set of vertices initially empty;
std::set<fromTo> T; //{ set of edges } initially {};
std::set<fromTo> mwe; //set of edges; minimum weight edges for all vertices

// class to represent a graph object
class Graph
{
public:
	// construct a vector of vectors of edges to represent an adjacency list
	std::vector<std::vector<edge>> adjList;

	// Graph Constructor
	Graph(std::vector<edge> const &edges, int N)
	{
		// resize the vector to hold upto vertex of maximum label value (elements of type vector<edge>)
		adjList.resize(N);
		nonEmptyIndices.resize(N);

		// add edges to the undirected graph
		for (auto &e: edges)
		{
			int from = e.from;
			int to = e.to;
			int weight = e.weight;

			// insert at the end
			adjList[from].push_back(edge{from, to, weight});
			adjList[to].push_back(edge{to, from, weight});

			//flag the non empty indices in adjList
			nonEmptyIndices[from] = true;
			nonEmptyIndices[to] = true;
		}
	}
};


// // A utility function to add an edge in an 
// // undirected graph. 
// void addEdge(std::vector<edge> adj[], int u, int v) 
// { 
//     adj[u].push_back(edge{u,v}); 
//     adj[v].push_back(edge{v,u}); 
// } 

// print adjacency list representation of graph
void printGraph(Graph const &graph)
{
	for (int i = 0; i < graph.adjList.size(); i++)
	{
		// print all neighboring vertices of given vertex
		for (edge v : graph.adjList[i]){
			//printf("( %d, %d, %d )", v.from, v.to, v.weight);
		}
		//printf("\n");
	}
}

//Identifies all minimum weight edges for all vertices
void initMWE(Graph const &graph) 
{ 
	for (int i = 0; i < graph.adjList.size(); i++) {
		// Extract the vertex with minimum dist value 
		int prevWeight=INT_MAX;
		int min_to, minFrom;
		// Iterate through all the vertices of graph 
		//for (edge adj : graph.adjList[i]) {
		for (auto it=graph.adjList[i].begin(); it!=graph.adjList[i].end(); it++) {
			edge adj = *it;
			// Get the Minimum weight edge for vertex adj.from
			if (adj.weight < prevWeight) { 
				min_to = adj.to;
				minFrom = adj.from;
				prevWeight = adj.weight;
			}
		} 
		mwe.insert(fromTo{minFrom, min_to});
	}
} 

// Get Weight for an edge
int getWeight(Graph const &graph, int u, int v) {
	int weight;
	// Iterate through all adjacent vertices of u and extract weight of u to v edge
	for (edge adj : graph.adjList[u]) {
		// Get the Minimum weight edge for vertex v.from
		if (adj.to == v) { 			
			weight = adj.weight;
		}
	}
	return weight;
}

// Process Edge in Parallel
void processEdge1(Graph const &graph, int z, int k) 
{ 
	int weight = getWeight(graph, z, k);

	if (mwe.find(fromTo{z, k}) != mwe.end()) {
		//printf("In MWE and not fixed k, z:%d, k:%d\n", z, k);

		fixed[k] = true;
		T.insert(fromTo{k, z}); // z is the parent of k
		R.insert(k);
	}
	else if (dist[k] > weight) {
		//printf("not minimum edge and not fixed k, z:%d, k:%d\n", z, k);
		dist[k] = weight;
		parent[k] = z;
		if (Q.find(k) == Q.end()) {
			Q.insert(k);
		}
	}
}

// A utility function used to print the constructed MST 
void printMST(std::set<fromTo> T) 
{ 
	std::set<fromTo>::iterator it; //set iterator
	for (it=T.begin(); it!=T.end(); it++) {
		fromTo e = *it; 
		////printf("%d - %d\n", e.from, e.to); 
  }
} 

// The main function that constructs Minimum Spanning Tree (MST) 
// using Prim's Parallel algorithm 
std::set<fromTo> primMST(Graph const &graph, int N, int source) 
{ 
	std::set<int>::iterator it; //set iterator 
	

	// Initialize min heap with all vertices. dist value of 
	// all vertices (except 0th vertex) is initially infinite 
 
	for(int i = 0; i < N; i ++) {
		parent.push_back(-1);
		dist.push_back(INT_MAX);
		fixed.push_back(false);
	}

	// Make distance value of source vertex as 0 so it is extracted first 
	dist[source] = 0; 
	H.push(distNode{source, dist[0]});

	initMWE(graph); //initialize minimum weight edges of given graph;

	// Loop for |V| - 1 iterations
	//while (!H.empty()) { 
	for (int i = 0; i < graph.adjList.size(); i++) {
		// Extract the vertex with minimum dist value 
		distNode d = H.top();
		H.pop();
		int j = d.node; //pop the minimum distance vertex
		//printf("Pop min distance node:%d\n", j);
		if (!fixed[j]) {
			R.insert(j);
			fixed[j] = true;
			if (parent[j] != -1) {
				T.insert(fromTo{j, parent[j]});
			}

			int z;
			while (!R.empty()) {
					//if(R.find(2) != R.end()) {
						////printf("true\n");
					//}
					// call processEdge for all neighbors of vertex in R 
					z = *R.begin();
					R.erase(R.find(z));
				for (edge adj : graph.adjList[z]) {
					int k = adj.to; 
					if (!fixed[k]) {
						processEdge1(graph, z, k);							 
					}
				}
			}	
			
			while (Q.size()) {
                                //for (it=Q.begin(); it!=Q.end(); ++it) {
                                        int z = *Q.begin();
                                        //printf("z in Q:%d\n", z);
                                        Q.erase(Q.find(z));
                                        if (!fixed[z]) {
                                                H.push(distNode{z, dist[z]});
                                        }
                        //      }
                        }
		}
	}
	if (T.size() == graph.adjList.size() -1) {
		return T;
	} else 
		return std::set<fromTo>{}; // return empty tree

} 

// Driver program to test above functions 
int main() 

{ 
	// vector of graph edges as per above diagram.
	printf("2010_United_Serial\n");
	std::vector<edge> edges;
	
	edges.push_back(edge{0, 1, 866});
    edges.push_back(edge{0, 2, 187});
    edges.push_back(edge{0, 3, 399});

    edges.push_back(edge{1, 5, 605});
    edges.push_back(edge{1, 10, 1720});
    edges.push_back(edge{1, 11, 888});
    edges.push_back(edge{1, 12, 409});

    edges.push_back(edge{2, 1, 739});
    edges.push_back(edge{2, 3, 213});
    edges.push_back(edge{2, 4, 541});
    edges.push_back(edge{2, 5, 759});
    edges.push_back(edge{2, 6, 1416});
    edges.push_back(edge{2, 7, 1391});
    edges.push_back(edge{2, 8, 2474});
    edges.push_back(edge{2, 9, 2586});
    edges.push_back(edge{2, 10, 2421});
    edges.push_back(edge{2, 11, 1625});
    edges.push_back(edge{2, 12, 765});

    edges.push_back(edge{3, 4, 330});
    edges.push_back(edge{3, 5, 547});
    edges.push_back(edge{3, 12, 561});

    edges.push_back(edge{4, 5, 226});
    edges.push_back(edge{4, 6, 912});

    edges.push_back(edge{5, 6, 689});
    edges.push_back(edge{5, 7, 731});
    edges.push_back(edge{5, 11, 1199});
    edges.push_back(edge{5, 12, 213});

    edges.push_back(edge{6, 7, 224});
    edges.push_back(edge{6, 8, 1378});

    edges.push_back(edge{7, 8, 1234});
    edges.push_back(edge{7, 11, 641});
    edges.push_back(edge{7, 12, 631});

    edges.push_back(edge{8, 9, 337});
    edges.push_back(edge{8, 11, 861});

    edges.push_back(edge{9, 10, 678});
    edges.push_back(edge{9, 11, 967});

    edges.push_back(edge{10, 11, 1024});

	edges.push_back(edge{11, 12, 1013});



	


	
	
	// edges.push_back(edge{4,5,4});
	// edges.push_back(edge{4,11,8});
	// edges.push_back(edge{5,6,8});
	// edges.push_back(edge{5,11,11});
	// edges.push_back(edge{6,7,7});
	// edges.push_back(edge{6,12,2});
	// edges.push_back(edge{6,9,4});
	// edges.push_back(edge{7,8,9});
	// edges.push_back(edge{7,9,14});
	// edges.push_back(edge{8,9,10});
	// edges.push_back(edge{9,10,2});
	// edges.push_back(edge{10,11,1});
	// edges.push_back(edge{10,12,6});
	// edges.push_back(edge{11,12,7});

	
	// Maxmum label value of vertices in the given graph, assume 1000
	int N = 12000;
	
	// construct graph
	Graph graph(edges, N);

	// print adjacency list representation of graph
	//printGraph(graph);

	//Source vertex as first non empty vertex in adjacency List
	int source;
	for(int i = 0; i<nonEmptyIndices.size(); i++) {
			if (nonEmptyIndices[i]) {
				source = i;
			break;
		}
	}
	
	////printf("source:%d\n", source);
	
	hipEvent_t start, stop;
        hipEventCreate(&start);
        hipEventCreate(&stop);

        ////printf("Running global reduce\n");
        hipEventRecord(start, 0);

  ////printf("Before Prim\n");
  //fflush( stdout );
	primMST(graph, N, source); 
  ////printf("After Prim\n");
  //fflush( stdout );

	 hipEventRecord(stop, 0);

        hipEventSynchronize(stop);
        float elapsedTime;
        hipEventElapsedTime(&elapsedTime, start, stop);
        printf("Serial Elpased Time in ms:%f\n", elapsedTime);

	std::set<fromTo>::iterator it; //set iterator
	////printf("T size:%d\n", T.size());
	////printf("MST in iterator\n");
	for (it=T.begin(); it!=T.end(); ++it) {
		fromTo e = *it; 
		printf("%d - %d\n", e.from, e.to); 
	}

	return 0; 
} 

//Reference: https://www.geeksforgeeks.org/prims-mst-for-adjacency-list-representation-greedy-algo-6/
// https://www.techiedelight.com/graph-implementation-using-stl/
	.text
	.file	"prim_serial.hip"
	.section	.text._ZNSt6vectorIiSaIiEED2Ev,"axG",@progbits,_ZNSt6vectorIiSaIiEED2Ev,comdat
	.weak	_ZNSt6vectorIiSaIiEED2Ev        # -- Begin function _ZNSt6vectorIiSaIiEED2Ev
	.p2align	1, 0x90
	.type	_ZNSt6vectorIiSaIiEED2Ev,@function
_ZNSt6vectorIiSaIiEED2Ev:               # @_ZNSt6vectorIiSaIiEED2Ev
	.cfi_startproc
# %bb.0:
	movq	(%rdi), %rdi
	testq	%rdi, %rdi
	jne	_ZdlPv                          # TAILCALL
# %bb.1:                                # %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit
	retq
.Lfunc_end0:
	.size	_ZNSt6vectorIiSaIiEED2Ev, .Lfunc_end0-_ZNSt6vectorIiSaIiEED2Ev
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt13_Bvector_baseISaIbEED2Ev,"axG",@progbits,_ZNSt13_Bvector_baseISaIbEED2Ev,comdat
	.weak	_ZNSt13_Bvector_baseISaIbEED2Ev # -- Begin function _ZNSt13_Bvector_baseISaIbEED2Ev
	.p2align	1, 0x90
	.type	_ZNSt13_Bvector_baseISaIbEED2Ev,@function
_ZNSt13_Bvector_baseISaIbEED2Ev:        # @_ZNSt13_Bvector_baseISaIbEED2Ev
.Lfunc_begin0:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception0
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
.Ltmp0:
	callq	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
.Ltmp1:
# %bb.1:
	popq	%rax
	.cfi_def_cfa_offset 8
	retq
.LBB1_2:
	.cfi_def_cfa_offset 16
.Ltmp2:
	movq	%rax, %rdi
	callq	__clang_call_terminate
.Lfunc_end1:
	.size	_ZNSt13_Bvector_baseISaIbEED2Ev, .Lfunc_end1-_ZNSt13_Bvector_baseISaIbEED2Ev
	.cfi_endproc
	.section	.gcc_except_table._ZNSt13_Bvector_baseISaIbEED2Ev,"aG",@progbits,_ZNSt13_Bvector_baseISaIbEED2Ev,comdat
	.p2align	2, 0x0
GCC_except_table1:
.Lexception0:
	.byte	255                             # @LPStart Encoding = omit
	.byte	3                               # @TType Encoding = udata4
	.uleb128 .Lttbase0-.Lttbaseref0
.Lttbaseref0:
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end0-.Lcst_begin0
.Lcst_begin0:
	.uleb128 .Ltmp0-.Lfunc_begin0           # >> Call Site 1 <<
	.uleb128 .Ltmp1-.Ltmp0                  #   Call between .Ltmp0 and .Ltmp1
	.uleb128 .Ltmp2-.Lfunc_begin0           #     jumps to .Ltmp2
	.byte	1                               #   On action: 1
.Lcst_end0:
	.byte	1                               # >> Action Record 1 <<
                                        #   Catch TypeInfo 1
	.byte	0                               #   No further actions
	.p2align	2, 0x0
                                        # >> Catch TypeInfos <<
	.long	0                               # TypeInfo 1
.Lttbase0:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text._ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev,"axG",@progbits,_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev,comdat
	.weak	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev # -- Begin function _ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev
	.p2align	1, 0x90
	.type	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev,@function
_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev: # @_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev
	.cfi_startproc
# %bb.0:
	movq	(%rdi), %rdi
	testq	%rdi, %rdi
	jne	_ZdlPv                          # TAILCALL
# %bb.1:                                # %_ZNSt6vectorI8distNodeSaIS0_EED2Ev.exit
	retq
.Lfunc_end2:
	.size	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev, .Lfunc_end2-_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt3setIiSt4lessIiESaIiEED2Ev,"axG",@progbits,_ZNSt3setIiSt4lessIiESaIiEED2Ev,comdat
	.weak	_ZNSt3setIiSt4lessIiESaIiEED2Ev # -- Begin function _ZNSt3setIiSt4lessIiESaIiEED2Ev
	.p2align	1, 0x90
	.type	_ZNSt3setIiSt4lessIiESaIiEED2Ev,@function
_ZNSt3setIiSt4lessIiESaIiEED2Ev:        # @_ZNSt3setIiSt4lessIiESaIiEED2Ev
	.cfi_startproc
# %bb.0:
	jmp	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev # TAILCALL
.Lfunc_end3:
	.size	_ZNSt3setIiSt4lessIiESaIiEED2Ev, .Lfunc_end3-_ZNSt3setIiSt4lessIiESaIiEED2Ev
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev,"axG",@progbits,_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev,comdat
	.weak	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev # -- Begin function _ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev
	.p2align	1, 0x90
	.type	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev,@function
_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev: # @_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev
	.cfi_startproc
# %bb.0:
	jmp	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev # TAILCALL
.Lfunc_end4:
	.size	_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev, .Lfunc_end4-_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev
	.cfi_endproc
                                        # -- End function
	.text
	.globl	_Z10printGraphRK5Graph          # -- Begin function _Z10printGraphRK5Graph
	.type	_Z10printGraphRK5Graph,@function
_Z10printGraphRK5Graph:                 # @_Z10printGraphRK5Graph
	.cfi_startproc
# %bb.0:                                # %._crit_edge
	retq
.Lfunc_end5:
	.size	_Z10printGraphRK5Graph, .Lfunc_end5-_Z10printGraphRK5Graph
	.cfi_endproc
                                        # -- End function
	.globl	_Z7initMWERK5Graph              # -- Begin function _Z7initMWERK5Graph
	.type	_Z7initMWERK5Graph,@function
_Z7initMWERK5Graph:                     # @_Z7initMWERK5Graph
	.cfi_startproc
# %bb.0:
	movq	(%rdi), %rcx
	cmpq	%rcx, 8(%rdi)
	je	.LBB6_9
# %bb.1:                                # %.lr.ph32
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	pushq	%rax
	.cfi_def_cfa_offset 64
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rdi, %rbx
	xorl	%r15d, %r15d
	movq	%rsp, %r14
	movabsq	$-6148914691236517205, %r12     # imm = 0xAAAAAAAAAAAAAAAB
                                        # implicit-def: $r13d
                                        # implicit-def: $ebp
.LBB6_2:                                # =>This Loop Header: Depth=1
                                        #     Child Loop BB6_4 Depth 2
	leaq	(%r15,%r15,2), %rdx
	movq	(%rcx,%rdx,8), %rax
	movq	8(%rcx,%rdx,8), %rcx
	cmpq	%rcx, %rax
	je	.LBB6_7
# %bb.3:                                # %.lr.ph.preheader
                                        #   in Loop: Header=BB6_2 Depth=1
	movl	$2147483647, %edx               # imm = 0x7FFFFFFF
.LBB6_4:                                # %.lr.ph
                                        #   Parent Loop BB6_2 Depth=1
                                        # =>  This Inner Loop Header: Depth=2
	movl	8(%rax), %esi
	cmpl	%edx, %esi
	jge	.LBB6_6
# %bb.5:                                # %.lr.ph
                                        #   in Loop: Header=BB6_4 Depth=2
	movl	(%rax), %ebp
	movl	4(%rax), %r13d
	movl	%esi, %edx
.LBB6_6:                                # %.lr.ph
                                        #   in Loop: Header=BB6_4 Depth=2
	addq	$12, %rax
	cmpq	%rcx, %rax
	jne	.LBB6_4
.LBB6_7:                                # %._crit_edge
                                        #   in Loop: Header=BB6_2 Depth=1
	movl	%ebp, (%rsp)
	movl	%r13d, 4(%rsp)
	movl	$mwe, %edi
	movq	%r14, %rsi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_
	incq	%r15
	movq	(%rbx), %rcx
	movq	8(%rbx), %rax
	subq	%rcx, %rax
	sarq	$3, %rax
	imulq	%r12, %rax
	cmpq	%r15, %rax
	ja	.LBB6_2
# %bb.8:
	addq	$8, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	.cfi_restore %rbx
	.cfi_restore %r12
	.cfi_restore %r13
	.cfi_restore %r14
	.cfi_restore %r15
	.cfi_restore %rbp
.LBB6_9:                                # %._crit_edge33
	retq
.Lfunc_end6:
	.size	_Z7initMWERK5Graph, .Lfunc_end6-_Z7initMWERK5Graph
	.cfi_endproc
                                        # -- End function
	.globl	_Z9getWeightRK5Graphii          # -- Begin function _Z9getWeightRK5Graphii
	.type	_Z9getWeightRK5Graphii,@function
_Z9getWeightRK5Graphii:                 # @_Z9getWeightRK5Graphii
	.cfi_startproc
# %bb.0:
	movslq	%esi, %rax
	movq	(%rdi), %rsi
	leaq	(%rax,%rax,2), %rax
	movq	(%rsi,%rax,8), %rcx
	movq	8(%rsi,%rax,8), %rsi
                                        # implicit-def: $eax
.LBB7_1:                                # =>This Inner Loop Header: Depth=1
	cmpq	%rsi, %rcx
	je	.LBB7_5
# %bb.2:                                # %.lr.ph
                                        #   in Loop: Header=BB7_1 Depth=1
	cmpl	%edx, 4(%rcx)
	jne	.LBB7_4
# %bb.3:                                # %.lr.ph
                                        #   in Loop: Header=BB7_1 Depth=1
	movl	8(%rcx), %eax
.LBB7_4:                                # %.lr.ph
                                        #   in Loop: Header=BB7_1 Depth=1
	addq	$12, %rcx
	jmp	.LBB7_1
.LBB7_5:                                # %._crit_edge
	retq
.Lfunc_end7:
	.size	_Z9getWeightRK5Graphii, .Lfunc_end7-_Z9getWeightRK5Graphii
	.cfi_endproc
                                        # -- End function
	.globl	_Z12processEdge1RK5Graphii      # -- Begin function _Z12processEdge1RK5Graphii
	.type	_Z12processEdge1RK5Graphii,@function
_Z12processEdge1RK5Graphii:             # @_Z12processEdge1RK5Graphii
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	subq	$16, %rsp
	.cfi_def_cfa_offset 48
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %rbp, -16
	movl	%edx, %r14d
	movl	%esi, %ebx
	movl	%edx, 4(%rsp)
	movslq	%esi, %rax
	movq	(%rdi), %rcx
	leaq	(%rax,%rax,2), %rdx
	movq	(%rcx,%rdx,8), %rax
	movq	8(%rcx,%rdx,8), %rcx
                                        # implicit-def: $ebp
.LBB8_1:                                # =>This Inner Loop Header: Depth=1
	cmpq	%rcx, %rax
	je	.LBB8_5
# %bb.2:                                # %.lr.ph.i
                                        #   in Loop: Header=BB8_1 Depth=1
	cmpl	%r14d, 4(%rax)
	jne	.LBB8_4
# %bb.3:                                # %.lr.ph.i
                                        #   in Loop: Header=BB8_1 Depth=1
	movl	8(%rax), %ebp
.LBB8_4:                                # %.lr.ph.i
                                        #   in Loop: Header=BB8_1 Depth=1
	addq	$12, %rax
	jmp	.LBB8_1
.LBB8_5:                                # %_Z9getWeightRK5Graphii.exit
	leaq	8(%rsp), %rsi
	movl	%ebx, (%rsi)
	movl	%r14d, 4(%rsi)
	movl	$mwe, %edi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_
	cmpq	$mwe+8, %rax
	je	.LBB8_7
# %bb.6:
	leal	63(%r14), %eax
	testl	%r14d, %r14d
	cmovnsl	%r14d, %eax
	movl	%eax, %ecx
	sarl	$6, %ecx
	movslq	%ecx, %rdx
	shlq	$3, %rdx
	addq	fixed(%rip), %rdx
	andl	$-64, %eax
	movl	%r14d, %esi
	subl	%eax, %esi
	sarl	$31, %esi
	movl	$1, %eax
	movl	%r14d, %ecx
	shlq	%cl, %rax
	movslq	%esi, %rcx
	orq	%rax, (%rdx,%rcx,8)
	leaq	8(%rsp), %rsi
	movl	%r14d, (%rsi)
	movl	%ebx, 4(%rsi)
	movl	$T, %edi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_
	movl	$R, %edi
.LBB8_13:                               # %_ZNSt3setIiSt4lessIiESaIiEE4findERKi.exit.sink.split
	leaq	4(%rsp), %rsi
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_
.LBB8_14:                               # %_ZNSt3setIiSt4lessIiESaIiEE4findERKi.exit
	addq	$16, %rsp
	.cfi_def_cfa_offset 32
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.LBB8_7:
	.cfi_def_cfa_offset 48
	movslq	%r14d, %rax
	movq	dist(%rip), %rcx
	cmpl	%ebp, (%rcx,%rax,4)
	jle	.LBB8_14
# %bb.8:
	movl	%ebp, (%rcx,%rax,4)
	movslq	4(%rsp), %rax
	movq	parent(%rip), %rcx
	movl	%ebx, (%rcx,%rax,4)
	movq	Q+16(%rip), %rax
	movl	$Q, %edi
	testq	%rax, %rax
	je	.LBB8_13
# %bb.9:                                # %.lr.ph.i.i.i
	movl	$Q+8, %ecx
	movl	4(%rsp), %edx
.LBB8_10:                               # =>This Inner Loop Header: Depth=1
	xorl	%esi, %esi
	cmpl	%edx, 32(%rax)
	setl	%sil
	cmovgeq	%rax, %rcx
	movq	16(%rax,%rsi,8), %rax
	testq	%rax, %rax
	jne	.LBB8_10
# %bb.11:                               # %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE14_M_lower_boundEPSt13_Rb_tree_nodeIiEPSt18_Rb_tree_node_baseRKi.exit.i.i
	cmpq	$Q+8, %rcx
	je	.LBB8_13
# %bb.12:
	cmpl	32(%rcx), %edx
	jl	.LBB8_13
	jmp	.LBB8_14
.Lfunc_end8:
	.size	_Z12processEdge1RK5Graphii, .Lfunc_end8-_Z12processEdge1RK5Graphii
	.cfi_endproc
                                        # -- End function
	.globl	_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE # -- Begin function _Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE
	.type	_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE,@function
_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE: # @_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE
	.cfi_startproc
# %bb.0:                                # %._crit_edge
	retq
.Lfunc_end9:
	.size	_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE, .Lfunc_end9-_Z8printMSTSt3setI6fromToSt4lessIS0_ESaIS0_EE
	.cfi_endproc
                                        # -- End function
	.globl	_Z7primMSTRK5Graphii            # -- Begin function _Z7primMSTRK5Graphii
	.type	_Z7primMSTRK5Graphii,@function
_Z7primMSTRK5Graphii:                   # @_Z7primMSTRK5Graphii
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movl	%ecx, %ebp
	movq	%rsi, %r14
	movq	%rdi, %rbx
	testl	%edx, %edx
	jle	.LBB10_4
# %bb.1:
	movl	%edx, %r15d
	leaq	4(%rsp), %r12
.LBB10_2:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movl	$-1, 4(%rsp)
	movq	parent+8(%rip), %rsi
	cmpq	parent+16(%rip), %rsi
	je	.LBB10_6
# %bb.3:                                #   in Loop: Header=BB10_2 Depth=1
	movl	$-1, (%rsi)
	addq	$4, %rsi
	movq	%rsi, parent+8(%rip)
	jmp	.LBB10_7
.LBB10_6:                               #   in Loop: Header=BB10_2 Depth=1
	movl	$parent, %edi
	movq	%r12, %rdx
	callq	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
.LBB10_7:                               # %_ZNSt6vectorIiSaIiEE9push_backEOi.exit
                                        #   in Loop: Header=BB10_2 Depth=1
	movl	$2147483647, 4(%rsp)            # imm = 0x7FFFFFFF
	movq	dist+8(%rip), %rsi
	cmpq	dist+16(%rip), %rsi
	je	.LBB10_9
# %bb.8:                                #   in Loop: Header=BB10_2 Depth=1
	movl	$2147483647, (%rsi)             # imm = 0x7FFFFFFF
	addq	$4, %rsi
	movq	%rsi, dist+8(%rip)
	jmp	.LBB10_10
.LBB10_9:                               #   in Loop: Header=BB10_2 Depth=1
	movl	$dist, %edi
	movq	%r12, %rdx
	callq	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
.LBB10_10:                              # %_ZNSt6vectorIiSaIiEE9push_backEOi.exit27
                                        #   in Loop: Header=BB10_2 Depth=1
	movl	$fixed, %edi
	xorl	%esi, %esi
	callq	_ZNSt6vectorIbSaIbEE9push_backEb
	decl	%r15d
	jne	.LBB10_2
.LBB10_4:                               # %._crit_edge
	movq	%rbx, 16(%rsp)                  # 8-byte Spill
	movslq	%ebp, %rax
	movq	dist(%rip), %rcx
	movl	$0, (%rcx,%rax,4)
	leaq	4(%rsp), %rsi
	movl	%eax, (%rsi)
	movl	(%rcx), %eax
	movl	%eax, 4(%rsi)
	movl	$H, %edi
	callq	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
	movq	%r14, %rdi
	callq	_Z7initMWERK5Graph
	movq	8(%r14), %rax
	movq	(%r14), %rcx
	movabsq	$-6148914691236517205, %r12     # imm = 0xAAAAAAAAAAAAAAAB
	subq	%rcx, %rax
	je	.LBB10_5
# %bb.11:                               # %.lr.ph99
	xorl	%ebx, %ebx
.LBB10_12:                              # =>This Loop Header: Depth=1
                                        #     Child Loop BB10_15 Depth 2
                                        #       Child Loop BB10_22 Depth 3
                                        #       Child Loop BB10_27 Depth 3
                                        #     Child Loop BB10_16 Depth 2
                                        #       Child Loop BB10_31 Depth 3
	movq	H(%rip), %rax
	movl	(%rax), %r15d
	movl	$H, %edi
	callq	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv
	leal	63(%r15), %eax
	testl	%r15d, %r15d
	cmovnsl	%r15d, %eax
	movl	%eax, %ecx
	sarl	$6, %ecx
	movslq	%ecx, %rcx
	shlq	$3, %rcx
	addq	fixed(%rip), %rcx
	movl	%r15d, 12(%rsp)
	andl	$-64, %eax
	movl	%r15d, %edx
	subl	%eax, %edx
	sarl	$31, %edx
	movslq	%edx, %rax
	movq	(%rcx,%rax,8), %rax
	btq	%r15, %rax
	jb	.LBB10_36
# %bb.13:                               #   in Loop: Header=BB10_12 Depth=1
	movl	$R, %edi
	leaq	12(%rsp), %rsi
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_
	movslq	12(%rsp), %rcx
	leal	63(%rcx), %eax
	testq	%rcx, %rcx
	cmovnsl	%ecx, %eax
	movl	%eax, %edx
	sarl	$6, %edx
	movslq	%edx, %rdx
	shlq	$3, %rdx
	addq	fixed(%rip), %rdx
	andl	$-64, %eax
	movl	%ecx, %esi
	subl	%eax, %esi
	sarl	$31, %esi
	movl	$1, %eax
	shlq	%cl, %rax
	movslq	%esi, %rsi
	orq	%rax, (%rdx,%rsi,8)
	movq	parent(%rip), %rax
	cmpl	$-1, (%rax,%rcx,4)
	je	.LBB10_15
# %bb.14:                               #   in Loop: Header=BB10_12 Depth=1
	movl	%ecx, 4(%rsp)
	movl	(%rax,%rcx,4), %eax
	movl	%eax, 8(%rsp)
	movl	$T, %edi
	leaq	4(%rsp), %rsi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_
	jmp	.LBB10_15
.LBB10_19:                              # %.lr.ph94
                                        #   in Loop: Header=BB10_15 Depth=2
	movq	R+24(%rip), %rax
	movslq	32(%rax), %r13
	movq	R+16(%rip), %rax
	testq	%rax, %rax
	je	.LBB10_20
# %bb.21:                               # %.lr.ph.i.i.i.preheader
                                        #   in Loop: Header=BB10_15 Depth=2
	movl	$R+8, %esi
.LBB10_22:                              # %.lr.ph.i.i.i
                                        #   Parent Loop BB10_12 Depth=1
                                        #     Parent Loop BB10_15 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	xorl	%ecx, %ecx
	cmpl	%r13d, 32(%rax)
	setl	%cl
	cmovgeq	%rax, %rsi
	movq	16(%rax,%rcx,8), %rax
	testq	%rax, %rax
	jne	.LBB10_22
# %bb.23:                               # %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE14_M_lower_boundEPSt13_Rb_tree_nodeIiEPSt18_Rb_tree_node_baseRKi.exit.i.i
                                        #   in Loop: Header=BB10_15 Depth=2
	cmpq	$R+8, %rsi
	je	.LBB10_20
# %bb.24:                               #   in Loop: Header=BB10_15 Depth=2
	cmpl	32(%rsi), %r13d
	movl	$R+8, %eax
	cmovlq	%rax, %rsi
	jmp	.LBB10_25
.LBB10_20:                              #   in Loop: Header=BB10_15 Depth=2
	movl	$R+8, %esi
.LBB10_25:                              # %_ZNSt3setIiSt4lessIiESaIiEE4findERKi.exit
                                        #   in Loop: Header=BB10_15 Depth=2
	movl	$R, %edi
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	movq	(%r14), %rax
	leaq	(,%r13,2), %rcx
	addq	%r13, %rcx
	movq	(%rax,%rcx,8), %r15
	movq	8(%rax,%rcx,8), %rbp
	cmpq	%rbp, %r15
	je	.LBB10_15
# %bb.26:                               # %.lr.ph92.preheader
                                        #   in Loop: Header=BB10_15 Depth=2
	movq	fixed(%rip), %rax
.LBB10_27:                              # %.lr.ph92
                                        #   Parent Loop BB10_12 Depth=1
                                        #     Parent Loop BB10_15 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	movl	4(%r15), %edx
	leal	63(%rdx), %ecx
	testl	%edx, %edx
	cmovnsl	%edx, %ecx
	movl	%ecx, %esi
	sarl	$6, %esi
	movslq	%esi, %rsi
	leaq	(%rax,%rsi,8), %rsi
	andl	$-64, %ecx
	movl	%edx, %edi
	subl	%ecx, %edi
	sarl	$31, %edi
	movslq	%edi, %rcx
	movq	(%rsi,%rcx,8), %rcx
	btq	%rdx, %rcx
	jb	.LBB10_29
# %bb.28:                               #   in Loop: Header=BB10_27 Depth=3
	movq	%r14, %rdi
	movl	%r13d, %esi
                                        # kill: def $edx killed $edx killed $rdx
	callq	_Z12processEdge1RK5Graphii
	movq	fixed(%rip), %rax
.LBB10_29:                              #   in Loop: Header=BB10_27 Depth=3
	addq	$12, %r15
	cmpq	%rbp, %r15
	jne	.LBB10_27
.LBB10_15:                              # %.loopexit
                                        #   Parent Loop BB10_12 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB10_22 Depth 3
                                        #       Child Loop BB10_27 Depth 3
	cmpq	$0, R+40(%rip)
	jne	.LBB10_19
	jmp	.LBB10_16
.LBB10_17:                              # %.lr.ph96
                                        #   in Loop: Header=BB10_16 Depth=2
	movq	Q+24(%rip), %rax
	movl	32(%rax), %r13d
	movq	Q+16(%rip), %rax
	testq	%rax, %rax
	je	.LBB10_18
# %bb.30:                               # %.lr.ph.i.i.i37.preheader
                                        #   in Loop: Header=BB10_16 Depth=2
	movl	$Q+8, %esi
.LBB10_31:                              # %.lr.ph.i.i.i37
                                        #   Parent Loop BB10_12 Depth=1
                                        #     Parent Loop BB10_16 Depth=2
                                        # =>    This Inner Loop Header: Depth=3
	xorl	%ecx, %ecx
	cmpl	%r13d, 32(%rax)
	setl	%cl
	cmovgeq	%rax, %rsi
	movq	16(%rax,%rcx,8), %rax
	testq	%rax, %rax
	jne	.LBB10_31
# %bb.32:                               # %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE14_M_lower_boundEPSt13_Rb_tree_nodeIiEPSt18_Rb_tree_node_baseRKi.exit.i.i44
                                        #   in Loop: Header=BB10_16 Depth=2
	cmpq	$Q+8, %rsi
	je	.LBB10_18
# %bb.33:                               #   in Loop: Header=BB10_16 Depth=2
	cmpl	32(%rsi), %r13d
	movl	$Q+8, %eax
	cmovlq	%rax, %rsi
	jmp	.LBB10_34
.LBB10_18:                              #   in Loop: Header=BB10_16 Depth=2
	movl	$Q+8, %esi
.LBB10_34:                              # %_ZNSt3setIiSt4lessIiESaIiEE4findERKi.exit47
                                        #   in Loop: Header=BB10_16 Depth=2
	movslq	%r13d, %r15
	movl	$Q, %edi
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	leal	63(%r13), %eax
	testl	%r13d, %r13d
	cmovnsl	%r13d, %eax
	movl	%eax, %ecx
	sarl	$6, %ecx
	movslq	%ecx, %rcx
	shlq	$3, %rcx
	addq	fixed(%rip), %rcx
	andl	$-64, %eax
	movl	%r13d, %edx
	subl	%eax, %edx
	sarl	$31, %edx
	movslq	%edx, %rax
	movq	(%rcx,%rax,8), %rax
	btq	%r15, %rax
	jb	.LBB10_16
# %bb.35:                               #   in Loop: Header=BB10_16 Depth=2
	movl	%r13d, 4(%rsp)
	movq	dist(%rip), %rax
	movl	(%rax,%r15,4), %eax
	movl	%eax, 8(%rsp)
	movl	$H, %edi
	leaq	4(%rsp), %rsi
	callq	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
.LBB10_16:                              # %.preheader
                                        #   Parent Loop BB10_12 Depth=1
                                        # =>  This Loop Header: Depth=2
                                        #       Child Loop BB10_31 Depth 3
	cmpq	$0, Q+40(%rip)
	jne	.LBB10_17
.LBB10_36:                              # %.loopexit88
                                        #   in Loop: Header=BB10_12 Depth=1
	movq	8(%r14), %rax
	subq	(%r14), %rax
	incq	%rbx
	sarq	$3, %rax
	imulq	%r12, %rax
	cmpq	%rbx, %rax
	ja	.LBB10_12
	jmp	.LBB10_37
.LBB10_5:
	sarq	$3, %rax
	imulq	%r12, %rax
.LBB10_37:                              # %._crit_edge100
	decq	%rax
	cmpq	%rax, T+40(%rip)
	jne	.LBB10_39
# %bb.38:
	movl	$T, %esi
	movq	16(%rsp), %rbx                  # 8-byte Reload
	movq	%rbx, %rdi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_
	jmp	.LBB10_40
.LBB10_39:
	movq	16(%rsp), %rbx                  # 8-byte Reload
	leaq	8(%rbx), %rax
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%rbx)
	xorl	%ecx, %ecx
	movq	%rcx, 16(%rbx)
	movq	%rax, 24(%rbx)
	movq	%rax, 32(%rbx)
	movq	%rcx, 40(%rbx)
.LBB10_40:
	movq	%rbx, %rax
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end10:
	.size	_Z7primMSTRK5Graphii, .Lfunc_end10-_Z7primMSTRK5Graphii
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIbSaIbEE9push_backEb,"axG",@progbits,_ZNSt6vectorIbSaIbEE9push_backEb,comdat
	.weak	_ZNSt6vectorIbSaIbEE9push_backEb # -- Begin function _ZNSt6vectorIbSaIbEE9push_backEb
	.p2align	1, 0x90
	.type	_ZNSt6vectorIbSaIbEE9push_backEb,@function
_ZNSt6vectorIbSaIbEE9push_backEb:       # @_ZNSt6vectorIbSaIbEE9push_backEb
	.cfi_startproc
# %bb.0:
	movl	%esi, %eax
	movq	16(%rdi), %rsi
	movl	24(%rdi), %ecx
	cmpq	32(%rdi), %rsi
	je	.LBB11_5
# %bb.1:
	leal	1(%rcx), %edx
	movl	%edx, 24(%rdi)
	cmpq	$63, %rcx
	jne	.LBB11_3
# %bb.2:
	movl	$0, 24(%rdi)
	leaq	8(%rsi), %rdx
	movq	%rdx, 16(%rdi)
.LBB11_3:                               # %_ZNSt13_Bit_iteratorppEi.exit
	movl	$1, %edx
                                        # kill: def $cl killed $cl killed $rcx
	shlq	%cl, %rdx
	testb	%al, %al
	je	.LBB11_6
# %bb.4:
	orq	%rdx, (%rsi)
	retq
.LBB11_5:
	movzbl	%al, %eax
	movl	%ecx, %edx
	movl	%eax, %ecx
	jmp	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb # TAILCALL
.LBB11_6:
	notq	%rdx
	andq	%rdx, (%rsi)
	retq
.Lfunc_end11:
	.size	_ZNSt6vectorIbSaIbEE9push_backEb, .Lfunc_end11-_ZNSt6vectorIbSaIbEE9push_backEb
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_,"axG",@progbits,_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_,comdat
	.weak	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_ # -- Begin function _ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
	.p2align	1, 0x90
	.type	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_,@function
_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_: # @_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	movq	%rdi, %rbx
	callq	_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_
	movq	(%rbx), %rax
	movq	8(%rbx), %rsi
	movq	-8(%rsi), %rcx
	subq	%rax, %rsi
	sarq	$3, %rsi
	leaq	-1(%rsi), %rdx
	cmpq	$2, %rsi
	jl	.LBB12_7
# %bb.1:                                # %.lr.ph.i.i.preheader
	movq	%rcx, %rsi
	shrq	$32, %rsi
.LBB12_2:                               # %.lr.ph.i.i
                                        # =>This Inner Loop Header: Depth=1
	leaq	-1(%rdx), %rdi
	movq	%rdi, %r8
	shrq	%r8
	cmpl	%esi, 4(%rax,%r8,8)
	jg	.LBB12_5
# %bb.3:                                #   in Loop: Header=BB12_2 Depth=1
	jne	.LBB12_7
# %bb.4:                                # %_ZN9__gnu_cxx5__ops14_Iter_comp_valISt4lessI8distNodeEEclINS_17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEES3_EEbT_RT0_.exit.i.i
                                        #   in Loop: Header=BB12_2 Depth=1
	cmpl	%ecx, (%rax,%r8,8)
	jle	.LBB12_7
.LBB12_5:                               # %_ZN9__gnu_cxx5__ops14_Iter_comp_valISt4lessI8distNodeEEclINS_17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEES3_EEbT_RT0_.exit.thread.i.i
                                        #   in Loop: Header=BB12_2 Depth=1
	movq	(%rax,%r8,8), %r9
	movq	%r9, (%rax,%rdx,8)
	movq	%r8, %rdx
	cmpq	$1, %rdi
	ja	.LBB12_2
# %bb.6:
	xorl	%edx, %edx
.LBB12_7:                               # %_ZSt9push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEESt4lessIS2_EEvT_SA_T0_.exit
	movq	%rcx, (%rax,%rdx,8)
	popq	%rbx
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end12:
	.size	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_, .Lfunc_end12-_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE4pushEOS0_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv,"axG",@progbits,_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv,comdat
	.weak	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv # -- Begin function _ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv
	.p2align	1, 0x90
	.type	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv,@function
_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv: # @_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	movq	%rdi, %rbx
	movq	(%rdi), %rdi
	movq	8(%rbx), %rax
	movq	%rax, %rcx
	subq	%rdi, %rcx
	cmpq	$9, %rcx
	jl	.LBB13_2
# %bb.1:
	leaq	-8(%rax), %rdx
	movq	-8(%rax), %rcx
	movq	(%rdi), %rsi
	movq	%rsi, -8(%rax)
	subq	%rdi, %rdx
	sarq	$3, %rdx
	xorl	%esi, %esi
	callq	_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_
	movq	8(%rbx), %rax
.LBB13_2:                               # %_ZSt8pop_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEESt4lessIS2_EEvT_SA_T0_.exit
	addq	$-8, %rax
	movq	%rax, 8(%rbx)
	popq	%rbx
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end13:
	.size	_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv, .Lfunc_end13-_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EE3popEv
	.cfi_endproc
                                        # -- End function
	.text
	.globl	main                            # -- Begin function main
	.type	main,@function
main:                                   # @main
.Lfunc_begin1:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception1
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	subq	$128, %rsp
	.cfi_def_cfa_offset 144
	.cfi_offset %rbx, -16
	movl	$.Lstr, %edi
	callq	puts@PLT
	xorps	%xmm0, %xmm0
	leaq	32(%rsp), %rdi
	movaps	%xmm0, (%rdi)
	movq	$0, 16(%rdi)
	movabsq	$4294967296, %rax               # imm = 0x100000000
	leaq	8(%rsp), %rdx
	movq	%rax, (%rdx)
	movl	$866, 8(%rdx)                   # imm = 0x362
.Ltmp3:
	xorl	%esi, %esi
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp4:
# %bb.1:                                # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit
	movq	40(%rsp), %rax
	movq	48(%rsp), %rsi
	movabsq	$8589934592, %rcx               # imm = 0x200000000
	movq	%rcx, 8(%rsp)
	movl	$187, 16(%rsp)
	cmpq	%rsi, %rax
	je	.LBB14_3
# %bb.2:
	movl	16(%rsp), %ecx
	movl	%ecx, 8(%rax)
	movq	8(%rsp), %rcx
	movq	%rcx, (%rax)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_5
.LBB14_3:
.Ltmp6:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp7:
# %bb.4:                                # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit23_crit_edge
	movq	40(%rsp), %rsi
.LBB14_5:                               # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit23
	movabsq	$12884901888, %rax              # imm = 0x300000000
	movq	%rax, 8(%rsp)
	movl	$399, 16(%rsp)                  # imm = 0x18F
	cmpq	48(%rsp), %rsi
	je	.LBB14_7
# %bb.6:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_9
.LBB14_7:
.Ltmp9:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp10:
# %bb.8:                                # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit26_crit_edge
	movq	40(%rsp), %rsi
.LBB14_9:                               # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit26
	movabsq	$21474836481, %rax              # imm = 0x500000001
	movq	%rax, 8(%rsp)
	movl	$605, 16(%rsp)                  # imm = 0x25D
	cmpq	48(%rsp), %rsi
	je	.LBB14_11
# %bb.10:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_13
.LBB14_11:
.Ltmp12:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp13:
# %bb.12:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit29_crit_edge
	movq	40(%rsp), %rsi
.LBB14_13:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit29
	movabsq	$42949672961, %rax              # imm = 0xA00000001
	movq	%rax, 8(%rsp)
	movl	$1720, 16(%rsp)                 # imm = 0x6B8
	cmpq	48(%rsp), %rsi
	je	.LBB14_15
# %bb.14:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_17
.LBB14_15:
.Ltmp15:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp16:
# %bb.16:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit32_crit_edge
	movq	40(%rsp), %rsi
.LBB14_17:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit32
	movabsq	$47244640257, %rax              # imm = 0xB00000001
	movq	%rax, 8(%rsp)
	movl	$888, 16(%rsp)                  # imm = 0x378
	cmpq	48(%rsp), %rsi
	je	.LBB14_19
# %bb.18:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_21
.LBB14_19:
.Ltmp18:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp19:
# %bb.20:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit35_crit_edge
	movq	40(%rsp), %rsi
.LBB14_21:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit35
	movabsq	$51539607553, %rax              # imm = 0xC00000001
	movq	%rax, 8(%rsp)
	movl	$409, 16(%rsp)                  # imm = 0x199
	cmpq	48(%rsp), %rsi
	je	.LBB14_23
# %bb.22:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_25
.LBB14_23:
.Ltmp21:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp22:
# %bb.24:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit38_crit_edge
	movq	40(%rsp), %rsi
.LBB14_25:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit38
	movabsq	$4294967298, %rax               # imm = 0x100000002
	movq	%rax, 8(%rsp)
	movl	$739, 16(%rsp)                  # imm = 0x2E3
	cmpq	48(%rsp), %rsi
	je	.LBB14_27
# %bb.26:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_29
.LBB14_27:
.Ltmp24:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp25:
# %bb.28:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit41_crit_edge
	movq	40(%rsp), %rsi
.LBB14_29:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit41
	movabsq	$12884901890, %rax              # imm = 0x300000002
	movq	%rax, 8(%rsp)
	movl	$213, 16(%rsp)
	cmpq	48(%rsp), %rsi
	je	.LBB14_31
# %bb.30:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_33
.LBB14_31:
.Ltmp27:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp28:
# %bb.32:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit44_crit_edge
	movq	40(%rsp), %rsi
.LBB14_33:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit44
	movabsq	$17179869186, %rax              # imm = 0x400000002
	movq	%rax, 8(%rsp)
	movl	$541, 16(%rsp)                  # imm = 0x21D
	cmpq	48(%rsp), %rsi
	je	.LBB14_35
# %bb.34:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_37
.LBB14_35:
.Ltmp30:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp31:
# %bb.36:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit47_crit_edge
	movq	40(%rsp), %rsi
.LBB14_37:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit47
	movabsq	$21474836482, %rax              # imm = 0x500000002
	movq	%rax, 8(%rsp)
	movl	$759, 16(%rsp)                  # imm = 0x2F7
	cmpq	48(%rsp), %rsi
	je	.LBB14_39
# %bb.38:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_41
.LBB14_39:
.Ltmp33:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp34:
# %bb.40:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit50_crit_edge
	movq	40(%rsp), %rsi
.LBB14_41:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit50
	movabsq	$25769803778, %rax              # imm = 0x600000002
	movq	%rax, 8(%rsp)
	movl	$1416, 16(%rsp)                 # imm = 0x588
	cmpq	48(%rsp), %rsi
	je	.LBB14_43
# %bb.42:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_45
.LBB14_43:
.Ltmp36:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp37:
# %bb.44:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit53_crit_edge
	movq	40(%rsp), %rsi
.LBB14_45:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit53
	movabsq	$30064771074, %rax              # imm = 0x700000002
	movq	%rax, 8(%rsp)
	movl	$1391, 16(%rsp)                 # imm = 0x56F
	cmpq	48(%rsp), %rsi
	je	.LBB14_47
# %bb.46:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_49
.LBB14_47:
.Ltmp39:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp40:
# %bb.48:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit56_crit_edge
	movq	40(%rsp), %rsi
.LBB14_49:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit56
	movabsq	$34359738370, %rax              # imm = 0x800000002
	movq	%rax, 8(%rsp)
	movl	$2474, 16(%rsp)                 # imm = 0x9AA
	cmpq	48(%rsp), %rsi
	je	.LBB14_51
# %bb.50:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_53
.LBB14_51:
.Ltmp42:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp43:
# %bb.52:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit59_crit_edge
	movq	40(%rsp), %rsi
.LBB14_53:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit59
	movabsq	$38654705666, %rax              # imm = 0x900000002
	movq	%rax, 8(%rsp)
	movl	$2586, 16(%rsp)                 # imm = 0xA1A
	cmpq	48(%rsp), %rsi
	je	.LBB14_55
# %bb.54:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_57
.LBB14_55:
.Ltmp45:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp46:
# %bb.56:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit62_crit_edge
	movq	40(%rsp), %rsi
.LBB14_57:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit62
	movabsq	$42949672962, %rax              # imm = 0xA00000002
	movq	%rax, 8(%rsp)
	movl	$2421, 16(%rsp)                 # imm = 0x975
	cmpq	48(%rsp), %rsi
	je	.LBB14_59
# %bb.58:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_61
.LBB14_59:
.Ltmp48:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp49:
# %bb.60:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit65_crit_edge
	movq	40(%rsp), %rsi
.LBB14_61:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit65
	movabsq	$47244640258, %rax              # imm = 0xB00000002
	movq	%rax, 8(%rsp)
	movl	$1625, 16(%rsp)                 # imm = 0x659
	cmpq	48(%rsp), %rsi
	je	.LBB14_63
# %bb.62:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_65
.LBB14_63:
.Ltmp51:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp52:
# %bb.64:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit68_crit_edge
	movq	40(%rsp), %rsi
.LBB14_65:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit68
	movabsq	$51539607554, %rax              # imm = 0xC00000002
	movq	%rax, 8(%rsp)
	movl	$765, 16(%rsp)                  # imm = 0x2FD
	cmpq	48(%rsp), %rsi
	je	.LBB14_67
# %bb.66:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_69
.LBB14_67:
.Ltmp54:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp55:
# %bb.68:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit71_crit_edge
	movq	40(%rsp), %rsi
.LBB14_69:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit71
	movabsq	$17179869187, %rax              # imm = 0x400000003
	movq	%rax, 8(%rsp)
	movl	$330, 16(%rsp)                  # imm = 0x14A
	cmpq	48(%rsp), %rsi
	je	.LBB14_71
# %bb.70:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_73
.LBB14_71:
.Ltmp57:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp58:
# %bb.72:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit74_crit_edge
	movq	40(%rsp), %rsi
.LBB14_73:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit74
	movabsq	$21474836483, %rax              # imm = 0x500000003
	movq	%rax, 8(%rsp)
	movl	$547, 16(%rsp)                  # imm = 0x223
	cmpq	48(%rsp), %rsi
	je	.LBB14_75
# %bb.74:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_77
.LBB14_75:
.Ltmp60:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp61:
# %bb.76:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit77_crit_edge
	movq	40(%rsp), %rsi
.LBB14_77:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit77
	movabsq	$51539607555, %rax              # imm = 0xC00000003
	movq	%rax, 8(%rsp)
	movl	$561, 16(%rsp)                  # imm = 0x231
	cmpq	48(%rsp), %rsi
	je	.LBB14_79
# %bb.78:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_81
.LBB14_79:
.Ltmp63:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp64:
# %bb.80:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit80_crit_edge
	movq	40(%rsp), %rsi
.LBB14_81:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit80
	movabsq	$21474836484, %rax              # imm = 0x500000004
	movq	%rax, 8(%rsp)
	movl	$226, 16(%rsp)
	cmpq	48(%rsp), %rsi
	je	.LBB14_83
# %bb.82:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_85
.LBB14_83:
.Ltmp66:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp67:
# %bb.84:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit83_crit_edge
	movq	40(%rsp), %rsi
.LBB14_85:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit83
	movabsq	$25769803780, %rax              # imm = 0x600000004
	movq	%rax, 8(%rsp)
	movl	$912, 16(%rsp)                  # imm = 0x390
	cmpq	48(%rsp), %rsi
	je	.LBB14_87
# %bb.86:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_89
.LBB14_87:
.Ltmp69:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp70:
# %bb.88:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit86_crit_edge
	movq	40(%rsp), %rsi
.LBB14_89:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit86
	movabsq	$25769803781, %rax              # imm = 0x600000005
	movq	%rax, 8(%rsp)
	movl	$689, 16(%rsp)                  # imm = 0x2B1
	cmpq	48(%rsp), %rsi
	je	.LBB14_91
# %bb.90:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_93
.LBB14_91:
.Ltmp72:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp73:
# %bb.92:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit89_crit_edge
	movq	40(%rsp), %rsi
.LBB14_93:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit89
	movabsq	$30064771077, %rax              # imm = 0x700000005
	movq	%rax, 8(%rsp)
	movl	$731, 16(%rsp)                  # imm = 0x2DB
	cmpq	48(%rsp), %rsi
	je	.LBB14_95
# %bb.94:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_97
.LBB14_95:
.Ltmp75:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp76:
# %bb.96:                               # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit92_crit_edge
	movq	40(%rsp), %rsi
.LBB14_97:                              # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit92
	movabsq	$47244640261, %rax              # imm = 0xB00000005
	movq	%rax, 8(%rsp)
	movl	$1199, 16(%rsp)                 # imm = 0x4AF
	cmpq	48(%rsp), %rsi
	je	.LBB14_99
# %bb.98:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_101
.LBB14_99:
.Ltmp78:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp79:
# %bb.100:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit95_crit_edge
	movq	40(%rsp), %rsi
.LBB14_101:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit95
	movabsq	$51539607557, %rax              # imm = 0xC00000005
	movq	%rax, 8(%rsp)
	movl	$213, 16(%rsp)
	cmpq	48(%rsp), %rsi
	je	.LBB14_103
# %bb.102:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_105
.LBB14_103:
.Ltmp81:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp82:
# %bb.104:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit98_crit_edge
	movq	40(%rsp), %rsi
.LBB14_105:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit98
	movabsq	$30064771078, %rax              # imm = 0x700000006
	movq	%rax, 8(%rsp)
	movl	$224, 16(%rsp)
	cmpq	48(%rsp), %rsi
	je	.LBB14_107
# %bb.106:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_109
.LBB14_107:
.Ltmp84:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp85:
# %bb.108:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit101_crit_edge
	movq	40(%rsp), %rsi
.LBB14_109:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit101
	movabsq	$34359738374, %rax              # imm = 0x800000006
	movq	%rax, 8(%rsp)
	movl	$1378, 16(%rsp)                 # imm = 0x562
	cmpq	48(%rsp), %rsi
	je	.LBB14_111
# %bb.110:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_113
.LBB14_111:
.Ltmp87:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp88:
# %bb.112:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit104_crit_edge
	movq	40(%rsp), %rsi
.LBB14_113:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit104
	movabsq	$34359738375, %rax              # imm = 0x800000007
	movq	%rax, 8(%rsp)
	movl	$1234, 16(%rsp)                 # imm = 0x4D2
	cmpq	48(%rsp), %rsi
	je	.LBB14_115
# %bb.114:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_117
.LBB14_115:
.Ltmp90:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp91:
# %bb.116:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit107_crit_edge
	movq	40(%rsp), %rsi
.LBB14_117:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit107
	movabsq	$47244640263, %rax              # imm = 0xB00000007
	movq	%rax, 8(%rsp)
	movl	$641, 16(%rsp)                  # imm = 0x281
	cmpq	48(%rsp), %rsi
	je	.LBB14_119
# %bb.118:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_121
.LBB14_119:
.Ltmp93:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp94:
# %bb.120:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit110_crit_edge
	movq	40(%rsp), %rsi
.LBB14_121:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit110
	movabsq	$51539607559, %rax              # imm = 0xC00000007
	movq	%rax, 8(%rsp)
	movl	$631, 16(%rsp)                  # imm = 0x277
	cmpq	48(%rsp), %rsi
	je	.LBB14_123
# %bb.122:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_125
.LBB14_123:
.Ltmp96:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp97:
# %bb.124:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit113_crit_edge
	movq	40(%rsp), %rsi
.LBB14_125:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit113
	movabsq	$38654705672, %rax              # imm = 0x900000008
	movq	%rax, 8(%rsp)
	movl	$337, 16(%rsp)                  # imm = 0x151
	cmpq	48(%rsp), %rsi
	je	.LBB14_127
# %bb.126:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_129
.LBB14_127:
.Ltmp99:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp100:
# %bb.128:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit116_crit_edge
	movq	40(%rsp), %rsi
.LBB14_129:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit116
	movabsq	$47244640264, %rax              # imm = 0xB00000008
	movq	%rax, 8(%rsp)
	movl	$861, 16(%rsp)                  # imm = 0x35D
	cmpq	48(%rsp), %rsi
	je	.LBB14_131
# %bb.130:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_133
.LBB14_131:
.Ltmp102:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp103:
# %bb.132:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit119_crit_edge
	movq	40(%rsp), %rsi
.LBB14_133:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit119
	movabsq	$42949672969, %rax              # imm = 0xA00000009
	movq	%rax, 8(%rsp)
	movl	$678, 16(%rsp)                  # imm = 0x2A6
	cmpq	48(%rsp), %rsi
	je	.LBB14_135
# %bb.134:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_137
.LBB14_135:
.Ltmp105:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp106:
# %bb.136:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit122_crit_edge
	movq	40(%rsp), %rsi
.LBB14_137:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit122
	movabsq	$47244640265, %rax              # imm = 0xB00000009
	movq	%rax, 8(%rsp)
	movl	$967, 16(%rsp)                  # imm = 0x3C7
	cmpq	48(%rsp), %rsi
	je	.LBB14_139
# %bb.138:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_141
.LBB14_139:
.Ltmp108:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp109:
# %bb.140:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit125_crit_edge
	movq	40(%rsp), %rsi
.LBB14_141:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit125
	movabsq	$47244640266, %rax              # imm = 0xB0000000A
	movq	%rax, 8(%rsp)
	movl	$1024, 16(%rsp)                 # imm = 0x400
	cmpq	48(%rsp), %rsi
	je	.LBB14_143
# %bb.142:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	movq	40(%rsp), %rsi
	addq	$12, %rsi
	movq	%rsi, 40(%rsp)
	jmp	.LBB14_145
.LBB14_143:
.Ltmp111:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp112:
# %bb.144:                              # %._ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit128_crit_edge
	movq	40(%rsp), %rsi
.LBB14_145:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit128
	movabsq	$51539607563, %rax              # imm = 0xC0000000B
	movq	%rax, 8(%rsp)
	movl	$1013, 16(%rsp)                 # imm = 0x3F5
	cmpq	48(%rsp), %rsi
	je	.LBB14_147
# %bb.146:
	movl	16(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	8(%rsp), %rax
	movq	%rax, (%rsi)
	addq	$12, 40(%rsp)
	jmp	.LBB14_148
.LBB14_147:
.Ltmp114:
	leaq	32(%rsp), %rdi
	leaq	8(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp115:
.LBB14_148:                             # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit131
.Ltmp117:
	leaq	8(%rsp), %rdi
	leaq	32(%rsp), %rsi
	movl	$12000, %edx                    # imm = 0x2EE0
	callq	_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi
.Ltmp118:
# %bb.149:                              # %.preheader
	movq	nonEmptyIndices+16(%rip), %rdx
	movl	nonEmptyIndices+24(%rip), %esi
	movq	nonEmptyIndices(%rip), %rax
	movq	%rdx, %rcx
	subq	%rax, %rcx
	shlq	$3, %rcx
	addq	%rsi, %rcx
	je	.LBB14_153
# %bb.150:                              # %.lr.ph.preheader
	leal	(%rsi,%rdx,8), %ebx
	leal	(,%rax,8), %edx
	subl	%edx, %ebx
	xorl	%edx, %edx
.LBB14_151:                             # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movl	%edx, %esi
	shrl	$6, %esi
	movq	(%rax,%rsi,8), %rsi
	btq	%rdx, %rsi
	jb	.LBB14_154
# %bb.152:                              #   in Loop: Header=BB14_151 Depth=1
	incq	%rdx
	cmpq	%rdx, %rcx
	ja	.LBB14_151
	jmp	.LBB14_155
.LBB14_153:
	xorl	%ebx, %ebx
	jmp	.LBB14_155
.LBB14_154:                             # %._crit_edge.loopexit.split.loop.exit
	movl	%edx, %ebx
.LBB14_155:                             # %._crit_edge
.Ltmp120:
	leaq	72(%rsp), %rdi
	callq	hipEventCreate
.Ltmp121:
# %bb.156:
.Ltmp122:
	leaq	56(%rsp), %rdi
	callq	hipEventCreate
.Ltmp123:
# %bb.157:
	movq	72(%rsp), %rdi
.Ltmp124:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp125:
# %bb.158:
.Ltmp126:
	leaq	80(%rsp), %rdi
	leaq	8(%rsp), %rsi
	movl	$12000, %edx                    # imm = 0x2EE0
	movl	%ebx, %ecx
	callq	_Z7primMSTRK5Graphii
.Ltmp127:
# %bb.159:
	leaq	80(%rsp), %rdi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev
	movq	56(%rsp), %rdi
.Ltmp128:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp129:
# %bb.160:
	movq	56(%rsp), %rdi
.Ltmp130:
	callq	hipEventSynchronize
.Ltmp131:
# %bb.161:
	movq	72(%rsp), %rsi
	movq	56(%rsp), %rdx
.Ltmp133:
	leaq	68(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp134:
# %bb.162:
	cvtss2sd	68(%rsp), %xmm0
	movl	$.L.str.9, %edi
	movb	$1, %al
	callq	printf
	movq	T+24(%rip), %rbx
	cmpq	$T+8, %rbx
	je	.LBB14_164
.LBB14_163:                             # %.lr.ph147
                                        # =>This Inner Loop Header: Depth=1
	movl	32(%rbx), %esi
	movl	36(%rbx), %edx
	movl	$.L.str.10, %edi
	xorl	%eax, %eax
	callq	printf
	movq	%rbx, %rdi
	callq	_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base
	movq	%rax, %rbx
	cmpq	$T+8, %rax
	jne	.LBB14_163
.LBB14_164:                             # %._crit_edge148
	leaq	8(%rsp), %rdi
	callq	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	movq	32(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB14_166
# %bb.165:
	callq	_ZdlPv
.LBB14_166:                             # %_ZNSt6vectorI4edgeSaIS0_EED2Ev.exit
	xorl	%eax, %eax
	addq	$128, %rsp
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	retq
.LBB14_167:
	.cfi_def_cfa_offset 144
.Ltmp116:
	jmp	.LBB14_207
.LBB14_168:
.Ltmp113:
	jmp	.LBB14_207
.LBB14_169:
.Ltmp110:
	jmp	.LBB14_207
.LBB14_170:
.Ltmp107:
	jmp	.LBB14_207
.LBB14_171:
.Ltmp104:
	jmp	.LBB14_207
.LBB14_172:
.Ltmp101:
	jmp	.LBB14_207
.LBB14_173:
.Ltmp98:
	jmp	.LBB14_207
.LBB14_174:
.Ltmp95:
	jmp	.LBB14_207
.LBB14_175:
.Ltmp92:
	jmp	.LBB14_207
.LBB14_176:
.Ltmp89:
	jmp	.LBB14_207
.LBB14_177:
.Ltmp86:
	jmp	.LBB14_207
.LBB14_178:
.Ltmp83:
	jmp	.LBB14_207
.LBB14_179:
.Ltmp80:
	jmp	.LBB14_207
.LBB14_180:
.Ltmp77:
	jmp	.LBB14_207
.LBB14_181:
.Ltmp74:
	jmp	.LBB14_207
.LBB14_182:
.Ltmp71:
	jmp	.LBB14_207
.LBB14_183:
.Ltmp68:
	jmp	.LBB14_207
.LBB14_184:
.Ltmp65:
	jmp	.LBB14_207
.LBB14_185:
.Ltmp62:
	jmp	.LBB14_207
.LBB14_186:
.Ltmp59:
	jmp	.LBB14_207
.LBB14_187:
.Ltmp56:
	jmp	.LBB14_207
.LBB14_188:
.Ltmp53:
	jmp	.LBB14_207
.LBB14_189:
.Ltmp50:
	jmp	.LBB14_207
.LBB14_190:
.Ltmp47:
	jmp	.LBB14_207
.LBB14_191:
.Ltmp44:
	jmp	.LBB14_207
.LBB14_192:
.Ltmp41:
	jmp	.LBB14_207
.LBB14_193:
.Ltmp38:
	jmp	.LBB14_207
.LBB14_194:
.Ltmp35:
	jmp	.LBB14_207
.LBB14_195:
.Ltmp32:
	jmp	.LBB14_207
.LBB14_196:
.Ltmp29:
	jmp	.LBB14_207
.LBB14_197:
.Ltmp26:
	jmp	.LBB14_207
.LBB14_198:
.Ltmp23:
	jmp	.LBB14_207
.LBB14_199:
.Ltmp20:
	jmp	.LBB14_207
.LBB14_200:
.Ltmp17:
	jmp	.LBB14_207
.LBB14_201:
.Ltmp14:
	jmp	.LBB14_207
.LBB14_202:
.Ltmp11:
	jmp	.LBB14_207
.LBB14_203:
.Ltmp8:
	jmp	.LBB14_207
.LBB14_204:
.Ltmp135:
	jmp	.LBB14_209
.LBB14_205:
.Ltmp119:
	jmp	.LBB14_207
.LBB14_206:
.Ltmp5:
.LBB14_207:
	movq	%rax, %rbx
	jmp	.LBB14_210
.LBB14_208:
.Ltmp132:
.LBB14_209:
	movq	%rax, %rbx
	leaq	8(%rsp), %rdi
	callq	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
.LBB14_210:
	movq	32(%rsp), %rdi
	testq	%rdi, %rdi
	je	.LBB14_212
# %bb.211:
	callq	_ZdlPv
.LBB14_212:                             # %_ZNSt6vectorI4edgeSaIS0_EED2Ev.exit133
	movq	%rbx, %rdi
	callq	_Unwind_Resume@PLT
.Lfunc_end14:
	.size	main, .Lfunc_end14-main
	.cfi_endproc
	.section	.gcc_except_table,"a",@progbits
	.p2align	2, 0x0
GCC_except_table14:
.Lexception1:
	.byte	255                             # @LPStart Encoding = omit
	.byte	255                             # @TType Encoding = omit
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end1-.Lcst_begin1
.Lcst_begin1:
	.uleb128 .Ltmp3-.Lfunc_begin1           # >> Call Site 1 <<
	.uleb128 .Ltmp4-.Ltmp3                  #   Call between .Ltmp3 and .Ltmp4
	.uleb128 .Ltmp5-.Lfunc_begin1           #     jumps to .Ltmp5
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp6-.Lfunc_begin1           # >> Call Site 2 <<
	.uleb128 .Ltmp7-.Ltmp6                  #   Call between .Ltmp6 and .Ltmp7
	.uleb128 .Ltmp8-.Lfunc_begin1           #     jumps to .Ltmp8
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp9-.Lfunc_begin1           # >> Call Site 3 <<
	.uleb128 .Ltmp10-.Ltmp9                 #   Call between .Ltmp9 and .Ltmp10
	.uleb128 .Ltmp11-.Lfunc_begin1          #     jumps to .Ltmp11
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp12-.Lfunc_begin1          # >> Call Site 4 <<
	.uleb128 .Ltmp13-.Ltmp12                #   Call between .Ltmp12 and .Ltmp13
	.uleb128 .Ltmp14-.Lfunc_begin1          #     jumps to .Ltmp14
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp15-.Lfunc_begin1          # >> Call Site 5 <<
	.uleb128 .Ltmp16-.Ltmp15                #   Call between .Ltmp15 and .Ltmp16
	.uleb128 .Ltmp17-.Lfunc_begin1          #     jumps to .Ltmp17
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp18-.Lfunc_begin1          # >> Call Site 6 <<
	.uleb128 .Ltmp19-.Ltmp18                #   Call between .Ltmp18 and .Ltmp19
	.uleb128 .Ltmp20-.Lfunc_begin1          #     jumps to .Ltmp20
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp21-.Lfunc_begin1          # >> Call Site 7 <<
	.uleb128 .Ltmp22-.Ltmp21                #   Call between .Ltmp21 and .Ltmp22
	.uleb128 .Ltmp23-.Lfunc_begin1          #     jumps to .Ltmp23
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp24-.Lfunc_begin1          # >> Call Site 8 <<
	.uleb128 .Ltmp25-.Ltmp24                #   Call between .Ltmp24 and .Ltmp25
	.uleb128 .Ltmp26-.Lfunc_begin1          #     jumps to .Ltmp26
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp27-.Lfunc_begin1          # >> Call Site 9 <<
	.uleb128 .Ltmp28-.Ltmp27                #   Call between .Ltmp27 and .Ltmp28
	.uleb128 .Ltmp29-.Lfunc_begin1          #     jumps to .Ltmp29
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp30-.Lfunc_begin1          # >> Call Site 10 <<
	.uleb128 .Ltmp31-.Ltmp30                #   Call between .Ltmp30 and .Ltmp31
	.uleb128 .Ltmp32-.Lfunc_begin1          #     jumps to .Ltmp32
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp33-.Lfunc_begin1          # >> Call Site 11 <<
	.uleb128 .Ltmp34-.Ltmp33                #   Call between .Ltmp33 and .Ltmp34
	.uleb128 .Ltmp35-.Lfunc_begin1          #     jumps to .Ltmp35
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp36-.Lfunc_begin1          # >> Call Site 12 <<
	.uleb128 .Ltmp37-.Ltmp36                #   Call between .Ltmp36 and .Ltmp37
	.uleb128 .Ltmp38-.Lfunc_begin1          #     jumps to .Ltmp38
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp39-.Lfunc_begin1          # >> Call Site 13 <<
	.uleb128 .Ltmp40-.Ltmp39                #   Call between .Ltmp39 and .Ltmp40
	.uleb128 .Ltmp41-.Lfunc_begin1          #     jumps to .Ltmp41
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp42-.Lfunc_begin1          # >> Call Site 14 <<
	.uleb128 .Ltmp43-.Ltmp42                #   Call between .Ltmp42 and .Ltmp43
	.uleb128 .Ltmp44-.Lfunc_begin1          #     jumps to .Ltmp44
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp45-.Lfunc_begin1          # >> Call Site 15 <<
	.uleb128 .Ltmp46-.Ltmp45                #   Call between .Ltmp45 and .Ltmp46
	.uleb128 .Ltmp47-.Lfunc_begin1          #     jumps to .Ltmp47
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp48-.Lfunc_begin1          # >> Call Site 16 <<
	.uleb128 .Ltmp49-.Ltmp48                #   Call between .Ltmp48 and .Ltmp49
	.uleb128 .Ltmp50-.Lfunc_begin1          #     jumps to .Ltmp50
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp51-.Lfunc_begin1          # >> Call Site 17 <<
	.uleb128 .Ltmp52-.Ltmp51                #   Call between .Ltmp51 and .Ltmp52
	.uleb128 .Ltmp53-.Lfunc_begin1          #     jumps to .Ltmp53
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp54-.Lfunc_begin1          # >> Call Site 18 <<
	.uleb128 .Ltmp55-.Ltmp54                #   Call between .Ltmp54 and .Ltmp55
	.uleb128 .Ltmp56-.Lfunc_begin1          #     jumps to .Ltmp56
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp57-.Lfunc_begin1          # >> Call Site 19 <<
	.uleb128 .Ltmp58-.Ltmp57                #   Call between .Ltmp57 and .Ltmp58
	.uleb128 .Ltmp59-.Lfunc_begin1          #     jumps to .Ltmp59
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp60-.Lfunc_begin1          # >> Call Site 20 <<
	.uleb128 .Ltmp61-.Ltmp60                #   Call between .Ltmp60 and .Ltmp61
	.uleb128 .Ltmp62-.Lfunc_begin1          #     jumps to .Ltmp62
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp63-.Lfunc_begin1          # >> Call Site 21 <<
	.uleb128 .Ltmp64-.Ltmp63                #   Call between .Ltmp63 and .Ltmp64
	.uleb128 .Ltmp65-.Lfunc_begin1          #     jumps to .Ltmp65
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp66-.Lfunc_begin1          # >> Call Site 22 <<
	.uleb128 .Ltmp67-.Ltmp66                #   Call between .Ltmp66 and .Ltmp67
	.uleb128 .Ltmp68-.Lfunc_begin1          #     jumps to .Ltmp68
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp69-.Lfunc_begin1          # >> Call Site 23 <<
	.uleb128 .Ltmp70-.Ltmp69                #   Call between .Ltmp69 and .Ltmp70
	.uleb128 .Ltmp71-.Lfunc_begin1          #     jumps to .Ltmp71
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp72-.Lfunc_begin1          # >> Call Site 24 <<
	.uleb128 .Ltmp73-.Ltmp72                #   Call between .Ltmp72 and .Ltmp73
	.uleb128 .Ltmp74-.Lfunc_begin1          #     jumps to .Ltmp74
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp75-.Lfunc_begin1          # >> Call Site 25 <<
	.uleb128 .Ltmp76-.Ltmp75                #   Call between .Ltmp75 and .Ltmp76
	.uleb128 .Ltmp77-.Lfunc_begin1          #     jumps to .Ltmp77
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp78-.Lfunc_begin1          # >> Call Site 26 <<
	.uleb128 .Ltmp79-.Ltmp78                #   Call between .Ltmp78 and .Ltmp79
	.uleb128 .Ltmp80-.Lfunc_begin1          #     jumps to .Ltmp80
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp81-.Lfunc_begin1          # >> Call Site 27 <<
	.uleb128 .Ltmp82-.Ltmp81                #   Call between .Ltmp81 and .Ltmp82
	.uleb128 .Ltmp83-.Lfunc_begin1          #     jumps to .Ltmp83
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp84-.Lfunc_begin1          # >> Call Site 28 <<
	.uleb128 .Ltmp85-.Ltmp84                #   Call between .Ltmp84 and .Ltmp85
	.uleb128 .Ltmp86-.Lfunc_begin1          #     jumps to .Ltmp86
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp87-.Lfunc_begin1          # >> Call Site 29 <<
	.uleb128 .Ltmp88-.Ltmp87                #   Call between .Ltmp87 and .Ltmp88
	.uleb128 .Ltmp89-.Lfunc_begin1          #     jumps to .Ltmp89
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp90-.Lfunc_begin1          # >> Call Site 30 <<
	.uleb128 .Ltmp91-.Ltmp90                #   Call between .Ltmp90 and .Ltmp91
	.uleb128 .Ltmp92-.Lfunc_begin1          #     jumps to .Ltmp92
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp93-.Lfunc_begin1          # >> Call Site 31 <<
	.uleb128 .Ltmp94-.Ltmp93                #   Call between .Ltmp93 and .Ltmp94
	.uleb128 .Ltmp95-.Lfunc_begin1          #     jumps to .Ltmp95
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp96-.Lfunc_begin1          # >> Call Site 32 <<
	.uleb128 .Ltmp97-.Ltmp96                #   Call between .Ltmp96 and .Ltmp97
	.uleb128 .Ltmp98-.Lfunc_begin1          #     jumps to .Ltmp98
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp99-.Lfunc_begin1          # >> Call Site 33 <<
	.uleb128 .Ltmp100-.Ltmp99               #   Call between .Ltmp99 and .Ltmp100
	.uleb128 .Ltmp101-.Lfunc_begin1         #     jumps to .Ltmp101
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp102-.Lfunc_begin1         # >> Call Site 34 <<
	.uleb128 .Ltmp103-.Ltmp102              #   Call between .Ltmp102 and .Ltmp103
	.uleb128 .Ltmp104-.Lfunc_begin1         #     jumps to .Ltmp104
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp105-.Lfunc_begin1         # >> Call Site 35 <<
	.uleb128 .Ltmp106-.Ltmp105              #   Call between .Ltmp105 and .Ltmp106
	.uleb128 .Ltmp107-.Lfunc_begin1         #     jumps to .Ltmp107
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp108-.Lfunc_begin1         # >> Call Site 36 <<
	.uleb128 .Ltmp109-.Ltmp108              #   Call between .Ltmp108 and .Ltmp109
	.uleb128 .Ltmp110-.Lfunc_begin1         #     jumps to .Ltmp110
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp111-.Lfunc_begin1         # >> Call Site 37 <<
	.uleb128 .Ltmp112-.Ltmp111              #   Call between .Ltmp111 and .Ltmp112
	.uleb128 .Ltmp113-.Lfunc_begin1         #     jumps to .Ltmp113
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp114-.Lfunc_begin1         # >> Call Site 38 <<
	.uleb128 .Ltmp115-.Ltmp114              #   Call between .Ltmp114 and .Ltmp115
	.uleb128 .Ltmp116-.Lfunc_begin1         #     jumps to .Ltmp116
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp117-.Lfunc_begin1         # >> Call Site 39 <<
	.uleb128 .Ltmp118-.Ltmp117              #   Call between .Ltmp117 and .Ltmp118
	.uleb128 .Ltmp119-.Lfunc_begin1         #     jumps to .Ltmp119
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp120-.Lfunc_begin1         # >> Call Site 40 <<
	.uleb128 .Ltmp131-.Ltmp120              #   Call between .Ltmp120 and .Ltmp131
	.uleb128 .Ltmp132-.Lfunc_begin1         #     jumps to .Ltmp132
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp133-.Lfunc_begin1         # >> Call Site 41 <<
	.uleb128 .Ltmp134-.Ltmp133              #   Call between .Ltmp133 and .Ltmp134
	.uleb128 .Ltmp135-.Lfunc_begin1         #     jumps to .Ltmp135
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp134-.Lfunc_begin1         # >> Call Site 42 <<
	.uleb128 .Lfunc_end14-.Ltmp134          #   Call between .Ltmp134 and .Lfunc_end14
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
.Lcst_end1:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text._ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi,"axG",@progbits,_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi,comdat
	.weak	_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi # -- Begin function _ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi
	.p2align	1, 0x90
	.type	_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi,@function
_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi: # @_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi
.Lfunc_begin2:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception2
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$40, %rsp
	.cfi_def_cfa_offset 96
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rsi, %r14
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%rdi)
	movq	$0, 16(%rdi)
	movslq	%edx, %r15
.Ltmp136:
	movq	%rdi, 24(%rsp)                  # 8-byte Spill
	movq	%r15, %rsi
	callq	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm
.Ltmp137:
# %bb.1:
.Ltmp138:
	movl	$nonEmptyIndices, %edi
	movq	%r15, %rsi
	xorl	%edx, %edx
	callq	_ZNSt6vectorIbSaIbEE6resizeEmb
.Ltmp139:
# %bb.2:
	movq	(%r14), %r13
	movq	8(%r14), %rax
	movq	%rax, 32(%rsp)                  # 8-byte Spill
	cmpq	%rax, %r13
	je	.LBB15_3
.LBB15_5:                               # =>This Inner Loop Header: Depth=1
	movl	(%r13), %ebp
	movl	4(%r13), %r14d
	movl	8(%r13), %ebx
	movslq	%ebp, %r15
	movq	24(%rsp), %rax                  # 8-byte Reload
	movq	(%rax), %rax
	leaq	(%r15,%r15,2), %rcx
	leaq	(%rax,%rcx,8), %rdi
	movl	%r15d, 12(%rsp)
	movl	%r14d, 16(%rsp)
	movl	%ebx, 20(%rsp)
	movq	8(%rdi), %rsi
	cmpq	16(%rdi), %rsi
	je	.LBB15_7
# %bb.6:                                #   in Loop: Header=BB15_5 Depth=1
	movl	20(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	12(%rsp), %rax
	movq	%rax, (%rsi)
	addq	$12, 8(%rdi)
	jmp	.LBB15_8
.LBB15_7:                               #   in Loop: Header=BB15_5 Depth=1
.Ltmp141:
	leaq	12(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp142:
.LBB15_8:                               # %_ZNSt6vectorI4edgeSaIS0_EE9push_backEOS0_.exit
                                        #   in Loop: Header=BB15_5 Depth=1
	movslq	%r14d, %r12
	movq	24(%rsp), %rax                  # 8-byte Reload
	movq	(%rax), %rax
	leaq	(%r12,%r12,2), %rcx
	leaq	(%rax,%rcx,8), %rdi
	movl	%r14d, 12(%rsp)
	movl	%ebp, 16(%rsp)
	movl	%ebx, 20(%rsp)
	movq	8(%rdi), %rsi
	cmpq	16(%rdi), %rsi
	je	.LBB15_10
# %bb.9:                                #   in Loop: Header=BB15_5 Depth=1
	movl	20(%rsp), %eax
	movl	%eax, 8(%rsi)
	movq	12(%rsp), %rax
	movq	%rax, (%rsi)
	addq	$12, 8(%rdi)
	jmp	.LBB15_11
.LBB15_10:                              #   in Loop: Header=BB15_5 Depth=1
.Ltmp144:
	leaq	12(%rsp), %rdx
	callq	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
.Ltmp145:
.LBB15_11:                              #   in Loop: Header=BB15_5 Depth=1
	movq	nonEmptyIndices(%rip), %rax
	leal	63(%rbp), %ecx
	testl	%ebp, %ebp
	cmovnsl	%ebp, %ecx
	movl	%ecx, %edx
	sarl	$6, %edx
	movslq	%edx, %rdx
	leaq	(%rax,%rdx,8), %rdx
	andl	$-64, %ecx
	subl	%ecx, %ebp
	sarl	$31, %ebp
	movl	$1, %esi
	movl	%r15d, %ecx
	shlq	%cl, %rsi
	movslq	%ebp, %rcx
	orq	%rsi, (%rdx,%rcx,8)
	leal	63(%r14), %ecx
	testl	%r14d, %r14d
	cmovnsl	%r14d, %ecx
	movl	%ecx, %edx
	sarl	$6, %edx
	movslq	%edx, %rdx
	leaq	(%rax,%rdx,8), %rax
	andl	$-64, %ecx
	subl	%ecx, %r14d
	sarl	$31, %r14d
	movl	$1, %edx
	movl	%r12d, %ecx
	shlq	%cl, %rdx
	movslq	%r14d, %rcx
	orq	%rdx, (%rax,%rcx,8)
	addq	$12, %r13
	cmpq	32(%rsp), %r13                  # 8-byte Folded Reload
	jne	.LBB15_5
.LBB15_3:                               # %._crit_edge
	addq	$40, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.LBB15_4:
	.cfi_def_cfa_offset 96
.Ltmp140:
	jmp	.LBB15_14
.LBB15_12:
.Ltmp143:
	jmp	.LBB15_14
.LBB15_13:
.Ltmp146:
.LBB15_14:
	movq	%rax, %r14
	movq	24(%rsp), %rdi                  # 8-byte Reload
	callq	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	movq	%r14, %rdi
	callq	_Unwind_Resume@PLT
.Lfunc_end15:
	.size	_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi, .Lfunc_end15-_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi
	.cfi_endproc
	.section	.gcc_except_table._ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi,"aG",@progbits,_ZN5GraphC2ERKSt6vectorI4edgeSaIS1_EEi,comdat
	.p2align	2, 0x0
GCC_except_table15:
.Lexception2:
	.byte	255                             # @LPStart Encoding = omit
	.byte	255                             # @TType Encoding = omit
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end2-.Lcst_begin2
.Lcst_begin2:
	.uleb128 .Ltmp136-.Lfunc_begin2         # >> Call Site 1 <<
	.uleb128 .Ltmp139-.Ltmp136              #   Call between .Ltmp136 and .Ltmp139
	.uleb128 .Ltmp140-.Lfunc_begin2         #     jumps to .Ltmp140
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp141-.Lfunc_begin2         # >> Call Site 2 <<
	.uleb128 .Ltmp142-.Ltmp141              #   Call between .Ltmp141 and .Ltmp142
	.uleb128 .Ltmp143-.Lfunc_begin2         #     jumps to .Ltmp143
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp144-.Lfunc_begin2         # >> Call Site 3 <<
	.uleb128 .Ltmp145-.Ltmp144              #   Call between .Ltmp144 and .Ltmp145
	.uleb128 .Ltmp146-.Lfunc_begin2         #     jumps to .Ltmp146
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp145-.Lfunc_begin2         # >> Call Site 4 <<
	.uleb128 .Lfunc_end15-.Ltmp145          #   Call between .Ltmp145 and .Lfunc_end15
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
.Lcst_end2:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text.__clang_call_terminate,"axG",@progbits,__clang_call_terminate,comdat
	.hidden	__clang_call_terminate          # -- Begin function __clang_call_terminate
	.weak	__clang_call_terminate
	.type	__clang_call_terminate,@function
__clang_call_terminate:                 # @__clang_call_terminate
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	callq	__cxa_begin_catch
	callq	_ZSt9terminatev
.Lfunc_end16:
	.size	__clang_call_terminate, .Lfunc_end16-__clang_call_terminate
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev,"axG",@progbits,_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev,comdat
	.weak	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev # -- Begin function _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev,@function
_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev: # @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev
.Lfunc_begin3:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception3
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	16(%rdi), %rsi
.Ltmp147:
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE
.Ltmp148:
# %bb.1:
	popq	%rax
	.cfi_def_cfa_offset 8
	retq
.LBB17_2:
	.cfi_def_cfa_offset 16
.Ltmp149:
	movq	%rax, %rdi
	callq	__clang_call_terminate
.Lfunc_end17:
	.size	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev, .Lfunc_end17-_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev
	.cfi_endproc
	.section	.gcc_except_table._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev,"aG",@progbits,_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev,comdat
	.p2align	2, 0x0
GCC_except_table17:
.Lexception3:
	.byte	255                             # @LPStart Encoding = omit
	.byte	3                               # @TType Encoding = udata4
	.uleb128 .Lttbase1-.Lttbaseref1
.Lttbaseref1:
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end3-.Lcst_begin3
.Lcst_begin3:
	.uleb128 .Ltmp147-.Lfunc_begin3         # >> Call Site 1 <<
	.uleb128 .Ltmp148-.Ltmp147              #   Call between .Ltmp147 and .Ltmp148
	.uleb128 .Ltmp149-.Lfunc_begin3         #     jumps to .Ltmp149
	.byte	1                               #   On action: 1
.Lcst_end3:
	.byte	1                               # >> Action Record 1 <<
                                        #   Catch TypeInfo 1
	.byte	0                               #   No further actions
	.p2align	2, 0x0
                                        # >> Catch TypeInfos <<
	.long	0                               # TypeInfo 1
.Lttbase1:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE,"axG",@progbits,_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE,comdat
	.weak	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE # -- Begin function _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE,@function
_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE: # @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE
	.cfi_startproc
# %bb.0:
	testq	%rsi, %rsi
	je	.LBB18_4
# %bb.1:                                # %.lr.ph.preheader
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rsi, %r14
	movq	%rdi, %rbx
.LBB18_2:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movq	24(%r14), %rsi
	movq	%rbx, %rdi
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE
	movq	16(%r14), %r15
	movq	%r14, %rdi
	callq	_ZdlPv
	movq	%r15, %r14
	testq	%r15, %r15
	jne	.LBB18_2
# %bb.3:
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	.cfi_restore %rbx
	.cfi_restore %r14
	.cfi_restore %r15
.LBB18_4:                               # %._crit_edge
	retq
.Lfunc_end18:
	.size	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE, .Lfunc_end18-_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev
.Lfunc_begin4:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception4
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	16(%rdi), %rsi
.Ltmp150:
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E
.Ltmp151:
# %bb.1:
	popq	%rax
	.cfi_def_cfa_offset 8
	retq
.LBB19_2:
	.cfi_def_cfa_offset 16
.Ltmp152:
	movq	%rax, %rdi
	callq	__clang_call_terminate
.Lfunc_end19:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev, .Lfunc_end19-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev
	.cfi_endproc
	.section	.gcc_except_table._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev,"aG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EED2Ev,comdat
	.p2align	2, 0x0
GCC_except_table19:
.Lexception4:
	.byte	255                             # @LPStart Encoding = omit
	.byte	3                               # @TType Encoding = udata4
	.uleb128 .Lttbase2-.Lttbaseref2
.Lttbaseref2:
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end4-.Lcst_begin4
.Lcst_begin4:
	.uleb128 .Ltmp150-.Lfunc_begin4         # >> Call Site 1 <<
	.uleb128 .Ltmp151-.Ltmp150              #   Call between .Ltmp150 and .Ltmp151
	.uleb128 .Ltmp152-.Lfunc_begin4         #     jumps to .Ltmp152
	.byte	1                               #   On action: 1
.Lcst_end4:
	.byte	1                               # >> Action Record 1 <<
                                        #   Catch TypeInfo 1
	.byte	0                               #   No further actions
	.p2align	2, 0x0
                                        # >> Catch TypeInfos <<
	.long	0                               # TypeInfo 1
.Lttbase2:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E
	.cfi_startproc
# %bb.0:
	testq	%rsi, %rsi
	je	.LBB20_4
# %bb.1:                                # %.lr.ph.preheader
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rsi, %r14
	movq	%rdi, %rbx
.LBB20_2:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movq	24(%r14), %rsi
	movq	%rbx, %rdi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E
	movq	16(%r14), %r15
	movq	%r14, %rdi
	callq	_ZdlPv
	movq	%r15, %r14
	testq	%r15, %r15
	jne	.LBB20_2
# %bb.3:
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	.cfi_restore %rbx
	.cfi_restore %r14
	.cfi_restore %r15
.LBB20_4:                               # %._crit_edge
	retq
.Lfunc_end20:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E, .Lfunc_end20-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_ # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_
	.cfi_startproc
# %bb.0:
	leaq	8(%rdi), %rax
	movl	$0, 8(%rdi)
	xorl	%ecx, %ecx
	movq	%rcx, 16(%rdi)
	movq	%rax, 24(%rdi)
	movq	%rax, 32(%rdi)
	movq	%rcx, 40(%rdi)
	cmpq	%rcx, 16(%rsi)
	je	.LBB21_2
# %bb.1:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	subq	$16, %rsp
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -16
	movq	%rdi, %rbx
	leaq	8(%rsp), %rdx
	movq	%rdi, (%rdx)
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_
	movq	%rax, 16(%rbx)
	addq	$16, %rsp
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	.cfi_restore %rbx
.LBB21_2:
	retq
.Lfunc_end21:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_, .Lfunc_end21-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EEC2ERKS6_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_ # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_
	.cfi_startproc
# %bb.0:
	pushq	%r14
	.cfi_def_cfa_offset 16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	pushq	%rax
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -24
	.cfi_offset %r14, -16
	movq	%rdx, %rcx
	movq	%rsi, %r14
	movq	%rdi, %rbx
	movq	16(%rsi), %rsi
	leaq	8(%rdi), %rdx
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_
	movq	%rax, %rdx
.LBB22_1:                               # =>This Inner Loop Header: Depth=1
	movq	%rdx, %rcx
	movq	16(%rdx), %rdx
	testq	%rdx, %rdx
	jne	.LBB22_1
# %bb.2:                                # %_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_S_minimumEPSt18_Rb_tree_node_base.exit
	movq	%rcx, 24(%rbx)
	movq	%rax, %rdx
.LBB22_3:                               # =>This Inner Loop Header: Depth=1
	movq	%rdx, %rcx
	movq	24(%rdx), %rdx
	testq	%rdx, %rdx
	jne	.LBB22_3
# %bb.4:                                # %_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_S_maximumEPSt18_Rb_tree_node_base.exit
	movq	%rcx, 32(%rbx)
	movq	40(%r14), %rcx
	movq	%rcx, 40(%rbx)
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end22:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_, .Lfunc_end22-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ERKS6_RT0_
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst16,"aM",@progbits,16
	.p2align	4, 0x0                          # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_
.LCPI23_0:
	.zero	16
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_
.Lfunc_begin5:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception5
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	pushq	%rax
	.cfi_def_cfa_offset 64
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rcx, %r15
	movq	%rdx, %r13
	movq	%rsi, %r12
	movq	%rdi, %rbx
	movl	$40, %edi
	callq	_Znwm
	movq	%rax, %r14
	movq	32(%r12), %rax
	movq	%rax, 32(%r14)
	movl	(%r12), %eax
	movl	%eax, (%r14)
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%r14)
	movq	%r13, 8(%r14)
	movq	24(%r12), %rsi
	testq	%rsi, %rsi
	je	.LBB23_3
# %bb.1:
.Ltmp153:
	movq	%rbx, %rdi
	movq	%r14, %rdx
	movq	%r15, %rcx
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_
.Ltmp154:
# %bb.2:
	movq	%rax, 24(%r14)
.LBB23_3:
	movq	16(%r12), %r13
	testq	%r13, %r13
	je	.LBB23_10
# %bb.4:                                # %.lr.ph.preheader
	movq	%r14, %rbp
.LBB23_5:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
.Ltmp156:
	movl	$40, %edi
	callq	_Znwm
.Ltmp157:
# %bb.6:                                #   in Loop: Header=BB23_5 Depth=1
	movq	%rax, %r12
	movq	32(%r13), %rax
	movq	%rax, 32(%r12)
	movl	(%r13), %eax
	movl	%eax, (%r12)
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%r12)
	movq	%r12, 16(%rbp)
	movq	%rbp, 8(%r12)
	movq	24(%r13), %rsi
	testq	%rsi, %rsi
	je	.LBB23_9
# %bb.7:                                #   in Loop: Header=BB23_5 Depth=1
.Ltmp158:
	movq	%rbx, %rdi
	movq	%r12, %rdx
	movq	%r15, %rcx
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_
.Ltmp159:
# %bb.8:                                #   in Loop: Header=BB23_5 Depth=1
	movq	%rax, 24(%r12)
.LBB23_9:                               #   in Loop: Header=BB23_5 Depth=1
	movq	16(%r13), %r13
	movq	%r12, %rbp
	testq	%r13, %r13
	jne	.LBB23_5
.LBB23_10:                              # %._crit_edge
	movq	%r14, %rax
	addq	$8, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.LBB23_18:
	.cfi_def_cfa_offset 64
.Ltmp155:
	jmp	.LBB23_12
.LBB23_11:
.Ltmp160:
.LBB23_12:
	movq	%rax, %rdi
	callq	__cxa_begin_catch
.Ltmp161:
	movq	%rbx, %rdi
	movq	%r14, %rsi
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE8_M_eraseEPSt13_Rb_tree_nodeIS0_E
.Ltmp162:
# %bb.13:
.Ltmp163:
	callq	__cxa_rethrow
.Ltmp164:
# %bb.17:
.LBB23_14:
.Ltmp165:
	movq	%rax, %rbx
.Ltmp166:
	callq	__cxa_end_catch
.Ltmp167:
# %bb.15:
	movq	%rbx, %rdi
	callq	_Unwind_Resume@PLT
.LBB23_16:
.Ltmp168:
	movq	%rax, %rdi
	callq	__clang_call_terminate
.Lfunc_end23:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_, .Lfunc_end23-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_
	.cfi_endproc
	.section	.gcc_except_table._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_,"aG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE7_M_copyILb0ENS6_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS0_ESB_PSt18_Rb_tree_node_baseRT0_,comdat
	.p2align	2, 0x0
GCC_except_table23:
.Lexception5:
	.byte	255                             # @LPStart Encoding = omit
	.byte	3                               # @TType Encoding = udata4
	.uleb128 .Lttbase3-.Lttbaseref3
.Lttbaseref3:
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end5-.Lcst_begin5
.Lcst_begin5:
	.uleb128 .Lfunc_begin5-.Lfunc_begin5    # >> Call Site 1 <<
	.uleb128 .Ltmp153-.Lfunc_begin5         #   Call between .Lfunc_begin5 and .Ltmp153
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp153-.Lfunc_begin5         # >> Call Site 2 <<
	.uleb128 .Ltmp154-.Ltmp153              #   Call between .Ltmp153 and .Ltmp154
	.uleb128 .Ltmp155-.Lfunc_begin5         #     jumps to .Ltmp155
	.byte	1                               #   On action: 1
	.uleb128 .Ltmp156-.Lfunc_begin5         # >> Call Site 3 <<
	.uleb128 .Ltmp159-.Ltmp156              #   Call between .Ltmp156 and .Ltmp159
	.uleb128 .Ltmp160-.Lfunc_begin5         #     jumps to .Ltmp160
	.byte	1                               #   On action: 1
	.uleb128 .Ltmp159-.Lfunc_begin5         # >> Call Site 4 <<
	.uleb128 .Ltmp161-.Ltmp159              #   Call between .Ltmp159 and .Ltmp161
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp161-.Lfunc_begin5         # >> Call Site 5 <<
	.uleb128 .Ltmp164-.Ltmp161              #   Call between .Ltmp161 and .Ltmp164
	.uleb128 .Ltmp165-.Lfunc_begin5         #     jumps to .Ltmp165
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp166-.Lfunc_begin5         # >> Call Site 6 <<
	.uleb128 .Ltmp167-.Ltmp166              #   Call between .Ltmp166 and .Ltmp167
	.uleb128 .Ltmp168-.Lfunc_begin5         #     jumps to .Ltmp168
	.byte	1                               #   On action: 1
	.uleb128 .Ltmp167-.Lfunc_begin5         # >> Call Site 7 <<
	.uleb128 .Lfunc_end23-.Ltmp167          #   Call between .Ltmp167 and .Lfunc_end23
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
.Lcst_end5:
	.byte	1                               # >> Action Record 1 <<
                                        #   Catch TypeInfo 1
	.byte	0                               #   No further actions
	.p2align	2, 0x0
                                        # >> Catch TypeInfos <<
	.long	0                               # TypeInfo 1
.Lttbase3:
	.p2align	2, 0x0
                                        # -- End function
	.section	.text._ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm,"axG",@progbits,_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm,comdat
	.weak	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm # -- Begin function _ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm
	.p2align	1, 0x90
	.type	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm,@function
_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm: # @_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r12
	.cfi_def_cfa_offset 32
	pushq	%rbx
	.cfi_def_cfa_offset 40
	pushq	%rax
	.cfi_def_cfa_offset 48
	.cfi_offset %rbx, -40
	.cfi_offset %r12, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rdi, %rbx
	movq	(%rdi), %rcx
	movq	8(%rdi), %r14
	movq	%r14, %rax
	subq	%rcx, %rax
	sarq	$3, %rax
	movabsq	$-6148914691236517205, %rdx     # imm = 0xAAAAAAAAAAAAAAAB
	imulq	%rax, %rdx
	movq	%rsi, %rax
	subq	%rdx, %rax
	jbe	.LBB24_1
# %bb.9:
	movq	%rbx, %rdi
	movq	%rax, %rsi
	addq	$8, %rsp
	.cfi_def_cfa_offset 40
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	jmp	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm # TAILCALL
.LBB24_1:
	.cfi_def_cfa_offset 48
	jae	.LBB24_8
# %bb.2:
	leaq	(%rsi,%rsi,2), %rax
	leaq	(%rcx,%rax,8), %r15
	cmpq	%r15, %r14
	je	.LBB24_8
# %bb.3:                                # %.lr.ph.i.i.i.i.preheader
	movq	%r15, %r12
.LBB24_4:                               # %.lr.ph.i.i.i.i
                                        # =>This Inner Loop Header: Depth=1
	movq	(%r12), %rdi
	testq	%rdi, %rdi
	je	.LBB24_6
# %bb.5:                                #   in Loop: Header=BB24_4 Depth=1
	callq	_ZdlPv
.LBB24_6:                               # %_ZSt8_DestroyISt6vectorI4edgeSaIS1_EEEvPT_.exit.i.i.i.i
                                        #   in Loop: Header=BB24_4 Depth=1
	addq	$24, %r12
	cmpq	%r14, %r12
	jne	.LBB24_4
# %bb.7:                                # %_ZSt8_DestroyIPSt6vectorI4edgeSaIS1_EES3_EvT_S5_RSaIT0_E.exit.i
	movq	%r15, 8(%rbx)
.LBB24_8:                               # %_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE15_M_erase_at_endEPS2_.exit
	addq	$8, %rsp
	.cfi_def_cfa_offset 40
	popq	%rbx
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end24:
	.size	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm, .Lfunc_end24-_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE6resizeEm
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIbSaIbEE6resizeEmb,"axG",@progbits,_ZNSt6vectorIbSaIbEE6resizeEmb,comdat
	.weak	_ZNSt6vectorIbSaIbEE6resizeEmb  # -- Begin function _ZNSt6vectorIbSaIbEE6resizeEmb
	.p2align	1, 0x90
	.type	_ZNSt6vectorIbSaIbEE6resizeEmb,@function
_ZNSt6vectorIbSaIbEE6resizeEmb:         # @_ZNSt6vectorIbSaIbEE6resizeEmb
	.cfi_startproc
# %bb.0:
	movq	(%rdi), %r8
	movq	16(%rdi), %rax
	movl	24(%rdi), %r9d
	movq	%rax, %rcx
	subq	%r8, %rcx
	leaq	(%r9,%rcx,8), %r10
	movq	%rsi, %rcx
	subq	%r10, %rcx
	jae	.LBB25_2
# %bb.1:
	leaq	63(%rsi), %rax
	testq	%rsi, %rsi
	cmovnsq	%rsi, %rax
	movq	%rax, %rcx
	sarq	$6, %rcx
	leaq	(%r8,%rcx,8), %rcx
	andq	$-64, %rax
	movq	%rsi, %rdx
	subq	%rax, %rdx
	sarq	$63, %rdx
	leaq	(%rcx,%rdx,8), %rax
	andl	$63, %esi
	movq	%rax, 16(%rdi)
	movl	%esi, 24(%rdi)
	retq
.LBB25_2:
	movzbl	%dl, %r8d
	movq	%rax, %rsi
	movl	%r9d, %edx
	jmp	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb # TAILCALL
.Lfunc_end25:
	.size	_ZNSt6vectorIbSaIbEE6resizeEmb, .Lfunc_end25-_ZNSt6vectorIbSaIbEE6resizeEmb
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev,"axG",@progbits,_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev,comdat
	.weak	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev # -- Begin function _ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	.p2align	1, 0x90
	.type	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev,@function
_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev: # @_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	(%rdi), %rbx
	movq	8(%rdi), %r15
	cmpq	%r15, %rbx
	je	.LBB26_6
# %bb.1:                                # %.lr.ph.i.i.i.preheader
	movq	%rdi, %r14
.LBB26_2:                               # %.lr.ph.i.i.i
                                        # =>This Inner Loop Header: Depth=1
	movq	(%rbx), %rdi
	testq	%rdi, %rdi
	je	.LBB26_4
# %bb.3:                                #   in Loop: Header=BB26_2 Depth=1
	callq	_ZdlPv
.LBB26_4:                               # %_ZSt8_DestroyISt6vectorI4edgeSaIS1_EEEvPT_.exit.i.i.i
                                        #   in Loop: Header=BB26_2 Depth=1
	addq	$24, %rbx
	cmpq	%r15, %rbx
	jne	.LBB26_2
# %bb.5:                                # %_ZSt8_DestroyIPSt6vectorI4edgeSaIS1_EES3_EvT_S5_RSaIT0_E.exitthread-pre-split
	movq	(%r14), %rbx
.LBB26_6:                               # %_ZSt8_DestroyIPSt6vectorI4edgeSaIS1_EES3_EvT_S5_RSaIT0_E.exit
	testq	%rbx, %rbx
	je	.LBB26_7
# %bb.8:
	movq	%rbx, %rdi
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	jmp	_ZdlPv                          # TAILCALL
.LBB26_7:                               # %_ZNSt12_Vector_baseISt6vectorI4edgeSaIS1_EESaIS3_EED2Ev.exit
	.cfi_def_cfa_offset 32
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end26:
	.size	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev, .Lfunc_end26-_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EED2Ev
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm,"axG",@progbits,_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm,comdat
	.weak	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm # -- Begin function _ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm
	.p2align	1, 0x90
	.type	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm,@function
_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm: # @_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm
	.cfi_startproc
# %bb.0:
	testq	%rsi, %rsi
	je	.LBB27_13
# %bb.1:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	pushq	%rax
	.cfi_def_cfa_offset 64
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rsi, %r14
	movq	%rdi, %rbx
	movq	8(%rdi), %r15
	movabsq	$-6148914691236517205, %rax     # imm = 0xAAAAAAAAAAAAAAAB
	movq	16(%rdi), %rcx
	subq	%r15, %rcx
	sarq	$3, %rcx
	imulq	%rax, %rcx
	cmpq	%rsi, %rcx
	jae	.LBB27_2
# %bb.3:
	movq	(%rbx), %r12
	movq	%r15, %r13
	subq	%r12, %r13
	sarq	$3, %r13
	imulq	%rax, %r13
	movl	$.L.str.11, %edx
	movq	%rbx, %rdi
	movq	%r14, %rsi
	callq	_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc
	testq	%rax, %rax
	movq	%rax, (%rsp)                    # 8-byte Spill
	je	.LBB27_4
# %bb.5:
	movq	%rbx, %rdi
	movq	%rax, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv
	movq	%rax, %rbp
	jmp	.LBB27_6
.LBB27_2:                               # %_ZSt27__uninitialized_default_n_aIPSt6vectorI4edgeSaIS1_EEmS3_ET_S5_T0_RSaIT1_E.exit
	shlq	$3, %r14
	leaq	(%r14,%r14,2), %r14
	movq	%r15, %rdi
	xorl	%esi, %esi
	movq	%r14, %rdx
	callq	memset@PLT
	addq	%r14, %r15
	movq	%r15, 8(%rbx)
	jmp	.LBB27_12
.LBB27_4:
	xorl	%ebp, %ebp
.LBB27_6:
	leaq	(,%r13,2), %rax
	addq	%r13, %rax
	leaq	(%rbp,%rax,8), %r13
	leaq	(,%r14,8), %rax
	leaq	(%rax,%rax,2), %rdx
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	memset@PLT
	cmpq	%r15, %r12
	je	.LBB27_9
# %bb.7:                                # %.lr.ph.i.i.i.preheader
	xorl	%eax, %eax
	xorps	%xmm0, %xmm0
.LBB27_8:                               # %.lr.ph.i.i.i
                                        # =>This Inner Loop Header: Depth=1
	leaq	(%r12,%rax), %rcx
	addq	$24, %rcx
	movq	-24(%rcx), %rdx
	movq	%rdx, (%rbp,%rax)
	movq	-16(%rcx), %rdx
	movq	%rdx, 8(%rbp,%rax)
	movq	-8(%rcx), %rdx
	movq	%rdx, 16(%rbp,%rax)
	movups	%xmm0, -24(%rcx)
	movq	$0, -8(%rcx)
	addq	$24, %rax
	cmpq	%r15, %rcx
	jne	.LBB27_8
.LBB27_9:                               # %_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit
	testq	%r12, %r12
	je	.LBB27_11
# %bb.10:
	movq	%r12, %rdi
	callq	_ZdlPv
.LBB27_11:                              # %_ZNSt12_Vector_baseISt6vectorI4edgeSaIS1_EESaIS3_EE13_M_deallocateEPS3_m.exit37
	movq	%rbp, (%rbx)
	leaq	(%r14,%r14,2), %rax
	leaq	(,%rax,8), %rax
	addq	%r13, %rax
	movq	%rax, 8(%rbx)
	movq	(%rsp), %rax                    # 8-byte Reload
	leaq	(%rax,%rax,2), %rax
	leaq	(,%rax,8), %rax
	addq	%rbp, %rax
	movq	%rax, 16(%rbx)
.LBB27_12:
	addq	$8, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	.cfi_restore %rbx
	.cfi_restore %r12
	.cfi_restore %r13
	.cfi_restore %r14
	.cfi_restore %r15
	.cfi_restore %rbp
.LBB27_13:
	retq
.Lfunc_end27:
	.size	_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm, .Lfunc_end27-_ZNSt6vectorIS_I4edgeSaIS0_EESaIS2_EE17_M_default_appendEm
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc,comdat
	.weak	_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc # -- Begin function _ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc
	.p2align	1, 0x90
	.type	_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc,@function
_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc: # @_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc
	.cfi_startproc
# %bb.0:
	movabsq	$384307168202282325, %rcx       # imm = 0x555555555555555
	movq	8(%rdi), %rax
	subq	(%rdi), %rax
	sarq	$3, %rax
	movabsq	$-6148914691236517205, %rdi     # imm = 0xAAAAAAAAAAAAAAAB
	imulq	%rax, %rdi
	movq	%rcx, %rax
	subq	%rdi, %rax
	cmpq	%rsi, %rax
	jb	.LBB28_2
# %bb.1:
	cmpq	%rsi, %rdi
	cmovaq	%rdi, %rsi
	leaq	(%rsi,%rdi), %rax
	cmpq	%rcx, %rax
	cmovaeq	%rcx, %rax
	addq	%rdi, %rsi
	cmovbq	%rcx, %rax
	retq
.LBB28_2:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdx, %rdi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end28:
	.size	_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc, .Lfunc_end28-_ZNKSt6vectorIS_I4edgeSaIS0_EESaIS2_EE12_M_check_lenEmPKc
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv,@function
_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv: # @_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movabsq	$384307168202282326, %rax       # imm = 0x555555555555556
	cmpq	%rax, %rsi
	jae	.LBB29_1
# %bb.3:
	shlq	$3, %rsi
	leaq	(%rsi,%rsi,2), %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB29_1:
	.cfi_def_cfa_offset 16
	movabsq	$768614336404564651, %rax       # imm = 0xAAAAAAAAAAAAAAB
	cmpq	%rax, %rsi
	jb	.LBB29_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB29_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end29:
	.size	_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv, .Lfunc_end29-_ZNSt15__new_allocatorISt6vectorI4edgeSaIS1_EEE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb,"axG",@progbits,_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb,comdat
	.weak	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb # -- Begin function _ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb
	.p2align	1, 0x90
	.type	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb,@function
_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb: # @_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb
	.cfi_startproc
# %bb.0:
	testq	%rcx, %rcx
	je	.LBB30_41
# %bb.1:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rcx, %r12
	movl	%edx, %r10d
	movq	%rsi, %r14
	movq	%rdi, %rbx
	movl	%r8d, 8(%rsp)                   # 4-byte Spill
	movl	%r8d, %r15d
	negb	%r15b
	movq	32(%rdi), %rax
	movq	(%rdi), %rsi
	movq	16(%rdi), %rdx
	subq	%rsi, %rax
	shlq	$3, %rax
	movl	24(%rdi), %ecx
	subq	%rdx, %rsi
	subq	%rcx, %rax
	leaq	(%rax,%rsi,8), %rax
	cmpq	%r12, %rax
	jae	.LBB30_2
# %bb.19:
	movl	%r10d, 12(%rsp)                 # 4-byte Spill
	movl	$.L.str.12, %edx
	movq	%rbx, %rdi
	movq	%r12, %rsi
	callq	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	movq	%rax, %r13
	addq	$63, %r13
	shrq	$6, %r13
	movq	%rbx, %rdi
	movq	%r13, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorImE8allocateEmPKv
	movq	(%rbx), %rsi
	movq	%r14, %rbp
	subq	%rsi, %rbp
	cmpq	$9, %rbp
	movq	%rax, 16(%rsp)                  # 8-byte Spill
	jl	.LBB30_21
# %bb.20:
	movq	16(%rsp), %rdi                  # 8-byte Reload
	movq	%rbp, %rdx
	callq	memmove@PLT
	movq	16(%rsp), %rax                  # 8-byte Reload
.LBB30_23:                              # %_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.exit
	addq	%rax, %rbp
	movq	%r14, %rdi
	xorl	%esi, %esi
	movq	%r14, %rdx
	movl	12(%rsp), %ecx                  # 4-byte Reload
	movq	%rbp, %r8
	xorl	%r9d, %r9d
	callq	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_
	movl	%edx, %edx
	movq	%rdx, %rbp
	addq	%r12, %rbp
	leaq	63(%rdx,%r12), %rcx
	cmovnsq	%rbp, %rcx
	movq	%rcx, %rsi
	sarq	$6, %rsi
	leaq	(%rax,%rsi,8), %rsi
	andq	$-64, %rcx
	movq	%rbp, %rdi
	subq	%rcx, %rdi
	sarq	$63, %rdi
	leaq	(%rsi,%rdi,8), %r12
	andl	$63, %ebp
	cmpq	%r12, %rax
	je	.LBB30_34
# %bb.24:
	testq	%rdx, %rdx
	je	.LBB30_29
# %bb.25:
	movq	$-1, %rsi
	movl	%edx, %ecx
	shlq	%cl, %rsi
	cmpb	$0, 8(%rsp)                     # 1-byte Folded Reload
	je	.LBB30_27
# %bb.26:
	orq	(%rax), %rsi
	jmp	.LBB30_28
.LBB30_2:
	leaq	(%rcx,%r12), %rax
	addq	$63, %rax
	movq	%rcx, %r9
	addq	%r12, %r9
	cmovnsq	%r9, %rax
	movq	%rax, %rsi
	sarq	$6, %rsi
	leaq	(%rdx,%rsi,8), %rsi
	andq	$-64, %rax
	movq	%r9, %rdi
	subq	%rax, %rdi
	sarq	$63, %rdi
	leaq	(%rsi,%rdi,8), %r8
	andl	$63, %r9d
	movq	%r14, %rdi
	movl	%r10d, %esi
                                        # kill: def $ecx killed $ecx killed $rcx
                                        # kill: def $r9d killed $r9d killed $r9
	movl	%r10d, %ebp
	callq	_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_
	movl	%ebp, %edi
	movl	%ebp, %eax
	movq	%rax, %r13
	addq	%r12, %r13
	leaq	63(%rax,%r12), %rcx
	cmovnsq	%r13, %rcx
	movq	%rcx, %rdx
	sarq	$6, %rdx
	leaq	(%r14,%rdx,8), %rdx
	andq	$-64, %rcx
	movq	%r13, %rsi
	subq	%rcx, %rsi
	sarq	$63, %rsi
	leaq	(%rdx,%rsi,8), %rbp
	andl	$63, %r13d
	cmpq	%r14, %rbp
	je	.LBB30_13
# %bb.3:
	testl	%edi, %edi
	je	.LBB30_8
# %bb.4:
	movq	$-1, %rdx
	movl	%eax, %ecx
	shlq	%cl, %rdx
	cmpb	$0, 8(%rsp)                     # 1-byte Folded Reload
	je	.LBB30_6
# %bb.5:
	orq	(%r14), %rdx
	jmp	.LBB30_7
.LBB30_34:
	cmpl	%ebp, %edx
	movl	12(%rsp), %esi                  # 4-byte Reload
	je	.LBB30_39
# %bb.35:
	movl	%ebp, %ecx
	negb	%cl
	movq	$-1, %rdi
	shrq	%cl, %rdi
	movl	%edx, %ecx
	shrq	%cl, %rdi
	shlq	%cl, %rdi
	cmpb	$0, 8(%rsp)                     # 1-byte Folded Reload
	je	.LBB30_37
# %bb.36:
	orq	(%rax), %rdi
	jmp	.LBB30_38
.LBB30_13:
	cmpl	%edi, %r13d
	je	.LBB30_18
# %bb.14:
	negb	%r13b
	movq	$-1, %rdx
	movl	%r13d, %ecx
	shrq	%cl, %rdx
	movl	%eax, %ecx
	shrq	%cl, %rdx
	shlq	%cl, %rdx
	cmpb	$0, 8(%rsp)                     # 1-byte Folded Reload
	je	.LBB30_16
# %bb.15:
	orq	(%r14), %rdx
	jmp	.LBB30_17
.LBB30_27:
	notq	%rsi
	andq	(%rax), %rsi
.LBB30_28:                              # %_ZSt14__fill_bvectorPmjjb.exit.i.i.i58
	movq	%rsi, (%rax)
	addq	$8, %rax
.LBB30_29:
	movq	%r12, %rdx
	subq	%rax, %rdx
	movzbl	%r15b, %esi
	movq	%rax, %rdi
	callq	memset@PLT
	testl	%ebp, %ebp
	movl	12(%rsp), %esi                  # 4-byte Reload
	je	.LBB30_39
# %bb.30:
	movl	%ebp, %ecx
	negb	%cl
	movq	$-1, %rax
	shrq	%cl, %rax
	cmpb	$0, 8(%rsp)                     # 1-byte Folded Reload
	je	.LBB30_32
# %bb.31:
	orq	(%r12), %rax
	jmp	.LBB30_33
.LBB30_6:
	notq	%rdx
	andq	(%r14), %rdx
.LBB30_7:                               # %_ZSt14__fill_bvectorPmjjb.exit.i.i.i
	movq	%rdx, (%r14)
	addq	$8, %r14
.LBB30_8:
	movq	%rbp, %rdx
	subq	%r14, %rdx
	movzbl	%r15b, %esi
	movq	%r14, %rdi
	callq	memset@PLT
	testl	%r13d, %r13d
	je	.LBB30_18
# %bb.9:
	negb	%r13b
	movq	$-1, %rax
	movl	%r13d, %ecx
	shrq	%cl, %rax
	cmpb	$0, 8(%rsp)                     # 1-byte Folded Reload
	je	.LBB30_11
# %bb.10:
	orq	(%rbp), %rax
	jmp	.LBB30_12
.LBB30_32:
	notq	%rax
	andq	(%r12), %rax
.LBB30_33:                              # %_ZSt14__fill_bvectorPmjjb.exit29.i.i.i64
	movq	%rax, (%r12)
	jmp	.LBB30_39
.LBB30_11:
	notq	%rax
	andq	(%rbp), %rax
.LBB30_12:                              # %_ZSt14__fill_bvectorPmjjb.exit29.i.i.i
	movq	%rax, (%rbp)
	jmp	.LBB30_18
.LBB30_37:
	notq	%rdi
	andq	(%rax), %rdi
.LBB30_38:                              # %_ZSt14__fill_bvectorPmjjb.exit31.i.i.i68
	movq	%rdi, (%rax)
.LBB30_39:                              # %_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_.exit70
	movq	16(%rbx), %rdx
	movl	24(%rbx), %ecx
	movq	%r14, %rdi
	movq	%r12, %r8
	movl	%ebp, %r9d
	callq	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_
	movq	%rax, %r15
	movl	%edx, %r14d
	movq	%rbx, %rdi
	callq	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	movq	16(%rsp), %rcx                  # 8-byte Reload
	leaq	(%rcx,%r13,8), %rax
	movq	%rax, 32(%rbx)
	movq	%rcx, (%rbx)
	movl	$0, 8(%rbx)
	movq	%r15, 16(%rbx)
	jmp	.LBB30_40
.LBB30_16:
	notq	%rdx
	andq	(%r14), %rdx
.LBB30_17:                              # %_ZSt14__fill_bvectorPmjjb.exit31.i.i.i
	movq	%rdx, (%r14)
.LBB30_18:                              # %_ZSt4fillISt13_Bit_iteratorbEvT_S1_RKT0_.exit
	movl	24(%rbx), %r14d
	leaq	(%r14,%r12), %rax
	addq	$63, %rax
	addq	%r12, %r14
	cmovnsq	%r14, %rax
	movq	%rax, %rcx
	sarq	$6, %rcx
	shlq	$3, %rcx
	addq	16(%rbx), %rcx
	andq	$-64, %rax
	movq	%r14, %rdx
	subq	%rax, %rdx
	sarq	$63, %rdx
	leaq	(%rcx,%rdx,8), %rax
	movq	%rax, 16(%rbx)
	andl	$63, %r14d
.LBB30_40:                              # %.sink.split
	movl	%r14d, 24(%rbx)
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	.cfi_restore %rbx
	.cfi_restore %r12
	.cfi_restore %r13
	.cfi_restore %r14
	.cfi_restore %r15
	.cfi_restore %rbp
.LBB30_41:
	retq
.LBB30_21:
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -56
	.cfi_offset %rbp, -16
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	cmpq	$8, %rbp
	jne	.LBB30_23
# %bb.22:
	movq	(%rsi), %rcx
	movq	%rcx, (%rax)
	jmp	.LBB30_23
.Lfunc_end30:
	.size	_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb, .Lfunc_end30-_ZNSt6vectorIbSaIbEE14_M_fill_insertESt13_Bit_iteratormb
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc,comdat
	.weak	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc # -- Begin function _ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	.p2align	1, 0x90
	.type	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc,@function
_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc: # @_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	.cfi_startproc
# %bb.0:
	movabsq	$9223372036854775744, %rcx      # imm = 0x7FFFFFFFFFFFFFC0
	movq	16(%rdi), %rax
	movl	24(%rdi), %r8d
	subq	(%rdi), %rax
	leaq	(%r8,%rax,8), %rdi
	movq	%rcx, %rax
	subq	%rdi, %rax
	cmpq	%rsi, %rax
	jb	.LBB31_2
# %bb.1:
	cmpq	%rsi, %rdi
	cmovaq	%rdi, %rsi
	leaq	(%rsi,%rdi), %rax
	cmpq	%rcx, %rax
	cmovaeq	%rcx, %rax
	addq	%rdi, %rsi
	cmovbq	%rcx, %rax
	retq
.LBB31_2:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdx, %rdi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end31:
	.size	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc, .Lfunc_end31-_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv,"axG",@progbits,_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv,comdat
	.weak	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv # -- Begin function _ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	.p2align	1, 0x90
	.type	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv,@function
_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv: # @_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	movq	%rdi, %rbx
	movq	(%rdi), %rdi
	testq	%rdi, %rdi
	je	.LBB32_2
# %bb.1:
	callq	_ZdlPv
	xorl	%eax, %eax
	movq	%rax, (%rbx)
	movl	%eax, 8(%rbx)
	movq	%rax, 16(%rbx)
	movl	%eax, 24(%rbx)
	movq	%rax, 32(%rbx)
.LBB32_2:
	popq	%rbx
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end32:
	.size	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv, .Lfunc_end32-_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_,"axG",@progbits,_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_,comdat
	.weak	_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_ # -- Begin function _ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_
	.p2align	1, 0x90
	.type	_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_,@function
_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_: # @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_
	.cfi_startproc
# %bb.0:
	movq	%r8, %rax
	movl	%ecx, %r8d
	movq	%rdx, %r11
	subq	%rdi, %r11
	movl	%ecx, %ecx
	movl	%esi, %r10d
	movq	%rcx, %rsi
	subq	%r10, %rsi
	leaq	(%rsi,%r11,8), %rsi
	testq	%rsi, %rsi
	jle	.LBB33_7
# %bb.1:                                # %_ZNSt13_Bit_iteratormmEv.exit.preheader
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	leaq	(%rcx,%rdx,8), %rsi
	subq	%r10, %rsi
	shlq	$3, %rdi
	subq	%rdi, %rsi
	incq	%rsi
	movl	$63, %edi
.LBB33_2:                               # %_ZNSt13_Bit_iteratormmEv.exit
                                        # =>This Inner Loop Header: Depth=1
	cmpl	$1, %r9d
	movl	$0, %ebx
	sbbq	%rbx, %rbx
	subl	$1, %r9d
	cmovbl	%edi, %r9d
	cmpl	$1, %r8d
	movl	$0, %r10d
	sbbq	%r10, %r10
	subl	$1, %r8d
	cmovbl	%edi, %r8d
	movl	$1, %r11d
	movl	%r9d, %ecx
	shlq	%cl, %r11
	leaq	(%rax,%rbx,8), %rax
	movq	(%rdx,%r10,8), %rcx
	btq	%r8, %rcx
	jae	.LBB33_4
# %bb.3:                                #   in Loop: Header=BB33_2 Depth=1
	orq	(%rax), %r11
	jmp	.LBB33_5
.LBB33_4:                               #   in Loop: Header=BB33_2 Depth=1
	notq	%r11
	andq	(%rax), %r11
.LBB33_5:                               # %_ZNSt14_Bit_referenceaSERKS_.exit
                                        #   in Loop: Header=BB33_2 Depth=1
	leaq	(%rdx,%r10,8), %rdx
	movq	%r11, (%rax)
	decq	%rsi
	cmpq	$1, %rsi
	jg	.LBB33_2
# %bb.6:
	popq	%rbx
	.cfi_def_cfa_offset 8
	.cfi_restore %rbx
.LBB33_7:                               # %._crit_edge
	movl	%r9d, %edx
	retq
.Lfunc_end33:
	.size	_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_, .Lfunc_end33-_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorImE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorImE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorImE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorImE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorImE8allocateEmPKv,@function
_ZNSt15__new_allocatorImE8allocateEmPKv: # @_ZNSt15__new_allocatorImE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rsi, %rax
	shrq	$60, %rax
	jne	.LBB34_1
# %bb.3:
	shlq	$3, %rsi
	movq	%rsi, %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB34_1:
	.cfi_def_cfa_offset 16
	shrq	$61, %rsi
	je	.LBB34_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB34_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end34:
	.size	_ZNSt15__new_allocatorImE8allocateEmPKv, .Lfunc_end34-_ZNSt15__new_allocatorImE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_,"axG",@progbits,_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_,comdat
	.weak	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_ # -- Begin function _ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_
	.p2align	1, 0x90
	.type	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_,@function
_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_: # @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_
	.cfi_startproc
# %bb.0:
                                        # kill: def $r9d killed $r9d def $r9
	movq	%r8, %rax
                                        # kill: def $esi killed $esi def $rsi
	movq	%rdx, %r8
	subq	%rdi, %r8
	movl	%ecx, %ecx
	movl	%esi, %r10d
	movq	%rcx, %r11
	subq	%r10, %r11
	leaq	(%r11,%r8,8), %r8
	testq	%r8, %r8
	jle	.LBB35_1
# %bb.3:                                # %.lr.ph.preheader
	leaq	(%rcx,%rdx,8), %r8
	subq	%r10, %r8
	leaq	(,%rdi,8), %rcx
	subq	%rcx, %r8
	incq	%r8
	xorl	%r10d, %r10d
.LBB35_4:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movq	(%rdi), %r11
	movl	$1, %edx
	movl	%r9d, %ecx
	shlq	%cl, %rdx
	btq	%rsi, %r11
	jae	.LBB35_6
# %bb.5:                                #   in Loop: Header=BB35_4 Depth=1
	orq	(%rax), %rdx
	jmp	.LBB35_7
.LBB35_6:                               #   in Loop: Header=BB35_4 Depth=1
	notq	%rdx
	andq	(%rax), %rdx
.LBB35_7:                               # %_ZNSt14_Bit_referenceaSEb.exit
                                        #   in Loop: Header=BB35_4 Depth=1
	movq	%rdx, (%rax)
	xorl	%ecx, %ecx
	cmpl	$63, %esi
	leal	1(%rsi), %esi
	sete	%cl
	cmovel	%r10d, %esi
	leaq	(%rdi,%rcx,8), %rdi
	leal	1(%r9), %edx
	xorl	%ecx, %ecx
	cmpl	$63, %r9d
	sete	%cl
	cmovel	%r10d, %edx
	leaq	(%rax,%rcx,8), %rax
	decq	%r8
                                        # kill: def $esi killed $esi def $rsi
	movl	%edx, %r9d
	cmpq	$1, %r8
	jg	.LBB35_4
# %bb.2:                                # %._crit_edge
	retq
.LBB35_1:
	movl	%r9d, %edx
	retq
.Lfunc_end35:
	.size	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_, .Lfunc_end35-_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_,"axG",@progbits,_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_,comdat
	.weak	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_ # -- Begin function _ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_
	.p2align	1, 0x90
	.type	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_,@function
_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_: # @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_
	.cfi_startproc
# %bb.0:
                                        # kill: def $r9d killed $r9d def $r9
	movq	%r8, %rax
                                        # kill: def $esi killed $esi def $rsi
	movq	%rdx, %r8
	subq	%rdi, %r8
	movl	%ecx, %ecx
	movl	%esi, %r10d
	movq	%rcx, %r11
	subq	%r10, %r11
	leaq	(%r11,%r8,8), %r8
	testq	%r8, %r8
	jle	.LBB36_1
# %bb.3:                                # %.lr.ph.preheader
	leaq	(%rcx,%rdx,8), %r8
	subq	%r10, %r8
	leaq	(,%rdi,8), %rcx
	subq	%rcx, %r8
	incq	%r8
	xorl	%r10d, %r10d
.LBB36_4:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	movl	$1, %edx
	movl	%r9d, %ecx
	shlq	%cl, %rdx
	movq	(%rdi), %rcx
	btq	%rsi, %rcx
	jae	.LBB36_6
# %bb.5:                                #   in Loop: Header=BB36_4 Depth=1
	orq	(%rax), %rdx
	jmp	.LBB36_7
.LBB36_6:                               #   in Loop: Header=BB36_4 Depth=1
	notq	%rdx
	andq	(%rax), %rdx
.LBB36_7:                               # %_ZNSt14_Bit_referenceaSERKS_.exit
                                        #   in Loop: Header=BB36_4 Depth=1
	movq	%rdx, (%rax)
	xorl	%ecx, %ecx
	cmpl	$63, %esi
	leal	1(%rsi), %esi
	sete	%cl
	cmovel	%r10d, %esi
	leaq	(%rdi,%rcx,8), %rdi
	leal	1(%r9), %edx
	xorl	%ecx, %ecx
	cmpl	$63, %r9d
	sete	%cl
	leaq	(%rax,%rcx,8), %rax
	cmovel	%r10d, %edx
	decq	%r8
                                        # kill: def $esi killed $esi def $rsi
	movl	%edx, %r9d
	cmpq	$1, %r8
	jg	.LBB36_4
# %bb.2:                                # %._crit_edge
	retq
.LBB36_1:
	movl	%r9d, %edx
	retq
.Lfunc_end36:
	.size	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_, .Lfunc_end36-_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,"axG",@progbits,_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,comdat
	.weak	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_ # -- Begin function _ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.p2align	1, 0x90
	.type	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,@function
_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_: # @_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rdx, (%rsp)                    # 8-byte Spill
	movq	%rsi, %r12
	movq	%rdi, %rbx
	movl	$1, %esi
	movl	$.L.str.13, %edx
	callq	_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc
	movq	%rax, %rsi
	movq	(%rbx), %r13
	movq	8(%rbx), %r15
	movq	%r12, 8(%rsp)                   # 8-byte Spill
	subq	%r13, %r12
	movq	%r12, %rax
	sarq	$2, %rax
	movabsq	$-6148914691236517205, %r14     # imm = 0xAAAAAAAAAAAAAAAB
	imulq	%rax, %r14
	testq	%rsi, %rsi
	movq	%rsi, 16(%rsp)                  # 8-byte Spill
	je	.LBB37_1
# %bb.2:
	movq	%rbx, %rdi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorI4edgeE8allocateEmPKv
	movq	%rax, %rbp
	jmp	.LBB37_3
.LBB37_1:
	xorl	%ebp, %ebp
.LBB37_3:                               # %_ZNSt12_Vector_baseI4edgeSaIS0_EE11_M_allocateEm.exit
	leaq	(%r14,%r14,2), %rax
	movq	(%rsp), %rdx                    # 8-byte Reload
	movl	8(%rdx), %ecx
	movl	%ecx, 8(%rbp,%rax,4)
	movq	(%rdx), %rcx
	movq	%rcx, (%rbp,%rax,4)
	testq	%r12, %r12
	jle	.LBB37_5
# %bb.4:
	movq	%rbp, %rdi
	movq	%r13, %rsi
	movq	%r12, %rdx
	callq	memmove@PLT
.LBB37_5:                               # %_ZNSt6vectorI4edgeSaIS0_EE11_S_relocateEPS0_S3_S3_RS1_.exit
	leaq	(%r12,%rbp), %r14
	addq	$12, %r14
	movq	8(%rsp), %rsi                   # 8-byte Reload
	subq	%rsi, %r15
	testq	%r15, %r15
	jle	.LBB37_7
# %bb.6:
	movq	%r14, %rdi
	movq	%r15, %rdx
	callq	memmove@PLT
.LBB37_7:                               # %_ZNSt6vectorI4edgeSaIS0_EE11_S_relocateEPS0_S3_S3_RS1_.exit16
	testq	%r13, %r13
	je	.LBB37_9
# %bb.8:
	movq	%r13, %rdi
	callq	_ZdlPv
.LBB37_9:                               # %_ZNSt12_Vector_baseI4edgeSaIS0_EE13_M_deallocateEPS0_m.exit
	addq	%r15, %r14
	movq	%rbp, (%rbx)
	movq	%r14, 8(%rbx)
	movq	16(%rsp), %rax                  # 8-byte Reload
	leaq	(%rax,%rax,2), %rax
	leaq	(,%rax,4), %rax
	addq	%rbp, %rax
	movq	%rax, 16(%rbx)
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end37:
	.size	_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_, .Lfunc_end37-_ZNSt6vectorI4edgeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc,comdat
	.weak	_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc # -- Begin function _ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc
	.p2align	1, 0x90
	.type	_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc,@function
_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc: # @_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc
	.cfi_startproc
# %bb.0:
	movabsq	$768614336404564650, %rcx       # imm = 0xAAAAAAAAAAAAAAA
	movq	8(%rdi), %rax
	subq	(%rdi), %rax
	sarq	$2, %rax
	movabsq	$-6148914691236517205, %rdi     # imm = 0xAAAAAAAAAAAAAAAB
	imulq	%rax, %rdi
	movq	%rcx, %rax
	subq	%rdi, %rax
	cmpq	%rsi, %rax
	jb	.LBB38_2
# %bb.1:
	cmpq	%rsi, %rdi
	cmovaq	%rdi, %rsi
	leaq	(%rsi,%rdi), %rax
	cmpq	%rcx, %rax
	cmovaeq	%rcx, %rax
	addq	%rdi, %rsi
	cmovbq	%rcx, %rax
	retq
.LBB38_2:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdx, %rdi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end38:
	.size	_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc, .Lfunc_end38-_ZNKSt6vectorI4edgeSaIS0_EE12_M_check_lenEmPKc
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorI4edgeE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorI4edgeE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorI4edgeE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorI4edgeE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorI4edgeE8allocateEmPKv,@function
_ZNSt15__new_allocatorI4edgeE8allocateEmPKv: # @_ZNSt15__new_allocatorI4edgeE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movabsq	$768614336404564651, %rax       # imm = 0xAAAAAAAAAAAAAAB
	cmpq	%rax, %rsi
	jae	.LBB39_1
# %bb.3:
	shlq	$2, %rsi
	leaq	(%rsi,%rsi,2), %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB39_1:
	.cfi_def_cfa_offset 16
	movabsq	$1537228672809129302, %rax      # imm = 0x1555555555555556
	cmpq	%rax, %rsi
	jb	.LBB39_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB39_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end39:
	.size	_ZNSt15__new_allocatorI4edgeE8allocateEmPKv, .Lfunc_end39-_ZNSt15__new_allocatorI4edgeE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_ # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_
	.cfi_startproc
# %bb.0:
	pushq	%r14
	.cfi_def_cfa_offset 16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	pushq	%rax
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -24
	.cfi_offset %r14, -16
	movq	%rsi, %rbx
	movq	%rdi, %r14
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_
	testq	%rdx, %rdx
	je	.LBB40_1
# %bb.2:
	movq	%rsp, %r8
	movq	%r14, (%r8)
	movq	%r14, %rdi
	movq	%rax, %rsi
	movq	%rbx, %rcx
	callq	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_
	movb	$1, %dl
	jmp	.LBB40_3
.LBB40_1:
	xorl	%edx, %edx
.LBB40_3:
                                        # kill: def $dl killed $dl killed $edx
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end40:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_, .Lfunc_end40-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE16_M_insert_uniqueIS0_EESt4pairISt17_Rb_tree_iteratorIS0_EbEOT_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_ # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_
	.cfi_startproc
# %bb.0:
	pushq	%r14
	.cfi_def_cfa_offset 16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	pushq	%rax
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -24
	.cfi_offset %r14, -16
	movq	%rsi, %r14
	movq	16(%rdi), %rsi
	testq	%rsi, %rsi
	je	.LBB41_1
# %bb.2:                                # %.lr.ph
	movl	(%r14), %eax
	movl	4(%r14), %ecx
.LBB41_3:                               # =>This Inner Loop Header: Depth=1
	movq	%rsi, %rbx
	cmpl	36(%rsi), %ecx
	jge	.LBB41_4
.LBB41_6:                               # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit.thread
                                        #   in Loop: Header=BB41_3 Depth=1
	leaq	16(%rbx), %rsi
	movb	$1, %dl
	jmp	.LBB41_8
.LBB41_4:                               #   in Loop: Header=BB41_3 Depth=1
	jne	.LBB41_7
# %bb.5:                                # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit
                                        #   in Loop: Header=BB41_3 Depth=1
	cmpl	32(%rbx), %eax
	jl	.LBB41_6
.LBB41_7:                               # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit.thread22
                                        #   in Loop: Header=BB41_3 Depth=1
	leaq	24(%rbx), %rsi
	xorl	%edx, %edx
.LBB41_8:                               #   in Loop: Header=BB41_3 Depth=1
	movq	(%rsi), %rsi
	testq	%rsi, %rsi
	jne	.LBB41_3
# %bb.9:                                # %._crit_edge
	movq	%rbx, %rax
	testb	%dl, %dl
	jne	.LBB41_10
	jmp	.LBB41_13
.LBB41_1:
	leaq	8(%rdi), %rbx
.LBB41_10:                              # %._crit_edge.thread
	cmpq	24(%rdi), %rbx
	je	.LBB41_11
# %bb.12:
	movq	%rbx, %rdi
	callq	_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base
.LBB41_13:
	movl	4(%r14), %ecx
	cmpl	%ecx, 36(%rax)
	jge	.LBB41_14
.LBB41_11:
	xorl	%eax, %eax
	jmp	.LBB41_17
.LBB41_14:
	jne	.LBB41_16
# %bb.15:                               # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit5
	movl	32(%rax), %ecx
	cmpl	(%r14), %ecx
	jl	.LBB41_11
.LBB41_16:                              # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit5.thread23
	xorl	%ebx, %ebx
.LBB41_17:                              # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit5.thread
	movq	%rbx, %rdx
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end41:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_, .Lfunc_end41-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE24_M_get_insert_unique_posERKS0_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_ # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	pushq	%rax
	.cfi_def_cfa_offset 64
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rcx, %r12
	movq	%rdx, %r14
	movq	%rdi, %rbx
	leaq	8(%rdi), %r15
	movb	$1, %bpl
	testq	%rsi, %rsi
	jne	.LBB42_6
# %bb.1:
	cmpq	%r14, %r15
	je	.LBB42_6
# %bb.2:
	movl	4(%r12), %eax
	movl	36(%r14), %ecx
	cmpl	%ecx, %eax
	jl	.LBB42_6
# %bb.3:
	jne	.LBB42_4
# %bb.5:
	movl	(%r12), %eax
	cmpl	32(%r14), %eax
	setl	%bpl
	jmp	.LBB42_6
.LBB42_4:
	xorl	%ebp, %ebp
.LBB42_6:                               # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit
	movl	$40, %edi
	callq	_Znwm
	movq	%rax, %r13
	movq	(%r12), %rax
	movq	%rax, 32(%r13)
	movzbl	%bpl, %edi
	movq	%r13, %rsi
	movq	%r14, %rdx
	movq	%r15, %rcx
	callq	_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_
	incq	40(%rbx)
	movq	%r13, %rax
	addq	$8, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end42:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_, .Lfunc_end42-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE10_M_insert_IS0_NS6_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS0_EPSt18_Rb_tree_node_baseSC_OT_RT0_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_,"axG",@progbits,_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_,comdat
	.weak	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_ # -- Begin function _ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_,@function
_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_: # @_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_
	.cfi_startproc
# %bb.0:
	movq	%rdi, %rax
	movq	16(%rdi), %rdi
	addq	$8, %rax
	testq	%rdi, %rdi
	je	.LBB43_13
# %bb.1:                                # %.lr.ph.i
	movl	(%rsi), %ecx
	movl	4(%rsi), %esi
	movq	%rax, %rdx
.LBB43_2:                               # =>This Inner Loop Header: Depth=1
	cmpl	%esi, 36(%rdi)
	jge	.LBB43_3
.LBB43_6:                               # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit.thread.i
                                        #   in Loop: Header=BB43_2 Depth=1
	addq	$24, %rdi
	movq	%rdi, %r8
	jmp	.LBB43_7
.LBB43_3:                               #   in Loop: Header=BB43_2 Depth=1
	jne	.LBB43_5
# %bb.4:                                # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit.i
                                        #   in Loop: Header=BB43_2 Depth=1
	cmpl	%ecx, 32(%rdi)
	jl	.LBB43_6
.LBB43_5:                               # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit.thread10.i
                                        #   in Loop: Header=BB43_2 Depth=1
	leaq	16(%rdi), %r8
	movq	%rdi, %rdx
.LBB43_7:                               #   in Loop: Header=BB43_2 Depth=1
	movq	(%r8), %rdi
	testq	%rdi, %rdi
	jne	.LBB43_2
# %bb.8:                                # %_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS0_EPSt18_Rb_tree_node_baseRKS0_.exit
	cmpq	%rax, %rdx
	je	.LBB43_13
# %bb.9:
	cmpl	36(%rdx), %esi
	jl	.LBB43_13
# %bb.10:
	jne	.LBB43_12
# %bb.11:                               # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit
	cmpl	32(%rdx), %ecx
	jl	.LBB43_13
.LBB43_12:                              # %_ZNKSt4lessI6fromToEclERKS0_S3_.exit.thread6
	movq	%rdx, %rax
.LBB43_13:                              # %_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS0_EPSt18_Rb_tree_node_baseRKS0_.exit.thread
	retq
.Lfunc_end43:
	.size	_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_, .Lfunc_end43-_ZNSt8_Rb_treeI6fromToS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_,"axG",@progbits,_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_,comdat
	.weak	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_ # -- Begin function _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_,@function
_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_: # @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_
	.cfi_startproc
# %bb.0:
	pushq	%r14
	.cfi_def_cfa_offset 16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	pushq	%rax
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -24
	.cfi_offset %r14, -16
	movq	%rsi, %rbx
	movq	%rdi, %r14
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi
	testq	%rdx, %rdx
	je	.LBB44_1
# %bb.2:
	movq	%rsp, %r8
	movq	%r14, (%r8)
	movq	%r14, %rdi
	movq	%rax, %rsi
	movq	%rbx, %rcx
	callq	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_
	movb	$1, %dl
	jmp	.LBB44_3
.LBB44_1:
	xorl	%edx, %edx
.LBB44_3:
                                        # kill: def $dl killed $dl killed $edx
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end44:
	.size	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_, .Lfunc_end44-_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueIRKiEESt4pairISt17_Rb_tree_iteratorIiEbEOT_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi,"axG",@progbits,_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi,comdat
	.weak	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi # -- Begin function _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi,@function
_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi: # @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi
	.cfi_startproc
# %bb.0:
	pushq	%r14
	.cfi_def_cfa_offset 16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	pushq	%rax
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -24
	.cfi_offset %r14, -16
	movq	%rsi, %r14
	movq	16(%rdi), %rax
	testq	%rax, %rax
	je	.LBB45_1
# %bb.2:                                # %.lr.ph
	movl	(%r14), %ecx
.LBB45_3:                               # =>This Inner Loop Header: Depth=1
	movq	%rax, %rbx
	movl	32(%rax), %edx
	xorl	%eax, %eax
	cmpl	%edx, %ecx
	setge	%al
	movq	16(%rbx,%rax,8), %rax
	testq	%rax, %rax
	jne	.LBB45_3
# %bb.4:                                # %._crit_edge
	movq	%rbx, %rax
	cmpl	%edx, %ecx
	jl	.LBB45_5
	jmp	.LBB45_8
.LBB45_1:
	leaq	8(%rdi), %rbx
.LBB45_5:                               # %._crit_edge.thread
	cmpq	24(%rdi), %rbx
	je	.LBB45_6
# %bb.7:
	movq	%rbx, %rdi
	callq	_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base
.LBB45_8:
	movl	32(%rax), %ecx
	xorl	%edx, %edx
	cmpl	(%r14), %ecx
	cmovlq	%rdx, %rax
	cmovgeq	%rdx, %rbx
	jmp	.LBB45_9
.LBB45_6:
	xorl	%eax, %eax
.LBB45_9:
	movq	%rbx, %rdx
	addq	$8, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end45:
	.size	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi, .Lfunc_end45-_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE24_M_get_insert_unique_posERKi
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_,"axG",@progbits,_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_,comdat
	.weak	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_ # -- Begin function _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_,@function
_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_: # @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	pushq	%rax
	.cfi_def_cfa_offset 64
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rdx, %r14
	movq	%rdi, %rbx
	leaq	8(%rdi), %r15
	movl	(%rcx), %ebp
	movb	$1, %r13b
	testq	%rsi, %rsi
	jne	.LBB46_3
# %bb.1:
	cmpq	%r14, %r15
	je	.LBB46_3
# %bb.2:
	cmpl	32(%r14), %ebp
	setl	%r13b
.LBB46_3:
	movl	$40, %edi
	callq	_Znwm
	movq	%rax, %r12
	movl	%ebp, 32(%rax)
	movzbl	%r13b, %edi
	movq	%rax, %rsi
	movq	%r14, %rdx
	movq	%r15, %rcx
	callq	_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_
	incq	40(%rbx)
	movq	%r12, %rax
	addq	$8, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end46:
	.size	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_, .Lfunc_end46-_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRKiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSD_OT_RT0_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,"axG",@progbits,_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,comdat
	.weak	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_ # -- Begin function _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
	.p2align	1, 0x90
	.type	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,@function
_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_: # @_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rdx, (%rsp)                    # 8-byte Spill
	movq	%rsi, %r12
	movq	%rdi, %rbx
	movl	$1, %esi
	movl	$.L.str.13, %edx
	callq	_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc
	movq	(%rbx), %r13
	movq	8(%rbx), %r15
	movq	%r12, 8(%rsp)                   # 8-byte Spill
	subq	%r13, %r12
	movq	%r12, %r14
	sarq	$2, %r14
	testq	%rax, %rax
	movq	%rax, 16(%rsp)                  # 8-byte Spill
	je	.LBB47_1
# %bb.2:
	movq	%rbx, %rdi
	movq	%rax, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorIiE8allocateEmPKv
	movq	%rax, %rbp
	jmp	.LBB47_3
.LBB47_1:
	xorl	%ebp, %ebp
.LBB47_3:                               # %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit
	movq	(%rsp), %rax                    # 8-byte Reload
	movl	(%rax), %eax
	movl	%eax, (%rbp,%r14,4)
	testq	%r12, %r12
	jle	.LBB47_5
# %bb.4:
	movq	%rbp, %rdi
	movq	%r13, %rsi
	movq	%r12, %rdx
	callq	memmove@PLT
.LBB47_5:                               # %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit
	addq	%rbp, %r12
	addq	$4, %r12
	movq	8(%rsp), %rsi                   # 8-byte Reload
	subq	%rsi, %r15
	testq	%r15, %r15
	jle	.LBB47_7
# %bb.6:
	movq	%r12, %rdi
	movq	%r15, %rdx
	callq	memmove@PLT
.LBB47_7:                               # %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit16
	testq	%r13, %r13
	je	.LBB47_9
# %bb.8:
	movq	%r13, %rdi
	callq	_ZdlPv
.LBB47_9:                               # %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit
	addq	%r15, %r12
	movq	%rbp, (%rbx)
	movq	%r12, 8(%rbx)
	movq	16(%rsp), %rax                  # 8-byte Reload
	leaq	(,%rax,4), %rax
	addq	%rbp, %rax
	movq	%rax, 16(%rbx)
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end47:
	.size	_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_, .Lfunc_end47-_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc,comdat
	.weak	_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc # -- Begin function _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc
	.p2align	1, 0x90
	.type	_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc,@function
_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc: # @_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc
	.cfi_startproc
# %bb.0:
	movabsq	$2305843009213693951, %rcx      # imm = 0x1FFFFFFFFFFFFFFF
	movq	8(%rdi), %r8
	subq	(%rdi), %r8
	sarq	$2, %r8
	movq	%rcx, %rax
	subq	%r8, %rax
	cmpq	%rsi, %rax
	jb	.LBB48_2
# %bb.1:
	cmpq	%rsi, %r8
	cmovaq	%r8, %rsi
	leaq	(%rsi,%r8), %rax
	cmpq	%rcx, %rax
	cmovaeq	%rcx, %rax
	addq	%r8, %rsi
	cmovbq	%rcx, %rax
	retq
.LBB48_2:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdx, %rdi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end48:
	.size	_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc, .Lfunc_end48-_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorIiE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorIiE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorIiE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorIiE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorIiE8allocateEmPKv,@function
_ZNSt15__new_allocatorIiE8allocateEmPKv: # @_ZNSt15__new_allocatorIiE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rsi, %rax
	shrq	$61, %rax
	jne	.LBB49_1
# %bb.3:
	shlq	$2, %rsi
	movq	%rsi, %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB49_1:
	.cfi_def_cfa_offset 16
	shrq	$62, %rsi
	je	.LBB49_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB49_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end49:
	.size	_ZNSt15__new_allocatorIiE8allocateEmPKv, .Lfunc_end49-_ZNSt15__new_allocatorIiE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb,"axG",@progbits,_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb,comdat
	.weak	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb # -- Begin function _ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb
	.p2align	1, 0x90
	.type	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb,@function
_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb: # @_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	pushq	%rax
	.cfi_def_cfa_offset 64
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movl	%ecx, %r14d
	movl	%edx, %ebp
	movq	%rsi, %r15
	movq	%rdi, %rbx
	movq	16(%rdi), %rdx
	cmpq	32(%rdi), %rdx
	je	.LBB50_6
# %bb.1:
	movl	24(%rbx), %ecx
	movq	%rcx, %r9
	incq	%r9
	movq	%r9, %rax
	shrq	$6, %rax
	leaq	(%rdx,%rax,8), %r8
	andl	$63, %r9d
	movq	%r15, %rdi
	movl	%ebp, %esi
                                        # kill: def $ecx killed $ecx killed $rcx
                                        # kill: def $r9d killed $r9d killed $r9
	callq	_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bISt13_Bit_iteratorS3_EET0_T_S5_S4_
	movl	$1, %eax
	movl	%ebp, %ecx
	shlq	%cl, %rax
	testb	%r14b, %r14b
	je	.LBB50_3
# %bb.2:
	orq	(%r15), %rax
	jmp	.LBB50_4
.LBB50_6:
	movl	%r14d, 4(%rsp)                  # 4-byte Spill
	movl	$1, %esi
	movl	$.L.str.14, %edx
	movq	%rbx, %rdi
	callq	_ZNKSt6vectorIbSaIbEE12_M_check_lenEmPKc
	movq	%rax, %r12
	addq	$63, %r12
	shrq	$6, %r12
	movq	%rbx, %rdi
	movq	%r12, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorImE8allocateEmPKv
	movq	%rax, %r13
	movq	(%rbx), %rsi
	movq	%r15, %r14
	subq	%rsi, %r14
	cmpq	$9, %r14
	jl	.LBB50_8
# %bb.7:
	movq	%r13, %rdi
	movq	%r14, %rdx
	callq	memmove@PLT
.LBB50_10:                              # %_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.exit
	addq	%r13, %r14
	movq	%r15, %rdi
	xorl	%esi, %esi
	movq	%r15, %rdx
	movl	%ebp, %ecx
	movq	%r14, %r8
	xorl	%r9d, %r9d
	callq	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt19_Bit_const_iteratorSt13_Bit_iteratorEET0_T_S6_S5_
	movl	%edx, %ecx
	leal	1(%rcx), %r9d
	xorl	%edx, %edx
	cmpl	$63, %ecx
	sete	%dl
	leaq	(%rax,%rdx,8), %r8
	movl	$0, %edx
	cmovel	%edx, %r9d
	movl	$1, %edx
                                        # kill: def $cl killed $cl killed $rcx
	shlq	%cl, %rdx
	cmpb	$0, 4(%rsp)                     # 1-byte Folded Reload
	je	.LBB50_12
# %bb.11:
	orq	(%rax), %rdx
	jmp	.LBB50_13
.LBB50_3:
	notq	%rax
	andq	(%r15), %rax
.LBB50_4:                               # %_ZNSt14_Bit_referenceaSEb.exit
	movq	%rax, (%r15)
	movl	24(%rbx), %eax
	leal	1(%rax), %ecx
	movl	%ecx, 24(%rbx)
	cmpl	$63, %eax
	jne	.LBB50_14
# %bb.5:
	movl	$0, 24(%rbx)
	addq	$8, 16(%rbx)
	jmp	.LBB50_14
.LBB50_12:
	notq	%rdx
	andq	(%rax), %rdx
.LBB50_13:                              # %_ZNSt14_Bit_referenceaSEb.exit30
	movq	%rdx, (%rax)
	movq	16(%rbx), %rdx
	movl	24(%rbx), %ecx
	movq	%r15, %rdi
	movl	%ebp, %esi
	callq	_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mISt13_Bit_iteratorS3_EET0_T_S5_S4_
	movq	%rax, %r14
	movl	%edx, %ebp
	movq	%rbx, %rdi
	callq	_ZNSt13_Bvector_baseISaIbEE13_M_deallocateEv
	leaq	(,%r12,8), %rax
	addq	%r13, %rax
	movq	%rax, 32(%rbx)
	movq	%r13, (%rbx)
	movl	$0, 8(%rbx)
	movq	%r14, 16(%rbx)
	movl	%ebp, 24(%rbx)
.LBB50_14:                              # %_ZNSt13_Bit_iteratorppEv.exit
	addq	$8, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.LBB50_8:
	.cfi_def_cfa_offset 64
	cmpq	$8, %r14
	jne	.LBB50_10
# %bb.9:
	movq	(%rsi), %rax
	movq	%rax, (%r13)
	jmp	.LBB50_10
.Lfunc_end50:
	.size	_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb, .Lfunc_end50-_ZNSt6vectorIbSaIbEE13_M_insert_auxESt13_Bit_iteratorb
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_,"axG",@progbits,_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_,comdat
	.weak	_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_ # -- Begin function _ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_
	.p2align	1, 0x90
	.type	_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_,@function
_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_: # @_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	movq	%rsi, %rdx
	movq	%rdi, %rbx
	movq	8(%rdi), %rsi
	cmpq	16(%rdi), %rsi
	je	.LBB51_2
# %bb.1:
	movq	(%rdx), %rax
	movq	%rax, (%rsi)
	movq	8(%rbx), %rax
	addq	$8, %rax
	movq	%rax, 8(%rbx)
	jmp	.LBB51_3
.LBB51_2:
	movq	%rbx, %rdi
	callq	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	movq	8(%rbx), %rax
.LBB51_3:
	addq	$-8, %rax
	popq	%rbx
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end51:
	.size	_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_, .Lfunc_end51-_ZNSt6vectorI8distNodeSaIS0_EE12emplace_backIJS0_EEERS0_DpOT_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,"axG",@progbits,_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,comdat
	.weak	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_ # -- Begin function _ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.p2align	1, 0x90
	.type	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_,@function
_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_: # @_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.cfi_startproc
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$24, %rsp
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	%rdx, (%rsp)                    # 8-byte Spill
	movq	%rsi, %r12
	movq	%rdi, %rbx
	movl	$1, %esi
	movl	$.L.str.13, %edx
	callq	_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc
	movq	(%rbx), %r13
	movq	8(%rbx), %r15
	movq	%r12, 8(%rsp)                   # 8-byte Spill
	subq	%r13, %r12
	movq	%r12, %r14
	sarq	$3, %r14
	testq	%rax, %rax
	movq	%rax, 16(%rsp)                  # 8-byte Spill
	je	.LBB52_1
# %bb.2:
	movq	%rbx, %rdi
	movq	%rax, %rsi
	xorl	%edx, %edx
	callq	_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv
	movq	%rax, %rbp
	jmp	.LBB52_3
.LBB52_1:
	xorl	%ebp, %ebp
.LBB52_3:                               # %_ZNSt12_Vector_baseI8distNodeSaIS0_EE11_M_allocateEm.exit
	movq	(%rsp), %rax                    # 8-byte Reload
	movq	(%rax), %rax
	movq	%rax, (%rbp,%r14,8)
	testq	%r12, %r12
	jle	.LBB52_5
# %bb.4:
	movq	%rbp, %rdi
	movq	%r13, %rsi
	movq	%r12, %rdx
	callq	memmove@PLT
.LBB52_5:                               # %_ZNSt6vectorI8distNodeSaIS0_EE11_S_relocateEPS0_S3_S3_RS1_.exit
	addq	%rbp, %r12
	addq	$8, %r12
	movq	8(%rsp), %rsi                   # 8-byte Reload
	subq	%rsi, %r15
	testq	%r15, %r15
	jle	.LBB52_7
# %bb.6:
	movq	%r12, %rdi
	movq	%r15, %rdx
	callq	memmove@PLT
.LBB52_7:                               # %_ZNSt6vectorI8distNodeSaIS0_EE11_S_relocateEPS0_S3_S3_RS1_.exit16
	testq	%r13, %r13
	je	.LBB52_9
# %bb.8:
	movq	%r13, %rdi
	callq	_ZdlPv
.LBB52_9:                               # %_ZNSt12_Vector_baseI8distNodeSaIS0_EE13_M_deallocateEPS0_m.exit
	addq	%r15, %r12
	movq	%rbp, (%rbx)
	movq	%r12, 8(%rbx)
	movq	16(%rsp), %rax                  # 8-byte Reload
	leaq	(,%rax,8), %rax
	addq	%rbp, %rax
	movq	%rax, 16(%rbx)
	addq	$24, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end52:
	.size	_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_, .Lfunc_end52-_ZNSt6vectorI8distNodeSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc,"axG",@progbits,_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc,comdat
	.weak	_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc # -- Begin function _ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc
	.p2align	1, 0x90
	.type	_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc,@function
_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc: # @_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc
	.cfi_startproc
# %bb.0:
	movabsq	$1152921504606846975, %rcx      # imm = 0xFFFFFFFFFFFFFFF
	movq	8(%rdi), %r8
	subq	(%rdi), %r8
	sarq	$3, %r8
	movq	%rcx, %rax
	subq	%r8, %rax
	cmpq	%rsi, %rax
	jb	.LBB53_2
# %bb.1:
	cmpq	%rsi, %r8
	cmovaq	%r8, %rsi
	leaq	(%rsi,%r8), %rax
	cmpq	%rcx, %rax
	cmovaeq	%rcx, %rax
	addq	%r8, %rsi
	cmovbq	%rcx, %rax
	retq
.LBB53_2:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rdx, %rdi
	callq	_ZSt20__throw_length_errorPKc
.Lfunc_end53:
	.size	_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc, .Lfunc_end53-_ZNKSt6vectorI8distNodeSaIS0_EE12_M_check_lenEmPKc
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt15__new_allocatorI8distNodeE8allocateEmPKv,"axG",@progbits,_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv,comdat
	.weak	_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv # -- Begin function _ZNSt15__new_allocatorI8distNodeE8allocateEmPKv
	.p2align	1, 0x90
	.type	_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv,@function
_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv: # @_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv
	.cfi_startproc
# %bb.0:
	pushq	%rax
	.cfi_def_cfa_offset 16
	movq	%rsi, %rax
	shrq	$60, %rax
	jne	.LBB54_1
# %bb.3:
	shlq	$3, %rsi
	movq	%rsi, %rdi
	popq	%rax
	.cfi_def_cfa_offset 8
	jmp	_Znwm                           # TAILCALL
.LBB54_1:
	.cfi_def_cfa_offset 16
	shrq	$61, %rsi
	je	.LBB54_2
# %bb.4:
	callq	_ZSt28__throw_bad_array_new_lengthv
.LBB54_2:
	callq	_ZSt17__throw_bad_allocv
.Lfunc_end54:
	.size	_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv, .Lfunc_end54-_ZNSt15__new_allocatorI8distNodeE8allocateEmPKv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_,"axG",@progbits,_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_,comdat
	.weak	_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_ # -- Begin function _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_
	.type	_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_,@function
_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_: # @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_
	.cfi_startproc
# %bb.0:
	leaq	-1(%rdx), %rax
	shrq	$63, %rax
	leaq	(%rdx,%rax), %r8
	decq	%r8
	sarq	%r8
	movq	%rsi, %rax
	cmpq	%rsi, %r8
	jle	.LBB55_7
# %bb.1:                                # %.lr.ph.preheader
	movq	%rsi, %r9
.LBB55_2:                               # %.lr.ph
                                        # =>This Inner Loop Header: Depth=1
	leaq	(%r9,%r9), %r11
	leaq	1(,%r9,2), %r10
	movl	12(%rdi,%r11,8), %eax
	cmpl	%eax, 20(%rdi,%r11,8)
	jle	.LBB55_3
.LBB55_5:                               # %_ZN9__gnu_cxx5__ops15_Iter_comp_iterISt4lessI8distNodeEEclINS_17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEESC_EEbT_T0_.exit.thread
                                        #   in Loop: Header=BB55_2 Depth=1
	movq	%r10, %rax
	jmp	.LBB55_6
.LBB55_3:                               #   in Loop: Header=BB55_2 Depth=1
	leaq	2(%r9,%r9), %rax
	jne	.LBB55_6
# %bb.4:                                # %_ZN9__gnu_cxx5__ops15_Iter_comp_iterISt4lessI8distNodeEEclINS_17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEESC_EEbT_T0_.exit
                                        #   in Loop: Header=BB55_2 Depth=1
	movl	16(%rdi,%r11,8), %r11d
	cmpl	(%rdi,%r10,8), %r11d
	jg	.LBB55_5
.LBB55_6:                               # %_ZN9__gnu_cxx5__ops15_Iter_comp_iterISt4lessI8distNodeEEclINS_17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEESC_EEbT_T0_.exit.thread37
                                        #   in Loop: Header=BB55_2 Depth=1
	movq	(%rdi,%rax,8), %r10
	movq	%r10, (%rdi,%r9,8)
	movq	%rax, %r9
	cmpq	%r8, %rax
	jl	.LBB55_2
.LBB55_7:                               # %._crit_edge
	testb	$1, %dl
	jne	.LBB55_10
# %bb.8:
	addq	$-2, %rdx
	sarq	%rdx
	cmpq	%rdx, %rax
	jne	.LBB55_10
# %bb.9:
	leaq	(%rax,%rax), %rdx
	movq	8(%rdi,%rdx,8), %rdx
	movq	%rdx, (%rdi,%rax,8)
	leaq	1(,%rax,2), %rax
.LBB55_10:
	cmpq	%rsi, %rax
	jle	.LBB55_11
# %bb.12:                               # %.lr.ph.i.preheader
	movq	%rcx, %rdx
	shrq	$32, %rdx
.LBB55_13:                              # %.lr.ph.i
                                        # =>This Inner Loop Header: Depth=1
	leaq	-1(%rax), %r8
	shrq	$63, %r8
	addq	%rax, %r8
	decq	%r8
	sarq	%r8
	cmpl	%edx, 4(%rdi,%r8,8)
	jg	.LBB55_16
# %bb.14:                               #   in Loop: Header=BB55_13 Depth=1
	jne	.LBB55_11
# %bb.15:                               # %_ZN9__gnu_cxx5__ops14_Iter_comp_valISt4lessI8distNodeEEclINS_17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEES3_EEbT_RT0_.exit.i
                                        #   in Loop: Header=BB55_13 Depth=1
	cmpl	%ecx, (%rdi,%r8,8)
	jle	.LBB55_11
.LBB55_16:                              # %_ZN9__gnu_cxx5__ops14_Iter_comp_valISt4lessI8distNodeEEclINS_17__normal_iteratorIPS3_St6vectorIS3_SaIS3_EEEES3_EEbT_RT0_.exit.thread.i
                                        #   in Loop: Header=BB55_13 Depth=1
	movq	(%rdi,%r8,8), %r9
	movq	%r9, (%rdi,%rax,8)
	movq	%r8, %rax
	cmpq	%rsi, %r8
	jg	.LBB55_13
	jmp	.LBB55_17
.LBB55_11:
	movq	%rax, %r8
.LBB55_17:                              # %_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops14_Iter_comp_valISt4lessIS2_EEEEvT_T0_SE_T1_RT2_.exit
	movq	%rcx, (%rdi,%r8,8)
	retq
.Lfunc_end55:
	.size	_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_, .Lfunc_end55-_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIP8distNodeSt6vectorIS2_SaIS2_EEEElS2_NS0_5__ops15_Iter_comp_iterISt4lessIS2_EEEEvT_T0_SE_T1_T2_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE,"axG",@progbits,_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE,comdat
	.weak	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE # -- Begin function _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	.p2align	1, 0x90
	.type	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE,@function
_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE: # @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	movq	%rsi, %rbx
	movq	%rdi, %r14
	movq	%rsi, %rdi
	callq	_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base
	movq	%rax, %r15
	leaq	8(%r14), %rsi
	movq	%rbx, %rdi
	callq	_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_
	movq	%rax, %rdi
	callq	_ZdlPv
	decq	40(%r14)
	movq	%r15, %rax
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end56:
	.size	_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE, .Lfunc_end56-_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiE
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst16,"aM",@progbits,16
	.p2align	4, 0x0                          # -- Begin function _GLOBAL__sub_I_prim_serial.hip
.LCPI57_0:
	.zero	16
	.section	.text.startup,"ax",@progbits
	.type	_GLOBAL__sub_I_prim_serial.hip,@function
_GLOBAL__sub_I_prim_serial.hip:         # @_GLOBAL__sub_I_prim_serial.hip
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	xorps	%xmm0, %xmm0
	movups	%xmm0, parent(%rip)
	xorl	%ebx, %ebx
	movq	%rbx, parent+16(%rip)
	movl	$_ZNSt6vectorIiSaIiEED2Ev, %edi
	movl	$parent, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	xorps	%xmm0, %xmm0
	movups	%xmm0, dist(%rip)
	movq	%rbx, dist+16(%rip)
	movl	$_ZNSt6vectorIiSaIiEED2Ev, %edi
	movl	$dist, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	movq	%rbx, fixed(%rip)
	movl	%ebx, fixed+8(%rip)
	movq	%rbx, fixed+16(%rip)
	movl	%ebx, fixed+24(%rip)
	movq	%rbx, fixed+32(%rip)
	movl	$_ZNSt13_Bvector_baseISaIbEED2Ev, %edi
	movl	$fixed, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	movq	%rbx, nonEmptyIndices(%rip)
	movl	%ebx, nonEmptyIndices+8(%rip)
	movq	%rbx, nonEmptyIndices+16(%rip)
	movl	%ebx, nonEmptyIndices+24(%rip)
	movq	%rbx, nonEmptyIndices+32(%rip)
	movl	$_ZNSt13_Bvector_baseISaIbEED2Ev, %edi
	movl	$nonEmptyIndices, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	xorps	%xmm0, %xmm0
	movups	%xmm0, H(%rip)
	movq	%rbx, H+16(%rip)
	movl	$_ZNSt14priority_queueI8distNodeSt6vectorIS0_SaIS0_EESt4lessIS0_EED2Ev, %edi
	movl	$H, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	movl	%ebx, Q+8(%rip)
	movq	%rbx, Q+16(%rip)
	movq	$Q+8, Q+24(%rip)
	movq	$Q+8, Q+32(%rip)
	movq	%rbx, Q+40(%rip)
	movl	$_ZNSt3setIiSt4lessIiESaIiEED2Ev, %edi
	movl	$Q, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	movl	%ebx, R+8(%rip)
	movq	%rbx, R+16(%rip)
	movq	$R+8, R+24(%rip)
	movq	$R+8, R+32(%rip)
	movq	%rbx, R+40(%rip)
	movl	$_ZNSt3setIiSt4lessIiESaIiEED2Ev, %edi
	movl	$R, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	movl	%ebx, T+8(%rip)
	movq	%rbx, T+16(%rip)
	movq	$T+8, T+24(%rip)
	movq	$T+8, T+32(%rip)
	movq	%rbx, T+40(%rip)
	movl	$_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev, %edi
	movl	$T, %esi
	movl	$__dso_handle, %edx
	callq	__cxa_atexit
	movl	%ebx, mwe+8(%rip)
	movq	%rbx, mwe+16(%rip)
	movq	$mwe+8, mwe+24(%rip)
	movq	$mwe+8, mwe+32(%rip)
	movq	%rbx, mwe+40(%rip)
	movl	$_ZNSt3setI6fromToSt4lessIS0_ESaIS0_EED2Ev, %edi
	movl	$mwe, %esi
	movl	$__dso_handle, %edx
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	__cxa_atexit                    # TAILCALL
.Lfunc_end57:
	.size	_GLOBAL__sub_I_prim_serial.hip, .Lfunc_end57-_GLOBAL__sub_I_prim_serial.hip
	.cfi_endproc
                                        # -- End function
	.type	parent,@object                  # @parent
	.bss
	.globl	parent
	.p2align	3, 0x0
parent:
	.zero	24
	.size	parent, 24

	.hidden	__dso_handle
	.type	dist,@object                    # @dist
	.globl	dist
	.p2align	3, 0x0
dist:
	.zero	24
	.size	dist, 24

	.type	fixed,@object                   # @fixed
	.globl	fixed
	.p2align	3, 0x0
fixed:
	.zero	40
	.size	fixed, 40

	.type	nonEmptyIndices,@object         # @nonEmptyIndices
	.globl	nonEmptyIndices
	.p2align	3, 0x0
nonEmptyIndices:
	.zero	40
	.size	nonEmptyIndices, 40

	.type	H,@object                       # @H
	.globl	H
	.p2align	3, 0x0
H:
	.zero	32
	.size	H, 32

	.type	Q,@object                       # @Q
	.globl	Q
	.p2align	3, 0x0
Q:
	.zero	48
	.size	Q, 48

	.type	R,@object                       # @R
	.globl	R
	.p2align	3, 0x0
R:
	.zero	48
	.size	R, 48

	.type	T,@object                       # @T
	.globl	T
	.p2align	3, 0x0
T:
	.zero	48
	.size	T, 48

	.type	mwe,@object                     # @mwe
	.globl	mwe
	.p2align	3, 0x0
mwe:
	.zero	48
	.size	mwe, 48

	.type	.L.str.9,@object                # @.str.9
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str.9:
	.asciz	"Serial Elpased Time in ms:%f\n"
	.size	.L.str.9, 30

	.type	.L.str.10,@object               # @.str.10
.L.str.10:
	.asciz	"%d - %d\n"
	.size	.L.str.10, 9

	.type	.L.str.11,@object               # @.str.11
.L.str.11:
	.asciz	"vector::_M_default_append"
	.size	.L.str.11, 26

	.type	.L.str.12,@object               # @.str.12
.L.str.12:
	.asciz	"vector<bool>::_M_fill_insert"
	.size	.L.str.12, 29

	.type	.L.str.13,@object               # @.str.13
.L.str.13:
	.asciz	"vector::_M_realloc_insert"
	.size	.L.str.13, 26

	.type	.L.str.14,@object               # @.str.14
.L.str.14:
	.asciz	"vector<bool>::_M_insert_aux"
	.size	.L.str.14, 28

	.section	.init_array,"aw",@init_array
	.p2align	3, 0x0
	.quad	_GLOBAL__sub_I_prim_serial.hip
	.type	__hip_cuid_,@object             # @__hip_cuid_
	.bss
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               # 0x0
	.size	__hip_cuid_, 1

	.type	.Lstr,@object                   # @str
	.section	.rodata.str1.1,"aMS",@progbits,1
.Lstr:
	.asciz	"2010_United_Serial"
	.size	.Lstr, 19

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym __gxx_personality_v0
	.addrsig_sym _GLOBAL__sub_I_prim_serial.hip
	.addrsig_sym _Unwind_Resume
	.addrsig_sym parent
	.addrsig_sym __dso_handle
	.addrsig_sym dist
	.addrsig_sym fixed
	.addrsig_sym nonEmptyIndices
	.addrsig_sym H
	.addrsig_sym Q
	.addrsig_sym R
	.addrsig_sym T
	.addrsig_sym mwe
	.addrsig_sym __hip_cuid_

	.text
	.p2alignl 7, 3214868480
	.fill 96, 4, 3214868480
	.type	__hip_cuid_,@object             ; @__hip_cuid_
	.section	.bss,"aw",@nobits
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               ; 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym __hip_cuid_
	.amdgcn_target "amdgcn-amd-amdhsa--gfx1100"
	.amdgpu_metadata
---
amdhsa.kernels:  []
amdhsa.target:   amdgcn-amd-amdhsa--gfx1100
amdhsa.version:
  - 1
  - 2
...

	.end_amdgpu_metadata
