// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define(["exports","../core/string","../core/sql/UnknownTimeZone","../chunks/datetime"],function(f,u,h,d){function k(a,b,e){return ae?a-e:0}function g(a,b=!0){if(a instanceof d.Zone)return a;if("system"===a.toLowerCase())return"system";if("utc"===a.toLowerCase())return"UTC";if("unknown"===a.toLowerCase())return h.UnknownTimeZone.instance;if(/^[+-]?[0-9]{1,2}([:][0-9]{2})?$/.test(a)){const e=d.FixedOffsetZone.parseSpecifier("UTC"+(a.startsWith("+")||a.startsWith("-")?"":"+")+a);if(e)return e}a= d.IANAZone.create(a);if(!a.isValid){if(b)throw new q(f.ArcadeDateErrorCodes.TimeZoneNotRecognized);return null}return a}f.ArcadeDateErrorCodes=void 0;(f.ArcadeDateErrorCodes||(f.ArcadeDateErrorCodes={})).TimeZoneNotRecognized="TimeZoneNotRecognized";const t={[f.ArcadeDateErrorCodes.TimeZoneNotRecognized]:"Timezone identifier has not been recognized."};class q extends Error{constructor(a,b){super(u.replace(t[a],b));this.declaredRootClass="esri.arcade.arcadedate.dateerror";Error.captureStackTrace&& Error.captureStackTrace(this,q)}}class c{constructor(a){this._date=a;this.declaredRootClass="esri.arcade.arcadedate"}static fromParts(a=0,b=1,e=1,l=0,m=0,n=0,p=0,v){if(isNaN(a)||isNaN(b)||isNaN(e)||isNaN(l)||isNaN(m)||isNaN(n)||isNaN(p))return null;const r=d.DateTime.local(a,b).daysInMonth;a=d.DateTime.fromObject({day:1>e?1:e>r?r:e,year:a,month:1>b?1:12l?0:23m?0:59n?0:59p?0:999