// All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.7/esri/copyright.txt for details. //>>built define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper dojo/_base/lang ../request ../core/Collection ../core/Error ../core/Handles ../core/promiseUtils ../core/accessorSupport/decorators ../geometry/Extent ./Layer ./WebTileLayer ./mixins/OperationalLayer ./mixins/PortalLayer ./mixins/RefreshableLayer ./mixins/ScaleRangeLayer ./support/WMTSSublayer ./support/wmtsUtils".split(" "),function(m,D,r,d,g,l,t,u,n,h,c,v,w,x,y,z,A,B,f,k){function C(c,a){return c.map(function(b){var e= new f;e.read(b,a);return e})}var q={"image/png":".png","image/png8":".png","image/png24":".png","image/png32":".png","image/jpg":".jpg","image/jpeg":".jpeg","image/gif":".gif","image/bmp":".bmp","image/tiff":".tif","image/jpgpng":"","image/jpegpng":"","image/unknown":""};return function(p){function a(b,e){var a=p.call(this)||this;a._sublayersHandles=new n;a.copyright=null;a.customParameters=null;a.customLayerParameters=null;a.fullExtent=null;a.operationalLayerType="WebTiledLayer";a.resourceInfo=null; a.serviceMode="RESTful";a.sublayers=null;a.type="wmts";a.version="1.0.0";a.watch("activeLayer",function(b,e){e&&(e.layer=null);b&&(b.layer=a)},!0);a.watch("sublayers",function(b,e){e&&(e.forEach(function(b){b.layer=null}),a._sublayersHandles.removeAll(),a._sublayersHandles=null);b&&(b.forEach(function(b){b.layer=a}),a._sublayersHandles||(a._sublayersHandles=new n),a._sublayersHandles.add([b.on("after-add",function(b){b.item.layer=a}),b.on("after-remove",function(b){b.item.layer=null})]))},!0);return a} r(a,p);a.prototype.normalizeCtorArgs=function(b,a){return"string"===typeof b?g.mixin({},{url:b},a):b};a.prototype.load=function(){var b=this;if("KVP"!==this.serviceMode&&"RESTful"!==this.serviceMode)console.error("WMTS mode could only be 'KVP' or 'RESTful'");else return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WMTS"]}).then(function(){return b._fetchService()}).catch(function(){return h.reject(new u("wmtslayer:unsupported-service-data","Invalid response from the WMTS service."))})), this.when()};Object.defineProperty(a.prototype,"activeLayer",{get:function(){return this._get("activeLayer")},set:function(b){this._set("activeLayer",b)},enumerable:!0,configurable:!0});a.prototype.readActiveLayerFromService=function(b,a,c){var e=this,d;this.activeLayer?a.layers.some(function(b){return b.id===e.activeLayer.id?(d=b,!0):!1}):(this.activeLayer=new f,d=a.layers[0]);this.activeLayer.read(d,c);return this.activeLayer};a.prototype.readActiveLayerFromItemOrWebDoc=function(b,a,c){return new f({id:a.wmtsInfo.layerIdentifier, tileMatrixSetId:a.wmtsInfo.tileMatrixSet})};a.prototype.writeActiveLayer=function(b,a){b=this.activeLayer;a.templateUrl=this.getUrlTemplate(b.id,b.tileMatrixSetId,b.imageFormat,b.styleId);a.wmtsInfo=g.mixin(a.wmtsInfo||{},{layerIdentifier:b.id,tileMatrixSet:b.tileMatrixSetId})};Object.defineProperty(a.prototype,"fullExtents",{get:function(){var b=[];this.activeLayer.tileMatrixSets.forEach(function(a){a.fullExtent&&b.push(a.fullExtent)});return b},enumerable:!0,configurable:!0});a.prototype.readServiceMode= function(b,a,c){return-1