/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/qth-locator@2.1.0/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var CHAR_CODE_OFFSET=65,isValidLocatorString=function(a){return null!==a.match(/^[A-Ra-r][A-Ra-r]\d\d[A-Xa-x][A-Xa-x]/)},charToNumber=function(a){return a.toUpperCase().charCodeAt(0)-CHAR_CODE_OFFSET},numberToChar=function(a){return String.fromCharCode(a+CHAR_CODE_OFFSET)},locatorToLatLng=function(a){if(!isValidLocatorString(a+="ll"))throw new Error("Input is not valid locator string");var t=20*charToNumber(a[0]),r=10*charToNumber(a[1]),o=2*Number.parseInt(a[2]),n=Number.parseInt(a[3]),e=(charToNumber(a[4])+.5)/12;return[r+n+(charToNumber(a[5])+.5)/24-90,t+o+e-180]},degToRad=function(a){return a%360*Math.PI/180},radToDeg=function(a){return a/Math.PI*180%360},bearingDistance=function(a,t){var r=locatorToLatLng(a),o=locatorToLatLng(t),n=degToRad(o[0]-r[0]),e=degToRad(o[1]-r[1]),i=degToRad(r[0]),c=degToRad(o[0]),h=Math.pow(Math.sin(n/2),2)+Math.pow(Math.sin(e/2),2)*Math.cos(i)*Math.cos(c),u=2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),s=e*Math.cos(i)*Math.cos(c),d=Math.sin(c)-Math.sin(i)*Math.cos(u),T=Math.atan2(s,d);return T<0&&(T+=2*Math.PI),{km:6371*u,deg:radToDeg(T)}},distance=function(a,t){return bearingDistance(a,t).km},isValidPoint=function(a,t){return a>=-90&&a<=90&&t>=-180&&t<=180},latLngToLocator=function(a,t){if(!isValidPoint(a,t))throw new Error("Input is not a valid coordinate");var r=t+180,o=a+90,n=numberToChar(Math.floor(r/20)),e=numberToChar(Math.floor(o/10)),i=Math.floor(r%20/2),c=Math.floor(o%10);return n+e+i+c+numberToChar(Math.floor(r%20%2*12)).toLowerCase()+numberToChar(24*(o%10-c)).toLowerCase()};module.exports={isValidLocatorString:isValidLocatorString,locatorToLatLng:locatorToLatLng,distance:distance,bearingDistance:bearingDistance,latLngToLocator:latLngToLocator};
//# sourceMappingURL=/sm/dd351ee0989f995dc48b96adbab49a5c238c79d22d5c28fef77ec7f5346860f2.map