map = html`<svg viewBox="0 0 975 610" stroke-miterlimit="1">
<defs>
<path id="${outlineId.id}" d="${path(topojson.mesh(us, states, (a, b) => a === b))}"></path>
<clipPath id="${clipId.id}">
<use xlink:href="${outlineId.href}"></use>
</clipPath>
</defs>
<g clip-path="${clipId}" fill-opacity="0.7">${polygons.features.map(d => svg`
<path d="${project(d)}" fill="${color[d.properties.color % color.length]}"></path>`)}
<path d="${path(topojson.mesh(us, states, (a, b) => a !== b))}" fill="none" stroke="white"></path>
<path d="${project(voronoi.cellMesh())}" fill="none" stroke="black"></path>
</g>
<g text-anchor="middle" font-family="sans-serif" font-size="10">${polygons.features.map(d => svg`
<g transform="translate(${projection(d.properties.sitecoordinates).join(",")})">
<circle r="2"></circle>
<text y="-6">${d.properties.site[2]}</text>
</g>`)}
</g>
</svg>`