{"version":3,"sources":["node_modules/@arcgis/core/geometry/support/contains.js","node_modules/@arcgis/core/geometry/support/intersectsBase.js","node_modules/@arcgis/core/geometry/Extent.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nconst n = [0, 0];\nfunction t(n, t) {\n return null != t && e(n, t.x, t.y, t.z);\n}\nfunction r(n, t) {\n if (!t.points || t.points.length) return !1;\n for (const r of t.points) if (!i(n, r)) return !1;\n return !0;\n}\nfunction u(n, t) {\n const {\n xmin: r,\n ymin: u,\n zmin: i,\n xmax: o,\n ymax: f,\n zmax: c\n } = t;\n return n.hasZ && t.hasZ ? e(n, r, u, i) && e(n, r, f, i) && e(n, o, f, i) && e(n, o, u, i) && e(n, r, u, c) && e(n, r, f, c) && e(n, o, f, c) && e(n, o, u, c) : e(n, r, u) && e(n, r, f) && e(n, o, f) && e(n, o, u);\n}\nfunction i(n, t) {\n return e(n, t[0], t[1]);\n}\nfunction o(n, t) {\n return e(n, t[0], t[1], t[2]);\n}\nfunction e(n, t, r, u) {\n return t >= n.xmin && t <= n.xmax && r >= n.ymin && r <= n.ymax && (null == u || !n.hasZ || u >= n.zmin && u <= n.zmax);\n}\nfunction f(t, r) {\n return n[1] = r.y, n[0] = r.x, c(t, n);\n}\nfunction c(n, t) {\n return s(n.rings, t);\n}\nfunction s(n, t) {\n if (!n) return !1;\n if (x(n)) return m(!1, n, t);\n let r = !1;\n for (let u = 0, i = n.length; u < i; u++) r = m(r, n[u], t);\n return r;\n}\nfunction x(n) {\n return !Array.isArray(n[0][0]);\n}\nfunction m(n, t, r) {\n const [u, i] = r;\n let o = n,\n e = 0;\n for (let f = 0, c = t.length; f < c; f++) {\n e++, e === c && (e = 0);\n const [n, r] = t[f],\n [s, x] = t[e];\n (r < i && x >= i || x < i && r >= i) && n + (i - r) / (x - r) * (s - n) < u && (o = !o);\n }\n return o;\n}\nexport { i as extentContainsCoords2D, o as extentContainsCoords3D, u as extentContainsExtent, r as extentContainsMultipoint, t as extentContainsPoint, e as extentContainsXYZ, c as polygonContainsCoords, f as polygonContainsPoint, s as ringsContainsCoords };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { extentContainsPoint as n, ringsContainsCoords as t, extentContainsCoords2D as e, extentContainsCoords3D as r } from \"./contains.js\";\nfunction i(t, e) {\n return n(t, e);\n}\nfunction o(n, t) {\n const e = n.hasZ && t.hasZ;\n let r, i, o;\n if (n.xmin <= t.xmin) {\n if (r = t.xmin, n.xmax < r) return !1;\n } else if (r = n.xmin, t.xmax < r) return !1;\n if (n.ymin <= t.ymin) {\n if (i = t.ymin, n.ymax < i) return !1;\n } else if (i = n.ymin, t.ymax < i) return !1;\n if (e && t.hasZ) if (n.zmin <= t.zmin) {\n if (o = t.zmin, n.zmax < o) return !1;\n } else if (o = n.zmin, t.zmax < o) return !1;\n return !0;\n}\nfunction f(n, t) {\n const {\n points: i,\n hasZ: o\n } = t,\n f = o ? r : e;\n for (const e of i) if (f(n, e)) return !0;\n return !1;\n}\nconst s = [0, 0],\n u = [0, 0],\n c = [0, 0],\n m = [0, 0],\n l = [s, u, c, m],\n a = [[c, s], [s, u], [u, m], [m, c]];\nfunction x(n, t) {\n return y(n, t.rings);\n}\nfunction y(n, r) {\n s[0] = n.xmin, s[1] = n.ymax, u[0] = n.xmax, u[1] = n.ymax, c[0] = n.xmin, c[1] = n.ymin, m[0] = n.xmax, m[1] = n.ymin;\n for (const e of l) if (t(r, e)) return !0;\n for (const t of r) {\n if (!t.length) continue;\n let r = t[0];\n if (e(n, r)) return !0;\n for (let i = 1; i < t.length; i++) {\n const o = t[i];\n if (e(n, o) || z(r, o, a)) return !0;\n r = o;\n }\n }\n return !1;\n}\nfunction h(n, t) {\n s[0] = n.xmin, s[1] = n.ymax, u[0] = n.xmax, u[1] = n.ymax, c[0] = n.xmin, c[1] = n.ymin, m[0] = n.xmax, m[1] = n.ymin;\n const r = t.paths;\n for (const i of r) {\n if (!r.length) continue;\n let t = i[0];\n if (e(n, t)) return !0;\n for (let r = 1; r < i.length; r++) {\n const o = i[r];\n if (e(n, o) || z(t, o, a)) return !0;\n t = o;\n }\n }\n return !1;\n}\nconst g = [0, 0];\nfunction p(n) {\n for (let t = 0; t < n.length; t++) {\n const e = n[t];\n for (let i = 0; i < e.length - 1; i++) {\n const r = e[i],\n o = e[i + 1];\n for (let e = t + 1; e < n.length; e++) for (let t = 0; t < n[e].length - 1; t++) {\n const i = n[e][t],\n f = n[e][t + 1];\n if (G(r, o, i, f, g) && !(g[0] === r[0] && g[1] === r[1] || g[0] === i[0] && g[1] === i[1] || g[0] === o[0] && g[1] === o[1] || g[0] === f[0] && g[1] === f[1])) return !0;\n }\n }\n const r = e.length;\n if (!(r <= 4)) for (let n = 0; n < r - 3; n++) {\n let t = r - 1;\n 0 === n && (t = r - 2);\n const i = e[n],\n o = e[n + 1];\n for (let r = n + 2; r < t; r++) {\n const n = e[r],\n t = e[r + 1];\n if (G(i, o, n, t, g) && !(g[0] === i[0] && g[1] === i[1] || g[0] === n[0] && g[1] === n[1] || g[0] === o[0] && g[1] === o[1] || g[0] === t[0] && g[1] === t[1])) return !0;\n }\n }\n }\n return !1;\n}\nfunction z(n, t, e) {\n for (let r = 0; r < e.length; r++) if (G(n, t, e[r][0], e[r][1])) return !0;\n return !1;\n}\nfunction G(n, t, e, r, i) {\n const [o, f] = n,\n [s, u] = t,\n [c, m] = e,\n [l, a] = r,\n x = l - c,\n y = o - c,\n h = s - o,\n g = a - m,\n p = f - m,\n z = u - f,\n G = g * h - x * z;\n if (0 === G) return !1;\n const Z = (x * p - g * y) / G,\n P = (h * p - z * y) / G;\n return Z >= 0 && Z <= 1 && P >= 0 && P <= 1 && (i && (i[0] = o + Z * (s - o), i[1] = f + Z * (u - f)), !0);\n}\nfunction Z(n) {\n switch (n) {\n case \"esriGeometryEnvelope\":\n case \"extent\":\n return o;\n case \"esriGeometryMultipoint\":\n case \"multipoint\":\n return f;\n case \"esriGeometryPoint\":\n case \"point\":\n return i;\n case \"esriGeometryPolygon\":\n case \"polygon\":\n return x;\n case \"esriGeometryPolyline\":\n case \"polyline\":\n return h;\n }\n}\nexport { o as extentIntersectsExtent, f as extentIntersectsMultipoint, i as extentIntersectsPoint, x as extentIntersectsPolygon, h as extentIntersectsPolyline, y as extentIntersectsRings, Z as getFeatureExtentIntersector, p as isSelfIntersecting, G as segmentIntersects };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { _ as t } from \"../chunks/tslib.es6.js\";\nimport { replace as i } from \"../core/string.js\";\nimport { property as e } from \"../core/accessorSupport/decorators/property.js\";\nimport \"../core/accessorSupport/ensureType.js\";\nimport \"../core/arrayUtils.js\";\nimport \"../core/has.js\";\nimport { subclass as s } from \"../core/accessorSupport/decorators/subclass.js\";\nimport n from \"./Geometry.js\";\nimport m from \"./Point.js\";\nimport r from \"./SpatialReference.js\";\nimport { extentContainsPoint as a, extentContainsExtent as h } from \"./support/contains.js\";\nimport { getFeatureExtentIntersector as o } from \"./support/intersectsBase.js\";\nimport { equals as x, getInfo as l } from \"./support/spatialReferenceUtils.js\";\nimport { canProject as p, geographicToWebMercator as c, webMercatorToGeographic as y } from \"./support/webMercatorUtils.js\";\nvar u;\nfunction f(t) {\n return t && (\"esri.geometry.SpatialReference\" === t.declaredClass || null != t.wkid);\n}\nfunction d(t, i, e) {\n return null == i ? e : null == e ? i : t(i, e);\n}\nlet z = u = class extends n {\n constructor(...t) {\n super(...t), this.type = \"extent\", this.xmin = 0, this.ymin = 0, this.mmin = void 0, this.zmin = void 0, this.xmax = 0, this.ymax = 0, this.mmax = void 0, this.zmax = void 0;\n }\n normalizeCtorArgs(t, i, e, s, n) {\n return f(t) ? {\n spatialReference: t,\n xmin: 0,\n ymin: 0,\n xmax: 0,\n ymax: 0\n } : \"object\" == typeof t ? (t.spatialReference = null == t.spatialReference ? r.WGS84 : t.spatialReference, t) : {\n xmin: t,\n ymin: i,\n xmax: e,\n ymax: s,\n spatialReference: n ?? r.WGS84\n };\n }\n static fromBounds(t, i) {\n return new u({\n xmin: t[0],\n ymin: t[1],\n xmax: t[2],\n ymax: t[3],\n spatialReference: i\n });\n }\n static fromPoint(t) {\n return new u({\n xmin: t.x,\n ymin: t.y,\n zmin: t.z,\n xmax: t.x,\n ymax: t.y,\n zmax: t.z,\n spatialReference: t.spatialReference\n });\n }\n get cache() {\n return this.commitProperty(\"xmin\"), this.commitProperty(\"ymin\"), this.commitProperty(\"zmin\"), this.commitProperty(\"mmin\"), this.commitProperty(\"xmax\"), this.commitProperty(\"ymax\"), this.commitProperty(\"zmax\"), this.commitProperty(\"mmax\"), this.commitProperty(\"spatialReference\"), {};\n }\n get center() {\n const t = new m({\n x: .5 * (this.xmin + this.xmax),\n y: .5 * (this.ymin + this.ymax),\n spatialReference: this.spatialReference\n });\n return this.hasZ && (t.z = .5 * (this.zmin + this.zmax)), this.hasM && (t.m = .5 * (this.mmin + this.mmax)), t;\n }\n get extent() {\n return this.clone();\n }\n get hasM() {\n return null != this.mmin && null != this.mmax;\n }\n get hasZ() {\n return null != this.zmin && null != this.zmax;\n }\n get height() {\n return Math.abs(this.ymax - this.ymin);\n }\n get width() {\n return Math.abs(this.xmax - this.xmin);\n }\n centerAt(t) {\n const i = this.center;\n return null != t.z && this.hasZ ? this.offset(t.x - i.x, t.y - i.y, t.z - i.z) : this.offset(t.x - i.x, t.y - i.y);\n }\n clone() {\n const t = new u();\n return t.xmin = this.xmin, t.ymin = this.ymin, t.xmax = this.xmax, t.ymax = this.ymax, t.spatialReference = this.spatialReference, null != this.zmin && (t.zmin = this.zmin, t.zmax = this.zmax), null != this.mmin && (t.mmin = this.mmin, t.mmax = this.mmax), t;\n }\n contains(t) {\n if (!t) return !1;\n const i = this.spatialReference,\n e = t.spatialReference;\n return i && e && !i.equals(e) && p(i, e) && (t = i.isWebMercator ? c(t) : y(t, !0)), \"point\" === t.type ? a(this, t) : \"extent\" === t.type && h(this, t);\n }\n equals(t) {\n if (this === t) return !0;\n if (null == t) return !1;\n const i = this.spatialReference,\n e = t.spatialReference;\n return i && e && !i.equals(e) && p(i, e) && (t = i.isWebMercator ? c(t) : y(t, !0)), this.xmin === t.xmin && this.ymin === t.ymin && this.zmin === t.zmin && this.mmin === t.mmin && this.xmax === t.xmax && this.ymax === t.ymax && this.zmax === t.zmax && this.mmax === t.mmax;\n }\n expand(t) {\n const i = .5 * (1 - t),\n e = this.width * i,\n s = this.height * i;\n if (this.xmin += e, this.ymin += s, this.xmax -= e, this.ymax -= s, this.hasZ) {\n const t = (this.zmax - this.zmin) * i;\n this.zmin += t, this.zmax -= t;\n }\n if (this.hasM) {\n const t = (this.mmax - this.mmin) * i;\n this.mmin += t, this.mmax -= t;\n }\n return this;\n }\n intersects(t) {\n if (null == t) return !1;\n \"mesh\" === t.type && (t = t.extent);\n const i = this.spatialReference,\n e = t.spatialReference;\n i && e && !x(i, e) && p(i, e) && (t = i.isWebMercator ? c(t) : y(t, !0));\n return o(t.type)(this, t);\n }\n normalize() {\n const t = this._normalize(!1, !0);\n return Array.isArray(t) ? t : [t];\n }\n offset(t, i, e) {\n return this.xmin += t, this.ymin += i, this.xmax += t, this.ymax += i, null != e && (this.zmin += e, this.zmax += e), this;\n }\n shiftCentralMeridian() {\n return this._normalize(!0);\n }\n union(t) {\n return this === t || (this.xmin = Math.min(this.xmin, t.xmin), this.ymin = Math.min(this.ymin, t.ymin), this.xmax = Math.max(this.xmax, t.xmax), this.ymax = Math.max(this.ymax, t.ymax), (this.hasZ || t.hasZ) && (this.zmin = d(Math.min, this.zmin, t.zmin), this.zmax = d(Math.max, this.zmax, t.zmax)), (this.hasM || t.hasM) && (this.mmin = d(Math.min, this.mmin, t.mmin), this.mmax = d(Math.max, this.mmax, t.mmax))), this;\n }\n intersection(t) {\n return this === t ? this : null != t && this.intersects(t) ? (this.xmin = Math.max(this.xmin, t.xmin), this.ymin = Math.max(this.ymin, t.ymin), this.xmax = Math.min(this.xmax, t.xmax), this.ymax = Math.min(this.ymax, t.ymax), (this.hasZ || t.hasZ) && (this.zmin = d(Math.max, this.zmin, t.zmin), this.zmax = d(Math.min, this.zmax, t.zmax)), (this.hasM || t.hasM) && (this.mmin = d(Math.max, this.mmin, t.mmin), this.mmax = d(Math.min, this.mmax, t.mmax)), this) : null;\n }\n toJSON(t) {\n return this.write({}, t);\n }\n _shiftCM(t = l(this.spatialReference)) {\n if (!t || !this.spatialReference) return this;\n const e = this.spatialReference,\n s = this._getCM(t);\n if (s) {\n const n = e.isWebMercator ? y(s) : s;\n this.xmin -= s.x, this.xmax -= s.x, e.isWebMercator || (n.x = this._normalizeX(n.x, t).x), this.spatialReference = new r(i((e.isWGS84 ? t.altTemplate : null) ?? t.wkTemplate, {\n Central_Meridian: n.x\n }));\n }\n return this;\n }\n _getCM(t) {\n let i = null;\n const [e, s] = t.valid,\n n = this.xmin,\n m = this.xmax;\n return n >= e && n <= s && m >= e && m <= s || (i = this.center), i;\n }\n _normalize(t, i, e) {\n const s = this.spatialReference;\n if (!s) return this;\n const n = e ?? l(s);\n if (null == n) return this;\n const m = this._getParts(n).map(t => t.extent);\n if (m.length < 2) return m[0] || this;\n if (m.length > 2) return t ? this._shiftCM(n) : this.set({\n xmin: n.valid[0],\n xmax: n.valid[1]\n });\n if (t) return this._shiftCM(n);\n if (i) return m;\n let r = !0,\n a = !0;\n return m.forEach(t => {\n t.hasZ || (r = !1), t.hasM || (a = !1);\n }), {\n rings: m.map(t => {\n const i = [[t.xmin, t.ymin], [t.xmin, t.ymax], [t.xmax, t.ymax], [t.xmax, t.ymin], [t.xmin, t.ymin]];\n if (r) {\n const e = (t.zmax - t.zmin) / 2;\n for (let t = 0; t < i.length; t++) i[t].push(e);\n }\n if (a) {\n const e = (t.mmax - t.mmin) / 2;\n for (let t = 0; t < i.length; t++) i[t].push(e);\n }\n return i;\n }),\n hasZ: r,\n hasM: a,\n spatialReference: s\n };\n }\n _getParts(t) {\n let i = this.cache._parts;\n if (!i) {\n i = [];\n const {\n ymin: e,\n ymax: s,\n spatialReference: n\n } = this,\n m = this.width,\n r = this.xmin,\n a = this.xmax;\n let h;\n t = t || l(n);\n const [o, x] = t.valid;\n h = this._normalizeX(this.xmin, t);\n const p = h.x,\n c = h.frameId;\n h = this._normalizeX(this.xmax, t);\n const y = h.x,\n f = h.frameId,\n d = p === y && m > 0;\n if (m > 2 * x) {\n const t = new u(r < a ? p : y, e, x, s, n),\n m = new u(o, e, r < a ? y : p, s, n),\n h = new u(0, e, x, s, n),\n l = new u(o, e, 0, s, n),\n d = [],\n z = [];\n t.contains(h) && d.push(c), t.contains(l) && z.push(c), m.contains(h) && d.push(f), m.contains(l) && z.push(f);\n for (let i = c + 1; i < f; i++) d.push(i), z.push(i);\n i.push({\n extent: t,\n frameIds: [c]\n }, {\n extent: m,\n frameIds: [f]\n }, {\n extent: h,\n frameIds: d\n }, {\n extent: l,\n frameIds: z\n });\n } else p > y || d ? i.push({\n extent: new u(p, e, x, s, n),\n frameIds: [c]\n }, {\n extent: new u(o, e, y, s, n),\n frameIds: [f]\n }) : i.push({\n extent: new u(p, e, y, s, n),\n frameIds: [c]\n });\n this.cache._parts = i;\n }\n const e = this.hasZ,\n s = this.hasM;\n if (e || s) {\n const t = {};\n e && (t.zmin = this.zmin, t.zmax = this.zmax), s && (t.mmin = this.mmin, t.mmax = this.mmax);\n for (let e = 0; e < i.length; e++) i[e].extent.set(t);\n }\n return i;\n }\n _normalizeX(t, i) {\n const [e, s] = i.valid,\n n = 2 * s;\n let m,\n r = 0;\n return t > s ? (m = Math.ceil(Math.abs(t - s) / n), t -= m * n, r = m) : t < e && (m = Math.ceil(Math.abs(t - e) / n), t += m * n, r = -m), {\n x: t,\n frameId: r\n };\n }\n};\nt([e({\n readOnly: !0\n})], z.prototype, \"cache\", null), t([e({\n readOnly: !0\n})], z.prototype, \"center\", null), t([e({\n readOnly: !0\n})], z.prototype, \"extent\", null), t([e({\n readOnly: !0,\n json: {\n write: {\n enabled: !1,\n overridePolicy: null\n }\n }\n})], z.prototype, \"hasM\", null), t([e({\n readOnly: !0,\n json: {\n write: {\n enabled: !1,\n overridePolicy: null\n }\n }\n})], z.prototype, \"hasZ\", null), t([e({\n readOnly: !0\n})], z.prototype, \"height\", null), t([e({\n readOnly: !0\n})], z.prototype, \"width\", null), t([e({\n type: Number,\n json: {\n type: [Number, String],\n write: {\n enabled: !0,\n allowNull: !0\n }\n }\n})], z.prototype, \"xmin\", void 0), t([e({\n type: Number,\n json: {\n write: !0\n }\n})], z.prototype, \"ymin\", void 0), t([e({\n type: Number,\n json: {\n origins: {\n \"web-scene\": {\n write: !1\n }\n },\n write: {\n overridePolicy() {\n return {\n enabled: this.hasM\n };\n }\n }\n }\n})], z.prototype, \"mmin\", void 0), t([e({\n type: Number,\n json: {\n origins: {\n \"web-scene\": {\n write: !1\n }\n },\n write: {\n overridePolicy() {\n return {\n enabled: this.hasZ\n };\n }\n }\n }\n})], z.prototype, \"zmin\", void 0), t([e({\n type: Number,\n json: {\n write: !0\n }\n})], z.prototype, \"xmax\", void 0), t([e({\n type: Number,\n json: {\n write: !0\n }\n})], z.prototype, \"ymax\", void 0), t([e({\n type: Number,\n json: {\n origins: {\n \"web-scene\": {\n write: !1\n }\n },\n write: {\n overridePolicy() {\n return {\n enabled: this.hasM\n };\n }\n }\n }\n})], z.prototype, \"mmax\", void 0), t([e({\n type: Number,\n json: {\n origins: {\n \"web-scene\": {\n write: !1\n }\n },\n write: {\n overridePolicy() {\n return {\n enabled: this.hasZ\n };\n }\n }\n }\n})], z.prototype, \"zmax\", void 0), z = u = t([s(\"esri.geometry.Extent\")], z), z.prototype.toJSON.isDefaultToJSON = !0;\nconst M = z;\nexport { M as default };"],"mappings":"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","names":["n","t","e","r","u","i","o","f","c","x","s","i","t","e","o","n","r","f","s","u","c","m","x","y","p","G","l","a","h","g","z","Z","u","f","t","d","i","e","z","s","n","x","m","r","a","h","o","p","c","y","l"],"x_google_ignoreList":[0,1,2]}