cpu_xy_cpu1(e);
			viewport_scale_cpu1(x, y, factor)
		}
		apply_transforms_cpu1();
	});


	for (const c of [cpu1])
	c.addEventListener("mousedown", function(e) {
		e.preventDefault();
		if (e.which == 3) {
			viewport_reset_cpu1();
			apply_transforms_cpu1();
		} else {
			c.dataset.active = "true";
			c.focus();
			c.dataset.isPanning = "true";
			const [x,y] = cpu_xy_cpu1(e);
			c.dataset.startX = x;
			c.dataset.startY = y;
			c.style.cursor = "grabbing";
			//console.log(`grab ${c.dataset.startX} ${c.d