gradientLabels[ndx].label, 0, 0);
          diagram.outlineText(ctx, gradientLabels[ndx].label, 0, 0);
        ctx.restore();
      });
      ctx.restore();
    }

    ctx.restore();
  }
  render();
}

function getQueryParams() {
  const params = {};
  if (window.location.search) {
    window.location.search.substring(1).split('&').forEach(function(pair) {
      const keyValue = pair.split('=').map(function(kv) {
        return decodeURIComponent(kv);
      });
      params[keyValue[0]] = keyValue[1];
    }