t so we can use getBoundingClientRect,
      // if not, just assume it is a synthetic click
      if (t.nodeType !== Node.ELEMENT_NODE) {
        return true;
      }
      let bcr = t.getBoundingClientRect();
      // use page x/y to account for scrolling
      let x = ev.pageX, y = ev.pageY;
      // ev is a synthetic click if the position is outside the bounding box of the target
      return !((x >= bcr.left && x <= bcr.right) && (y >= bcr.top && y <= bcr.bottom));
    }
    return false;
  }

  let POI