code: function readPolygonGeometry_(text) {
    console.assert(text.substring(0, 2) === 'a(');
    console.assert(text[text.length - 1] == ')');
    text = text.substring(2, text.length - 1);
    let flatCoordinates = [];
    const ends = [];
    const rings = text.split('\'');
    for (let i = 0, ii = rings.length; i < ii; ++i) {
      flatCoordinates = this.decodeCoordinates_(rings[i], flatCoordinates);
      let end = flatCoordinates.length;
      if (i === 0) {
        flatCoordinates[end++] = flatCoordinates[0];
        flatCoordinates[end++] = flatCoordinates[1];
      } else {
        flatCoordinates[end++] = flatCoordinates[ends[i - 1]];
        flatCoordinates[end++] = flatCoordinates[ends[i - 1] + 1];
      }
      ends[i] = end;
    }
    return new olGeomPolygon(flatCoordinates, olGeomGeometryLayout.XY, ends);
  }
docs: Read a logical sequence of characters and return a corresponding
  {@link import("ol/geom/Polygon.js").default}.
  @param {string} text Text.
  @return {import("ol/geom/Polygon.js").default} Polygon.
  @private
  @hidden
  @this {FeatureHash}