ataset.startY}`);
		}
	});

	for (const c of [cpu1])
	c.addEventListener("mousemove", function(e) {
		if (c.dataset.isPanning == "true") {
			e.preventDefault();
			const [x,y]= cpu_xy_cpu1(e);
			const dx = x - Number(c.dataset.startX);
			const dy = y - Number(c.dataset.startY);
			viewport_offset_cpu1(dx, dy);
			apply_transforms_cpu1();
			c.dataset.startX = x;
			c.dataset.startY = y;
		}
	});

	for (const c of [cpu1])
	c.addEventListener("mouseup", function(e) {
		if (c.dataset.isPanning == "true") {
