try {
	// Initializing the graph shell <section> element
	const shell = document.getElementById("distributions");

	// Initializing the initial node destination coordinates
	const destination = {
		left: window.innerWidth / 100 * 65,
		top: window.innerHeight / 100 * 55,
	};

	// Initializing loading shell
	const loading = shell.nextElementSibling;

	if (loading instanceof HTMLElement) {
		// Initialized loading shell

		// Writing the initial node destination coordinates
		loading.style.setProperty("--left", destination.left + "px");
		loading.style.setProperty("--top", destination.top + "px");
	}

	core.modules.connect("graph", true).then(
		() => {
			// Imported the damper module

			if (shell instanceof HTMLElement) {
				// Initialized the graph shell <section> element

				// Initializing the graph instance
				const instance = new core.graph.core(shell);

				// Writing settings of the graph instance
				instance.living = 2000;
				// instance.camera = true;
				instance.operate = true;

				//instance.left = window.innerWidth * 250; // 250vw (width 500vw)
				//instance.top = window.innerHeight * 250; // 250vh (height 500vh)

				// Registering every node
				[...shell.children].forEach((node) =>
					instance.node(new core.graph.node(node))
				);

				// Writing settings for every node
				/* instance.nodes.forEach((node) => {
					node.variables.get("inputs").type = "deg";
				}); */

				// temporary
				shell.instance = instance;
				const nodes = [...instance.nodes];

				instance.edge(new core.graph.edge(nodes[1], nodes[0]));
				instance.edge(new core.graph.edge(nodes[2], nodes[0]));
				instance.edge(new core.graph.edge(nodes[3], nodes[0]));
				instance.edge(new core.graph.edge(nodes[4], nodes[0]));
				instance.edge(new core.graph.edge(nodes[5], nodes[0]));
				instance.edge(new core.graph.edge(nodes[6], nodes[0]));
				instance.edge(new core.graph.edge(nodes[7], nodes[6]));
				instance.edge(new core.graph.edge(nodes[8], nodes[6]));

				/* var max;

				[...temp0.instance.nodes].forEach((node) => {
					if (node.inputs.size > (max?.inputs.size || 0)) max = node;
				}); */

				nodes[0].move(
					destination.left - nodes[0].radius,
					destination.top - nodes[0].radius,
				);

				nodes[0].interactions.movement.active = false;
				// nodes[0].interactions.pushing.active = false;
				// nodes[0].interactions.pulling.active = false;

				setTimeout(() => {
					shell.classList.add("appearance", "animated");
					nodes[0].interactions.movement.active = true;
				}, 3000);
			}
		},
		() => {
		},
	);
} catch (e) {}
