"use strict";!function(o){DRTS.Location.api._getGeocodingAddressFormat=function(){return DRTS_Location_nominatimGeocoding.addressFormat},DRTS.Location.api._geocode=function(e,r,n){var t={format:"json",limit:1,q:e,"accept-language":DRTS_Location_nominatimGeocoding.language};console.log("Nominatim geocoding request:",t),o.getJSON("https://nominatim.openstreetmap.org/search",t).done((function(o){if(console.log("Nominatim geocoding results:",o),!o.length){var e=new Error(DRTS_Location_apiErrors["Geocoder returned no address components."]);if(n)return void n(e);throw e}r([o[0].lat,o[0].lon])})).fail((function(o,e,r){var t=new Error(DRTS.sprintf(DRTS_Location_apiErrors["Geocoder failed due to: %s"],r+"("+e+")"));if(!n)throw t;n(t)}))},DRTS.Location.api._reverseGeocode=function(e,r,n){var t={format:"json",addressdetails:1,zoom:18,lat:e[0],lon:e[1],"accept-language":DRTS_Location_nominatimGeocoding.language};console.log("Nominatim reverse geocoding request:",t),o.getJSON("https://nominatim.openstreetmap.org/reverse",t).done((function(o){if(console.log("Nominatim reverse geocoding results:",o),o.error){var e=new Error(o.error);if(n)return void n(e);throw e}if(!1 in o||!1 in o){var t=new Error(DRTS_Location_apiErrors["Geocoder returned no address components."]);if(n)return void n(t);throw t}var i={address:o.display_name,viewport:[o.boundingbox[0],o.boundingbox[2],o.boundingbox[1],o.boundingbox[3]]};for(var a in o.address)switch(a){case"road":i.street=o.address[a];break;case"village":i.city=o.address[a];break;case"state":i.province=o.address[a];break;case"postcode":i.zip=o.address[a];break;case"country_code":i.country=o.address[a].toUpperCase();break;default:i[a]=o.address[a]}"house_number"in i&&"street"in i&&(DRTS_Location_nominatimGeocoding.house_number_pos&&"after"===DRTS_Location_nominatimGeocoding.house_number_pos?i.street=i.street+" "+i.house_number:i.street=i.house_number+" "+i.street),r(i)})).fail((function(o,e,r){var t=new Error(DRTS.sprintf(DRTS_Location_apiErrors["Geocoder failed due to: %s"],r+"("+e+")"));if(!n)throw t;n(t)}))}}(jQuery);