(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [1903, 9450, 7258],
  {
    23761: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f });
      var i,
        s = r(29768),
        n = r(74569),
        o = r(86748),
        l = r(96467),
        a = r(74673),
        u = r(76506),
        c = r(42788),
        p = r(34250),
        d = (r(91306), r(92143), r(17533)),
        h = r(32422);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(97714),
        r(60947),
        r(2906),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589);
      let y = (i = class extends a.a {
        constructor(...e) {
          super(...e),
            (this.isAggregate = !1),
            (this.layer = null),
            (this.popupTemplate = null),
            (this.sourceLayer = null),
            Object.defineProperty(this, 'uid', { value: (0, c.g)(), configurable: !0 });
        }
        normalizeCtorArgs(e, t, r, i) {
          return e && !e.declaredClass
            ? e
            : { geometry: e, symbol: t, attributes: r, popupTemplate: i };
        }
        set attributes(e) {
          const t = this._get('attributes');
          t !== e && (this._set('attributes', e), this._notifyLayer('attributes', t, e));
        }
        set geometry(e) {
          const t = this._get('geometry');
          t !== e && (this._set('geometry', e), this._notifyLayer('geometry', t, e));
        }
        set symbol(e) {
          const t = this._get('symbol');
          t !== e && (this._set('symbol', e), this._notifyLayer('symbol', t, e));
        }
        set visible(e) {
          const t = this._get('visible');
          t !== e && (this._set('visible', e), this._notifyLayer('visible', t, e));
        }
        getEffectivePopupTemplate(e = !1) {
          if (this.popupTemplate) return this.popupTemplate;
          for (const t of [this.sourceLayer, this.layer])
            if (t) {
              if ('popupTemplate' in t && t.popupTemplate) return t.popupTemplate;
              if (e && 'defaultPopupTemplate' in t && (0, u.i)(t.defaultPopupTemplate))
                return t.defaultPopupTemplate;
            }
          return null;
        }
        getAttribute(e) {
          return this.attributes && this.attributes[e];
        }
        setAttribute(e, t) {
          if (this.attributes) {
            const r = this.getAttribute(e);
            (this.attributes[e] = t), this._notifyLayer('attributes', r, t, e);
          } else (this.attributes = { [e]: t }), this._notifyLayer('attributes', void 0, t, e);
        }
        getObjectId() {
          return this.sourceLayer &&
            'objectIdField' in this.sourceLayer &&
            this.sourceLayer.objectIdField
            ? this.getAttribute(this.sourceLayer.objectIdField)
            : null;
        }
        toJSON() {
          return {
            geometry: (0, u.i)(this.geometry) ? this.geometry.toJSON() : null,
            symbol: (0, u.i)(this.symbol) ? this.symbol.toJSON() : null,
            attributes: { ...this.attributes },
            popupTemplate: this.popupTemplate && this.popupTemplate.toJSON(),
          };
        }
        clone() {
          return new i(this.cloneProperties());
        }
        notifyGeometryChanged() {
          this._notifyLayer('geometry', this.geometry, this.geometry);
        }
        cloneProperties() {
          return {
            attributes: (0, u.d9)(this.attributes),
            geometry: (0, u.d9)(this.geometry),
            layer: this.layer,
            popupTemplate: this.popupTemplate && this.popupTemplate.clone(),
            sourceLayer: this.sourceLayer,
            symbol: (0, u.d9)(this.symbol),
            visible: this.visible,
          };
        }
        _notifyLayer(e, t, r, i) {
          if (!this.layer || !('graphicChanged' in this.layer)) return;
          const s = { graphic: this, property: e, oldValue: t, newValue: r };
          'attributes' === e && (s.attributeName = i), this.layer.graphicChanged(s);
        }
      });
      (0, s._)([(0, p.Cb)({ value: null })], y.prototype, 'attributes', null),
        (0, s._)(
          [(0, p.Cb)({ value: null, types: n.qM, json: { read: h.im } })],
          y.prototype,
          'geometry',
          null,
        ),
        (0, s._)([(0, p.Cb)({ type: Boolean })], y.prototype, 'isAggregate', void 0),
        (0, s._)([(0, p.Cb)()], y.prototype, 'layer', void 0),
        (0, s._)([(0, p.Cb)({ type: o.Z })], y.prototype, 'popupTemplate', void 0),
        (0, s._)([(0, p.Cb)()], y.prototype, 'sourceLayer', void 0),
        (0, s._)([(0, p.Cb)({ value: null, types: l.LB })], y.prototype, 'symbol', null),
        (0, s._)([(0, p.Cb)({ type: Boolean, value: !0 })], y.prototype, 'visible', null),
        (y = i = (0, s._)([(0, d.j)('esri.Graphic')], y)),
        ((y || (y = {})).generateUID = c.g);
      const f = y;
    },
    93314: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f });
      var i,
        s = r(29768),
        n = r(74673),
        o = r(76506),
        l = r(35197),
        a = r(34250),
        u = (r(91306), r(92143), r(97714)),
        c = r(17533),
        p = r(2906);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341);
      let d = (i = class extends n.a {
        constructor(e) {
          super(e), (this.end = null), (this.start = null);
        }
        static get allTime() {
          return h;
        }
        static get empty() {
          return y;
        }
        readEnd(e, t) {
          return null != t.end ? new Date(t.end) : null;
        }
        writeEnd(e, t) {
          t.end = e ? e.getTime() : null;
        }
        get isAllTime() {
          return this.equals(i.allTime);
        }
        get isEmpty() {
          return this.equals(i.empty);
        }
        readStart(e, t) {
          return null != t.start ? new Date(t.start) : null;
        }
        writeStart(e, t) {
          t.start = e ? e.getTime() : null;
        }
        clone() {
          return new i({ end: this.end, start: this.start });
        }
        expandTo(e) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const t = (0, o.e)(this.start, (t) => (0, l.t)(t, e)),
            r = (0, o.e)(this.end, (t) => (0, l.o)((0, l.t)(t, e), 1, e));
          return new i({ start: t, end: r });
        }
        intersection(e) {
          if (!e) return this.clone();
          if (this.isEmpty || e.isEmpty) return i.empty;
          if (this.isAllTime) return e.clone();
          if (e.isAllTime) return this.clone();
          const t = (0, o.m)(this.start, -1 / 0, (e) => e.getTime()),
            r = (0, o.m)(this.end, 1 / 0, (e) => e.getTime()),
            s = (0, o.m)(e.start, -1 / 0, (e) => e.getTime()),
            n = (0, o.m)(e.end, 1 / 0, (e) => e.getTime());
          let l, a;
          if (
            (s >= t && s <= r ? (l = s) : t >= s && t <= n && (l = t),
            r >= s && r <= n ? (a = r) : n >= t && n <= r && (a = n),
            !isNaN(l) && !isNaN(a))
          ) {
            const e = new i();
            return (
              (e.start = l === -1 / 0 ? null : new Date(l)),
              (e.end = a === 1 / 0 ? null : new Date(a)),
              e
            );
          }
          return i.empty;
        }
        offset(e, t) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const r = new i(),
            { start: s, end: n } = this;
          return (
            (0, o.i)(s) && (r.start = (0, l.o)(s, e, t)),
            (0, o.i)(n) && (r.end = (0, l.o)(n, e, t)),
            r
          );
        }
        equals(e) {
          if (!e) return !1;
          const t = (0, o.i)(this.start) ? this.start.getTime() : this.start,
            r = (0, o.i)(this.end) ? this.end.getTime() : this.end,
            i = (0, o.i)(e.start) ? e.start.getTime() : e.start,
            s = (0, o.i)(e.end) ? e.end.getTime() : e.end;
          return t === i && r === s;
        }
        union(e) {
          if (!e || e.isEmpty) return this.clone();
          if (this.isEmpty) return e.clone();
          if (this.isAllTime || e.isAllTime) return h.clone();
          const t =
              (0, o.i)(this.start) && (0, o.i)(e.start)
                ? new Date(Math.min(this.start.getTime(), e.start.getTime()))
                : null,
            r =
              (0, o.i)(this.end) && (0, o.i)(e.end)
                ? new Date(Math.max(this.end.getTime(), e.end.getTime()))
                : null;
          return new i({ start: t, end: r });
        }
      });
      (0, s._)(
        [(0, a.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
        d.prototype,
        'end',
        void 0,
      ),
        (0, s._)([(0, u.r)('end')], d.prototype, 'readEnd', null),
        (0, s._)([(0, p.w)('end')], d.prototype, 'writeEnd', null),
        (0, s._)([(0, a.Cb)({ readOnly: !0, json: { read: !1 } })], d.prototype, 'isAllTime', null),
        (0, s._)([(0, a.Cb)({ readOnly: !0, json: { read: !1 } })], d.prototype, 'isEmpty', null),
        (0, s._)(
          [(0, a.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
          d.prototype,
          'start',
          void 0,
        ),
        (0, s._)([(0, u.r)('start')], d.prototype, 'readStart', null),
        (0, s._)([(0, p.w)('start')], d.prototype, 'writeStart', null),
        (d = i = (0, s._)([(0, c.j)('esri.TimeExtent')], d));
      const h = new d(),
        y = new d({ start: void 0, end: void 0 }),
        f = d;
    },
    22203: (e, t, r) => {
      'use strict';
      r.d(t, { C: () => p });
      var i = r(29768),
        s = r(15324),
        n = r(95873),
        o = r(76506),
        l = r(34250),
        a = (r(91306), r(92143), r(17533)),
        u = r(21972);
      let c = class extends (0, n.p)(s.Z) {
        constructor(e) {
          super(e), (this.getCollections = null);
        }
        initialize() {
          this.handles.add((0, u.a)(() => this.refresh()));
        }
        destroy() {
          this.getCollections = null;
        }
        refresh() {
          const e = (0, o.i)(this.getCollections) ? this.getCollections() : null;
          if ((0, o.b)(e)) return void this.removeAll();
          let t = 0;
          for (const r of e) (0, o.i)(r) && (t = this._processCollection(t, r));
          this.splice(t, this.length);
        }
        _createNewInstance(e) {
          return new s.Z(e);
        }
        _processCollection(e, t) {
          if (!t) return e;
          const r = this.itemFilterFunction ? this.itemFilterFunction : (e) => !!e;
          for (const i of t)
            if (i) {
              if (r(i)) {
                const t = this.indexOf(i, e);
                t >= 0 ? t !== e && this.reorder(i, e) : this.add(i, e), ++e;
              }
              if (this.getChildrenFunction) {
                const t = this.getChildrenFunction(i);
                if (Array.isArray(t)) for (const r of t) e = this._processCollection(e, r);
                else e = this._processCollection(e, t);
              }
            }
          return e;
        }
      };
      (0, i._)([(0, l.Cb)()], c.prototype, 'getCollections', void 0),
        (0, i._)([(0, l.Cb)()], c.prototype, 'getChildrenFunction', void 0),
        (0, i._)([(0, l.Cb)()], c.prototype, 'itemFilterFunction', void 0),
        (c = (0, i._)([(0, a.j)('esri.core.CollectionFlattener')], c));
      var p = c;
    },
    62162: (e, t, r) => {
      'use strict';
      r.d(t, { P: () => _ });
      var i = r(29768),
        s = r(88762),
        n = r(82058),
        o = r(41864),
        l = r(60991),
        a = r(92143),
        u = r(76506),
        c = r(50406),
        p = r(32101),
        d = r(34250),
        h = (r(91306), r(97714)),
        y = r(17533),
        f = r(2906),
        m = r(49900),
        g = r(56420),
        b = r(74653);
      const v = a.L.getLogger('esri.layers.mixins.PortalLayer'),
        _ = (e) => {
          let t = class extends e {
            constructor() {
              super(...arguments),
                (this.resourceReferences = { portalItem: null, paths: [] }),
                (this.userHasEditingPrivileges = !0);
            }
            destroy() {
              var e;
              null == (e = this.portalItem) || e.destroy(), (this.portalItem = null);
            }
            set portalItem(e) {
              e !== this._get('portalItem') &&
                (this.removeOrigin('portal-item'), this._set('portalItem', e));
            }
            readPortalItem(e, t, r) {
              if (t.itemId) return new g.default({ id: t.itemId, portal: r && r.portal });
            }
            writePortalItem(e, t) {
              e && e.id && (t.itemId = e.id);
            }
            async loadFromPortal(e, t) {
              if (this.portalItem && this.portalItem.id)
                try {
                  const i = await r
                    .e(8642)
                    .then(r.bind(r, 8642))
                    .then(function (e) {
                      return e.l;
                    });
                  return (
                    (0, c.k_)(t),
                    await i.load(
                      {
                        instance: this,
                        supportedTypes: e.supportedTypes,
                        validateItem: e.validateItem,
                        supportsData: e.supportsData,
                      },
                      t,
                    )
                  );
                } catch (e) {
                  throw (
                    ((0, c.D_)(e) ||
                      v.warn(
                        `Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n  ${e}`,
                      ),
                    e)
                  );
                }
            }
            async finishLoadEditablePortalLayer(e) {
              this._set(
                'userHasEditingPrivileges',
                await this.fetchUserHasEditingPrivileges(e).catch((e) => ((0, c.r9)(e), !0)),
              );
            }
            async fetchUserHasEditingPrivileges(e) {
              const t = this.url ? (null == s.id ? void 0 : s.id.findCredential(this.url)) : null;
              if (!t) return !0;
              const r = w.credential === t ? w.user : await this.fetchEditingUser(e);
              return (
                (w.credential = t),
                (w.user = r),
                (0, u.b)(r) || null == r.privileges || r.privileges.includes('features:user:edit')
              );
            }
            async fetchEditingUser(e) {
              var t, r;
              const i = null == (t = this.portalItem) || null == (r = t.portal) ? void 0 : r.user;
              if (i) return i;
              const l = s.id.findServerInfo(this.url);
              if (null == l || !l.owningSystemUrl) return null;
              const a = `${l.owningSystemUrl}/sharing/rest`,
                c = m.Z.getDefault();
              if (c && c.loaded && (0, p.Fv)(c.restUrl) === (0, p.Fv)(a)) return c.user;
              const d = `${a}/community/self`,
                h = (0, u.i)(e) ? e.signal : null,
                y = await (0, o.r)(
                  (0, n.default)(d, { authMode: 'no-prompt', query: { f: 'json' }, signal: h }),
                );
              return y.ok ? b.default.fromJSON(y.value.data) : null;
            }
            read(e, t) {
              t && (t.layer = this), super.read(e, t);
            }
            write(e, t) {
              const r = t && t.portal,
                i =
                  this.portalItem &&
                  this.portalItem.id &&
                  (this.portalItem.portal || m.Z.getDefault());
              return r && i && !(0, p.tm)(i.restUrl, r.restUrl)
                ? (t.messages &&
                    t.messages.push(
                      new l.Z(
                        'layer:cross-portal',
                        `The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save the scene, set the layer.portalItem to null or save the scene to the same portal as the item associated with the layer`,
                        { layer: this },
                      ),
                    ),
                  null)
                : super.write(e, { ...t, layer: this });
            }
          };
          return (
            (0, i._)([(0, d.Cb)({ type: g.default })], t.prototype, 'portalItem', null),
            (0, i._)(
              [(0, h.r)('web-document', 'portalItem', ['itemId'])],
              t.prototype,
              'readPortalItem',
              null,
            ),
            (0, i._)(
              [(0, f.w)('web-document', 'portalItem', { itemId: { type: String } })],
              t.prototype,
              'writePortalItem',
              null,
            ),
            (0, i._)([(0, d.Cb)()], t.prototype, 'resourceReferences', void 0),
            (0, i._)(
              [(0, d.Cb)({ readOnly: !0 })],
              t.prototype,
              'userHasEditingPrivileges',
              void 0,
            ),
            (t = (0, i._)([(0, y.j)('esri.layers.mixins.PortalLayer')], t)),
            t
          );
        },
        w = { credential: null, user: null };
    },
    53326: (e, t, r) => {
      'use strict';
      r.d(t, {
        C: () => h,
        N: () => m,
        b: () => l,
        c: () => s,
        d: () => o,
        e: () => d,
        g: () => f,
        l: () => n,
        m: () => u,
        n: () => c,
        s: () => p,
        y: () => a,
      });
      var i = r(76506);
      function s(e = g) {
        return [e[0], e[1], e[2], e[3], e[4], e[5]];
      }
      function n(e, t, r, i, n, o, l = s()) {
        return (l[0] = e), (l[1] = t), (l[2] = r), (l[3] = i), (l[4] = n), (l[5] = o), l;
      }
      function o(e, t) {
        (e[0] = Math.min(e[0], t[0])),
          (e[1] = Math.min(e[1], t[1])),
          (e[2] = Math.min(e[2], t[2])),
          (e[3] = Math.max(e[3], t[3])),
          (e[4] = Math.max(e[4], t[4])),
          (e[5] = Math.max(e[5], t[5]));
      }
      function l(e, t) {
        (e[0] = Math.min(e[0], t[0])),
          (e[1] = Math.min(e[1], t[1])),
          (e[2] = Math.min(e[2], t[2])),
          (e[3] = Math.max(e[3], t[0])),
          (e[4] = Math.max(e[4], t[1])),
          (e[5] = Math.max(e[5], t[2]));
      }
      function a(e, t = [0, 0, 0]) {
        return (
          (t[0] = (function (e) {
            return e[0] >= e[3] ? 0 : e[3] - e[0];
          })(e)),
          (t[1] = (function (e) {
            return e[1] >= e[4] ? 0 : e[4] - e[1];
          })(e)),
          (t[2] = (function (e) {
            return e[2] >= e[5] ? 0 : e[5] - e[2];
          })(e)),
          t
        );
      }
      function u(e, t, r = e) {
        return (
          (r[0] = t[0]),
          (r[1] = t[1]),
          (r[2] = t[2]),
          r !== e && ((r[3] = e[3]), (r[4] = e[4]), (r[5] = e[5])),
          r
        );
      }
      function c(e, t, r = e) {
        return (
          (r[3] = t[0]),
          (r[4] = t[1]),
          (r[5] = t[2]),
          r !== e && ((r[0] = e[0]), (r[1] = e[1]), (r[2] = e[2])),
          e
        );
      }
      function p(e, t) {
        return (
          (e[0] = t[0]),
          (e[1] = t[1]),
          (e[2] = t[2]),
          (e[3] = t[3]),
          (e[4] = t[4]),
          (e[5] = t[5]),
          e
        );
      }
      function d(e) {
        return e ? p(e, m) : s(m);
      }
      function h(e, t) {
        return (
          (e[0] = t[0]),
          (e[1] = t[1]),
          (e[2] = Number.NEGATIVE_INFINITY),
          (e[3] = t[2]),
          (e[4] = t[3]),
          (e[5] = Number.POSITIVE_INFINITY),
          e
        );
      }
      function y(e) {
        return 6 === e.length;
      }
      function f(e, t, r) {
        if ((0, i.b)(e) || (0, i.b)(t)) return e === t;
        if (!y(e) || !y(t)) return !1;
        if (r) {
          for (let i = 0; i < e.length; i++) if (!r(e[i], t[i])) return !1;
        } else for (let r = 0; r < e.length; r++) if (e[r] !== t[r]) return !1;
        return !0;
      }
      r(21801), r(92482);
      const m = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0],
        g = [0, 0, 0, 0, 0, 0];
      s();
    },
    92482: (e, t, r) => {
      'use strict';
      r.d(t, {
        N: () => p,
        a: () => s,
        d: () => u,
        f: () => n,
        m: () => c,
        p: () => o,
        t: () => l,
        x: () => a,
      }),
        r(76506);
      var i = r(21801);
      function s(e = d) {
        return [e[0], e[1], e[2], e[3]];
      }
      function n(e, t, r, i, n = s()) {
        return (n[0] = e), (n[1] = t), (n[2] = r), (n[3] = i), n;
      }
      function o(e, t = s()) {
        return (t[0] = e.xmin), (t[1] = e.ymin), (t[2] = e.xmax), (t[3] = e.ymax), t;
      }
      function l(e, t) {
        return new i.Z({ xmin: e[0], ymin: e[1], xmax: e[2], ymax: e[3], spatialReference: t });
      }
      function a(e) {
        return (
          (function (e) {
            return e[0] >= e[2] ? 0 : e[2] - e[0];
          })(e) *
          (function (e) {
            return e[1] >= e[3] ? 0 : e[3] - e[1];
          })(e)
        );
      }
      function u(e, t) {
        return (
          Math.max(t[0], e[0]) <= Math.min(t[2], e[2]) &&
          Math.max(t[1], e[1]) <= Math.min(t[3], e[3])
        );
      }
      function c(e, t) {
        return t[0] >= e[0] && t[2] <= e[2] && t[1] >= e[1] && t[3] <= e[3];
      }
      const p = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
        d = [0, 0, 0, 0];
    },
    48190: (e, t, r) => {
      'use strict';
      function i(e) {}
      r.d(t, { n: () => i }), r(76506);
    },
    93939: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => y, d: () => f, h: () => h });
      var i = r(21972),
        s = r(15324),
        n = r(76506),
        o = r(86656);
      const l = [
        'esri.Color',
        'esri.portal.Portal',
        'esri.symbols.support.Symbol3DAnchorPosition2D',
        'esri.symbols.support.Symbol3DAnchorPosition3D',
      ];
      function a(e) {
        return e instanceof i.Z;
      }
      function u(e) {
        return e instanceof s.Z
          ? Object.keys(e.items)
          : a(e)
          ? (0, o.g)(e).keys()
          : e
          ? Object.keys(e)
          : [];
      }
      function c(e, t) {
        return e instanceof s.Z ? e.items[t] : e[t];
      }
      function p(e) {
        return e ? e.declaredClass : null;
      }
      function d(e, t) {
        const r = e.diff;
        if (r && 'function' == typeof r) return r(e, t);
        const i = u(e),
          s = u(t);
        if (0 === i.length && 0 === s.length) return;
        if (
          !i.length ||
          !s.length ||
          (function (e, t) {
            return !(!Array.isArray(e) || !Array.isArray(t)) && e.length !== t.length;
          })(e, t)
        )
          return { type: 'complete', oldValue: e, newValue: t };
        const o = s.filter((e) => -1 === i.indexOf(e)),
          h = i.filter((e) => -1 === s.indexOf(e)),
          y = i
            .filter((r) => s.indexOf(r) > -1 && c(e, r) !== c(t, r))
            .concat(o, h)
            .sort(),
          f = p(e);
        if (f && l.indexOf(f) > -1 && y.length)
          return { type: 'complete', oldValue: e, newValue: t };
        let m;
        const g = a(e) && a(t);
        for (const i of y) {
          const s = c(e, i),
            o = c(t, i);
          let l;
          (g || ('function' != typeof s && 'function' != typeof o)) &&
            s !== o &&
            ((null == s && null == o) ||
              ((l =
                r && r[i] && 'function' == typeof r[i]
                  ? r[i](s, o)
                  : 'object' == typeof s && 'object' == typeof o && p(s) === p(o)
                  ? d(s, o)
                  : { type: 'complete', oldValue: s, newValue: o }),
              (0, n.i)(l) &&
                ((0, n.i)(m) ? (m.diff[i] = l) : (m = { type: 'partial', diff: { [i]: l } }))));
        }
        return m;
      }
      function h(e, t) {
        if ((0, n.b)(e)) return !1;
        const r = t.split('.');
        let i = e;
        for (const e of r) {
          if ('complete' === i.type) return !0;
          if ('partial' !== i.type) return !1;
          {
            const t = i.diff[e];
            if (!t) return !1;
            i = t;
          }
        }
        return !0;
      }
      function y(e, t) {
        for (const r of t) if (h(e, r)) return !0;
        return !1;
      }
      function f(e, t) {
        if ('function' != typeof e && 'function' != typeof t && (e || t))
          return !e || !t || ('object' == typeof e && 'object' == typeof t && p(e) !== p(t))
            ? { type: 'complete', oldValue: e, newValue: t }
            : d(e, t);
      }
    },
    54732: (e, t, r) => {
      'use strict';
      r.d(t, { k: () => i });
      const i = new (r(57251).J)({
        esriFieldTypeSmallInteger: 'small-integer',
        esriFieldTypeInteger: 'integer',
        esriFieldTypeSingle: 'single',
        esriFieldTypeDouble: 'double',
        esriFieldTypeLong: 'long',
        esriFieldTypeString: 'string',
        esriFieldTypeDate: 'date',
        esriFieldTypeOID: 'oid',
        esriFieldTypeGeometry: 'geometry',
        esriFieldTypeBlob: 'blob',
        esriFieldTypeRaster: 'raster',
        esriFieldTypeGUID: 'guid',
        esriFieldTypeGlobalID: 'global-id',
        esriFieldTypeXML: 'xml',
      });
    },
    85557: (e, t, r) => {
      'use strict';
      r.d(t, { m: () => n });
      var i = r(53785),
        s = r(89623);
      const n = {
        inches: (0, i.c)(1, 'meters', 'inches'),
        feet: (0, i.c)(1, 'meters', 'feet'),
        'us-feet': (0, i.c)(1, 'meters', 'us-feet'),
        yards: (0, i.c)(1, 'meters', 'yards'),
        miles: (0, i.c)(1, 'meters', 'miles'),
        'nautical-miles': (0, i.c)(1, 'meters', 'nautical-miles'),
        millimeters: (0, i.c)(1, 'meters', 'millimeters'),
        centimeters: (0, i.c)(1, 'meters', 'centimeters'),
        decimeters: (0, i.c)(1, 'meters', 'decimeters'),
        meters: (0, i.c)(1, 'meters', 'meters'),
        kilometers: (0, i.c)(1, 'meters', 'kilometers'),
        'decimal-degrees': 1 / (0, i.l)(1, 'meters', s.e.radius),
      };
    },
    52228: (e, t, r) => {
      'use strict';
      function i(e) {
        return e && 'esri.renderers.visualVariables.SizeVariable' === e.declaredClass;
      }
      function s(e) {
        return null != e && !isNaN(e) && isFinite(e);
      }
      function n(e) {
        return e.valueExpression
          ? 'expression'
          : e.field && 'string' == typeof e.field
          ? 'field'
          : 'unknown';
      }
      function o(e, t) {
        const r = t || n(e),
          i = e.valueUnit || 'unknown';
        return 'unknown' === r
          ? 'constant'
          : e.stops
          ? 'stops'
          : null != e.minSize &&
            null != e.maxSize &&
            null != e.minDataValue &&
            null != e.maxDataValue
          ? 'clamped-linear'
          : 'unknown' === i
          ? null != e.minSize && null != e.minDataValue
            ? e.minSize && e.minDataValue
              ? 'proportional'
              : 'additive'
            : 'identity'
          : 'real-world-size';
      }
      r.d(t, { a: () => o, b: () => s, g: () => n, i: () => i });
    },
    35197: (e, t, r) => {
      'use strict';
      r.d(t, { c: () => l, o: () => n, t: () => o }), r(76506);
      const i = {
          milliseconds: 1,
          seconds: 1e3,
          minutes: 6e4,
          hours: 36e5,
          days: 864e5,
          weeks: 6048e5,
          months: 26784e5,
          years: 31536e6,
          decades: 31536e7,
          centuries: 31536e8,
        },
        s = {
          milliseconds: { getter: 'getMilliseconds', setter: 'setMilliseconds', multiplier: 1 },
          seconds: { getter: 'getSeconds', setter: 'setSeconds', multiplier: 1 },
          minutes: { getter: 'getMinutes', setter: 'setMinutes', multiplier: 1 },
          hours: { getter: 'getHours', setter: 'setHours', multiplier: 1 },
          days: { getter: 'getDate', setter: 'setDate', multiplier: 1 },
          weeks: { getter: 'getDate', setter: 'setDate', multiplier: 7 },
          months: { getter: 'getMonth', setter: 'setMonth', multiplier: 1 },
          years: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 1 },
          decades: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 10 },
          centuries: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 100 },
        };
      function n(e, t, r) {
        const i = new Date(e.getTime());
        if (t && r) {
          const e = s[r],
            { getter: n, setter: o, multiplier: l } = e;
          i[o](i[n]() + t * l);
        }
        return i;
      }
      function o(e, t) {
        switch (t) {
          case 'milliseconds':
            return new Date(e.getTime());
          case 'seconds':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
              e.getSeconds(),
            );
          case 'minutes':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
            );
          case 'hours':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours());
          case 'days':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate());
          case 'weeks':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate() - e.getDay());
          case 'months':
            return new Date(e.getFullYear(), e.getMonth(), 1);
          case 'years':
            return new Date(e.getFullYear(), 0, 1);
          case 'decades':
            return new Date(e.getFullYear() - (e.getFullYear() % 10), 0, 1);
          case 'centuries':
            return new Date(e.getFullYear() - (e.getFullYear() % 100), 0, 1);
          default:
            return new Date();
        }
      }
      function l(e, t, r) {
        return 0 === e ? 0 : (e * i[t]) / i[r];
      }
    },
    42788: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => s });
      let i = 0;
      function s() {
        return ++i;
      }
    },
    74057: (e, t, r) => {
      'use strict';
      r.d(t, {
        PR: () => x,
        Lq: () => y,
        Km: () => f,
        cM: () => m,
        ap: () => g,
        V3: () => _,
        B3: () => h,
      });
      var i = r(48027),
        s = r(23761),
        n = r(48190),
        o = r(92143),
        l = r(76506),
        a = r(85557),
        u = r(52228);
      r(54174),
        r(82426),
        r(91306),
        r(31450),
        r(71552),
        r(40642),
        r(74569),
        r(21801),
        r(34250),
        r(86656),
        r(22723),
        r(17533),
        r(81172),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(26341),
        r(97714),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(32422),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(53785),
        r(95587);
      const c = o.L.getLogger('esri.renderers.visualVariables.support.visualVariableUtils'),
        p = new s.Z(),
        d = Math.PI,
        h = /^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i;
      function y(e, t, r) {
        const s =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'color' === e.type)[0]
            : e;
        if (!s) return;
        if ('esri.renderers.visualVariables.ColorVariable' !== s.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.ColorVariable',
          );
        const n = 'number' == typeof t,
          o = n ? null : t,
          a = o && o.attributes;
        let u = n ? t : null;
        const p = s.field,
          { ipData: d, hasExpression: h } = s.cache;
        let y = s.cache.compiledFunc;
        if (!p && !h) {
          const e = s.stops;
          return e && e[0] && e[0].color;
        }
        if ('number' != typeof u)
          if (h) {
            if (!(0, l.i)(r) || !(0, l.i)(r.arcade))
              return void c.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              i = t.getViewInfo(e),
              n = t.createExecContext(o, i);
            if (!y) {
              const e = t.createSyntaxTree(s.valueExpression);
              (y = t.createFunction(e)), (s.cache.compiledFunc = y);
            }
            u = t.executeFunction(y, n);
          } else a && (u = a[p]);
        const f = s.normalizationField,
          m = a ? parseFloat(a[f]) : void 0;
        if (null != u && (!f || n || (!isNaN(m) && 0 !== m))) {
          isNaN(m) || n || (u /= m);
          const e = w(u, d);
          if (e) {
            const t = e[0],
              n = e[1],
              o =
                t === n
                  ? s.stops[t].color
                  : i.Z.blendColors(
                      s.stops[t].color,
                      s.stops[n].color,
                      e[2],
                      (0, l.i)(r) ? r.color : void 0,
                    );
            return new i.Z(o);
          }
        }
      }
      function f(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'opacity' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.OpacityVariable' !== i.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.OpacityVariable',
          );
        const s = 'number' == typeof t,
          n = s ? null : t,
          o = n && n.attributes;
        let a = s ? t : null;
        const u = i.field,
          { ipData: p, hasExpression: d } = i.cache;
        let h = i.cache.compiledFunc;
        if (!u && !d) {
          const e = i.stops;
          return e && e[0] && e[0].opacity;
        }
        if ('number' != typeof a)
          if (d) {
            if ((0, l.b)(r) || (0, l.b)(r.arcade))
              return void c.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              s = t.getViewInfo(e),
              o = t.createExecContext(n, s);
            if (!h) {
              const e = t.createSyntaxTree(i.valueExpression);
              (h = t.createFunction(e)), (i.cache.compiledFunc = h);
            }
            a = t.executeFunction(h, o);
          } else o && (a = o[u]);
        const y = i.normalizationField,
          f = o ? parseFloat(o[y]) : void 0;
        if (null != a && (!y || s || (!isNaN(f) && 0 !== f))) {
          isNaN(f) || s || (a /= f);
          const e = w(a, p);
          if (e) {
            const t = e[0],
              r = e[1];
            if (t === r) return i.stops[t].opacity;
            {
              const s = i.stops[t].opacity;
              return s + (i.stops[r].opacity - s) * e[2];
            }
          }
        }
      }
      function m(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'rotation' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.RotationVariable' !== i.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.RotationVariable',
          );
        const s = i.axis || 'heading',
          n = 'heading' === s && 'arithmetic' === i.rotationType ? 90 : 0,
          o = 'heading' === s && 'arithmetic' === i.rotationType ? -1 : 1,
          a = 'number' == typeof t ? null : t,
          u = a && a.attributes,
          p = i.field,
          { hasExpression: d } = i.cache;
        let h = i.cache.compiledFunc,
          y = 0;
        if (!p && !d) return y;
        if (d) {
          if ((0, l.b)(r) || (0, l.b)(r.arcade))
            return void c.error('Use of arcade expressions requires an arcade context');
          const e = {
              viewingMode: r.viewingMode,
              scale: r.scale,
              spatialReference: r.spatialReference,
            },
            t = r.arcade.arcadeUtils,
            s = t.getViewInfo(e),
            n = t.createExecContext(a, s);
          if (!h) {
            const e = t.createSyntaxTree(i.valueExpression);
            (h = t.createFunction(e)), (i.cache.compiledFunc = h);
          }
          y = t.executeFunction(h, n);
        } else u && (y = u[p] || 0);
        return (y = 'number' != typeof y || isNaN(y) ? null : n + o * y), y;
      }
      function g(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'size' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.SizeVariable' !== i.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.SizeVariable',
          );
        const s = (function (e, t, r, i, s) {
          switch (t.transformationType) {
            case 'additive':
              return (function (e, t, r, i) {
                return e + (b(t.minSize, r, i) || t.minDataValue);
              })(e, t, r, i);
            case 'constant':
              return (function (e, t, r) {
                const i = e.stops;
                let s = i && i.length && i[0].size;
                return null == s && (s = e.minSize), b(s, t, r);
              })(t, r, i);
            case 'clamped-linear':
              return (function (e, t, r, i) {
                const s = (e - t.minDataValue) / (t.maxDataValue - t.minDataValue),
                  n = b(t.minSize, r, i),
                  o = b(t.maxSize, r, i),
                  a = (0, l.i)(i) ? i.shape : void 0;
                if (e <= t.minDataValue) return n;
                if (e >= t.maxDataValue) return o;
                if ('area' === t.scaleBy && a) {
                  const e = 'circle' === a,
                    t = e ? d * (n / 2) ** 2 : n * n,
                    r = t + s * ((e ? d * (o / 2) ** 2 : o * o) - t);
                  return e ? 2 * Math.sqrt(r / d) : Math.sqrt(r);
                }
                return n + s * (o - n);
              })(e, t, r, i);
            case 'proportional':
              return (function (e, t, r, i) {
                const s = (0, l.i)(i) ? i.shape : void 0,
                  n = e / t.minDataValue,
                  o = b(t.minSize, r, i),
                  a = b(t.maxSize, r, i);
                let u = null;
                return (
                  (u =
                    'circle' === s
                      ? 2 * Math.sqrt(n * (o / 2) ** 2)
                      : 'square' === s || 'diamond' === s || 'image' === s
                      ? Math.sqrt(n * o ** 2)
                      : n * o),
                  v(u, o, a)
                );
              })(e, t, r, i);
            case 'stops':
              return (function (e, t, r, i, s) {
                const [n, o, l] = w(e, s);
                if (n === o) return b(t.stops[n].size, r, i);
                {
                  const e = b(t.stops[n].size, r, i);
                  return e + (b(t.stops[o].size, r, i) - e) * l;
                }
              })(e, t, r, i, s);
            case 'real-world-size':
              return (function (e, t, r, i) {
                const s = ((0, l.i)(i) && i.resolution ? i.resolution : 1) * a.m[t.valueUnit],
                  n = b(t.minSize, r, i),
                  o = b(t.maxSize, r, i),
                  { valueRepresentation: u } = t;
                let c = null;
                return (
                  (c =
                    'area' === u
                      ? (2 * Math.sqrt(e / d)) / s
                      : 'radius' === u || 'distance' === u
                      ? (2 * e) / s
                      : e / s),
                  v(c, n, o)
                );
              })(e, t, r, i);
            case 'identity':
              return e;
            case 'unknown':
              return null;
          }
        })(
          (function (e, t, r) {
            const i = 'number' == typeof t,
              s = i ? null : t,
              n = s && s.attributes;
            let o = i ? t : null;
            const { isScaleDriven: a } = e.cache;
            let p = e.cache.compiledFunc;
            if (a) {
              const t = (0, l.i)(r) ? r.scale : void 0,
                i = (0, l.i)(r) ? r.view : void 0;
              o =
                null == t || '3d' === i
                  ? (function (e) {
                      let t = null,
                        r = null;
                      const i = e.stops;
                      return (
                        i
                          ? ((t = i[0].value), (r = i[i.length - 1].value))
                          : ((t = e.minDataValue || 0), (r = e.maxDataValue || 0)),
                        (t + r) / 2
                      );
                    })(e)
                  : t;
            } else if (!i)
              switch (e.inputValueType) {
                case 'expression': {
                  if ((0, l.b)(r) || (0, l.b)(r.arcade))
                    return void c.error('Use of arcade expressions requires an arcade context');
                  const t = {
                      viewingMode: r.viewingMode,
                      scale: r.scale,
                      spatialReference: r.spatialReference,
                    },
                    i = r.arcade.arcadeUtils,
                    n = i.getViewInfo(t),
                    a = i.createExecContext(s, n);
                  if (!p) {
                    const t = i.createSyntaxTree(e.valueExpression);
                    (p = i.createFunction(t)), (e.cache.compiledFunc = p);
                  }
                  o = i.executeFunction(p, a);
                  break;
                }
                case 'field':
                  n && (o = n[e.field]);
                  break;
                case 'unknown':
                  o = null;
              }
            if (!(0, u.b)(o)) return null;
            if (i || !e.normalizationField) return o;
            const d = n ? parseFloat(n[e.normalizationField]) : null;
            return (0, u.b)(d) && 0 !== d ? o / d : null;
          })(i, t, r),
          i,
          t,
          r,
          i.cache.ipData,
        );
        return null == s || isNaN(s) ? 0 : s;
      }
      function b(e, t, r) {
        return null == e ? null : (0, u.i)(e) ? g(e, t, r) : (0, u.b)(e) ? e : null;
      }
      function v(e, t, r) {
        return (0, u.b)(r) && e > r ? r : (0, u.b)(t) && e < t ? t : e;
      }
      function _(e, t, r) {
        const { isScaleDriven: i } = e.cache;
        if (!((i && '3d' === r) || t)) return null;
        const s = { scale: t, view: r };
        let n = b(e.minSize, p, s),
          o = b(e.maxSize, p, s);
        if (null != n || null != o) {
          if (n > o) {
            const e = o;
            (o = n), (n = e);
          }
          return { minSize: n, maxSize: o };
        }
      }
      function w(e, t) {
        if (!t) return;
        let r = 0,
          i = t.length - 1;
        return (
          t.some((t, s) => (e < t ? ((i = s), !0) : ((r = s), !1))),
          [r, i, (e - t[r]) / (t[i] - t[r])]
        );
      }
      function x(e, t, r) {
        const i = ['proportional', 'proportional', 'proportional'];
        for (const s of e) {
          const e = s.useSymbolValue ? 'symbol-value' : g(s, t, r);
          switch (s.axis) {
            case 'width':
              i[0] = e;
              break;
            case 'depth':
              i[1] = e;
              break;
            case 'height':
              i[2] = e;
              break;
            case 'width-and-depth':
              (i[0] = e), (i[1] = e);
              break;
            case 'all':
            case void 0:
            case null:
              (i[0] = e), (i[1] = e), (i[2] = e);
              break;
            default:
              (0, n.n)(s.axis);
          }
        }
        return i;
      }
    },
    95873: (e, t, r) => {
      'use strict';
      r.d(t, { r: () => y, p: () => h, W: () => p });
      var i = r(29768),
        s = r(21972),
        n = r(82933),
        o = r(34250),
        l = r(17533),
        a = r(76506),
        u = r(6906),
        c = r(617);
      r(23639),
        r(92143),
        r(31450),
        r(71552),
        r(40642),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(91306),
        r(81172),
        r(50406),
        r(60991),
        r(15324),
        r(76996);
      let p = class extends s.Z {
        constructor() {
          super(...arguments),
            (this.updating = !1),
            (this.handleId = 0),
            (this.handles = new n.Z()),
            (this.scheduleHandleId = 0),
            (this.pendingPromises = new Set());
        }
        destroy() {
          this.removeAll(), this.handles.destroy();
        }
        add(e, t, r, i = 0) {
          const s = 0 != (1 & i),
            n = ++this.handleId;
          s || this.installSyncUpdatingWatch(e, t, n);
          const o = 0 != (2 & i) ? (0, c.S1)(e, t, r, s) : e.watch(t, r, s);
          return this.handles.add(o, n), { remove: () => this.handles.remove(n) };
        }
        addOnCollectionPropertyChange(e, t, r, i = 0) {
          const s = 0 != (2 & i),
            n = ++this.handleId;
          return (
            this.handles.add(
              [
                (0, c.on)(e, t, 'after-changes', this.createSyncUpdatingCallback()),
                (0, c.on)(
                  e,
                  t,
                  'change',
                  r,
                  s
                    ? (e) => {
                        r({ added: e.items, removed: [], moved: [], target: e });
                      }
                    : void 0,
                ),
              ],
              n,
            ),
            {
              remove: () => {
                this.handles.remove(n);
              },
            }
          );
        }
        addOnCollectionChange(e, t, r = 0) {
          const i = 0 != (2 & r),
            s = ++this.handleId;
          return (
            this.handles.add(
              [e.on('after-changes', this.createSyncUpdatingCallback()), e.on('change', t)],
              s,
            ),
            i && t({ added: e.items, removed: [], moved: [], target: e }),
            {
              remove: () => {
                this.handles.remove(s);
              },
            }
          );
        }
        addPromise(e) {
          if ((0, a.b)(e)) return e;
          const t = ++this.handleId;
          this.handles.add(
            {
              remove: () => {
                this.pendingPromises.delete(e) &&
                  (0 !== this.pendingPromises.size ||
                    this.handles.has(d) ||
                    this._set('updating', !1));
              },
            },
            t,
          ),
            this.pendingPromises.add(e),
            this._set('updating', !0);
          const r = () => this.handles.remove(t);
          return e.then(r, r), e;
        }
        removeAll() {
          this.pendingPromises.clear(), this.handles.removeAll(), this._set('updating', !1);
        }
        installSyncUpdatingWatch(e, t, r) {
          const i = this.createSyncUpdatingCallback(),
            n = (0, s.r)(() => (0, o.v)(e, t), i);
          return this.handles.add(n, r), n;
        }
        createSyncUpdatingCallback() {
          return () => {
            this.handles.remove(d), ++this.scheduleHandleId;
            const e = this.scheduleHandleId;
            this._get('updating') || this._set('updating', !0),
              this.handles.add(
                (0, u.Os)(() => {
                  e === this.scheduleHandleId &&
                    (this._set('updating', this.pendingPromises.size > 0), this.handles.remove(d));
                }),
                d,
              );
          };
        }
      };
      (0, i._)([(0, o.Cb)({ readOnly: !0 })], p.prototype, 'updating', void 0),
        (p = (0, i._)([(0, l.j)('esri.views.support.WatchUpdatingTracking')], p));
      const d = -42,
        h = (e) => {
          let t = class extends e {
            destroy() {
              this.destroyed || (this.handles.destroy(), this.updatingHandles.destroy());
            }
            get handles() {
              return this._get('handles') || new n.Z();
            }
            get updatingHandles() {
              return this._get('updatingHandles') || new p();
            }
          };
          return (
            (0, i._)([(0, o.Cb)({ readOnly: !0 })], t.prototype, 'handles', null),
            (0, i._)([(0, o.Cb)({ readOnly: !0 })], t.prototype, 'updatingHandles', null),
            (t = (0, i._)([(0, l.j)('esri.core.HandleOwner')], t)),
            t
          );
        };
      let y = class extends h(s.Z) {};
      y = (0, i._)([(0, l.j)('esri.core.HandleOwner')], y);
    },
    82933: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => c });
      var i = r(29768),
        s = r(21972),
        n = r(15324),
        o = r(76506),
        l = r(34250),
        a = r(17533);
      r(23639),
        r(92143),
        r(31450),
        r(71552),
        r(40642),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(91306),
        r(76996);
      let u = class extends s.Z {
        constructor(e) {
          super(e), (this._groups = new Map());
        }
        destroy() {
          this.removeAll();
        }
        get size() {
          let e = 0;
          return (
            this._groups.forEach((t) => {
              e += t.length;
            }),
            e
          );
        }
        add(e, t) {
          if (!this._isHandle(e) && !Array.isArray(e) && !n.Z.isCollection(e)) return this;
          const r = this._getOrCreateGroup(t);
          return (
            Array.isArray(e) || n.Z.isCollection(e)
              ? e.forEach((e) => this._isHandle(e) && r.push(e))
              : r.push(e),
            this.notifyChange('size'),
            this
          );
        }
        forEach(e, t) {
          if ('function' == typeof e) this._groups.forEach((t) => t.forEach(e));
          else {
            const r = this._getGroup(e);
            r && t && r.forEach(t);
          }
        }
        has(e) {
          return this._groups.has(this._ensureGroupKey(e));
        }
        remove(e) {
          if (Array.isArray(e) || n.Z.isCollection(e)) return e.forEach(this.remove, this), this;
          if (!this.has(e)) return this;
          const t = this._getGroup(e);
          for (let e = 0; e < t.length; e++) t[e].remove();
          return this._deleteGroup(e), this.notifyChange('size'), this;
        }
        removeAll() {
          return (
            this._groups.forEach((e) => {
              for (let t = 0; t < e.length; t++) e[t].remove();
            }),
            this._groups.clear(),
            this.notifyChange('size'),
            this
          );
        }
        _isHandle(e) {
          return e && !!e.remove;
        }
        _getOrCreateGroup(e) {
          if (this.has(e)) return this._getGroup(e);
          const t = [];
          return this._groups.set(this._ensureGroupKey(e), t), t;
        }
        _getGroup(e) {
          return (0, o.a)(this._groups.get(this._ensureGroupKey(e)));
        }
        _deleteGroup(e) {
          return this._groups.delete(this._ensureGroupKey(e));
        }
        _ensureGroupKey(e) {
          return e || '_default_';
        }
      };
      (0, i._)([(0, l.Cb)({ readOnly: !0 })], u.prototype, 'size', null),
        (u = (0, i._)([(0, a.j)('esri.core.Handles')], u));
      const c = u;
    },
    617: (e, t, r) => {
      'use strict';
      r.d(t, {
        S1: () => c,
        on: () => f,
        OY: () => y,
        cm: () => d,
        N1: () => p,
        LR: () => h,
        tH: () => s,
      });
      var i = r(50406);
      function s(e, t, r, s, n) {
        const o = 'function' == typeof s ? s : null,
          l = 'object' == typeof s ? s : null;
        'boolean' == typeof s && (n = s);
        let a,
          u = !1;
        function c() {
          a && (a.remove(), (a = null));
        }
        const p = (0, i.dD)();
        (0, i.fu)(l, () => {
          c(), p.reject((0, i.zE)());
        });
        const d = {
          then: p.promise.then.bind(p.promise),
          catch: p.promise.catch.bind(p.promise),
          remove: c,
        };
        return (
          Object.freeze(d),
          (a = (function (e, t, r, i, s) {
            const n = e.watch(
              t,
              (t, s, n, o) => {
                (r && !r(t)) || null == i || i.call(e, t, s, n, o);
              },
              s,
            );
            if (Array.isArray(t))
              for (const s of t) {
                const n = e.get(s);
                r && r(n) && (null == i || i.call(e, n, n, t, e));
              }
            else {
              const s = e.get(t);
              r && r(s) && (null == i || i.call(e, s, s, t, e));
            }
            return n;
          })(
            e,
            t,
            r,
            (t, r, i, s) => {
              (u = !0),
                c(),
                o && o.call(e, t, r, i, s),
                p.resolve({ value: t, oldValue: r, propertyName: i, target: s });
            },
            n,
          )),
          u && c(),
          d
        );
      }
      function n(e) {
        return !!e;
      }
      function o(e) {
        return !e;
      }
      function l(e) {
        return !0 === e;
      }
      function a(e) {
        return !1 === e;
      }
      r(76506), r(60991), r(92143), r(31450), r(71552), r(40642), r(81172);
      const u = /\?(\.|$)/g;
      function c(e, t, r, i) {
        const s = Array.isArray(t) ? t : t.indexOf(',') > -1 ? t.split(',') : [t],
          n = (function (e, t, r, i) {
            return e.watch(t, r, i);
          })(e, t, r, i);
        for (const t of s) {
          const i = t.trim().replace(u, '$1'),
            s = e.get(i);
          r.call(e, s, s, i, e);
        }
        return n;
      }
      function p(e, t, r, i) {
        return s(e, t, n, r, i);
      }
      function d(e, t, r, i) {
        return s(e, t, o, r, i);
      }
      function h(e, t, r, i) {
        return s(e, t, l, r, i);
      }
      function y(e, t, r, i) {
        return s(e, t, a, r, i);
      }
      function f(e, t, r, s, n, o, l) {
        const a = {};
        function u(t) {
          const i = a[t];
          i && (o && o(i.target, t, e, r), i.handle.remove(), delete a[t]);
        }
        const p = c(
          e,
          t,
          (t, o, l) => {
            u(l),
              (0, i.i)(t) &&
                ((a[l] = { handle: (0, i.o)(t, r, s), target: t }), n && n(t, l, e, r));
          },
          l,
        );
        return {
          remove() {
            p.remove();
            for (const e in a) u(e);
          },
        };
      }
    },
    21903: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => J });
      var i = r(29768),
        s = (r(74569), r(15324)),
        n = r(22203),
        o = r(76506),
        l = r(54179),
        a = r(50406),
        u = r(32101),
        c = r(34250),
        p = r(91306),
        d = (r(92143), r(97714)),
        h = r(17533),
        y = r(2906),
        f = r(60947),
        m = r(41617),
        g = r(11118),
        b = r(89440),
        v = r(62162),
        _ = r(16647),
        w = r(58912),
        x = r(43022),
        C = r(76996),
        S = r(74673),
        T = r(22739),
        F = r(40642),
        I = r(617),
        E = r(86787),
        V = r(31450),
        O = r(88762),
        M = (r(86748), r(82058)),
        D = r(53326),
        P = r(98380);
      r(20208), r(87258);
      const N = {
        esriGeometryPoint: 'points',
        esriGeometryPolyline: 'polylines',
        esriGeometryPolygon: 'polygons',
      };
      function k(e) {
        const t = e.folders || [],
          r = t.slice(),
          i = new Map(),
          s = new Map(),
          n = new Map(),
          l = new Map(),
          a = new Map(),
          u = { esriGeometryPoint: s, esriGeometryPolyline: n, esriGeometryPolygon: l };
        ((e.featureCollection && e.featureCollection.layers) || []).forEach((e) => {
          const t = (0, o.d9)(e);
          t.featureSet.features = [];
          const r = e.featureSet.geometryType;
          i.set(r, t);
          const a = e.layerDefinition.objectIdField;
          'esriGeometryPoint' === r
            ? L(s, a, e.featureSet.features)
            : 'esriGeometryPolyline' === r
            ? L(n, a, e.featureSet.features)
            : 'esriGeometryPolygon' === r && L(l, a, e.featureSet.features);
        }),
          e.groundOverlays &&
            e.groundOverlays.forEach((e) => {
              a.set(e.id, e);
            }),
          t.forEach((t) => {
            t.networkLinkIds.forEach((i) => {
              const s = (function (e, t, r) {
                const i = (function (e, t) {
                  let r;
                  return t.some((t) => t.id === e && ((r = t), !0)), r;
                })(e, r);
                return i && ((i.parentFolderId = t), (i.networkLink = i)), i;
              })(i, t.id, e.networkLinks);
              s && r.push(s);
            });
          }),
          r.forEach((e) => {
            e.featureInfos &&
              ((e.points = (0, o.d9)(i.get('esriGeometryPoint'))),
              (e.polylines = (0, o.d9)(i.get('esriGeometryPolyline'))),
              (e.polygons = (0, o.d9)(i.get('esriGeometryPolygon'))),
              (e.mapImages = []),
              e.featureInfos.map((t) => {
                switch (t.type) {
                  case 'esriGeometryPoint':
                  case 'esriGeometryPolyline':
                  case 'esriGeometryPolygon': {
                    const r = u[t.type].get(t.id);
                    r && e[N[t.type]].featureSet.features.push(r);
                    break;
                  }
                  case 'GroundOverlay': {
                    const r = a.get(t.id);
                    r && e.mapImages.push(r);
                    break;
                  }
                }
              }),
              (e.fullExtent = G([e])));
          });
        const c = G(r);
        return { folders: t, sublayers: r, extent: c };
      }
      function j(e, t, r, i) {
        const s = O.id && O.id.findCredential(e);
        e = (0, u.fl)(e, { token: s && s.token });
        const n = V.Z.kmlServiceUrl;
        return (0, M.default)(n, {
          query: {
            url: e,
            model: 'simple',
            folders: '',
            refresh: 0 !== r || void 0,
            outSR: JSON.stringify(t),
          },
          responseType: 'json',
          signal: i,
        });
      }
      function z(e, t, r = null, i = []) {
        const s = [],
          n = {},
          o = t.sublayers,
          l = t.folders.map((e) => e.id);
        return (
          o.forEach((t) => {
            const o = new e();
            if (
              (r ? o.read(t, r) : o.read(t),
              i.length && l.indexOf(o.id) > -1 && (o.visible = -1 !== i.indexOf(o.id)),
              (n[t.id] = o),
              null != t.parentFolderId && -1 !== t.parentFolderId)
            ) {
              const e = n[t.parentFolderId];
              e.sublayers || (e.sublayers = []), e.sublayers.unshift(o);
            } else s.unshift(o);
          }),
          s
        );
      }
      function L(e, t, r) {
        r.forEach((r) => {
          e.set(r.attributes[t], r);
        });
      }
      function G(e) {
        const t = (0, D.c)(),
          r = (0, D.c)(D.N);
        for (const i of e) {
          if (i.polygons && i.polygons.featureSet && i.polygons.featureSet.features)
            for (const e of i.polygons.featureSet.features) (0, P.b)(t, e.geometry), (0, D.d)(r, t);
          if (i.polylines && i.polylines.featureSet && i.polylines.featureSet.features)
            for (const e of i.polylines.featureSet.features)
              (0, P.b)(t, e.geometry), (0, D.d)(r, t);
          if (i.points && i.points.featureSet && i.points.featureSet.features)
            for (const e of i.points.featureSet.features) (0, P.b)(t, e.geometry), (0, D.d)(r, t);
          if (i.mapImages) for (const e of i.mapImages) (0, P.b)(t, e.extent), (0, D.d)(r, t);
        }
        return (0, D.g)(r, D.N)
          ? null
          : {
              xmin: r[0],
              ymin: r[1],
              zmin: r[2],
              xmax: r[3],
              ymax: r[4],
              zmax: r[5],
              spatialReference: f.Z.WGS84,
            };
      }
      var A,
        R = r(21801);
      r(73796),
        r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(60991),
        r(81172),
        r(26341),
        r(84069),
        r(91597),
        r(35132),
        r(89623),
        r(44567),
        r(92896),
        r(22781),
        r(57251),
        r(32422),
        r(20543),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(92482),
        r(55306),
        r(96467),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(73173),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(65684),
        r(12158),
        r(74864),
        r(63683),
        r(94479),
        r(45702),
        r(51127),
        r(74071),
        r(51723),
        r(23243),
        r(51669),
        r(6090),
        r(3977),
        r(36741),
        r(11253),
        r(90319),
        r(38822),
        r(74057),
        r(23761),
        r(48190),
        r(85557),
        r(53785),
        r(95587),
        r(94070),
        r(16218),
        r(9075),
        r(67541),
        r(71206),
        r(89241),
        r(91700),
        r(51979),
        r(32037),
        r(60698),
        r(90811),
        r(86758),
        r(95310),
        r(93939),
        r(238),
        r(71831),
        r(49500),
        r(97546),
        r(54732);
      let Z = (A = class extends C.E.EventedMixin((0, S.J)(T.L)) {
        constructor() {
          super(...arguments),
            (this._sublayersHandles = null),
            (this.description = null),
            (this.id = null),
            (this.networkLink = null),
            (this.title = null),
            (this.sourceJSON = null),
            (this.fullExtent = null);
        }
        initialize() {
          (0, I.N1)(this, 'networkLink')
            .then(() => (0, I.LR)(this, 'visible'))
            .then(() => this.load());
        }
        load(e) {
          if (!this.networkLink) return;
          if (this.networkLink.viewFormat) return;
          const t = (0, o.i)(e) ? e.signal : null,
            r = this._fetchService(this._get('networkLink').href, t).then((e) => {
              const t = G(e.sublayers);
              (this.fullExtent = R.Z.fromJSON(t)), (this.sourceJSON = e);
              const r = (0, p.e)(s.Z.ofType(A), z(A, e));
              this.sublayers ? this.sublayers.addMany(r) : (this.sublayers = r),
                this.layer.emit('sublayer-update'),
                this.layer && this.layer.notifyChange('visibleSublayers');
            });
          return this.addResolvingPromise(r), Promise.resolve(this);
        }
        set sublayers(e) {
          const t = this._get('sublayers');
          t &&
            (t.forEach((e) => {
              (e.parent = null), (e.layer = null);
            }),
            this._sublayersHandles.forEach((e) => e.remove()),
            (this._sublayersHandles = null)),
            e &&
              (e.forEach((e) => {
                (e.parent = this), (e.layer = this.layer);
              }),
              (this._sublayersHandles = [
                e.on('after-add', ({ item: e }) => {
                  (e.parent = this), (e.layer = this.layer);
                }),
                e.on('after-remove', ({ item: e }) => {
                  (e.parent = null), (e.layer = null);
                }),
              ])),
            this._set('sublayers', e);
        }
        castSublayers(e) {
          return (0, p.e)(s.Z.ofType(A), e);
        }
        get visible() {
          return this._get('visible');
        }
        set visible(e) {
          this._get('visible') !== e &&
            (this._set('visible', e), this.layer && this.layer.notifyChange('visibleSublayers'));
        }
        readVisible(e, t) {
          return !!t.visibility;
        }
        set layer(e) {
          this._set('layer', e), this.sublayers && this.sublayers.forEach((t) => (t.layer = e));
        }
        _fetchService(e, t) {
          return j(e, this.layer.outSpatialReference, this.layer.refreshInterval, t).then((e) =>
            k(e.data),
          );
        }
      });
      (0, i._)([(0, c.Cb)()], Z.prototype, 'description', void 0),
        (0, i._)([(0, c.Cb)()], Z.prototype, 'id', void 0),
        (0, i._)([(0, c.Cb)({ readOnly: !0, value: null })], Z.prototype, 'networkLink', void 0),
        (0, i._)(
          [(0, c.Cb)({ json: { write: { allowNull: !0 } } })],
          Z.prototype,
          'parent',
          void 0,
        ),
        (0, i._)(
          [(0, c.Cb)({ value: null, json: { write: { allowNull: !0 } } })],
          Z.prototype,
          'sublayers',
          null,
        ),
        (0, i._)([(0, E.p)('sublayers')], Z.prototype, 'castSublayers', null),
        (0, i._)(
          [
            (0, c.Cb)({
              value: null,
              json: { read: { source: 'name', reader: (e) => (0, F.s)(e) } },
            }),
          ],
          Z.prototype,
          'title',
          void 0,
        ),
        (0, i._)([(0, c.Cb)({ value: !0 })], Z.prototype, 'visible', null),
        (0, i._)([(0, d.r)('visible', ['visibility'])], Z.prototype, 'readVisible', null),
        (0, i._)([(0, c.Cb)()], Z.prototype, 'sourceJSON', void 0),
        (0, i._)([(0, c.Cb)({ value: null })], Z.prototype, 'layer', null),
        (0, i._)([(0, c.Cb)({ type: R.Z })], Z.prototype, 'fullExtent', void 0),
        (Z = A = (0, i._)([(0, h.j)('esri.layers.support.KMLSublayer')], Z));
      const U = Z;
      r(95873),
        r(82933),
        r(50161),
        r(41864),
        r(56420),
        r(74742),
        r(28239),
        r(93314),
        r(35197),
        r(47842),
        r(17298);
      const H = ['kml', 'xml'];
      let q = class extends (0, g.B)((0, _.R)((0, w.S)((0, b.O)((0, v.P)((0, l.M)(m.Z)))))) {
        constructor(...e) {
          super(...e),
            (this._visibleFolders = []),
            (this.allSublayers = new n.C({
              getCollections: () => [this.sublayers],
              getChildrenFunction: (e) => e.sublayers,
            })),
            (this.outSpatialReference = f.Z.WGS84),
            (this.path = null),
            (this.legendEnabled = !1),
            (this.operationalLayerType = 'KML'),
            (this.sublayers = null),
            (this.type = 'kml'),
            (this.url = null);
        }
        initialize() {
          this.watch(
            'sublayers',
            (e, t) => {
              t &&
                t.forEach((e) => {
                  (e.parent = null), (e.layer = null);
                }),
                e &&
                  e.forEach((e) => {
                    (e.parent = this), (e.layer = this);
                  });
            },
            !0,
          ),
            this.on('sublayer-update', () => this.notifyChange('fullExtent'));
        }
        normalizeCtorArgs(e, t) {
          return 'string' == typeof e ? { url: e, ...t } : e;
        }
        readSublayersFromItemOrWebMap(e, t) {
          this._visibleFolders = t.visibleFolders;
        }
        readSublayers(e, t, r) {
          return z(U, t, r, this._visibleFolders);
        }
        writeSublayers(e, t) {
          const r = [],
            i = e.toArray();
          for (; i.length; ) {
            const e = i[0];
            e.networkLink ||
              (e.visible && r.push(e.id), e.sublayers && i.push(...e.sublayers.toArray())),
              i.shift();
          }
          t.visibleFolders = r;
        }
        get title() {
          const e = this._get('title');
          return e && 'defaults' !== this.originOf('title')
            ? e
            : this.url
            ? (0, u.vt)(this.url, H) || 'KML'
            : e || '';
        }
        set title(e) {
          this._set('title', e);
        }
        get visibleSublayers() {
          const e = this.sublayers,
            t = [],
            r = (e) => {
              e.visible && (t.push(e), e.sublayers && e.sublayers.forEach(r));
            };
          return e && e.forEach(r), t;
        }
        get fullExtent() {
          return this._recomputeFullExtent();
        }
        load(e) {
          const t = (0, o.i)(e) ? e.signal : null;
          return (
            this.addResolvingPromise(
              this.loadFromPortal({ supportedTypes: ['KML'] }, e)
                .catch(a.r9)
                .then(() => this._fetchService(t)),
            ),
            Promise.resolve(this)
          );
        }
        destroy() {
          super.destroy(), this.allSublayers.destroy();
        }
        async _fetchService(e) {
          const t = k(
            (
              await Promise.resolve().then(() =>
                this.resourceInfo
                  ? { ssl: !1, data: this.resourceInfo }
                  : j(this.url, this.outSpatialReference, this.refreshInterval, e),
              )
            ).data,
          );
          t && this.read(t, { origin: 'service' });
        }
        _recomputeFullExtent() {
          let e = null;
          this.extent && (e = this.extent.clone());
          const t = (r) => {
            if (r.sublayers)
              for (const i of r.sublayers.items)
                t(i),
                  i.visible &&
                    i.fullExtent &&
                    (e ? e.union(i.fullExtent) : (e = i.fullExtent.clone()));
          };
          return t(this), e;
        }
      };
      (0, i._)([(0, c.Cb)({ readOnly: !0 })], q.prototype, 'allSublayers', void 0),
        (0, i._)([(0, c.Cb)({ type: f.Z })], q.prototype, 'outSpatialReference', void 0),
        (0, i._)(
          [
            (0, c.Cb)({
              type: String,
              json: { origins: { 'web-scene': { read: !0, write: !0 } }, read: !1 },
            }),
          ],
          q.prototype,
          'path',
          void 0,
        ),
        (0, i._)(
          [(0, c.Cb)({ readOnly: !0, json: { read: !1, write: !1 } })],
          q.prototype,
          'legendEnabled',
          void 0,
        ),
        (0, i._)(
          [(0, c.Cb)({ type: ['show', 'hide', 'hide-children'] })],
          q.prototype,
          'listMode',
          void 0,
        ),
        (0, i._)([(0, c.Cb)({ type: ['KML'] })], q.prototype, 'operationalLayerType', void 0),
        (0, i._)([(0, c.Cb)({})], q.prototype, 'resourceInfo', void 0),
        (0, i._)(
          [(0, c.Cb)({ type: s.Z.ofType(U), json: { write: { ignoreOrigin: !0 } } })],
          q.prototype,
          'sublayers',
          void 0,
        ),
        (0, i._)(
          [(0, d.r)(['web-map', 'portal-item'], 'sublayers', ['visibleFolders'])],
          q.prototype,
          'readSublayersFromItemOrWebMap',
          null,
        ),
        (0, i._)(
          [(0, d.r)('service', 'sublayers', ['sublayers'])],
          q.prototype,
          'readSublayers',
          null,
        ),
        (0, i._)([(0, y.w)('sublayers')], q.prototype, 'writeSublayers', null),
        (0, i._)([(0, c.Cb)({ readOnly: !0, json: { read: !1 } })], q.prototype, 'type', void 0),
        (0, i._)(
          [
            (0, c.Cb)({
              json: {
                origins: { 'web-map': { read: { source: 'title' } } },
                write: { ignoreOrigin: !0 },
              },
            }),
          ],
          q.prototype,
          'title',
          null,
        ),
        (0, i._)([(0, c.Cb)(x.u)], q.prototype, 'url', void 0),
        (0, i._)([(0, c.Cb)({ readOnly: !0 })], q.prototype, 'visibleSublayers', null),
        (0, i._)([(0, c.Cb)({ type: R.Z })], q.prototype, 'extent', void 0),
        (0, i._)([(0, c.Cb)()], q.prototype, 'fullExtent', null),
        (q = (0, i._)([(0, h.j)('esri.layers.KMLLayer')], q));
      const J = q;
    },
    97546: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => m });
      var i,
        s = r(29768),
        n = r(57251),
        o = r(74673),
        l = r(34250),
        a = (r(76506), r(91306)),
        u = (r(92143), r(59465)),
        c = r(97714),
        p = r(17533),
        d = r(9801),
        h = r(54732);
      r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(40642),
        r(26341),
        r(53523),
        r(42911),
        r(46826),
        r(45433);
      const y = new n.J({
        binary: 'binary',
        coordinate: 'coordinate',
        countOrAmount: 'count-or-amount',
        dateAndTime: 'date-and-time',
        description: 'description',
        locationOrPlaceName: 'location-or-place-name',
        measurement: 'measurement',
        nameOrTitle: 'name-or-title',
        none: 'none',
        orderedOrRanked: 'ordered-or-ranked',
        percentageOrRatio: 'percentage-or-ratio',
        typeOrCategory: 'type-or-category',
        uniqueIdentifier: 'unique-identifier',
      });
      let f = (i = class extends o.a {
        constructor(e) {
          super(e),
            (this.alias = null),
            (this.defaultValue = void 0),
            (this.description = null),
            (this.domain = null),
            (this.editable = !0),
            (this.length = -1),
            (this.name = null),
            (this.nullable = !0),
            (this.type = null),
            (this.valueType = null);
        }
        readDescription(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? r.value : null;
        }
        readValueType(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? y.fromJSON(r.fieldValueType) : null;
        }
        clone() {
          return new i({
            alias: this.alias,
            defaultValue: this.defaultValue,
            description: this.description,
            domain: (this.domain && this.domain.clone()) || null,
            editable: this.editable,
            length: this.length,
            name: this.name,
            nullable: this.nullable,
            type: this.type,
            valueType: this.valueType,
          });
        }
      });
      (0, s._)([(0, l.Cb)({ type: String, json: { write: !0 } })], f.prototype, 'alias', void 0),
        (0, s._)(
          [(0, l.Cb)({ type: [String, Number], json: { write: { allowNull: !0 } } })],
          f.prototype,
          'defaultValue',
          void 0,
        ),
        (0, s._)([(0, l.Cb)()], f.prototype, 'description', void 0),
        (0, s._)([(0, c.r)('description')], f.prototype, 'readDescription', null),
        (0, s._)(
          [(0, l.Cb)({ types: d.t, json: { read: { reader: d.f }, write: !0 } })],
          f.prototype,
          'domain',
          void 0,
        ),
        (0, s._)(
          [(0, l.Cb)({ type: Boolean, json: { write: !0 } })],
          f.prototype,
          'editable',
          void 0,
        ),
        (0, s._)([(0, l.Cb)({ type: a.I, json: { write: !0 } })], f.prototype, 'length', void 0),
        (0, s._)([(0, l.Cb)({ type: String, json: { write: !0 } })], f.prototype, 'name', void 0),
        (0, s._)(
          [(0, l.Cb)({ type: Boolean, json: { write: !0 } })],
          f.prototype,
          'nullable',
          void 0,
        ),
        (0, s._)([(0, u.e)(h.k)], f.prototype, 'type', void 0),
        (0, s._)([(0, l.Cb)()], f.prototype, 'valueType', void 0),
        (0, s._)([(0, c.r)('valueType', ['description'])], f.prototype, 'readValueType', null),
        (f = i = (0, s._)([(0, p.j)('esri.layers.support.Field')], f));
      const m = f;
    },
    87258: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => b });
      var i = r(29768),
        s = r(74569),
        n = r(23761),
        o = r(57251),
        l = r(74673),
        a = r(76506),
        u = r(34250),
        c = (r(91306), r(92143), r(97714)),
        p = r(17533),
        d = r(2906),
        h = r(60947),
        y = r(32422),
        f = r(97546);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(54732);
      const m = new o.J({
        esriGeometryPoint: 'point',
        esriGeometryMultipoint: 'multipoint',
        esriGeometryPolyline: 'polyline',
        esriGeometryPolygon: 'polygon',
        esriGeometryEnvelope: 'extent',
        mesh: 'mesh',
        '': null,
      });
      let g = class extends l.a {
        constructor(e) {
          super(e),
            (this.displayFieldName = null),
            (this.exceededTransferLimit = !1),
            (this.features = []),
            (this.fields = null),
            (this.geometryType = null),
            (this.hasM = !1),
            (this.hasZ = !1),
            (this.queryGeometry = null),
            (this.spatialReference = null);
        }
        readFeatures(e, t) {
          const r = h.Z.fromJSON(t.spatialReference),
            i = [];
          for (let t = 0; t < e.length; t++) {
            const s = e[t],
              o = n.Z.fromJSON(s),
              l = s.geometry && s.geometry.spatialReference;
            (0, a.i)(o.geometry) && !l && (o.geometry.spatialReference = r), i.push(o);
          }
          return i;
        }
        writeGeometryType(e, t, r, i) {
          if (e) return void m.write(e, t, r, i);
          const { features: s } = this;
          if (s)
            for (const e of s)
              if (e && (0, a.i)(e.geometry)) return void m.write(e.geometry.type, t, r, i);
        }
        readQueryGeometry(e, t) {
          if (!e) return null;
          const r = !!e.spatialReference,
            i = (0, y.im)(e);
          return (
            !r && t.spatialReference && (i.spatialReference = h.Z.fromJSON(t.spatialReference)), i
          );
        }
        writeSpatialReference(e, t) {
          if (e) return void (t.spatialReference = e.toJSON());
          const { features: r } = this;
          if (r)
            for (const e of r)
              if (e && (0, a.i)(e.geometry) && e.geometry.spatialReference)
                return void (t.spatialReference = e.geometry.spatialReference.toJSON());
        }
        toJSON(e) {
          const t = this.write(null);
          if (t.features && Array.isArray(e) && e.length > 0)
            for (let r = 0; r < t.features.length; r++) {
              const i = t.features[r];
              if (i.geometry) {
                const t = e && e[r];
                i.geometry = (t && t.toJSON()) || i.geometry;
              }
            }
          return t;
        }
        quantize(e) {
          const {
              scale: [t, r],
              translate: [i, s],
            } = e,
            n = this.features,
            o = this._getQuantizationFunction(
              this.geometryType,
              (e) => Math.round((e - i) / t),
              (e) => Math.round((s - e) / r),
            );
          for (let e = 0, t = n.length; e < t; e++)
            o((0, a.u)(n[e].geometry)) || (n.splice(e, 1), e--, t--);
          return (this.transform = e), this;
        }
        unquantize() {
          const { geometryType: e, features: t, transform: r } = this;
          if (!r) return this;
          const {
              translate: [i, s],
              scale: [n, o],
            } = r,
            l = this._getHydrationFunction(
              e,
              (e) => e * n + i,
              (e) => s - e * o,
            );
          for (const { geometry: e } of t) (0, a.i)(e) && l(e);
          return (this.transform = null), this;
        }
        _quantizePoints(e, t, r) {
          let i, s;
          const n = [];
          for (let o = 0, l = e.length; o < l; o++) {
            const l = e[o];
            if (o > 0) {
              const e = t(l[0]),
                o = r(l[1]);
              (e === i && o === s) || (n.push([e - i, o - s]), (i = e), (s = o));
            } else (i = t(l[0])), (s = r(l[1])), n.push([i, s]);
          }
          return n.length > 0 ? n : null;
        }
        _getQuantizationFunction(e, t, r) {
          return 'point' === e
            ? (e) => ((e.x = t(e.x)), (e.y = r(e.y)), e)
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const i = (0, y.oU)(e) ? e.rings : e.paths,
                  s = [];
                for (let e = 0, n = i.length; e < n; e++) {
                  const n = i[e],
                    o = this._quantizePoints(n, t, r);
                  o && s.push(o);
                }
                return s.length > 0 ? ((0, y.oU)(e) ? (e.rings = s) : (e.paths = s), e) : null;
              }
            : 'multipoint' === e
            ? (e) => {
                const i = this._quantizePoints(e.points, t, r);
                return i.length > 0 ? ((e.points = i), e) : null;
              }
            : 'extent' === e
            ? (e) => e
            : null;
        }
        _getHydrationFunction(e, t, r) {
          return 'point' === e
            ? (e) => {
                (e.x = t(e.x)), (e.y = r(e.y));
              }
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const i = (0, y.oU)(e) ? e.rings : e.paths;
                let s, n;
                for (let e = 0, o = i.length; e < o; e++) {
                  const o = i[e];
                  for (let e = 0, i = o.length; e < i; e++) {
                    const i = o[e];
                    e > 0 ? ((s += i[0]), (n += i[1])) : ((s = i[0]), (n = i[1])),
                      (i[0] = t(s)),
                      (i[1] = r(n));
                  }
                }
              }
            : 'extent' === e
            ? (e) => {
                (e.xmin = t(e.xmin)),
                  (e.ymin = r(e.ymin)),
                  (e.xmax = t(e.xmax)),
                  (e.ymax = r(e.ymax));
              }
            : 'multipoint' === e
            ? (e) => {
                const i = e.points;
                let s, n;
                for (let e = 0, o = i.length; e < o; e++) {
                  const o = i[e];
                  e > 0 ? ((s += o[0]), (n += o[1])) : ((s = o[0]), (n = o[1])),
                    (o[0] = t(s)),
                    (o[1] = r(n));
                }
              }
            : void 0;
        }
      };
      (0, i._)(
        [(0, u.Cb)({ type: String, json: { write: !0 } })],
        g.prototype,
        'displayFieldName',
        void 0,
      ),
        (0, i._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'exceededTransferLimit',
          void 0,
        ),
        (0, i._)(
          [(0, u.Cb)({ type: [n.Z], json: { write: !0 } })],
          g.prototype,
          'features',
          void 0,
        ),
        (0, i._)([(0, c.r)('features')], g.prototype, 'readFeatures', null),
        (0, i._)([(0, u.Cb)({ type: [f.Z], json: { write: !0 } })], g.prototype, 'fields', void 0),
        (0, i._)(
          [
            (0, u.Cb)({
              type: ['point', 'multipoint', 'polyline', 'polygon', 'extent', 'mesh'],
              json: { read: { reader: m.read } },
            }),
          ],
          g.prototype,
          'geometryType',
          void 0,
        ),
        (0, i._)([(0, d.w)('geometryType')], g.prototype, 'writeGeometryType', null),
        (0, i._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasM',
          void 0,
        ),
        (0, i._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasZ',
          void 0,
        ),
        (0, i._)(
          [(0, u.Cb)({ types: s.qM, json: { write: !0 } })],
          g.prototype,
          'queryGeometry',
          void 0,
        ),
        (0, i._)([(0, c.r)('queryGeometry')], g.prototype, 'readQueryGeometry', null),
        (0, i._)(
          [(0, u.Cb)({ type: h.Z, json: { write: !0 } })],
          g.prototype,
          'spatialReference',
          void 0,
        ),
        (0, i._)([(0, d.w)('spatialReference')], g.prototype, 'writeSpatialReference', null),
        (0, i._)([(0, u.Cb)({ json: { write: !0 } })], g.prototype, 'transform', void 0),
        (g = (0, i._)([(0, p.j)('esri.rest.support.FeatureSet')], g)),
        (g.prototype.toJSON.isDefaultToJSON = !0),
        g || (g = {});
      const b = g;
    },
  },
]);
