{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/layers/support/ElevationSampler.js","webpack:///./node_modules/@arcgis/core/layers/support/ElevationTile.js","webpack:///./node_modules/@arcgis/core/layers/support/ElevationQuery.js"],"names":["getLogger","m","e","h","clone","this","g","t","f","n","super","tile","noDataValue","extent","spatialReference","s","i","lodAt","level","resolution","demResolution","min","max","projectIfRequired","contains","xmin","ymin","xmax","ymax","warn","x","y","sample","samplers","map","length","union","Math","elevationAt","type","R","d","equals","error","wkid","z","hasM","hasZ","o","paths","r","a","points","samplerData","pixelData","values","width","height","safeWidth","dx","dy","x0","y1","l","floor","u","p","D","c","w","ignoreInvisibleLayers","filter","visible","slice","fromGeometry","returnSampleInfo","E","query","_queryAllContinue","geometry","export","sampleInfo","signal","load","_createGeometryDescriptor","_selectTiles","_populateElevationTiles","_sampleGeometryWithElevation","_createQueryResult","_createSampler","_createSamplerAllContinue","tileInfo","source","dest","elevationTiles","layer","options","pop","concat","coordinates","push","forEach","project","outSpatialReference","_extractSampleInfo","elevationTile","_preselectOutsideLayerExtent","_selectTilesClosestResolution","_selectTilesFinestContiguous","_selectTilesAuto","outsideExtentTile","fullExtent","_findNearestDemResolutionLODIndex","selectTilesAtLOD","lods","abs","_","minDemResolution","_selectTilesFinestContiguousAt","tilemapCache","getTilesToFetch","Promise","all","fetchAvailability","row","col","allElevationTilesFetched","clearElevationTiles","cache","async","uid","id","get","fetchTile","put","populateElevationTiles","_selectTilesAutoFinest","_reduceTilesForMaximumRequests","_selectTilesAutoPrefetchUpsample","fetchAvailabilityUpsample","ok","remapTiles","forEachTileToFetch","maximumAutoTileRequests","upsampleTile","_exporter","_cloneCoordinate","spatiaReference","tileAt","some","candidateTiles","fetchedCandidates","Set","intersection","maskExtents","_maximumLodForRequests","_selectCandidateTilesCoveringExtentAt","size","ceil","clear","add","_uniqueNonOverlappingTiles","has","sort","updateTileInfo","_tileIsMasked","findIndex"],"mappings":"mcAI4d,MAAM,EAAE,OAAEA,UAAU,wCAAwC,MAAMC,EAAE,eAAeC,GAAG,OAAOC,EAAED,EAAEE,QAAQC,MAAM,KAAK,OAAOC,EAAE,kBAAkBJ,EAAEK,GAAG,OAAOC,EAAEN,EAAEK,IAAI,MAAM,UAAUN,EAAE,YAAYC,EAAEK,EAAEE,GAAGC,QAAQL,KAAKM,KAAKT,EAAEG,KAAKO,YAAYH,EAAEJ,KAAKQ,OAAO,eAAEX,EAAES,KAAKE,OAAON,EAAEO,kBAAkB,MAAMC,EAAE,eAAER,EAAEO,kBAAkBE,EAAET,EAAEU,MAAMf,EAAES,KAAKO,OAAOC,WAAWJ,EAAEV,KAAKe,cAAc,CAACC,IAAIL,EAAEM,IAAIN,GAAG,uBAAuB,OAAOX,KAAKQ,OAAOC,iBAAiB,SAASZ,GAAG,MAAMK,EAAEF,KAAKkB,kBAAkBrB,EAAEG,KAAKS,kBAAkB,OAAO,eAAET,KAAKQ,OAAON,GAAG,YAAYL,GAAG,MAAMK,EAAEF,KAAKkB,kBAAkBrB,EAAEG,KAAKS,kBAAkB,IAAIP,EAAE,OAAO,KAAK,IAAIF,KAAKmB,SAAStB,GAAG,CAAC,MAAMK,EAAEF,KAAKQ,OAAOJ,EAAE,GAAGF,EAAEkB,SAASlB,EAAEmB,SAASnB,EAAEoB,SAASpB,EAAEqB,OAAO,EAAEC,KAAK,iBAAiB,mCAAmC3B,EAAE4B,MAAM5B,EAAE6B,wCAAwCtB,MAAM,OAAOJ,KAAKM,KAAKqB,OAAOzB,EAAEuB,EAAEvB,EAAEwB,IAAI,MAAM,UAAU9B,EAAE,YAAYC,EAAEK,EAAEE,GAAG,IAAIM,EAAEL,QAAQ,iBAAiBH,GAAGF,KAAKO,YAAYL,EAAEQ,EAAE,OAAOA,EAAER,EAAEF,KAAKO,YAAYH,GAAGJ,KAAK4B,SAASlB,EAAEb,EAAEgC,IAAKhC,GAAG,IAAI,EAAEA,EAAEa,EAAEV,KAAKO,cAAeV,EAAE,MAAMc,EAAEX,KAAK4B,SAAS,GAAG,GAAGjB,EAAE,CAACX,KAAKQ,OAAOG,EAAEH,OAAOT,QAAQ,MAAMiB,IAAInB,EAAEoB,IAAIf,GAAGS,EAAEI,cAAcf,KAAKe,cAAc,CAACC,IAAInB,EAAEoB,IAAIf,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAEJ,KAAK4B,SAASE,OAAO1B,IAAI,CAAC,MAAMP,EAAEG,KAAK4B,SAASxB,GAAGJ,KAAKQ,OAAOuB,MAAMlC,EAAEW,QAAQR,KAAKe,cAAcC,IAAIgB,KAAKhB,IAAIhB,KAAKe,cAAcC,IAAInB,EAAEkB,cAAcC,KAAKhB,KAAKe,cAAcE,IAAIe,KAAKf,IAAIjB,KAAKe,cAAcE,IAAIpB,EAAEkB,cAAcE,WAAWjB,KAAKQ,OAAO,eAAE,iBAAIE,EAAED,kBAAkBT,KAAKe,cAAc,CAACC,IAAI,EAAEC,IAAI,GAAG,uBAAuB,OAAOjB,KAAKQ,OAAOC,iBAAiB,YAAYZ,GAAG,MAAMK,EAAEF,KAAKkB,kBAAkBrB,EAAEG,KAAKS,kBAAkB,IAAIP,EAAE,OAAO,KAAK,IAAI,MAAME,KAAKJ,KAAK4B,SAAS,GAAGxB,EAAEe,SAASjB,GAAG,OAAOE,EAAE6B,YAAY/B,GAAG,OAAO,EAAEsB,KAAK,iBAAiB,mCAAmC3B,EAAE4B,MAAM5B,EAAE6B,gCAAgC,MAAM,SAAS5B,EAAED,EAAEK,GAAG,MAAME,EAAED,EAAEN,EAAEK,EAAEO,kBAAkB,IAAIL,EAAE,OAAO,KAAK,OAAOP,EAAEqC,MAAM,IAAI,QAAQT,EAAE5B,EAAEO,EAAEF,GAAG,MAAM,IAAI,WAAWiC,EAAEtC,EAAEO,EAAEF,GAAG,MAAM,IAAI,aAAakC,EAAEvC,EAAEO,EAAEF,GAAG,OAAOL,EAAE,SAASM,EAAEN,EAAEK,GAAG,MAAMS,EAAEd,EAAEY,iBAAiB,OAAOE,EAAE0B,OAAOnC,GAAGL,EAAE,eAAEc,EAAET,GAAG,eAAEL,EAAEK,IAAI,EAAEoC,MAAM,mDAAmD3B,EAAE4B,sDAAsDrC,EAAEqC,SAAS,MAAM,SAASd,EAAEvB,EAAEE,EAAEM,GAAGR,EAAEsC,EAAE,eAAE9B,EAAEuB,YAAY7B,GAAG,GAAG,SAAS+B,EAAEjC,EAAEE,EAAEM,GAAGgB,EAAEjB,iBAAiBL,EAAEK,iBAAiB,MAAME,EAAET,EAAEuC,OAAOvC,EAAEwC,KAAK,IAAI,IAAIC,EAAE,EAAEA,EAAEzC,EAAE0C,MAAMd,OAAOa,IAAI,CAAC,MAAME,EAAE3C,EAAE0C,MAAMD,GAAGG,EAAE1C,EAAEwC,MAAMD,GAAG,IAAI,IAAIzC,EAAE,EAAEA,EAAE2C,EAAEf,OAAO5B,IAAI,CAAC,MAAME,EAAEyC,EAAE3C,GAAGyC,EAAEG,EAAE5C,GAAGwB,EAAED,EAAEkB,EAAE,GAAGjB,EAAEA,EAAEiB,EAAE,GAAGhC,IAAIP,EAAE,GAAGA,EAAE,IAAIA,EAAE,GAAG,eAAEM,EAAEuB,YAAYP,GAAG,IAAIxB,EAAEwC,MAAK,EAAG,SAASN,EAAElC,EAAEE,EAAEM,GAAGgB,EAAEjB,iBAAiBL,EAAEK,iBAAiB,MAAME,EAAET,EAAEuC,OAAOvC,EAAEwC,KAAK,IAAI,IAAIC,EAAE,EAAEA,EAAEzC,EAAE6C,OAAOjB,OAAOa,IAAI,CAAC,MAAME,EAAE3C,EAAE6C,OAAOJ,GAAGG,EAAE1C,EAAE2C,OAAOJ,GAAGjB,EAAED,EAAEqB,EAAE,GAAGpB,EAAEA,EAAEoB,EAAE,GAAGnC,IAAIkC,EAAE,GAAGA,EAAE,IAAIA,EAAE,GAAG,eAAEnC,EAAEuB,YAAYP,GAAG,GAAGxB,EAAEwC,MAAK,EAAG,MAAMhB,EAAE,IAAI,OAAEzB,EAAE,CAAC,YCAjqG,MAAM,EAAE,YAAYC,EAAE4C,GAAG,GAAG9C,KAAKM,KAAKJ,GAAG4C,EAAE,YAAY9C,KAAKgD,YAAY,MAAM,MAAMnD,EAAEG,KAAKM,KAAKE,OAAOR,KAAKgD,YAAY,CAACC,UAAUH,EAAEI,OAAOC,MAAML,EAAEK,MAAMC,OAAON,EAAEM,OAAOC,UAAU,WAAWP,EAAEK,MAAM,GAAG5C,YAAYuC,EAAEvC,YAAY+C,IAAIR,EAAEK,MAAM,IAAItD,EAAE,GAAGA,EAAE,IAAI0D,IAAIT,EAAEK,MAAM,IAAItD,EAAE,GAAGA,EAAE,IAAI2D,GAAG3D,EAAE,GAAG4D,GAAG5D,EAAE,IAAI,OAAOK,EAAEL,GAAG,GAAGG,KAAKgD,YAAY,OAAO,EAAEhD,KAAKgD,YAAY9C,EAAEL,IAAI,SAAS,EAAEK,EAAE4C,EAAEnC,GAAG,MAAM0C,UAAUvD,EAAEqD,MAAMzC,EAAEuC,UAAUS,EAAEnD,YAAYsC,GAAG3C,EAAEE,EAAE,EAAEF,EAAEqD,IAAIrD,EAAEuD,GAAG9C,GAAG,EAAEb,GAAG6C,EAAE,EAAEzC,EAAEoD,IAAIR,EAAE5C,EAAEsD,IAAI,EAAE1D,GAAGsC,EAAEJ,KAAK2B,MAAMvD,GAAGwD,EAAE5B,KAAK2B,MAAMhB,GAAGxC,EAAEiC,EAAE1B,EAAEkD,EAAEC,EAAE1D,EAAEO,EAAEe,EAAEiC,EAAEvD,GAAG2D,EAAEJ,EAAEG,GAAGE,EAAEL,EAAEvD,EAAE,GAAG6D,EAAEN,EAAEG,EAAE,GAAG,GAAGpC,IAAIoB,GAAGiB,IAAIjB,GAAGkB,IAAIlB,GAAGmB,IAAInB,EAAE,CAAC,MAAM3C,EAAEyC,EAAEiB,EAAEd,EAAErB,GAAGsC,EAAEtC,GAAGvB,EAAE,OAAO4C,GAAGgB,GAAGE,EAAEF,GAAG5D,EAAE4C,IAAI1C,EAAEgC,IAAI,SAAS,EAAElC,EAAE4C,EAAEjD,GAAG,OAAOK,EAAE4C,EAAEA,EAAE5C,EAAEL,EAAEA,EAAEK,ECA2B,MAAM,EAAE,eAAeL,EAAEc,EAAEgC,GAAG,KAAK9C,EAAE8C,GAAGA,EAAEsB,sBAAsBpE,EAAEqE,OAAQrE,GAAGA,EAAEsE,SAAUtE,EAAEuE,SAAStC,OAAO,MAAM,IAAI,OAAE,gCAAgC,8EAA8E,MAAMpB,EAAE,EAAE2D,aAAa1D,GAAG,IAAI+C,GAAE,EAAGf,GAAGA,EAAE2B,mBAAmBZ,GAAE,GAAI,MAAMtD,EAAE,IAAImE,KAAK5B,EAAE2B,kBAAiB,GAAIxB,QAAQ9C,KAAKwE,MAAM3E,EAAEA,EAAEiC,OAAO,GAAGpB,EAAEN,GAAGyC,QAAQ7C,KAAKyE,kBAAkB5E,EAAEiD,EAAE1C,GAAG,OAAOyC,EAAE6B,SAAS7B,EAAE6B,SAASC,SAASjB,UAAUb,EAAE+B,WAAW/B,EAAE,YAAYhD,EAAEc,EAAEgC,GAAG,IAAI9C,EAAE,MAAM,IAAI,OAAE,gCAAgC,oEAAoE,IAAIc,KAAKA,aAAa,IAAI,UAAUA,EAAEuB,MAAM,eAAevB,EAAEuB,MAAM,aAAavB,EAAEuB,KAAK,MAAM,IAAI,OAAE,mCAAmC,iFAAiF,MAAMxB,EAAE,IAAI6D,KAAK5B,GAAGe,EAAE,IAAI,EAAE7D,EAAEc,EAAEF,iBAAiBC,GAAGN,EAAEM,EAAEmE,OAAO,aAAahF,EAAEiF,KAAK,CAACD,OAAOzE,UAAUJ,KAAK+E,0BAA0BrB,EAAE/C,EAAEP,SAASJ,KAAKgF,aAAatB,EAAEtD,SAASJ,KAAKiF,wBAAwBvB,EAAEtD,GAAGJ,KAAKkF,6BAA6BxB,GAAG1D,KAAKmF,mBAAmBzB,EAAEtD,GAAG,oBAAoBP,EAAEc,EAAEgC,GAAG,IAAI9C,EAAE,MAAM,IAAI,OAAE,gCAAgC,oEAAoE,IAAIc,GAAG,WAAWA,EAAEuB,KAAK,MAAM,IAAI,OAAE,iCAAiC,+BAA+B,MAAMxB,EAAE,IAAI6D,KAAK5B,GAAG,OAAO3C,KAAKoF,eAAevF,EAAEc,EAAED,GAAG,uBAAuBb,EAAEc,EAAEgC,GAAG,KAAK9C,EAAE8C,GAAGA,EAAEsB,sBAAsBpE,EAAEqE,OAAQrE,GAAGA,EAAEsE,SAAUtE,EAAEuE,SAAStC,OAAO,MAAM,IAAI,OAAE,gCAAgC,8EAA8E,IAAInB,GAAG,WAAWA,EAAEuB,KAAK,MAAM,IAAI,OAAE,iCAAiC,+BAA+B,MAAMxB,EAAE,IAAI6D,KAAK5B,EAAE2B,kBAAiB,GAAIZ,QAAQ1D,KAAKoF,eAAevF,EAAEA,EAAEiC,OAAO,GAAGnB,EAAED,GAAG,OAAOV,KAAKqF,0BAA0BxF,EAAEc,EAAE+C,EAAEhD,GAAG,qBAAqBb,EAAEK,EAAES,EAAEgC,GAAG,MAAMjC,EAAEC,EAAEkE,aAAahF,EAAEiF,KAAK,CAACD,OAAOnE,IAAI,MAAMgD,EAAExD,EAAEO,iBAAiBL,EAAEP,EAAEyF,SAAS7E,iBAAiBiD,EAAErB,OAAOjC,WAAW,kCAAE,CAAC,CAACmF,OAAO7B,EAAE8B,KAAKpF,IAAI,CAACyE,OAAOnE,IAAIR,EAAE,qBAAEA,EAAEE,IAAI,MAAM0C,EAAE,IAAI,EAAEjD,EAAEK,EAAES,EAAEgC,GAAG,aAAa3C,KAAKgF,aAAalC,EAAEpC,SAASV,KAAKiF,wBAAwBnC,EAAEpC,GAAG,IAAI,EAAEoC,EAAE2C,eAAe3C,EAAE4C,MAAMJ,SAASxC,EAAE6C,QAAQpF,aAAa,gCAAgCV,EAAEK,EAAES,EAAEgC,GAAG,GAAG9C,EAAE+F,OAAO/F,EAAEiC,OAAO,OAAOnB,EAAE,MAAMD,EAAEC,EAAEiB,SAASC,IAAKhC,GAAG,eAAEA,EAAEW,SAAUkD,QAAQ1D,KAAKoF,eAAevF,EAAEA,EAAEiC,OAAO,GAAG5B,EAAEyC,EAAEjC,GAAG,GAAG,IAAIgD,EAAE9B,SAASE,OAAO,OAAOnB,EAAE,MAAMP,EAAEO,EAAEiB,SAASiE,OAAOnC,EAAE9B,UAAUkB,EAAE,IAAI,EAAE1C,EAAEuC,EAAEpC,aAAa,OAAOP,KAAKqF,0BAA0BxF,EAAEK,EAAE4C,EAAEH,GAAG,wBAAwB9C,EAAEK,EAAES,GAAG,MAAMgC,EAAE9C,EAAE+F,MAAMlF,EAAER,EAAEwE,SAASoB,YAAYpC,EAAE,GAAGtD,EAAE,GAAG,IAAI,IAAI2D,EAAE,EAAEA,EAAErD,EAAEoB,OAAOiC,IAAI,CAAC,MAAMpD,EAAET,EAAE0E,WAAWb,GAAGpD,EAAEI,eAAe,EAAEJ,EAAE4E,SAAS5E,EAAE4E,OAAO5C,GAAG9C,EAAEiC,SAAS4B,EAAEqC,KAAKrF,EAAEqD,IAAI3D,EAAE2F,KAAKhC,IAAI,IAAIlE,EAAEiC,QAAQ,IAAI4B,EAAE5B,OAAO,OAAO5B,EAAE,MAAM4C,EAAE5C,EAAEwE,SAAS3E,MAAM2D,GAAGb,QAAQ7C,KAAKwE,MAAM3E,EAAEA,EAAEiC,OAAO,GAAGgB,EAAEnC,GAAG,OAAOP,EAAE4F,QAAQ,CAAEnG,EAAEc,KAAKD,EAAEb,GAAG2C,EAAEK,EAAE6B,SAASoB,YAAYnF,GAAG6B,EAAEtC,EAAE0E,WAAW/E,GAAGkB,cAAc8B,EAAE+B,WAAWjE,GAAGI,gBAAiBf,KAAKyE,kBAAkB5E,EAAEK,EAAES,GAAG,yBAAyBd,EAAEK,GAAG,MAAMS,EAAE,CAAC+D,gBAAgB7E,EAAE6E,SAASuB,QAAQpG,EAAEqG,oBAAoBhG,IAAIyE,SAASpE,YAAYV,EAAE8F,QAAQpF,aAAa,OAAOV,EAAE8F,QAAQrB,mBAAmB3D,EAAEiE,WAAW5E,KAAKmG,mBAAmBtG,IAAIA,EAAE6E,SAASoB,YAAYE,QAASnG,IAAIA,EAAES,KAAK,KAAKT,EAAEuG,cAAc,OAAQzF,EAAE,gCAAgCd,EAAEc,EAAEgC,GAAG,IAAIjC,EAAE,MAAMgD,EAAE7D,EAAE6F,MAAMJ,SAAS7E,iBAAiB,GAAGE,aAAa,EAAED,QAAQC,EAAEsF,QAAQvC,EAAEf,UAAU,kCAAE,CAAC,CAAC4C,OAAO5E,EAAEF,iBAAiB+E,KAAK9B,IAAI,CAACmB,OAAOlC,IAAIjC,EAAE,qBAAEC,EAAE+C,KAAKhD,EAAE,MAAM,IAAI,OAAE,6CAA6C,8BAA8BC,EAAEF,iBAAiB8B,qCAAqCmB,EAAEnB,SAAS1C,EAAE6E,SAAS,EAAEL,aAAa3D,GAAG,mBAAmBb,EAAEc,GAAG,MAAMgC,EAAE9C,EAAE8F,QAAQ5E,cAAc,GAAG,aAAalB,EAAEqC,MAAMlC,KAAKqG,6BAA6BxG,GAAG,iBAAiB8C,EAAE3C,KAAKsG,8BAA8BzG,QAAQ,GAAG,sBAAsB8C,QAAQ3C,KAAKuG,6BAA6B1G,EAAEc,OAAO,CAAC,GAAG,SAASgC,EAAE,MAAM,IAAI,OAAE,yCAAyC,iCAAiCA,8DAA8D3C,KAAKwG,iBAAiB3G,EAAEc,IAAI,6BAA6Bd,GAAG,MAAMK,EAAE,IAAI,EAAE,MAAMA,EAAEyB,OAAO,IAAI9B,EAAE8F,QAAQpF,YAAYV,EAAE4G,kBAAkBvG,EAAE,MAAMS,EAAEd,EAAE6F,MAAMgB,WAAW7G,EAAE6E,SAASoB,YAAYE,QAASnG,IAAI,MAAM8C,EAAE9C,EAAE4B,EAAEf,EAAEb,EAAE6B,GAAGiB,EAAEhC,EAAES,MAAMuB,EAAEhC,EAAEW,MAAMZ,EAAEC,EAAEU,MAAMX,EAAEC,EAAEY,QAAQ1B,EAAEuG,cAAclG,KAAM,8BAA8BL,GAAG,MAAMK,EAAEL,EAAE6F,MAAMJ,SAAS3E,EAAEX,KAAK2G,kCAAkCzG,EAAEL,EAAE8F,QAAQ5E,eAAelB,EAAE+G,iBAAiBjG,GAAG,kCAAkCd,EAAEK,GAAG,MAAMS,EAAET,EAAE,eAAEL,EAAEY,kBAAkB,IAAIkC,EAAE9C,EAAEgH,KAAK,GAAGnG,EAAE,EAAE,IAAI,IAAIgD,EAAE,EAAEA,EAAE7D,EAAEgH,KAAK/E,OAAO4B,IAAI,CAAC,MAAMxD,EAAEL,EAAEgH,KAAKnD,GAAG1B,KAAK8E,IAAI5G,EAAEY,WAAWH,GAAGqB,KAAK8E,IAAInE,EAAE7B,WAAWH,KAAKgC,EAAEzC,EAAEQ,EAAEgD,GAAG,OAAOhD,EAAE,mCAAmCb,EAAEK,GAAG,MAAMS,EAAEoG,EAAElH,EAAE6F,MAAMJ,SAASzF,EAAE8F,QAAQqB,wBAAwBhH,KAAKiH,+BAA+BpH,EAAEc,EAAET,GAAG,qCAAqCL,EAAEa,EAAEgD,GAAG,MAAMtD,EAAEP,EAAE6F,MAAM,GAAG7F,EAAE+G,iBAAiBlG,GAAGA,EAAE,EAAE,OAAO,MAAMoC,EAAE1C,EAAE8G,aAAarE,EAAEhD,EAAEsH,kBAAkB,IAAI,GAAGrE,QAAQ,eAAEsE,QAAQC,IAAIxE,EAAEhB,IAAKhC,GAAGiD,EAAEwE,kBAAkBzH,EAAEgB,MAAMhB,EAAE0H,IAAI1H,EAAE2H,IAAI,CAAC3C,OAAOnB,MAAOA,QAAQ,SAAS1D,KAAKiF,wBAAwBpF,EAAE6D,IAAI7D,EAAE4H,2BAA2B,MAAM5H,EAAE6H,sBAAsB,IAAI,OAAE,yCAAyC,MAAM3D,GAAG,eAAEA,SAAS/D,KAAKiH,+BAA+BpH,EAAEa,EAAE,EAAEgD,IAAI,8BAA8BxD,EAAEyC,GAAG,MAAMe,EAAExD,EAAEiH,kBAAkB/G,EAAE,GAAG0C,EAAE5C,EAAEyF,QAAQgC,MAAM9E,EAAE3C,EAAEyF,QAAQpF,YAAYwD,EAAEL,EAAE7B,IAAI,MAAC+F,IAAU,MAAMlH,EAAE,GAAGR,EAAEwF,MAAMmC,OAAOlH,EAAEmH,MAAMjF,IAAIa,EAAE,eAAEZ,GAAGA,EAAEiF,IAAIrH,GAAG,KAAKqD,EAAE,eAAEL,GAAGA,QAAQxD,EAAEwF,MAAMsC,UAAUrH,EAAEE,MAAMF,EAAE4G,IAAI5G,EAAE6G,IAAI,CAACjH,YAAYsC,EAAEgC,OAAOlC,IAAI,eAAEG,IAAIA,EAAEmF,IAAIvH,EAAEqD,GAAG3D,EAAEO,EAAEmH,IAAI,IAAI,EAAEnH,EAAEoD,WAAY,eAAE,eAAEA,GAAGpB,GAAGzC,EAAEgI,uBAAuB9H,GAAG,uBAAuBP,EAAEK,GAAGF,KAAKmI,uBAAuBtI,GAAGG,KAAKoI,+BAA+BvI,GAAG,MAAMa,EAAEb,EAAE6F,MAAMwB,aAAa,IAAIxG,EAAE,OAAOV,KAAKqI,iCAAiCxI,EAAEK,GAAG,MAAMwD,EAAE7D,EAAEsH,kBAAkB/G,EAAE,GAAG0C,EAAEY,EAAE7B,IAAI,MAAC+F,IAAU,MAAMjH,EAAE,CAACmH,GAAG,KAAKjH,MAAM,EAAE0G,IAAI,EAAEC,IAAI,EAAEhH,OAAO,kBAAKkD,QAAQ,eAAEhD,EAAE4H,0BAA0BzI,EAAEgB,MAAMhB,EAAE0H,IAAI1H,EAAE2H,IAAI7G,EAAE,CAACkE,OAAO3E,MAAK,IAAKwD,EAAE6E,GAAG,eAAE7E,EAAEpB,OAAOlC,EAAEP,EAAEiI,IAAInH,UAAW,eAAEyG,QAAQC,IAAIvE,GAAG5C,GAAGL,EAAE2I,WAAWpI,GAAG,+BAA+BP,GAAG,MAAMK,EAAEL,EAAE6F,MAAMJ,SAAS,IAAI3E,EAAE,EAAE,MAAMgC,EAAE,GAAGjC,EAAEb,IAAIA,EAAEiI,MAAMnF,EAAEA,EAAE9C,EAAEiI,OAAOnF,EAAE9C,EAAEiI,IAAI,EAAEnH,MAAM+C,EAAE7D,IAAI,MAAMK,EAAEyC,EAAE9C,EAAEiI,IAAI,IAAI5H,UAAUyC,EAAE9C,EAAEiI,IAAInH,KAAKgC,EAAE9C,EAAEiI,IAAI5H,EAAE,GAAGL,EAAE4I,mBAAmB/H,EAAEgD,GAAG,IAAItD,GAAE,EAAG,KAAKA,IAAIA,GAAE,EAAGP,EAAE4I,mBAAoB9F,IAAIhC,GAAGd,EAAE8F,QAAQ+C,0BAA0BhF,EAAEf,GAAGzC,EAAEyI,aAAahG,KAAKvC,GAAE,GAAIM,EAAEiC,KAAMe,GAAGtD,MAAM,uBAAuBP,GAAG,MAAMK,EAAE6G,EAAElH,EAAE6F,MAAMJ,SAASzF,EAAE8F,QAAQqB,kBAAkBnH,EAAE+G,iBAAiB1G,EAAEL,EAAE8F,QAAQ+C,yBAAyB,uCAAuC7I,EAAEK,GAAG,MAAMS,EAAEd,EAAE6F,MAAMJ,eAAetF,KAAKiF,wBAAwBpF,EAAEK,GAAG,IAAIyC,GAAE,EAAG9C,EAAE4I,mBAAmB,CAAE5I,EAAEK,KAAKS,EAAEgI,aAAa9I,GAAG8C,GAAE,EAAGzC,MAAOyC,SAAS3C,KAAKqI,iCAAiCxI,EAAEK,GAAG,6BAA6BL,GAAGA,EAAE6E,SAASoB,YAAYE,QAAS9F,IAAI,MAAMS,EAAET,EAAEkG,cAAc,IAAIzD,EAAE9C,EAAE8F,QAAQpF,YAAY,GAAGI,EAAE,CAAC,MAAMd,EAAEc,EAAEgB,OAAOzB,EAAEuB,EAAEvB,EAAEwB,QAAG,IAAS7B,EAAE8C,EAAE9C,EAAEK,EAAEkG,cAAc,KAAKlG,EAAEsC,EAAEG,IAAK,mBAAmB9C,GAAG,MAAMK,EAAEL,EAAE6F,MAAMJ,SAAS3E,EAAE,eAAET,EAAEO,kBAAkB,OAAOZ,EAAE6E,SAASoB,YAAYjE,IAAKc,IAAI,IAAIjC,GAAG,EAAgH,OAA3GiC,EAAEyD,eAAezD,EAAEyD,gBAAgBvG,EAAE4G,oBAAmB/F,EAAER,EAAEU,MAAM+B,EAAEyD,cAAc9F,KAAKO,OAAOC,WAAWH,GAAQ,CAACI,cAAcL,MAAO,MAAM,EAAE,SAAS,OAAOV,KAAK4I,UAAU5I,KAAK8F,YAAY9F,KAAKS,kBAAkB,MAAMZ,GAAG,MAAMK,EAAE,IAAI,EAAE,OAAOA,EAAEwE,SAAS1E,KAAK0E,SAASxE,EAAEO,iBAAiBT,KAAKS,iBAAiBP,EAAE4F,YAAYjG,GAAGG,KAAK8F,YAAYjE,IAAKhC,GAAGG,KAAK6I,iBAAiBhJ,IAAKK,EAAE0I,UAAU5I,KAAK4I,UAAU1I,EAAE,cAAcL,EAAEK,GAAG,GAAGF,KAAKS,iBAAiB4B,OAAOxC,GAAG,OAAOG,KAAKD,cAAc,kCAAE,CAAC,CAACwF,OAAOvF,KAAKS,iBAAiB+E,KAAK3F,IAAI,CAACgF,OAAO3E,IAAI,MAAMS,EAAE,IAAI,OAAE,CAACF,iBAAiBT,KAAKS,iBAAiBsC,OAAO/C,KAAK8F,YAAYjE,IAAKhC,GAAG,CAACA,EAAE4B,EAAE5B,EAAE6B,MAAOiB,EAAE,qBAAEhC,EAAEd,GAAG,IAAI8C,EAAE,OAAO,KAAK,MAAMjC,EAAEV,KAAK8F,YAAYjE,IAAI,CAAEhC,EAAEK,KAAK,MAAMS,EAAEX,KAAK6I,iBAAiBhJ,GAAGa,EAAEiC,EAAEI,OAAO7C,GAAG,OAAOS,EAAEc,EAAEf,EAAE,GAAGC,EAAEe,EAAEhB,EAAE,GAAGC,IAAK+C,EAAE1D,KAAKD,MAAMW,GAAG,OAAOgD,EAAEjD,iBAAiBZ,EAAE6D,EAAE,iBAAiB7D,GAAG,MAAM,CAAC4B,EAAE5B,EAAE4B,EAAEC,EAAE7B,EAAE6B,EAAEc,EAAE3C,EAAE2C,EAAE5C,EAAEC,EAAED,EAAEU,KAAK,KAAK8F,cAAc,MAAM,oBAAoBvG,GAAG,MAAMK,EAAE,IAAI,EAAE,GAAGA,EAAEwE,SAAS7E,EAAEK,EAAEO,iBAAiBZ,EAAEY,iBAAiBZ,aAAa,EAAEK,EAAE4F,YAAYjG,EAAEiG,YAAYjE,IAAKhC,GAAGK,EAAE2I,iBAAiBhJ,IAAKK,EAAE0I,UAAU,CAAC1I,EAAES,KAAK,MAAMgC,EAAE9C,EAAEE,MAAMG,GAAG,OAAOyC,EAAElC,iBAAiBE,EAAEgC,QAAQ,OAAO9C,EAAEqC,MAAM,IAAI,QAAQ,CAAC,MAAMvB,EAAEd,GAAG6C,KAAKC,EAAEF,KAAK/B,GAAGC,EAAET,EAAE4F,YAAYnD,GAAGjC,EAAE,CAAC,CAACe,EAAEd,EAAEc,EAAEC,EAAEf,EAAEe,EAAEc,EAAE7B,EAAE6B,EAAE5C,EAAEe,EAAEf,IAAI+C,EAAE,CAAC,CAAClB,EAAEd,EAAEc,EAAEC,EAAEf,EAAEe,EAAEc,EAAE7B,EAAE6B,IAAI9B,EAAE,CAAC,CAACe,EAAEd,EAAEc,EAAEC,EAAEf,EAAEe,EAAE9B,EAAEe,EAAEf,IAAI,CAAC,CAAC6B,EAAEd,EAAEc,EAAEC,EAAEf,EAAEe,IAAIxB,EAAE0I,UAAU,CAAC1I,EAAES,IAAId,EAAE4C,KAAK,IAAI,OAAEvC,EAAE,GAAGuB,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,GAAGsC,EAAEtC,EAAE,GAAGN,EAAEe,GAAG,IAAI,OAAET,EAAE,GAAGuB,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,GAAGsC,EAAE7B,GAAG,MAAM,IAAI,aAAa,CAAC,MAAMA,EAAEd,GAAG6C,KAAKC,EAAEF,KAAK/B,GAAGC,EAAET,EAAE4F,YAAYnD,GAAGjC,EAAEC,EAAEoC,OAAOlB,IAAKhC,IAAG,CAAE4B,EAAE5B,EAAE,GAAG6B,EAAE7B,EAAE,GAAG2C,EAAE3C,EAAE,GAAGD,EAAEC,EAAE,MAAO8C,EAAEhC,EAAEoC,OAAOlB,IAAKhC,IAAG,CAAE4B,EAAE5B,EAAE,GAAG6B,EAAE7B,EAAE,GAAG2C,EAAE3C,EAAE,MAAOa,EAAEC,EAAEoC,OAAOlB,IAAKhC,IAAG,CAAE4B,EAAE5B,EAAE,GAAG6B,EAAE7B,EAAE,GAAGD,EAAEC,EAAE,MAAOc,EAAEoC,OAAOlB,IAAKhC,IAAG,CAAE4B,EAAE5B,EAAE,GAAG6B,EAAE7B,EAAE,MAAOK,EAAE0I,UAAU,CAAC1I,EAAES,IAAId,EAAE4C,KAAK,IAAI,OAAE,CAACM,OAAO7C,EAAE2B,IAAKhC,GAAG,CAACA,EAAE4B,EAAE5B,EAAE6B,EAAE7B,EAAE2C,EAAE3C,EAAED,IAAK8C,MAAK,EAAGD,MAAK,EAAGqG,gBAAgBnI,IAAI,IAAI,OAAET,EAAE2B,IAAKhC,GAAG,CAACA,EAAE4B,EAAE5B,EAAE6B,EAAE7B,EAAE2C,IAAK7B,GAAG,MAAM,IAAI,WAAW,CAAC,MAAMA,EAAEd,EAAE8C,EAAE,GAAGjC,EAAE,IAAIgC,KAAKgB,EAAEjB,KAAKrC,GAAGP,EAAE,IAAIgD,EAAE,EAAE,IAAI,MAAMhD,KAAKc,EAAEiC,MAAM,GAAGlC,EAAEqF,KAAK,CAAClD,EAAEA,EAAEhD,EAAEiC,SAASe,GAAGhD,EAAEiC,OAAO4B,GAAGtD,EAAE,IAAI,MAAMF,KAAKL,EAAE8C,EAAEoD,KAAK,CAACtE,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,GAAGsC,EAAEtC,EAAE,GAAGN,EAAEM,EAAE,UAAU,GAAGwD,EAAE,IAAI,MAAMxD,KAAKL,EAAE8C,EAAEoD,KAAK,CAACtE,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,GAAGsC,EAAEtC,EAAE,UAAU,GAAGE,EAAE,IAAI,MAAMF,KAAKL,EAAE8C,EAAEoD,KAAK,CAACtE,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,GAAGN,EAAEM,EAAE,UAAU,IAAI,MAAMA,KAAKL,EAAE8C,EAAEoD,KAAK,CAACtE,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,KAAKA,EAAE4F,YAAYnD,EAAEzC,EAAE0I,UAAU,CAAC1I,EAAES,KAAK,MAAMgC,EAAE9C,EAAE4C,KAAKvC,EAAE2B,IAAKhC,GAAG,CAACA,EAAE4B,EAAE5B,EAAE6B,EAAE7B,EAAE2C,EAAE3C,EAAED,IAAKM,EAAE2B,IAAKhC,GAAG,CAACA,EAAE4B,EAAE5B,EAAE6B,EAAE7B,EAAE2C,IAAKkB,EAAEhD,EAAEmB,IAAKhC,GAAG8C,EAAEyB,MAAMvE,EAAE,GAAGA,EAAE,KAAM,OAAO,IAAI,OAAE,CAAC+C,MAAMc,EAAEjB,KAAK5C,EAAE4C,KAAKC,MAAK,EAAGjC,iBAAiBE,KAAK,OAAO,OAAOT,GAAG,MAAM,EAAE,YAAYL,EAAEK,GAAGF,KAAK0F,MAAM7F,EAAEG,KAAK2F,QAAQzF,GAAG,MAAM,UAAU,EAAE,YAAYL,EAAEK,EAAES,GAAGN,MAAMR,EAAEc,GAAGX,KAAKkG,oBAAoBhG,EAAEF,KAAKkC,KAAK,WAAW,iBAAiBrC,GAAG,GAAGA,EAAE,EAAEG,KAAK0E,SAASoB,YAAYE,QAASnG,GAAGA,EAAES,KAAK,UAAW,CAAC,MAAMJ,EAAEF,KAAK0F,MAAMJ,SAAS3E,EAAET,EAAE2G,KAAKhH,GAAGgB,MAAMb,KAAK0E,SAASoB,YAAYE,QAASnG,IAAIA,EAAES,KAAKJ,EAAE6I,OAAOpI,EAAEd,EAAE4B,EAAE5B,EAAE6B,MAAO,2BAA2B,OAAO1B,KAAK0E,SAASoB,YAAYkD,KAAMnJ,IAAIA,EAAEuG,eAAgB,sBAAsB,IAAI,MAAMvG,KAAKG,KAAK0E,SAASoB,YAAYjG,EAAEuG,gBAAgBpG,KAAKyG,oBAAoB5G,EAAEuG,cAAc,MAAM,uBAAuBvG,GAAG,IAAI,MAAMK,KAAKF,KAAK0E,SAASoB,aAAa5F,EAAEkG,eAAelG,EAAEI,OAAOJ,EAAEkG,cAAcvG,EAAEK,EAAEI,KAAKwH,KAAK,WAAWjI,GAAG,IAAI,MAAMK,KAAKF,KAAK0E,SAASoB,YAAY5F,EAAEI,KAAKT,EAAEK,EAAEI,KAAKwH,IAAI,kBAAkB,MAAMjI,EAAE,GAAGK,EAAE,GAAG,IAAI,MAAMS,KAAKX,KAAK0E,SAASoB,YAAY,CAAC,MAAMnD,EAAEhC,EAAEL,KAAKK,EAAEyF,gBAAgBzF,EAAEL,MAAMT,EAAE8C,EAAEmF,MAAMjI,EAAE8C,EAAEmF,IAAInF,EAAEzC,EAAE6F,KAAKpD,IAAI,OAAOzC,EAAE,mBAAmBL,GAAG,IAAI,MAAMK,KAAKF,KAAK0E,SAASoB,YAAY5F,EAAEI,OAAOJ,EAAEkG,eAAevG,EAAEK,EAAEI,KAAK,IAAKJ,EAAEI,KAAK,OAAQ,MAAM,UAAU,EAAE,YAAYT,EAAEK,EAAES,EAAEgC,GAAGtC,MAAMR,EAAEc,GAAGX,KAAKkC,KAAK,SAASlC,KAAKyF,eAAe,GAAGzF,KAAKiJ,eAAe,GAAGjJ,KAAKkJ,kBAAkB,IAAIC,IAAInJ,KAAKQ,OAAON,EAAEkJ,aAAavJ,EAAE6G,YAAY1G,KAAKqJ,YAAY1G,EAAE,iBAAiB9C,EAAEK,GAAG,MAAMS,EAAEX,KAAKsJ,uBAAuBpJ,GAAGyC,EAAEX,KAAKhB,IAAIL,EAAEd,GAAG8C,EAAE,EAAE3C,KAAKiJ,eAAenH,OAAO,EAAE9B,KAAKuJ,sCAAsC5G,GAAG,uBAAuB9C,GAAG,MAAMK,EAAEF,KAAK0F,MAAMJ,SAAS,IAAIzF,EAAE,OAAOK,EAAE2G,KAAK/E,OAAO,EAAE,MAAMnB,EAAEX,KAAKQ,OAAO,IAAI,IAAImC,EAAEzC,EAAE2G,KAAK/E,OAAO,EAAEa,GAAG,EAAEA,IAAI,CAAC,MAAMjC,EAAER,EAAE2G,KAAKlE,GAAGe,EAAEhD,EAAEI,WAAWZ,EAAEsJ,KAAK,GAAGpJ,EAAEM,EAAEI,WAAWZ,EAAEsJ,KAAK,GAAG,GAAGxH,KAAKyH,KAAK9I,EAAEwC,MAAMO,GAAG1B,KAAKyH,KAAK9I,EAAEyC,OAAOhD,IAAIP,EAAE,OAAO8C,EAAE,OAAO,EAAE,2BAA2B,OAAO3C,KAAKiJ,eAAenH,SAAS9B,KAAKyF,eAAe3D,OAAO,sBAAsB9B,KAAKyF,eAAe3D,OAAO,EAAE9B,KAAKkJ,kBAAkBQ,QAAQ,uBAAuB7J,GAAG,IAAI,MAAMK,KAAKF,KAAKiJ,eAAe,CAAC,MAAMtI,EAAEd,EAAEK,EAAE4H,IAAInH,IAAIX,KAAKkJ,kBAAkBS,IAAIzJ,GAAGF,KAAKyF,eAAeM,KAAKpF,KAAK,WAAWd,GAAGG,KAAKiJ,eAAejJ,KAAK4J,2BAA2B5J,KAAKiJ,eAAepH,IAAK3B,GAAGL,EAAEK,EAAE4H,MAAO,kBAAkB,OAAO9H,KAAKiJ,eAAe,mBAAmBpJ,EAAEK,GAAG,MAAMS,EAAEX,KAAKiJ,eAAejJ,KAAKiJ,eAAe,GAAGtI,EAAEqF,QAASrF,IAAI,GAAGX,KAAKkJ,kBAAkBW,IAAIlJ,GAAG,YAAYT,GAAGA,EAAES,IAAI,IAAIgC,GAAE,EAAG9C,EAAEc,EAAE,IAAKgC,GAAE,GAAKA,EAAEzC,GAAGA,EAAES,GAAGX,KAAKiJ,eAAelD,KAAKpF,KAAMX,KAAKiJ,eAAejJ,KAAK4J,2BAA2B5J,KAAKiJ,eAAe/I,GAAG,2BAA2BL,EAAEK,GAAG,MAAMS,EAAE,GAAGgC,EAAE,GAAG,IAAI,MAAMe,KAAK7D,EAAEc,EAAE+C,EAAEoE,IAAI5H,GAAGA,EAAEwD,IAAI/C,EAAE+C,EAAEoE,IAAIpE,EAAEf,EAAEoD,KAAKrC,IAAI,MAAMhD,EAAEiC,EAAEmH,KAAK,CAAEjK,EAAEK,IAAIL,EAAEgB,MAAMX,EAAEW,OAAQ,OAAOH,EAAEwD,OAAO,CAAErE,EAAEc,KAAK,IAAI,IAAIgC,EAAE,EAAEA,EAAEhC,EAAEgC,IAAI,GAAG,eAAEjC,EAAEiC,GAAGnC,OAAOX,EAAEW,QAAQ,OAAON,GAAGA,EAAEL,IAAG,EAAG,OAAM,IAAM,sCAAsCA,GAAGG,KAAKiJ,eAAenH,OAAO,EAAE,MAAM5B,EAAEF,KAAK0F,MAAMJ,SAAS3E,EAAET,EAAE2G,KAAKhH,GAAG8C,EAAE3C,KAAKQ,OAAOE,EAAER,EAAE6I,OAAOpI,EAAEE,MAAM8B,EAAEvB,KAAKuB,EAAEtB,MAAMqC,EAAE/C,EAAEG,WAAWZ,EAAEsJ,KAAK,GAAGpJ,EAAEO,EAAEG,WAAWZ,EAAEsJ,KAAK,GAAG1G,EAAEd,KAAKyH,MAAM9G,EAAErB,KAAKZ,EAAEF,OAAO,IAAIkD,GAAGb,EAAEb,KAAKyH,MAAM9G,EAAEpB,KAAKb,EAAEF,OAAO,IAAIJ,GAAG,IAAI,IAAI2D,EAAE,EAAEA,EAAElB,EAAEkB,IAAI,IAAI,IAAIlE,EAAE,EAAEA,EAAEiD,EAAEjD,IAAI,CAAC,MAAMc,EAAE,CAACmH,GAAG,KAAKjH,MAAMH,EAAEG,MAAM0G,IAAI7G,EAAE6G,IAAIxD,EAAEyD,IAAI9G,EAAE8G,IAAI3H,GAAGK,EAAE6J,eAAepJ,GAAGX,KAAKgK,cAAcrJ,IAAIX,KAAKiJ,eAAelD,KAAKpF,IAAI,cAAcd,GAAG,QAAQG,KAAKqJ,aAAarJ,KAAKqJ,YAAYL,KAAM9I,GAAG,eAAEA,EAAEL,EAAEW,UAAW,SAASuG,EAAElH,EAAEK,GAAG,IAAIS,EAAEd,EAAEgH,KAAK/E,OAAO,EAAE,GAAG5B,EAAE,EAAE,CAAC,MAAMyC,EAAE9C,EAAEgH,KAAKoD,UAAWpK,GAAGA,EAAEiB,WAAWZ,GAAI,IAAIyC,EAAEhC,EAAE,EAAEgC,EAAE,IAAIhC,EAAEgC,EAAE,GAAG,OAAOhC,EAAE,MAAM4D,EAAE,CAACmE,wBAAwB,GAAGnI,YAAY,EAAE+D,kBAAiB,EAAGvD,cAAc,OAAOiG,iBAAiB,GAAkB","file":"js/chunk-2d0bdf78.5ec54eb9.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{unwrapOr as e}from\"../../core/maybe.js\";import t from\"../../core/Logger.js\";import{canProject as n,project as s}from\"../../geometry/support/webMercatorUtils.js\";import i from\"../../geometry/Point.js\";import{extentContainsPoint as o}from\"../../geometry/support/contains.js\";import\"../../geometry.js\";import{getMetersPerUnitForSR as r}from\"../../core/unitUtils.js\";import{toExtent as a,create as l}from\"../../geometry/support/aaBoundingRect.js\";const c=t.getLogger(\"esri.layers.support.ElevationSampler\");class m{queryElevation(e){return h(e.clone(),this)}on(){return g}projectIfRequired(e,t){return f(e,t)}}class p extends m{constructor(e,t,n){super(),this.tile=e,this.noDataValue=n,this.extent=a(e.tile.extent,t.spatialReference);const s=r(t.spatialReference),i=t.lodAt(e.tile.level).resolution*s;this.demResolution={min:i,max:i}}get spatialReference(){return this.extent.spatialReference}contains(e){const t=this.projectIfRequired(e,this.spatialReference);return o(this.extent,t)}elevationAt(e){const t=this.projectIfRequired(e,this.spatialReference);if(!t)return null;if(!this.contains(e)){const t=this.extent,n=`${t.xmin}, ${t.ymin}, ${t.xmax}, ${t.ymax}`;c.warn(\"#elevationAt()\",`Point used to sample elevation (${e.x}, ${e.y}) is outside of the sampler extent (${n})`)}return this.tile.sample(t.x,t.y)}}class u extends m{constructor(e,t,n){let s;super(),\"number\"==typeof t?(this.noDataValue=t,s=null):(s=t,this.noDataValue=n),this.samplers=s?e.map((e=>new p(e,s,this.noDataValue))):e;const i=this.samplers[0];if(i){this.extent=i.extent.clone();const{min:e,max:t}=i.demResolution;this.demResolution={min:e,max:t};for(let n=1;ne?e:t}export default t;export{t as ElevationTile};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../core/maybe.js\";import t from\"../../core/Error.js\";import{whenOrAbort as i,throwIfAbortError as o,eachAlways as s}from\"../../core/promiseUtils.js\";import l from\"../../geometry/Point.js\";import n from\"../../geometry/Multipoint.js\";import a from\"../../geometry/Polyline.js\";import{result as r}from\"../../core/asyncUtils.js\";import{getMetersPerUnitForSR as c}from\"../../core/unitUtils.js\";import{fromExtent as u,create as h,contains as p}from\"../../geometry/support/aaBoundingRect.js\";import{initializeProjection as m,project as f}from\"../../geometry/projection.js\";import{MultiTileElevationSampler as d}from\"./ElevationSampler.js\";import{ElevationTile as y}from\"./ElevationTile.js\";class T{async queryAll(e,i,o){if(!(e=o&&o.ignoreInvisibleLayers?e.filter((e=>e.visible)):e.slice()).length)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require at least one elevation layer to fetch tiles from\");const s=v.fromGeometry(i);let l=!1;o&&o.returnSampleInfo||(l=!0);const n={...E,...o,returnSampleInfo:!0},a=await this.query(e[e.length-1],s,n),r=await this._queryAllContinue(e,a,n);return r.geometry=r.geometry.export(),l&&delete r.sampleInfo,r}async query(e,i,o){if(!e)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require an elevation layer to fetch tiles from\");if(!i||!(i instanceof v)&&\"point\"!==i.type&&\"multipoint\"!==i.type&&\"polyline\"!==i.type)throw new t(\"elevation-query:invalid-geometry\",\"Only point, polyline and multipoint geometries can be used to query elevation\");const s={...E,...o},l=new g(e,i.spatialReference,s),n=s.signal;return await e.load({signal:n}),await this._createGeometryDescriptor(l,i,n),await this._selectTiles(l,n),await this._populateElevationTiles(l,n),this._sampleGeometryWithElevation(l),this._createQueryResult(l,n)}async createSampler(e,i,o){if(!e)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require an elevation layer to fetch tiles from\");if(!i||\"extent\"!==i.type)throw new t(\"elevation-query:invalid-extent\",\"Invalid or undefined extent\");const s={...E,...o};return this._createSampler(e,i,s)}async createSamplerAll(e,i,o){if(!(e=o&&o.ignoreInvisibleLayers?e.filter((e=>e.visible)):e.slice()).length)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require at least one elevation layer to fetch tiles from\");if(!i||\"extent\"!==i.type)throw new t(\"elevation-query:invalid-extent\",\"Invalid or undefined extent\");const s={...E,...o,returnSampleInfo:!0},l=await this._createSampler(e[e.length-1],i,s);return this._createSamplerAllContinue(e,i,l,s)}async _createSampler(e,t,i,o){const s=i.signal;await e.load({signal:s});const l=t.spatialReference,n=e.tileInfo.spatialReference;l.equals(n)||(await m([{source:l,dest:n}],{signal:s}),t=f(t,n));const a=new w(e,t,i,o);return await this._selectTiles(a,s),await this._populateElevationTiles(a,s),new d(a.elevationTiles,a.layer.tileInfo,a.options.noDataValue)}async _createSamplerAllContinue(e,t,i,o){if(e.pop(),!e.length)return i;const s=i.samplers.map((e=>u(e.extent))),l=await this._createSampler(e[e.length-1],t,o,s);if(0===l.samplers.length)return i;const n=i.samplers.concat(l.samplers),a=new d(n,o.noDataValue);return this._createSamplerAllContinue(e,t,a,o)}async _queryAllContinue(e,t,i){const o=e.pop(),s=t.geometry.coordinates,l=[],n=[];for(let c=0;c=0?i.source||(i.source=o):e.length&&(l.push(s[c]),n.push(c))}if(!e.length||0===l.length)return t;const a=t.geometry.clone(l),r=await this.query(e[e.length-1],a,i);return n.forEach(((e,i)=>{s[e].z=r.geometry.coordinates[i].z,t.sampleInfo[e].demResolution=r.sampleInfo[i].demResolution})),this._queryAllContinue(e,t,i)}async _createQueryResult(e,t){const i={geometry:(await e.geometry.project(e.outSpatialReference,t)).export(),noDataValue:e.options.noDataValue};return e.options.returnSampleInfo&&(i.sampleInfo=this._extractSampleInfo(e)),e.geometry.coordinates.forEach((e=>{e.tile=null,e.elevationTile=null})),i}async _createGeometryDescriptor(e,i,o){let s;const l=e.layer.tileInfo.spatialReference;if(i instanceof v?s=await i.project(l,o):(await m([{source:i.spatialReference,dest:l}],{signal:o}),s=f(i,l)),!s)throw new t(\"elevation-query:spatial-reference-mismatch\",`Cannot query elevation in '${i.spatialReference.wkid}' on an elevation service in '${l.wkid}'`);e.geometry=v.fromGeometry(s)}async _selectTiles(e,i){const o=e.options.demResolution;if(\"geometry\"===e.type&&this._preselectOutsideLayerExtent(e),\"number\"==typeof o)this._selectTilesClosestResolution(e);else if(\"finest-contiguous\"===o)await this._selectTilesFinestContiguous(e,i);else{if(\"auto\"!==o)throw new t(\"elevation-query:invalid-dem-resolution\",`Invalid dem resolution value '${o}', expected a number, \"finest-contiguous\" or \"auto\"`);await this._selectTilesAuto(e,i)}}_preselectOutsideLayerExtent(e){const t=new y(null);t.sample=()=>e.options.noDataValue,e.outsideExtentTile=t;const i=e.layer.fullExtent;e.geometry.coordinates.forEach((e=>{const o=e.x,s=e.y;(oi.xmax||si.ymax)&&(e.elevationTile=t)}))}_selectTilesClosestResolution(e){const t=e.layer.tileInfo,i=this._findNearestDemResolutionLODIndex(t,e.options.demResolution);e.selectTilesAtLOD(i)}_findNearestDemResolutionLODIndex(e,t){const i=t/c(e.spatialReference);let o=e.lods[0],s=0;for(let l=1;la.fetchAvailability(e.level,e.row,e.col,{signal:l})))),l);else if(await this._populateElevationTiles(e,l),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new t(\"elevation-query:has-unavailable-tiles\")}catch(c){o(c),await this._selectTilesFinestContiguousAt(e,s-1,l)}}async _populateElevationTiles(t,o){const l=t.getTilesToFetch(),n={},a=t.options.cache,r=t.options.noDataValue,c=l.map((async i=>{const s=`${t.layer.uid}:${i.id}:${r}`,l=e(a)?a.get(s):null,c=e(l)?l:await t.layer.fetchTile(i.level,i.row,i.col,{noDataValue:r,signal:o});e(a)&&a.put(s,c),n[i.id]=new y(i,c)}));await i(s(c),o),t.populateElevationTiles(n)}async _selectTilesAuto(e,t){this._selectTilesAutoFinest(e),this._reduceTilesForMaximumRequests(e);const s=e.layer.tilemapCache;if(!s)return this._selectTilesAutoPrefetchUpsample(e,t);const l=e.getTilesToFetch(),n={},a=l.map((async e=>{const i={id:null,level:0,row:0,col:0,extent:h()},l=await r(s.fetchAvailabilityUpsample(e.level,e.row,e.col,i,{signal:t}));!1===l.ok?o(l.error):n[e.id]=i}));await i(Promise.all(a),t),e.remapTiles(n)}_reduceTilesForMaximumRequests(e){const t=e.layer.tileInfo;let i=0;const o={},s=e=>{e.id in o?o[e.id]++:(o[e.id]=1,i++)},l=e=>{const t=o[e.id];1===t?(delete o[e.id],i--):o[e.id]=t-1};e.forEachTileToFetch(s,l);let n=!0;for(;n&&(n=!1,e.forEachTileToFetch((o=>{i<=e.options.maximumAutoTileRequests||(l(o),t.upsampleTile(o)&&(n=!0),s(o))}),l),n););}_selectTilesAutoFinest(e){const t=_(e.layer.tileInfo,e.options.minDemResolution);e.selectTilesAtLOD(t,e.options.maximumAutoTileRequests)}async _selectTilesAutoPrefetchUpsample(e,t){const i=e.layer.tileInfo;await this._populateElevationTiles(e,t);let o=!1;e.forEachTileToFetch(((e,t)=>{i.upsampleTile(e)?o=!0:t()})),o&&await this._selectTilesAutoPrefetchUpsample(e,t)}_sampleGeometryWithElevation(e){e.geometry.coordinates.forEach((t=>{const i=t.elevationTile;let o=e.options.noDataValue;if(i){const e=i.sample(t.x,t.y);void 0!==e?o=e:t.elevationTile=null}t.z=o}))}_extractSampleInfo(e){const t=e.layer.tileInfo,i=c(t.spatialReference);return e.geometry.coordinates.map((o=>{let s=-1;if(o.elevationTile&&o.elevationTile!==e.outsideExtentTile){s=t.lodAt(o.elevationTile.tile.level).resolution*i}return{demResolution:s}}))}}class v{export(){return this._exporter(this.coordinates,this.spatialReference)}clone(e){const t=new v;return t.geometry=this.geometry,t.spatialReference=this.spatialReference,t.coordinates=e||this.coordinates.map((e=>this._cloneCoordinate(e))),t._exporter=this._exporter,t}async project(e,t){if(this.spatialReference.equals(e))return this.clone();await m([{source:this.spatialReference,dest:e}],{signal:t});const i=new n({spatialReference:this.spatialReference,points:this.coordinates.map((e=>[e.x,e.y]))}),o=f(i,e);if(!o)return null;const s=this.coordinates.map(((e,t)=>{const i=this._cloneCoordinate(e),s=o.points[t];return i.x=s[0],i.y=s[1],i})),l=this.clone(s);return l.spatialReference=e,l}_cloneCoordinate(e){return{x:e.x,y:e.y,z:e.z,m:e.m,tile:null,elevationTile:null}}static fromGeometry(e){const t=new v;if(t.geometry=e,t.spatialReference=e.spatialReference,e instanceof v)t.coordinates=e.coordinates.map((e=>t._cloneCoordinate(e))),t._exporter=(t,i)=>{const o=e.clone(t);return o.spatialReference=i,o};else switch(e.type){case\"point\":{const i=e,{hasZ:o,hasM:s}=i;t.coordinates=o&&s?[{x:i.x,y:i.y,z:i.z,m:i.m}]:o?[{x:i.x,y:i.y,z:i.z}]:s?[{x:i.x,y:i.y,m:i.m}]:[{x:i.x,y:i.y}],t._exporter=(t,i)=>e.hasM?new l(t[0].x,t[0].y,t[0].z,t[0].m,i):new l(t[0].x,t[0].y,t[0].z,i);break}case\"multipoint\":{const i=e,{hasZ:o,hasM:s}=i;t.coordinates=o&&s?i.points.map((e=>({x:e[0],y:e[1],z:e[2],m:e[3]}))):o?i.points.map((e=>({x:e[0],y:e[1],z:e[2]}))):s?i.points.map((e=>({x:e[0],y:e[1],m:e[2]}))):i.points.map((e=>({x:e[0],y:e[1]}))),t._exporter=(t,i)=>e.hasM?new n({points:t.map((e=>[e.x,e.y,e.z,e.m])),hasZ:!0,hasM:!0,spatiaReference:i}):new n(t.map((e=>[e.x,e.y,e.z])),i);break}case\"polyline\":{const i=e,o=[],s=[],{hasZ:l,hasM:n}=e;let r=0;for(const e of i.paths)if(s.push([r,r+e.length]),r+=e.length,l&&n)for(const t of e)o.push({x:t[0],y:t[1],z:t[2],m:t[3]});else if(l)for(const t of e)o.push({x:t[0],y:t[1],z:t[2]});else if(n)for(const t of e)o.push({x:t[0],y:t[1],m:t[2]});else for(const t of e)o.push({x:t[0],y:t[1]});t.coordinates=o,t._exporter=(t,i)=>{const o=e.hasM?t.map((e=>[e.x,e.y,e.z,e.m])):t.map((e=>[e.x,e.y,e.z])),l=s.map((e=>o.slice(e[0],e[1])));return new a({paths:l,hasM:e.hasM,hasZ:!0,spatialReference:i})};break}}return t}}class x{constructor(e,t){this.layer=e,this.options=t}}class g extends x{constructor(e,t,i){super(e,i),this.outSpatialReference=t,this.type=\"geometry\"}selectTilesAtLOD(e){if(e<0)this.geometry.coordinates.forEach((e=>e.tile=null));else{const t=this.layer.tileInfo,i=t.lods[e].level;this.geometry.coordinates.forEach((e=>{e.tile=t.tileAt(i,e.x,e.y)}))}}allElevationTilesFetched(){return!this.geometry.coordinates.some((e=>!e.elevationTile))}clearElevationTiles(){for(const e of this.geometry.coordinates)e.elevationTile!==this.outsideExtentTile&&(e.elevationTile=null)}populateElevationTiles(e){for(const t of this.geometry.coordinates)!t.elevationTile&&t.tile&&(t.elevationTile=e[t.tile.id])}remapTiles(e){for(const t of this.geometry.coordinates)t.tile=e[t.tile.id]}getTilesToFetch(){const e={},t=[];for(const i of this.geometry.coordinates){const o=i.tile;i.elevationTile||!i.tile||e[o.id]||(e[o.id]=o,t.push(o))}return t}forEachTileToFetch(e){for(const t of this.geometry.coordinates)t.tile&&!t.elevationTile&&e(t.tile,(()=>t.tile=null))}}class w extends x{constructor(e,t,i,o){super(e,i),this.type=\"extent\",this.elevationTiles=[],this.candidateTiles=[],this.fetchedCandidates=new Set,this.extent=t.intersection(e.fullExtent),this.maskExtents=o}selectTilesAtLOD(e,t){const i=this._maximumLodForRequests(t),o=Math.min(i,e);o<0?this.candidateTiles.length=0:this._selectCandidateTilesCoveringExtentAt(o)}_maximumLodForRequests(e){const t=this.layer.tileInfo;if(!e)return t.lods.length-1;const i=this.extent;for(let o=t.lods.length-1;o>=0;o--){const s=t.lods[o],l=s.resolution*t.size[0],n=s.resolution*t.size[1];if(Math.ceil(i.width/l)*Math.ceil(i.height/n)<=e)return o}return-1}allElevationTilesFetched(){return this.candidateTiles.length===this.elevationTiles.length}clearElevationTiles(){this.elevationTiles.length=0,this.fetchedCandidates.clear()}populateElevationTiles(e){for(const t of this.candidateTiles){const i=e[t.id];i&&(this.fetchedCandidates.add(t),this.elevationTiles.push(i))}}remapTiles(e){this.candidateTiles=this._uniqueNonOverlappingTiles(this.candidateTiles.map((t=>e[t.id])))}getTilesToFetch(){return this.candidateTiles}forEachTileToFetch(e,t){const i=this.candidateTiles;this.candidateTiles=[],i.forEach((i=>{if(this.fetchedCandidates.has(i))return void(t&&t(i));let o=!1;e(i,(()=>o=!0)),o?t&&t(i):this.candidateTiles.push(i)})),this.candidateTiles=this._uniqueNonOverlappingTiles(this.candidateTiles,t)}_uniqueNonOverlappingTiles(e,t){const i={},o=[];for(const l of e)i[l.id]?t&&t(l):(i[l.id]=l,o.push(l));const s=o.sort(((e,t)=>e.level-t.level));return s.filter(((e,i)=>{for(let o=0;op(t,e.extent)))}}function _(e,t){let i=e.lods.length-1;if(t>0){const o=e.lods.findIndex((e=>e.resolution0&&(i=o-1)}return i}const E={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:\"auto\",minDemResolution:0};export default T;export{T as ElevationQuery,v as GeometryDescriptor,_ as getFinestLodIndex};\n"],"sourceRoot":""}