import { n as n4 } from "./chunk-IBW3BDK4.js"; import { ae } from "./chunk-OBOLLK7J.js"; import "./chunk-CR67YDNV.js"; import { a as a3, s as s3 } from "./chunk-RZPC4VQ3.js"; import "./chunk-3XO4E4TL.js"; import "./chunk-6G6XHVK2.js"; import { d as d3, s as s4 } from "./chunk-FJ72FJKM.js"; import "./chunk-3RTOMVBL.js"; import "./chunk-YR7YKE3S.js"; import "./chunk-GSORSXL5.js"; import { S } from "./chunk-GONLHNIL.js"; import { t as t4 } from "./chunk-JFHGSU33.js"; import "./chunk-TWB5CT7V.js"; import "./chunk-H3QCF24A.js"; import { i as i4 } from "./chunk-EAUVYZHD.js"; import { f, u } from "./chunk-MNZXIBJ7.js"; import "./chunk-YJKEIUMW.js"; import "./chunk-JH3PLIM6.js"; import "./chunk-UFOCENZS.js"; import "./chunk-FCDUTNBY.js"; import "./chunk-GZJP6H3U.js"; import "./chunk-PS4B3D6M.js"; import "./chunk-DO6JJUZG.js"; import "./chunk-54X4RLMR.js"; import "./chunk-MWIFVNKP.js"; import "./chunk-MIWGTTJJ.js"; import "./chunk-LL6JU3GU.js"; import "./chunk-LSDW2622.js"; import "./chunk-ZIWBDWEW.js"; import "./chunk-IQNZZCQJ.js"; import "./chunk-B2HJOMLZ.js"; import "./chunk-II7RCTF3.js"; import "./chunk-VS4BIQ2O.js"; import "./chunk-HWIURR7X.js"; import "./chunk-Q4LKAPDF.js"; import "./chunk-TODU7HVH.js"; import "./chunk-23ONSYIH.js"; import "./chunk-P2L4QEOI.js"; import "./chunk-3T4BXU2T.js"; import "./chunk-SRMDO2KR.js"; import "./chunk-PZKZIMMP.js"; import "./chunk-YLVXZ2PS.js"; import "./chunk-EE6TL7XD.js"; import "./chunk-GDB2KX4Y.js"; import "./chunk-546QCRS4.js"; import "./chunk-QXZVBSBH.js"; import "./chunk-T4GXZJ3D.js"; import "./chunk-773XI6MQ.js"; import "./chunk-ILP23N26.js"; import "./chunk-5NM43FFO.js"; import "./chunk-WFSV2B2I.js"; import "./chunk-M5BTTMP6.js"; import "./chunk-XZA4MVET.js"; import "./chunk-J525NRN3.js"; import "./chunk-MI7HWWFL.js"; import { c } from "./chunk-TD4DLRQ7.js"; import { n as n3 } from "./chunk-AMQJEM7V.js"; import { i as i2, r as r3 } from "./chunk-56H3JM63.js"; import "./chunk-Q34L5KZA.js"; import "./chunk-ZHRMTKME.js"; import "./chunk-ZVHTCCQC.js"; import "./chunk-PCGDLSZ4.js"; import "./chunk-CAYFEZCR.js"; import "./chunk-MFFE4I2S.js"; import "./chunk-XBH7TGC2.js"; import "./chunk-K3NA3LQS.js"; import "./chunk-LMCIAW5S.js"; import "./chunk-OTS3UE5B.js"; import "./chunk-6RAL4JPQ.js"; import "./chunk-VAY3LZG7.js"; import "./chunk-4E6K4P67.js"; import { c as c2 } from "./chunk-LE3RIDC7.js"; import "./chunk-TRK7CKWP.js"; import "./chunk-LGW7TID4.js"; import { e as e2, n as n2, o as o2 } from "./chunk-YASLQAXE.js"; import "./chunk-3OHML7FO.js"; import "./chunk-G5AI6ZNE.js"; import "./chunk-H6ETEALK.js"; import "./chunk-FIYKFRB2.js"; import { L } from "./chunk-P4UZNLD5.js"; import "./chunk-FYNVVMWY.js"; import "./chunk-Q52DVFYK.js"; import "./chunk-HBMVUVZX.js"; import "./chunk-CRGVDJI6.js"; import "./chunk-QOV6ITMI.js"; import "./chunk-DH2OBAUC.js"; import "./chunk-TNLRDNTC.js"; import "./chunk-6P6NA7JB.js"; import { i as i3 } from "./chunk-MD4XYAEQ.js"; import { t as t3 } from "./chunk-S7R5EXHN.js"; import "./chunk-QTOOFNRV.js"; import "./chunk-6EU7GFUT.js"; import "./chunk-HZJYXMI6.js"; import "./chunk-UPD4MTCL.js"; import "./chunk-GRBROWI6.js"; import "./chunk-5NKYXKIA.js"; import "./chunk-FTI5VP6T.js"; import { g as g3 } from "./chunk-RZFGRBD7.js"; import "./chunk-PUSPZYFZ.js"; import "./chunk-EN7YGJWG.js"; import "./chunk-VBNMTM7L.js"; import "./chunk-3D3QEPRE.js"; import "./chunk-JFNNSBWL.js"; import "./chunk-LY74KTXV.js"; import "./chunk-EWE6EXPY.js"; import "./chunk-KUXNUNAI.js"; import "./chunk-KMAHKQ2G.js"; import "./chunk-522WBHUO.js"; import "./chunk-WNCU6BFU.js"; import "./chunk-PIGRDDRG.js"; import "./chunk-XLV7RUSE.js"; import "./chunk-NTUXR253.js"; import "./chunk-C43UE3Z5.js"; import "./chunk-H2KDMZTR.js"; import "./chunk-RMX2AZ4P.js"; import "./chunk-NE3ESGA6.js"; import { l as l2 } from "./chunk-YIS6BAC3.js"; import "./chunk-7XXXCK2A.js"; import "./chunk-7ZIDBK7B.js"; import { g as g2 } from "./chunk-PSV473TI.js"; import "./chunk-FONIFA5N.js"; import { y } from "./chunk-EG5OI4V4.js"; import "./chunk-65BYCSII.js"; import "./chunk-WZQZRKNH.js"; import { a as a2 } from "./chunk-LRDX4TO7.js"; import "./chunk-6A4U74YA.js"; import "./chunk-RBZL6SRZ.js"; import "./chunk-WJW5DUN6.js"; import "./chunk-PJ7ZQ4VD.js"; import "./chunk-WDLTDV2L.js"; import "./chunk-TERAW6FT.js"; import "./chunk-N2663GRX.js"; import "./chunk-O4FY3ITT.js"; import "./chunk-WEMIK25H.js"; import "./chunk-7N4X6GF3.js"; import "./chunk-JXW4QTJA.js"; import { i } from "./chunk-UXF37FQ4.js"; import { t as t2 } from "./chunk-ZOEK6QHJ.js"; import "./chunk-XNLG7T2T.js"; import "./chunk-IR4PV7VK.js"; import { d as d2, v as v2 } from "./chunk-2Z6LERTI.js"; import "./chunk-OWVBLVP3.js"; import "./chunk-AFZ7XSEW.js"; import "./chunk-4NKD334K.js"; import "./chunk-65K7LC56.js"; import "./chunk-ATPLLI5W.js"; import "./chunk-MXB2XLKV.js"; import "./chunk-XH7RUGVZ.js"; import "./chunk-TBBTRX4O.js"; import "./chunk-YBSUITLL.js"; import "./chunk-ALDCDSPV.js"; import "./chunk-DT6EAZQ5.js"; import "./chunk-HNOZUNJ4.js"; import { U } from "./chunk-VNFRAYHO.js"; import "./chunk-R5IG2D6H.js"; import "./chunk-VBRY5KJM.js"; import "./chunk-PDKDCAAD.js"; import { M2 as M, o } from "./chunk-ECW2QABR.js"; import "./chunk-GCDJLKH4.js"; import { k2 as k, r as r2 } from "./chunk-MRJEICT6.js"; import { d, e, l3 as l, n2 as n } from "./chunk-Y3WMVFTW.js"; import "./chunk-SAS7RONY.js"; import "./chunk-WSRBH7BF.js"; import { v } from "./chunk-IHXECKQQ.js"; import { E, g } from "./chunk-ULGDPLM2.js"; import { s, s3 as s2 } from "./chunk-EMJ4ZSM2.js"; import "./chunk-IKP3YN53.js"; import { a, r, t } from "./chunk-GZT4BVFP.js"; import "./chunk-A5ICIBVI.js"; // node_modules/@arcgis/core/rest/operations/identify.js var o3 = (e3) => e3.spatialReference.wkid || JSON.stringify(e3.spatialReference); function l3(r4, i6) { const { dpi: n5, gdbVersion: s5, geometry: l4, geometryPrecision: f4, height: p2, layerOption: m3, mapExtent: y4, maxAllowableOffset: c3, returnFieldName: u4, returnGeometry: d4, returnUnformattedValues: g4, returnZ: x2, spatialReference: b, timeExtent: h, tolerance: E2, width: O } = r4.toJSON(), { dynamicLayers: S2, layerDefs: j, layerIds: N } = a4(r4), J = i6 && r(i6.geometry) ? i6.geometry : null, R = { geometryPrecision: f4, maxAllowableOffset: c3, returnFieldName: u4, returnGeometry: d4, returnUnformattedValues: g4, returnZ: x2, tolerance: E2 }, $ = J && J.toJSON() || l4; if (R.imageDisplay = `${O},${p2},${n5}`, s5 && (R.gdbVersion = s5), $ && (delete $.spatialReference, R.geometry = JSON.stringify($), R.geometryType = v2($)), b ? R.sr = b.wkid || JSON.stringify(b) : $ && $.spatialReference ? R.sr = o3($) : y4 && y4.spatialReference && (R.sr = o3(y4)), R.time = h ? [h.start, h.end].join(",") : null, y4) { const { xmin: e3, ymin: r5, xmax: t5, ymax: i7 } = y4; R.mapExtent = `${e3},${r5},${t5},${i7}`; } return j && (R.layerDefs = j), S2 && !j && (R.dynamicLayers = S2), R.layers = m3 === "popup" ? "visible" : m3, N && !S2 && (R.layers += `:${N.join(",")}`), R; } function a4(r4) { const { mapExtent: t5, floors: o4, width: l4, sublayers: a7, layerIds: p2, layerOption: m3, gdbVersion: y4 } = r4, c3 = a7?.find((e3) => e3.layer != null)?.layer?.serviceSublayers, u4 = m3 === "popup", d4 = {}, g4 = r3({ extent: t5, width: l4, spatialReference: t5?.spatialReference }), x2 = [], b = (e3) => { const r5 = g4 === 0, t6 = e3.minScale === 0 || g4 <= e3.minScale, i6 = e3.maxScale === 0 || g4 >= e3.maxScale; if (e3.visible && (r5 || t6 && i6)) if (e3.sublayers) e3.sublayers.forEach(b); else { if (p2?.includes(e3.id) === false || u4 && (!e3.popupTemplate || !e3.popupEnabled)) return; x2.unshift(e3); } }; if (a7?.forEach(b), a7 && !x2.length) d4.layerIds = []; else { const r5 = i3(x2, c3, y4), t6 = x2.map((e3) => { const r6 = n3(o4, e3); return e3.toExportImageJSON(r6); }); if (r5) d4.dynamicLayers = JSON.stringify(t6); else { if (a7) { let e3 = x2.map(({ id: e4 }) => e4); p2 && (e3 = e3.filter((e4) => p2.includes(e4))), d4.layerIds = e3; } else p2?.length && (d4.layerIds = p2); const r6 = f2(o4, x2); if (r(r6) && r6.length) { const e3 = {}; for (const t7 of r6) t7.definitionExpression && (e3[t7.id] = t7.definitionExpression); Object.keys(e3).length && (d4.layerDefs = JSON.stringify(e3)); } } } return d4; } function f2(e3, t5) { const i6 = !!e3?.length, s5 = t5.filter((e4) => e4.definitionExpression != null || i6 && e4.floorInfo != null); return s5.length ? s5.map((t6) => { const i7 = n3(e3, t6), s6 = t3(i7, t6.definitionExpression); return { id: t6.id, definitionExpression: s6 }; }) : null; } // node_modules/@arcgis/core/rest/support/IdentifyParameters.js var m; var a5 = m = class extends l { constructor(t5) { super(t5), this.dpi = 96, this.floors = null, this.gdbVersion = null, this.geometry = null, this.geometryPrecision = null, this.height = 400, this.layerIds = null, this.layerOption = "top", this.mapExtent = null, this.maxAllowableOffset = null, this.returnFieldName = true, this.returnGeometry = false, this.returnM = false, this.returnUnformattedValues = true, this.returnZ = false, this.spatialReference = null, this.sublayers = null, this.timeExtent = null, this.tolerance = null, this.width = 400; } static from(t5) { return v(m, t5); } }; e([d({ type: Number, json: { write: true } })], a5.prototype, "dpi", void 0), e([d()], a5.prototype, "floors", void 0), e([d({ type: String, json: { write: true } })], a5.prototype, "gdbVersion", void 0), e([d({ types: i, json: { read: d2, write: true } })], a5.prototype, "geometry", void 0), e([d({ type: Number, json: { write: true } })], a5.prototype, "geometryPrecision", void 0), e([d({ type: Number, json: { write: true } })], a5.prototype, "height", void 0), e([d({ type: [Number], json: { write: true } })], a5.prototype, "layerIds", void 0), e([d({ type: ["top", "visible", "all", "popup"], json: { write: true } })], a5.prototype, "layerOption", void 0), e([d({ type: M, json: { write: true } })], a5.prototype, "mapExtent", void 0), e([d({ type: Number, json: { write: true } })], a5.prototype, "maxAllowableOffset", void 0), e([d({ type: Boolean, json: { write: true } })], a5.prototype, "returnFieldName", void 0), e([d({ type: Boolean, json: { write: true } })], a5.prototype, "returnGeometry", void 0), e([d({ type: Boolean, json: { write: true } })], a5.prototype, "returnM", void 0), e([d({ type: Boolean, json: { write: true } })], a5.prototype, "returnUnformattedValues", void 0), e([d({ type: Boolean, json: { write: true } })], a5.prototype, "returnZ", void 0), e([d({ type: k, json: { write: true } })], a5.prototype, "spatialReference", void 0), e([d()], a5.prototype, "sublayers", void 0), e([d({ type: y, json: { write: true } })], a5.prototype, "timeExtent", void 0), e([d({ type: Number, json: { write: true } })], a5.prototype, "tolerance", void 0), e([d({ type: Number, json: { write: true } })], a5.prototype, "width", void 0), a5 = m = e([n("esri.rest.support.IdentifyParameters")], a5); var u2 = a5; // node_modules/@arcgis/core/rest/support/IdentifyResult.js var u3 = class extends l { constructor(r4) { super(r4), this.displayFieldName = null, this.feature = null, this.layerId = null, this.layerName = null; } readFeature(r4, t5) { return g3.fromJSON({ attributes: { ...t5.attributes }, geometry: { ...t5.geometry } }); } writeFeature(r4, e3) { if (!r4) return; const { attributes: t5, geometry: s5 } = r4; t5 && (e3.attributes = { ...t5 }), r(s5) && (e3.geometry = s5.toJSON(), e3.geometryType = t2.toJSON(s5.type)); } }; e([d({ type: String, json: { write: true } })], u3.prototype, "displayFieldName", void 0), e([d({ type: g3 })], u3.prototype, "feature", void 0), e([o("feature", ["attributes", "geometry"])], u3.prototype, "readFeature", null), e([r2("feature")], u3.prototype, "writeFeature", null), e([d({ type: Number, json: { write: true } })], u3.prototype, "layerId", void 0), e([d({ type: String, json: { write: true } })], u3.prototype, "layerName", void 0), u3 = e([n("esri.rest.support.IdentifyResult")], u3); var y2 = u3; // node_modules/@arcgis/core/rest/identify.js async function i5(u4, f4, i6) { const c3 = (f4 = a6(f4)).geometry ? [f4.geometry] : [], l4 = n2(u4); return l4.path += "/identify", L(c3).then((r4) => { const e3 = l3(f4, { geometry: r4 && r4[0] }), u5 = o2({ ...l4.query, f: "json", ...e3 }), a7 = e2(u5, i6); return U(l4.path, a7).then(m2).then((t5) => p(t5, f4.sublayers)); }); } function m2(t5) { const r4 = t5.data; r4.results = r4.results || []; const e3 = { results: [] }; return e3.results = r4.results.map((t6) => y2.fromJSON(t6)), e3; } function a6(t5) { return t5 = u2.from(t5); } function p(t5, r4) { if (!r4?.length) return t5; const e3 = new Map(); function s5(t6) { e3.set(t6.id, t6), t6.sublayers && t6.sublayers.forEach(s5); } r4.forEach(s5); for (const o4 of t5.results) o4.feature.sourceLayer = e3.get(o4.layerId); return t5; } // node_modules/@arcgis/core/views/layers/MapImageLayerView.js var x = (x2) => { let g4 = class extends x2 { initialize() { this.exportImageParameters = new c({ layer: this.layer }); } destroy() { this.exportImageParameters.destroy(), this.exportImageParameters = null; } get exportImageVersion() { return this.exportImageParameters?.commitProperty("version"), this.commitProperty("timeExtent"), (this._get("exportImageVersion") || 0) + 1; } async fetchPopupFeatures(e3, t5) { const { layer: s5 } = this; if (!e3) throw new s2("mapimagelayer:fetchPopupFeatures", "Nothing to fetch without area", { layer: s5 }); const a7 = this.layer.capabilities?.operations?.supportsQuery ?? true; if (!((this.layer.capabilities?.operations?.supportsIdentify ?? true) && this.layer.version >= 10.5) && !a7) throw new s2("mapimagelayer:fetchPopupFeatures-not-supported", "query operation is disabled for this service", { layer: s5 }); return a7 ? this._fetchPopupFeaturesUsingQueries(e3, t5) : this._fetchPopupFeaturesUsingIdentify(e3, t5); } canResume() { return !!super.canResume() && !this.timeExtent?.isEmpty; } async _fetchPopupFeaturesUsingIdentify(e3, r4) { const t5 = await this._createIdentifyParameters(e3, r4); if (t(t5)) return []; const { results: a7 } = await i5(this.layer.parsedUrl, t5); return a7.map((e4) => e4.feature); } async _createIdentifyParameters(e3, r4) { const { floors: s5, spatialReference: o4, scale: i6 } = this.view, p2 = r(r4) ? r4.event : null, m3 = await this._collectPopupProviders(this.layer.sublayers, i6, r4); if (!m3.length) return null; await Promise.all(m3.map(({ sublayer: e4 }) => e4.load().catch(() => { }))); const c3 = Math.min(a("mapimagelayer-popup-identify-max-tolerance"), this.layer.allSublayers.reduce((e4, r5) => r5.renderer ? s3({ renderer: r5.renderer, event: p2 }) : e4, 2)), u4 = this.createFetchPopupFeaturesQueryGeometry(e3, c3), h = i2(i6, o4), d4 = Math.round(u4.width / h), w = new M({ xmin: u4.center.x - h * d4, ymin: u4.center.y - h * d4, xmax: u4.center.x + h * d4, ymax: u4.center.y + h * d4, spatialReference: u4.spatialReference }), P = this.layer.capabilities?.operations?.supportsQuery === false || await new Promise((e4) => { let r5 = false; Promise.all(m3.map(async ({ popupTemplate: t5 }) => { if (t5) { const s6 = await this._loadArcadeModules(t5); if (r5) return; const a7 = s6?.arcadeUtils.hasGeometryOperations(t5); a7 && (r5 = true, e4(true)); } })).finally(() => e4(false)); }); return new u2({ floors: s5, gdbVersion: this.layer.gdbVersion, geometry: e3, height: d4, layerOption: "popup", mapExtent: w, maxAllowableOffset: P ? 0 : h, returnGeometry: true, spatialReference: o4, sublayers: this.layer.sublayers, timeExtent: this.timeExtent, tolerance: c3, width: d4 }); } async _fetchPopupFeaturesUsingQueries(e3, r4) { const t5 = await this._collectPopupProviders(this.layer.sublayers, this.view.scale, r4), s5 = r(r4) ? r4.event : null, i6 = t5.map(async ({ sublayer: r5, popupTemplate: t6 }) => { await r5.load().catch(() => { }); const o4 = r5.createQuery(), i7 = s3({ renderer: r5.renderer, event: s5 }), p2 = this.createFetchPopupFeaturesQueryGeometry(e3, i7); if (o4.geometry = p2, o4.outFields = await d3(r5, t6), "floors" in this.view) { const e4 = this.view?.floors?.clone(), t7 = n3(e4, r5); r(t7) && (o4.where = o4.where ? `(${o4.where}) AND (${t7})` : t7); } const n5 = await this._loadArcadeModules(t6); n5 && n5.arcadeUtils.hasGeometryOperations(t6) || (o4.maxAllowableOffset = p2.width / i7); return (await r5.queryFeatures(o4)).features; }); return (await E(i6)).reduce((e4, r5) => r5.value ? [...e4, ...r5.value] : e4, []).filter((e4) => e4 != null); } async _collectPopupProviders(e3, r4, t5) { const s5 = [], o4 = async (e4) => { const i7 = e4.minScale === 0 || r4 <= e4.minScale, p2 = e4.maxScale === 0 || r4 >= e4.maxScale; if (e4.visible && i7 && p2) { if (e4.sublayers) e4.sublayers.forEach(o4); else if (e4.popupEnabled) { const r5 = s4(e4, { ...t5, defaultPopupTemplateEnabled: false }); r(r5) && s5.unshift({ sublayer: e4, popupTemplate: r5 }); } } }, i6 = e3.toArray().reverse().map(o4); return await Promise.all(i6), s5; } _loadArcadeModules(e3) { if (e3.expressionInfos?.length || Array.isArray(e3.content) && e3.content.some((e4) => e4.type === "expression")) return a2(); } }; return e([d()], g4.prototype, "exportImageParameters", void 0), e([d({ readOnly: true })], g4.prototype, "exportImageVersion", null), e([d()], g4.prototype, "layer", void 0), e([d()], g4.prototype, "suspended", void 0), e([d(g2)], g4.prototype, "timeExtent", void 0), g4 = e([n("esri.views.layers.MapImageLayerView")], g4), g4; }; // node_modules/@arcgis/core/views/2d/layers/MapImageLayerView2D.js var f3 = s.getLogger("esri.views.2d.layers.MapImageLayerView2D"); var y3 = class extends x(i4(f(u))) { constructor() { super(...arguments), this._highlightGraphics = new c2(); } update(e3) { this.strategy.update(e3).catch((e4) => { g(e4) || f3.error(e4); }); } attach() { const { imageMaxWidth: e3, imageMaxHeight: t5, version: r4 } = this.layer, s5 = r4 >= 10.3, a7 = r4 >= 10; this._bitmapContainer = new t4(), this.container.addChild(this._bitmapContainer); const o4 = new ae({ view: this.view, graphics: this._highlightGraphics, requestUpdateCallback: () => this.requestUpdate(), container: new n4(this.view.featuresTilingScheme) }); this.container.addChild(o4.container), this.strategy = new S({ container: this._bitmapContainer, fetchSource: this.fetchImage.bind(this), requestUpdate: this.requestUpdate.bind(this), imageMaxWidth: e3, imageMaxHeight: t5, imageRotationSupported: s5, imageNormalizationSupported: a7, hidpi: true }), this.handles.add(l2(() => this.exportImageVersion, () => this.requestUpdate()), "exportImageVersion"), this.handles.add(l2(() => this.view?.floors, () => this.requestUpdate()), "view.floors"), this.requestUpdate(); } detach() { this.handles.remove("exportImageVersion"), this.handles.remove("view.floors"), this.strategy.destroy(), this.container.removeAllChildren(), this._bitmapContainer.removeAllChildren(); } moveStart() { } viewChange() { } moveEnd() { this.requestUpdate(); } highlight(e3, t5) { return this._highlightGraphics.add(e3), { remove: () => { this._highlightGraphics.remove(e3); } }; } supportsSpatialReference(e3) { return this.layer.serviceSupportsSpatialReference(e3); } createFetchPopupFeaturesQueryGeometry(e3, t5) { return a3(e3, t5, this.view); } async doRefresh() { this.requestUpdate(); } isUpdating() { return this.strategy.updating || this.updateRequested; } fetchImage(e3, t5, r4, i6) { return this.layer.fetchImage(e3, t5, r4, { timeExtent: this.timeExtent, floors: this.view.floors, ...i6 }); } }; e([d()], y3.prototype, "strategy", void 0), e([d()], y3.prototype, "updating", void 0), y3 = e([n("esri.views.2d.layers.MapImageLayerView2D")], y3); var v3 = y3; export { v3 as default }; //# sourceMappingURL=MapImageLayerView2D-XGLLAYKY.js.map