// 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 dojo/_base/config dojo/Deferred dojo/_base/lang dojo/_base/url dojo/request dojo/io-query ./config ./core/Error ./core/global ./core/sniff ./core/lang ./core/urlUtils ./core/deferredUtils ./core/promiseUtils dojo/has!host-browser?./core/request/script dojo/has!host-webworker?./core/workers/request".split(" "),function(R,S,w,r,J,D,E,T,F,U,k,y,g,V,n,W,K){function X(a){var c=E.objectToQuery(a.content);c&&(a.url+=(-1===a.url.indexOf("?")?"?":"\x26")+c);if(!g.isDataProtocol(a.url)&&2E3< a.url.length)return n.reject(r.mixin(Error(),{message:"When using responseType 'image', URL length cannot exceed 2000 characters."}));var b=new Image;a.allowImageDataAccess&&(b.crossOrigin=a.withCredentials?"use-credentials":"anonymous");var f=!1,d=new w(function(a){f=!0;b.onload=b.onerror=b.onabort=null;b.src=""}),c=function(a){b.onload=b.onerror=b.onabort=null;f||d.reject(Error("Unable to load the resource"))};b.onload=function(){b.onload=b.onerror=b.onabort=null;f||d.resolve(this)};b.onerror=c; b.onabort=c;b.alt="";b.src=a.url;return d.promise}function G(a){a=new J(a);return(a.host+(a.port?":"+a.port:"")).toLowerCase()}function Y(){return H?H:H=n.create(function(a){R(["./identity/IdentityManager"],a)}).then(function(a){l=a})}function Z(a,c){var b=!!a.useProxy,f=a.method||"auto",d=y.isDefined(a.crossOrigin)?a.crossOrigin:m.useCors;a=r.mixin({},a);a._ssl&&(a.url=a.url.replace(/^http:/i,"https:"));var e=a.content,p=a.url;a._token&&(a.content=a.content||{},a.content.token=a._token);var C=0, q;p&&(q=E.objectToQuery(e),C=q.length+p.length+1,k("esri-url-encodes-apostrophe")&&(C=q.replace(/'/g,"%27").length+p.length+1));a.timeout=y.isDefined(a.timeout)?a.timeout:m.timeout;a.handleAs=a.handleAs||"json";try{var z,u,I=d&&g.canUseXhr(a.urlObj)&&!/https?:\/\/[^\/]+\/[^\/]+\/admin\/?(\/.*)?$/i.test(a.url),L=g.hasSameOrigin(a.urlObj,g.appUrl)||I,h="post"===f||!!a.body||C>m.maxUrlLength,M=!L&&-1!==a.handleAs.indexOf("json")&&a.callbackParamName&&!a.body,x=!!g.getProxyRule(a.url)||m.forceProxy|| b||("image"!==a.handleAs||a.allowImageDataAccess)&&(!M||h)&&!L;x&&(g.isBlobProtocol(a.url)||g.isDataProtocol(a.url))&&(x=!1);if((k("host-browser")||k("host-webworker"))&&x)if(z=g.getProxyUrl(p,d),u=z.path,z._xo&&(I=!0),!h&&u.length+1+C>m.maxUrlLength&&(h=!0),a.url=u+"?"+p,h)a.content=r.mixin(z.query||{},e);else{var N=E.objectToQuery(r.mixin(z.query||{},e));N&&(a.url+=(-1===p.indexOf("?")?"?":"\x26")+N);a.content=null}if(M&&!h&&!x&&k("host-browser"))return a=A?A(a):a,a.jsonp=a.callbackParamName,a.query= a.content,W.get(a.url,a);var B=a.headers;!k("host-browser")&&!k("host-webworker")||B&&B.hasOwnProperty("X-Requested-With")||(B=a.headers=B||{},B["X-Requested-With"]=null);if(k("host-browser")&&c){var n=a.content&&a.content.token;n&&(c.set?c.set("token",n):c.append("token",n));a.contentType=!1}if(I&&!a.hasOwnProperty("withCredentials")&&"with-credentials"===m.useCors){var b=x?u:p,t=g.getCorsConfig(b);if(t&&t.hasOwnProperty("withCredentials"))t.withCredentials&&(a.withCredentials=!0);else if(l){var v= l.findServerInfo(b);v&&v.webTierAuth&&(a.withCredentials=!0)}}a=A?A(a):a;if("image"===a.handleAs)return X(a);if(h)return a.body?(a.data=c||a.body,a.query=a.content):a.data=a.content,delete a.body,delete a.content,!x&&k("safari")&&(a.url+=(-1===a.url.indexOf("?")?"?":"\x26")+"_ts\x3d"+(new Date).getTime()+aa++),D.post(a.url,a);a.query=a.content;delete a.content;return D.get(a.url,a)}catch(ba){return a=new w,a.reject(ba),a.promise}}function ca(a){var c=m.corsStatus;try{var b=G(a.url);if(m.corsDetection&& m.useCors&&k("esri-cors")&&a.url&&-1!==a.url.toLowerCase().indexOf("/rest/services")&&!g.hasSameOrigin(a.urlObj,g.appUrl)&&!g.canUseXhr(a.urlObj)){if(c[b])return c[b];var f=new w;c[b]=f.promise;var d=a.url.substring(0,a.url.toLowerCase().indexOf("/rest/")+6)+"info";D.get(d,{query:{f:"json"},handleAs:"json",headers:{"X-Requested-With":null},timeout:1E3*m.corsDetectionTimeout}).then(function(c){c?(g.canUseXhr(a.url)||m.corsEnabledServers.push(b),f.resolve()):f.reject()},function(a){f.reject()});return f.promise}}catch(e){console.log("esri._detectCors: an unknown error occurred while detecting CORS support")}return da} function t(a,c,b,f){function d(a){a._pendingDfd=Z(b,q);var c=!!a._pendingDfd.response;(a._pendingDfd.response||a._pendingDfd).then(function(a){if(!c||!a.data)return a;var b=a.getHeader("Content-Type");if(b&&(b=b.toLowerCase(),-1===b.indexOf("text/plain")&&-1===b.indexOf("application/json")))return a;b=a.data;if(b instanceof ArrayBuffer&&750>=b.byteLength)b=new Blob([b]);else if(!(b instanceof Blob&&750>=b.size))return a;var h=new w,d=new FileReader;d.readAsText(b);d.onloadend=function(){if(!d.error)try{var b= JSON.parse(d.result);b.error&&(Object.isExtensible(a)||(a=r.mixin({},a)),a._jsonData=b)}catch(fa){}h.resolve(a)};return h.promise}).then(function(b){var d=c?b.data:b,h=c?b.getHeader.bind(b):O;if(d&&(b=c&&b._jsonData||d,b.error||"error"===b.status))throw d=r.mixin(Error(),b.error||b),d.getHeader=h,d;a.resolve({data:d,url:f.url,requestOptions:f.requestOptions,getHeader:h});a._pendingDfd=null}).catch(function(c){var d,h,e;c&&(d=c.code,h=c.subcode,e=(e=c.messageCode)&&e.toUpperCase());if(c&&403==d&&(4== h||c.message&&-1