{
const svg = d3.select(DOM.svg(width, height));
svg
.append("g")
.attr("class", "states")
.selectAll(".state")
.data(state.features)
.join("path")
.attr("class", "state")
.attr("fill", "none")
.attr("stroke", "blue")
.attr("data-geo-code", (d) => d.properties.GEOID)
.attr("data-geo-name", (d) => d.properties.NAME)
.attr("stroke-linejoin", "round")
.attr("d", path);
svg
.append("g")
.attr("class", "divisions")
.selectAll(".division")
.data(division.features)
.join("path")
.attr("class", "division")
.attr("fill", "none")
.attr("stroke", "green")
.attr("stroke-width", 2)
.attr("stroke-linejoin", "round")
.attr("data-geo-code", (d) => d.properties.GEOID)
.attr("data-geo-name", (d) => d.properties.NAME)
.attr("d", path);
svg
.append("g")
.attr("class", "regions")
.selectAll(".region")
.data(region.features)
.join("path")
.attr("class", "region")
.attr("fill", "none")
.attr("stroke", "black")
.attr("stroke-width", 3)
.attr("stroke-linejoin", "round")
.attr("data-geo-code", (d) => d.properties.GEOID)
.attr("data-geo-name", (d) => d.properties.NAME)
.attr("d", path);
return svg.node();
}