borderCanvas = {
const canvas = DOM.canvas(width, height);
const ctx = canvas.getContext('2d');
ctx.lineWidth = 7;
ctx.strokeStyle = 'black';
ctx.lineJoin = 'round';
ctx.filter = 'blur(4px)';
ctx.beginPath();
path.context(ctx)(states);
ctx.stroke();
ctx.globalAlpha = .75;
ctx.drawImage(noise, 0, 0);
const strokeCanvas = threshold(canvas, 170);
const strokeCtx = strokeCanvas.getContext('2d');
strokeCtx.globalCompositeOperation = 'source-in';
strokeCtx.fillStyle = 'rgba(255,255,255,.75)';
strokeCtx.fillRect(0, 0, width, height);
ctx.filter = 'blur(1px)';
ctx.globalAlpha = 1;
ctx.clearRect(0, 0, width, height);
ctx.lineWidth = 3;
ctx.beginPath();
path(states);
ctx.stroke();
ctx.globalAlpha = .75;
ctx.drawImage(noise, 0, 0)
const fillCanvas = threshold(canvas, 175);
const fillCtx = fillCanvas.getContext('2d');
fillCtx.globalCompositeOperation = 'source-atop';
fillCtx.fillStyle = '#ccc';
fillCtx.fillRect(0, 0, width, height);
ctx.filter = 'none';
ctx.clearRect(0, 0, width, height);
ctx.drawImage(strokeCanvas, 0, 0);
ctx.drawImage(fillCanvas, 0, 0);
ctx.globalCompositeOperation = 'source-atop';
ctx.drawImage(getRandomNoise('#999', .35), 0, 0);
ctx.globalAlpha = 1;
ctx.globalCompositeOperation = 'destination-in';
ctx.drawImage(landCanvas, 0, 0);
return canvas;
}