@tomtom-org/maps-sdk 0.46.4 → 0.46.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [0.46.5](https://github.com/tomtom-internal/maps-sdk-js/compare/v0.46.4...v0.46.5) (2026-03-17)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * add thumbnails for nodejs examples ([de8c4ed](https://github.com/tomtom-internal/maps-sdk-js/commit/de8c4ed17163f1e982b11805401455629e5b8211))
11
+
5
12
  ## [0.46.4](https://github.com/tomtom-internal/maps-sdk-js/compare/v0.46.3...v0.46.4) (2026-03-17)
6
13
 
7
14
 
@@ -1,2 +1,2 @@
1
- import{nearestPointOnLine as A}from"@turf/turf";import{isNil as E}from"lodash-es";var R={commonBaseURL:"https://api.tomtom.com",apiKey:"",apiVersion:1},T=class A{static{this.instance=new A}constructor(){this.config={...R}}put(A){this.config={...this.config,...A}}reset(){this.config={...R}}get(){return this.config}},_=(A={})=>({...T.instance.get(),...A}),I=["Public","Authorized","Restricted","Private","Unknown"],N=["Available","Reserved","Occupied","OutOfService","Unknown"],S=["ChargingProfileCapable","ChargingPreferencesCapable","ChipCardSupport","ContactlessCardSupport","CreditCardPayable","DebitCardPayable","PedTerminal","RemoteStartStopCapable","Reservable","RfidReader","StartSessionConnectorRequired","TokenGroupCapable","UnlockCapable","PlugAndCharge","Unknown"],O=["EvOnly","Plugged","Disabled","Customers","Motorcycles"],C=["StandardHouseholdCountrySpecific","IEC62196Type1","IEC62196Type1CCS","IEC62196Type2CableAttached","IEC62196Type2Outlet","IEC62196Type2CCS","IEC62196Type3","Chademo","GBT20234Part2","GBT20234Part3","IEC60309AC3PhaseRed","IEC60309AC1PhaseBlue","IEC60309DCWhite","Tesla"],L=["AC1","AC3","DC"],U=["Country","CountrySubdivision","CountrySecondarySubdivision","CountryTertiarySubdivision","Municipality","MunicipalitySubdivision","Neighbourhood","PostalCodeArea"],e=["POI","Street","Geography","Point Address","Address Range","Cross Street"],t=["ACCESS_GATEWAY","ADVENTURE_SPORTS_FACILITY","ADVENTURE_SPORTS_VENUE","ADVENTURE_VEHICLE_TRAIL","ADVERTISING_COMPANY","AFGHAN_RESTAURANT","AFRICAN_RESTAURANT","AGRICULTURAL_BUSINESS","AGRICULTURAL_SUPPLIES","AGRICULTURAL_TECHNOLOGY","AGRICULTURE","AIRFIELD","AIRLINE_ACCESS","AIRLINE_COMPANY","AIRPORT","AMBULANCE_UNIT","AMERICAN_RESTAURANT","AMPHITHEATER","AMUSEMENT_PARK","AMUSEMENT_PLACE","ANIMAL_SERVICES","ANIMAL_SHELTER","ANTIQUE_ART_SHOP","APARTMENT_RENTAL","AQUATIC_ZOO","ARABIAN_RESTAURANT","ARBORETA_BOTANICAL_GARDENS","ARCH","ARMENIAN_RESTAURANT","ART_SCHOOL","ASIAN_RESTAURANT","ATHLETICS_TRACK","ATM","ATV_DEALER","AUSTRALIAN_RESTAURANT","AUSTRIAN_RESTAURANT","AUTOMOBILE_COMPANY","AUTOMOBILE_MANUFACTURING","AUTOMOTIVE_DEALER","BAGS_LEATHERWEAR","BAKERY","BANK","BANQUET_ROOMS","BAR","BARBECUE_RESTAURANT","BASEBALL_PARK","BASKETBALL_ARENA","BASQUE_RESTAURANT","BATTLEFIELD","BAY","BEACH","BEACH_CLUB","BEAUTY_SALON","BEAUTY_SUPPLIES","BELGIAN_RESTAURANT","BETTING_STATION","BISTRO","BLOOD_BANK","BOATING_EQUIPMENT_ACCESSORIES","BOAT_DEALER","BOAT_LAUNCHING_RAMP","BODYSHOP","BOLIVIAN_RESTAURANT","BOOK_SHOP","BOWLING_CENTER","BRAZILIAN_RESTAURANT","BRIDGE","BRITISH_RESTAURANT","BUFFET_RESTAURANT","BUILDING","BULGARIAN_RESTAURANT","BUNGALOW_RENTAL","BURMESE_RESTAURANT","BUSINESS_PARK","BUSINESS_SERVICES","BUS_CHARTER_COMPANY","BUS_DEALER","BUS_LINES","BUS_STOP","BUTCHER","B_B_GUEST_HOUSE","CABARET_THEATER","CABINS_LODGES","CABLE_TELEPHONE_COMPANY","CAFE","CAFETERIA","CAFE_PUB","CALIFORNIAN_RESTAURANT","CAMBODIAN_RESTAURANT","CAMERAS_PHOTOGRAPHY","CAMPING_GROUND","CANADIAN_RESTAURANT","CAPE","CARAVAN_SITE","CARIBBEAN_RESTAURANT","CARPET_FLOOR_COVERINGS","CAR_DEALER","CAR_GLASS_REPLACEMENT_SHOP","CAR_REPAIR_AND_SERVICE","CAR_WASH","CASH_DISPENSER","CASINO","CATERING_SERVICES","CAVE","CEMETERY","CHALET_RENTAL","CHEMICAL_COMPANY","CHICKEN_RESTAURANT","CHILDRENS_CLOTHES","CHILD_CARE_FACILITY","CHINESE_RESTAURANT","CHRISTMAS_HOLIDAY_SHOP","CHURCH","CINEMA","CLEANING_SERVICES","CLOTHING_SHOP","CLUB_ASSOCIATION","COCKTAIL_BAR","COFFEE_SHOP","COLLEGE_OR_UNIVERSITY","COLLEGE_UNIVERSITY","COLOMBIAN_RESTAURANT","COMEDY_CLUB","COMMERCIAL_BUILDING","COMMUNITY_CENTER","COMPANY","COMPUTER_COMPUTER_SUPPLIES","COMPUTER_DATA_SERVICES","CONCERT_HALL","CONSTRUCTION_COMPANY","CONSTRUCTION_MATERIAL_EQUIPMENT","CONSUMER_ELECTRONICS","CONVENIENCE_STORE","CORSICAN_RESTAURANT","COTTAGE_RENTAL","COURIER_DROP_BOX","COURTHOUSE","COVE","CREOLE_RESTAURANT","CREPERIE","CRICKET_GROUND","CUBAN_RESTAURANT","CULTURAL_CENTER","CURRENCY_EXCHANGE","CURTAINS_TEXTILES","CZECH_RESTAURANT","C_DS_DVD_VIDEOS","DAM","DANCE_STUDIO_SCHOOL","DANISH_RESTAURANT","DELICATESSEN","DELIVERY_SERVICE","DENTIST","DEPARTMENT_STORE","DINNER_THEATER","DISCO_CLUB","DIVERSIFIED_FINANCIALS","DOCTOR","DONGBEI_RESTAURANT","DOUGHNUT_RESTAURANT","DO_IT_YOURSELF_CENTERS","DRIVE_IN_MOVIES","DRIVE_THROUGH_BOTTLE_SHOP","DRIVING_SCHOOL","DRUG_STORE","DRY_CLEANER","DUNE","DUTCH_RESTAURANT","EGYPTIAN_RESTAURANT","ELECTRICAL_APPLIANCES_SHOP","ELECTRIC_VEHICLE_STATION","ELECTRONICS_COMPANY","EMBASSY","EMERGENCY_MEDICAL_SERVICE","EMERGENCY_ROOM","ENGLISH_RESTAURANT","ENTERTAINMENT","EQUIPMENT_RENTAL","ETHIOPIAN_RESTAURANT","EXCHANGE","EXHIBITION_CONVENTION_CENTER","FACTORY_OUTLET","FAIRGROUND","FARM","FARMERS_MARKET","FAST_FOOD","FERRY_TERMINAL","FINNISH_RESTAURANT","FIRE_STATION_BRIGADE","FISHING_HUNTING_AREA","FISHMONGER","FITNESS_CLUB_CENTER","FLATS_APARTMENT_COMPLEX","FLORISTS","FONDUE_RESTAURANT","FOOD_MARKET","FOOTBALL_STADIUM","FOOTWEAR_SHOE_REPAIRS","FOREST_AREA","FRENCH_RESTAURANT","FRONTIER_CROSSING","FUEL_FACILITIES","FUNERAL_SERVICE_MORTUARIES","FURNITURE_HOME_FURNISHINGS","FUSION_RESTAURANT","GARDEN_CENTERS_SERVICES","GAS_STATION","GENERAL_HOSPITAL_AND_POLYCLINIC","GENERAL_PRACTITIONER","GEOGRAPHIC_FEATURE","GERMAN_RESTAURANT","GIFTS_CARDS_NOVELTIES_SOUVENIRS","GLASSWARE_CERAMIC_SHOP","GLASS_WINDOWS_STORE","GOLD_EXCHANGE","GOLF_COURSE","GOVERNMENT_OFFICE","GREEK_RESTAURANT","GREENGROCER","GRILL_RESTAURANT","GROCERY_STORE","GURUDWARA","HAIRDRESSER","HAMBURGER_RESTAURANT","HARBOR","HARDWARE_STORE","HAWAIIAN_RESTAURANT","HEALTH_CARE_SERVICE","HELIPAD_HELICOPTER_LANDING","HIGH_SCHOOL","HIKING_TRAIL","HILL","HISTORICAL_PARK","HISTORIC_SITE","HOBBY_SHOP","HOCKEY_CLUB","HOLIDAY_RENTAL","HOME_APPLIANCE_REPAIR","HORSE_RACING_TRACK","HORSE_RIDING_CENTER","HORSE_RIDING_TRAIL","HORTICULTURE","HOSPITAL","HOSPITAL_FOR_WOMEN_AND_CHILDREN","HOSPITAL_OF_CHINESE_MEDICINE","HOSPITAL_POLYCLINIC","HOSTEL","HOTEL","HOTEL_MOTEL","HOT_POT_RESTAURANT","HOUSE_GARDEN_FURNITURE_FITTINGS","HUNAN_RESTAURANT","HUNGARIAN_RESTAURANT","ICE_CREAM_PARLOR","ICE_HOCKEY_ARENA","ICE_SKATING_RINK","IMPORTANT_TOURIST_ATTRACTION","IMPORT_EXPORT_AND_DISTRIBUTION","INDIAN_RESTAURANT","INDONESIAN_RESTAURANT","INDUSTRIAL_BUILDING","INFORMAL_MARKET","INSURANCE_COMPANY","INTERNATIONAL_RAILROAD_STATION","INTERNATIONAL_RESTAURANT","INTERNET_CAFE","INVESTMENT_ADVISOR","IRANIAN_RESTAURANT","IRISH_RESTAURANT","ISLAND","ISRAELI_RESTAURANT","ITALIAN_RESTAURANT","JAMAICAN_RESTAURANT","JAPANESE_RESTAURANT","JAZZ_CLUB","JEWELRY_CLOCKS_WATCHES","JEWISH_RESTAURANT","JUNIOR_COLLEGE_COMMUNITY_COLLEGE","KARAOKE_CLUB","KITCHENS_BATHROOMS","KOREAN_RESTAURANT","KOSHER_RESTAURANT","LANGUAGE_SCHOOL","LATIN_AMERICAN_RESTAURANT","LAUNDRY","LEBANESE_RESTAURANT","LEGAL_SERVICES","LEISURE_CENTER","LIBRARY","LIGHTING_SHOPS","LOCALE","LOCAL_SPECIALITIES_SHOP","LOTTERY_SHOP","MANUFACTURING_COMPANY","MANUFACTURING_FACILITY","MARIJUANA_DISPENSARY","MARINA","MARKET","MARSH","MAUSOLEUM_GRAVE","MECHANICAL_ENGINEERING","MEDIA_FACILITY","MEDICAL_SUPPLIES_EQUIPMENT","MEDICINAL_MARIJUANA_DISPENSARY","MEDITERRANEAN_RESTAURANT","MEMORIAL","MENS_CLOTHING","MEXICAN_RESTAURANT","MICROBREWERY","MIDDLE_EASTERN_RESTAURANT","MIDDLE_SCHOOL","MILITARY_AIRPORT","MINERAL_HOT_SPRINGS","MINING_COMPANY","MOBILE_PHONE_SHOP","MONGOLIAN_RESTAURANT","MONUMENT","MOROCCAN_RESTAURANT","MOSQUE","MOTEL","MOTORCYCLE_DEALER","MOTORCYCLE_REPAIR","MOTORING_ORGANIZATION_OFFICE","MOTOR_RACING_STADIUM","MOUNTAIN_BIKE_TRAIL","MOUNTAIN_PASS","MOUNTAIN_PEAK","MOVIE_THEATER","MOVING_STORAGE_COMPANY","MULTI_PURPOSE_STADIUM","MUSEUM","MUSIC_CENTER","MUSIC_INSTRUMENTS_STORE","NAIL_SALON","NATIONAL_RAILROAD_STATION","NATIVE_RESERVATION","NATURAL_TOURIST_ATTRACTION","NEPALESE_RESTAURANT","NETBALL_STADIUM","NEWSAGENTS_TOBACCONISTS","NIGHTLIFE","NON_GOVERNMENTAL_ORGANIZATION","NORWEGIAN_RESTAURANT","OASIS","OBSERVATORY","OFFICE_EQUIPMENT","OIL_NATURAL_GAS","OPEN_CAR_PARKING_AREA","OPEN_PARKING_AREA","OPERA_HOUSE","OPTICIAN","ORGANIC_FOOD_RESTAURANT","ORIENTAL_RESTAURANT","OTHER_FOOD_SHOPS","OTHER_WINTER_SPORT","PAGODA","PAINTING_DECORATING","PAKISTANI_RESTAURANT","PARK","PARKING_GARAGE","PARKWAY","PARK_RECREATION_AREA","PASSENGER_TRANSPORT_TICKET_OFFICE","PAWN_SHOP","PERSONAL_CARE_FACILITY","PERSONAL_SERVICE","PERUVIAN_RESTAURANT","PETROL_STATION","PET_SUPPLIES","PHARMACEUTICAL_COMPANY","PHARMACY","PHILIPPINE_RESTAURANT","PHOTOCOPY_SHOP","PHOTO_LAB_DEVELOPMENT","PICNIC_AREA","PIZZERIA","PLACE_OF_WORSHIP","PLAIN_FLAT","PLANETARIUM","PLATEAU","POLICE_STATION","POLISH_RESTAURANT","POLYNESIAN_RESTAURANT","PORTUGUESE_RESTAURANT","PORT_WAREHOUSE_FACILITY","POST_OFFICE","PRE_SCHOOL","PRIMARY_PRODUCER","PRIMARY_RESOURCE_UTILITY","PRIMARY_SCHOOL","PRISON_CORRECTIONAL_FACILITY","PRIVATE_AIRPORT","PROTECTED_AREA","PUB","PUBLIC_AIRPORT","PUBLIC_AMENITY","PUBLIC_CALL_BOX","PUBLIC_MARKET","PUBLIC_TOILET","PUBLIC_TRANSPORT_STOP","PUBLISHING_TECHNOLOGIES","PUB_FOOD","QUARRY","RACE_TRACK","RAILWAY_STATION","RAPIDS","REAL_ESTATE_AGENT","REAL_ESTATE_COMPANY","RECREATIONAL_CAMPING_GROUND","RECREATIONAL_MARIJUANA_DISPENSARY","RECREATIONAL_VEHICLE_DEALER","RECREATION_AREA","RECYCLING_SHOP","REEF","RENT_A_CAR_FACILITY","RENT_A_CAR_PARKING","REPAIR_FACILITY","REPAIR_SHOP","RESEARCH_FACILITY","RESERVOIR","RESIDENTIAL_ACCOMMODATION","RESORT","RESTAURANT","RESTAURANT_AREA","REST_AREA","REST_CAMP","RETAIL_OUTLET","RETIREMENT_COMMUNITY","RIDGE","RIVER_CROSSING","ROAD_RESCUE","ROAD_TRAFFIC_CONTROL_CENTER","ROCKS","ROCK_CLIMBING_TRAIL","RUGBY_GROUND","RUSSIAN_RESTAURANT","SALAD_BAR","SANDWICH_RESTAURANT","SAUNA_SOLARIUM_MASSAGE","SCANDINAVIAN_RESTAURANT","SCENIC_PANORAMIC_VIEW","SCHOOL","SEAFOOD","SECURED_ENTRANCE","SECURITY_PRODUCTS","SENIOR_HIGH_SCHOOL","SERVICE_COMPANY","SHANDONG_RESTAURANT","SHOP","SHOPPING_CENTER","SHOPPING_SERVICE","SICHUAN_RESTAURANT","SKI_RESORT","SNACKS_RESTAURANT","SNOOKER_POOL_BILLIARD","SOCCER_STADIUM","SOFTWARE_COMPANY","SOUL_FOOD","SOUP_RESTAURANT","SPANISH_RESTAURANT","SPECIALIST","SPECIALTY_CLOTHING_SHOP","SPECIALTY_FOODS","SPECIAL_HOSPITAL","SPORTS_CENTER","SPORTS_EQUIPMENT_CLOTHING","STADIUM","STATION_ACCESS","STATUE","STEAK_HOUSE","STOCK_EXCHANGE","STREETCAR_STOP","SUBWAY_STATION","SUPERMARKETS_HYPERMARKETS","SUSHI_RESTAURANT","SWEDISH_RESTAURANT","SWIMMING_POOL","SWISS_RESTAURANT","SYNAGOG","SYRIAN_RESTAURANT","TAILOR_SHOP","TAIWANESE_RESTAURANT","TAKEOUT_FOOD","TAPAS_RESTAURANT","TAXI_LIMOUSINE_SHUTTLE_SERVICE","TAXI_STAND","TAX_SERVICES","TEA_HOUSE","TELECOMMUNICATIONS","TEMPLE","TENNIS_COURT","TEPPANYAKI_RESTAURANT","THAI_RESTAURANT","THEATER","THEMATIC_SPORT_CENTER","TIBETAN_RESTAURANT","TIRE_SERVICE","TOLL_GATE","TOURIST_ATTRACTION","TOURIST_INFORMATION_OFFICE","TOWER","TOYS_GAMES_SHOP","TRAFFIC_CONTROL_DEPARTMENT","TRAFFIC_SERVICE_CENTER","TRAILS","TRAIL_SYSTEM","TRANSPORT_AUTHORITY_VEHICLE_REGISTRATION","TRANSPORT_COMPANY","TRAVEL_AGENT","TRUCK_DEALER","TRUCK_REPAIR_AND_SERVICE","TRUCK_STOP","TUNISIAN_RESTAURANT","TUNNEL","TURKISH_RESTAURANT","URBAN_STATION","VACATION_RENTAL","VALLEY","VAN_DEALER","VARIETY_STORE","VEGETARIAN_RESTAURANT","VENEZUELAN_RESTAURANT","VETERINARIAN","VIDEO_RENTAL_SHOP","VIETNAMESE_RESTAURANT","VILLA_RENTAL","VOCATIONAL_SCHOOL","WATER_HOLE","WATER_SPORT","WEDDING_SERVICES","WEIGH_STATION","WELFARE_ORGANIZATION","WELL","WESTERN_RESTAURANT","WHOLESALE_CLUB","WILDERNESS_AREA","WILDLIFE_PARK","WINERY","WINE_SPIRITS","WOMENS_CLOTHING","YACHT_BASIN","YOGURT_JUICE_BAR","ZOO","ZOOS_ARBORETA_BOTANICAL_GARDEN"],P=["Small_Paddle_Inductive","Large_Paddle_Inductive","IEC_60309_1_Phase","IEC_60309_3_Phase","IEC_62196_Type_1_Outlet","IEC_62196_Type_2_Outlet","IEC_62196_Type_3_Outlet","IEC_62196_Type_1_Connector_Cable_Attached","IEC_62196_Type_2_Connector_Cable_Attached","IEC_62196_Type_3_Connector_Cable_Attached","Combo_to_IEC_62196_Type_1_Base","Combo_to_IEC_62196_Type_2_Base","Type_E_French_Standard_CEE_7_5","Type_F_Schuko_CEE_7_4","Type_G_British_Standard_BS_1363","Type_J_Swiss_Standard_SEV_1011","China_GB_Part_2","China_GB_Part_3","IEC_309_DC_Plug","AVCON_Connector","Tesla_Connector","NEMA_5_20","CHAdeMO","SAE_J1772","TEPCO","Better_Place_Socket","Marechal_Socket","Standard_Household_Country_Specific"],r=["No_Payment","Subscription","Direct"],n=["tollRoads","motorways","ferries","unpavedRoads","carpools","alreadyUsedRoads","borderCrossings","tunnels","carTrains","lowEmissionZones"],M=["carpool","carTrain","country","ferry","importantRoadStretch","lowEmissionZone","motorway","pedestrian","roadShields","speedLimit","toll","tollVignette","traffic","tunnel","unpaved","urban","vehicleRestricted"],o=[...M,"lanes"],H=[...o,"leg"],i=["accident","animals-on-road","broken-down-vehicle","danger","flooding","fog","frost","jam","lane-closed","narrow-lanes","other","rain","road-closed","roadworks","wind"],a=["Unified","AR","IN","PK","IL","MA","RU","TR","CN"],G=A=>!!A&&(A.length>=4&&A[3]!==A[1]&&A[2]!==A[0]),D=A=>G(A)?A:void 0,s=(A,E)=>{if(A&&!(A.length<2))return E?[E[0]>A[0]?A[0]:E[0],E[1]>A[1]?A[1]:E[1],E[2]<A[0]?A[0]:E[2],E[3]<A[1]?A[1]:E[3]]:[A[0],A[1],A[0],A[1]]},B=(A,E)=>E&&A?[E[0]>A[0]?A[0]:E[0],E[1]>A[1]?A[1]:E[1],E[2]<A[2]?A[2]:E[2],E[3]<A[3]?A[3]:E[3]]:A||E,d=A=>A?.length?A.reduce((A,E)=>B(E,A)):void 0,c=A=>{const E=A?.length;if(!E)return;let R;const T=Math.ceil(E/1e3);for(let _=0;_<E;_+=T)R=s(A[_],R);return 1===T?R:s(A[E-1],R)},F=A=>{if(A){if(Array.isArray(A))return"number"==typeof A[0]?A.length>=4?A:void 0:d(A.map(A=>F(A)));if(A.bbox)return A.bbox;switch(A.type){case"Feature":return F(A.geometry);case"FeatureCollection":return d(A.features.map(F));case"GeometryCollection":return d(A.geometries.map(F));case"Point":return s(A.coordinates);case"LineString":case"MultiPoint":return c(A.coordinates);case"MultiLineString":case"Polygon":return d(A.coordinates.map(c));case"MultiPolygon":return d(A.coordinates.flatMap(A=>A.map(c)));default:return}}},Y=(A,E)=>B(F(A),E),V=A=>[(A[0]+A[2])/2,(A[1]+A[3])/2],l=A=>{const[E,R,T,_]=A;return{type:"Feature",geometry:{type:"Polygon",coordinates:[[[E,R],[T,R],[T,_],[E,_],[E,R]]]},properties:{}}},u=()=>Date.now().toString(36)+Math.random().toString(36).substring(2),p="MapsSDKJS",K=A=>{if(!/^[a-zA-Z0-9-]{1,100}$/.test(A))throw new TypeError(`a string matching regular expression ^[a-zA-Z0-9-]{1,100}$ is expected, but ${A} ['${typeof A}'] given`);return A},m=A=>({"tomtom-user-agent":A["tomtom-user-agent"]??"MapsSDKJS/0.46.4",...A.trackingId&&{"Tracking-ID":K(A.trackingId)}}),h=(A,E)=>{if(A){if(Array.isArray(A))return A;if(A.coordinates)return A.coordinates;if(A.geometry)return"main-when-available"===E?.useEntryPoint?(R=A,R?.properties?.entryPoints?.find(A=>"main"===A.type))?.position??A.geometry.coordinates:A.geometry.coordinates}var R;return null},W=(A,E)=>{const R=h(A,E);if(!R)throw new Error(`The received object does not have lng-lat coordinates: ${JSON.stringify(A)}`);return R},g=A=>({type:"Point",coordinates:A}),y=A=>({type:"Feature",geometry:g(A),properties:{}}),f={ROAD_TRAFFIC_CONTROL_CENTER:7301,TRAFFIC_CONTROL_DEPARTMENT:7301002,TRAFFIC_SERVICE_CENTER:7301002,TRAIL_SYSTEM:7302,TRAILS:7302,MOUNTAIN_BIKE_TRAIL:7302002,ADVENTURE_VEHICLE_TRAIL:7302003,HIKING_TRAIL:7302004,HORSE_RIDING_TRAIL:7302005,ROCK_CLIMBING_TRAIL:7302006,RESIDENTIAL_ACCOMMODATION:7303,RETIREMENT_COMMUNITY:7303002,FLATS_APARTMENT_COMPLEX:7303003,HOLIDAY_RENTAL:7304,VACATION_RENTAL:7304,COTTAGE_RENTAL:7304002,VILLA_RENTAL:7304003,BUNGALOW_RENTAL:7304004,CHALET_RENTAL:7304005,APARTMENT_RENTAL:7304006,ADVENTURE_SPORTS_FACILITY:7305,ADVENTURE_SPORTS_VENUE:7305,HELIPAD_HELICOPTER_LANDING:7308,ELECTRIC_VEHICLE_STATION:7309,REPAIR_FACILITY:7310,REPAIR_SHOP:7310,BODYSHOP:7310002,CAR_GLASS_REPLACEMENT_SHOP:7310003,CAR_REPAIR_AND_SERVICE:7310004,TIRE_SERVICE:7310007,MOTORCYCLE_REPAIR:7310008,TRUCK_REPAIR_AND_SERVICE:7310009,FUEL_FACILITIES:7311,GAS_STATION:7311,PETROL_STATION:7311,RENT_A_CAR_FACILITY:7312,PARKING_GARAGE:7313,HOTEL_MOTEL:7314,B_B_GUEST_HOUSE:7314002,HOTEL:7314003,HOSTEL:7314004,RESORT:7314005,MOTEL:7314006,CABINS_LODGES:7314007,REST_CAMP:7314008,RESTAURANT:7315,AFRICAN_RESTAURANT:7315002,AMERICAN_RESTAURANT:7315003,AUSTRIAN_RESTAURANT:7315004,BARBECUE_RESTAURANT:7315005,BELGIAN_RESTAURANT:7315006,BISTRO:7315007,BRITISH_RESTAURANT:7315008,CALIFORNIAN_RESTAURANT:7315009,CANADIAN_RESTAURANT:7315010,CARIBBEAN_RESTAURANT:7315011,CHINESE_RESTAURANT:7315012,CREPERIE:7315013,DUTCH_RESTAURANT:7315014,FAST_FOOD:7315015,PHILIPPINE_RESTAURANT:7315016,FRENCH_RESTAURANT:7315017,GERMAN_RESTAURANT:7315018,GREEK_RESTAURANT:7315019,GRILL_RESTAURANT:7315020,HAWAIIAN_RESTAURANT:7315021,HUNGARIAN_RESTAURANT:7315022,INDIAN_RESTAURANT:7315023,INDONESIAN_RESTAURANT:7315024,ITALIAN_RESTAURANT:7315025,JAPANESE_RESTAURANT:7315026,JEWISH_RESTAURANT:7315027,KOREAN_RESTAURANT:7315028,LATIN_AMERICAN_RESTAURANT:7315029,LEBANESE_RESTAURANT:7315030,MEDITERRANEAN_RESTAURANT:7315032,MEXICAN_RESTAURANT:7315033,MIDDLE_EASTERN_RESTAURANT:7315034,ORIENTAL_RESTAURANT:7315035,PIZZERIA:7315036,POLISH_RESTAURANT:7315037,PORTUGUESE_RESTAURANT:7315038,PUB_FOOD:7315039,RUSSIAN_RESTAURANT:7315040,SANDWICH_RESTAURANT:7315042,SEAFOOD:7315043,SPANISH_RESTAURANT:7315044,STEAK_HOUSE:7315045,SWISS_RESTAURANT:7315047,THAI_RESTAURANT:7315048,TURKISH_RESTAURANT:7315049,VEGETARIAN_RESTAURANT:7315050,VIETNAMESE_RESTAURANT:7315051,HUNAN_RESTAURANT:7315052,SHANDONG_RESTAURANT:7315053,SICHUAN_RESTAURANT:7315056,DONGBEI_RESTAURANT:7315057,HOT_POT_RESTAURANT:7315058,TAIWANESE_RESTAURANT:7315059,WESTERN_RESTAURANT:7315060,PERUVIAN_RESTAURANT:7315061,ASIAN_RESTAURANT:7315062,CREOLE_RESTAURANT:7315063,SOUL_FOOD:7315064,IRISH_RESTAURANT:7315065,JAMAICAN_RESTAURANT:7315066,KOSHER_RESTAURANT:7315067,CZECH_RESTAURANT:7315068,HAMBURGER_RESTAURANT:7315069,CHICKEN_RESTAURANT:7315070,FUSION_RESTAURANT:7315071,BRAZILIAN_RESTAURANT:7315072,INTERNATIONAL_RESTAURANT:7315073,MOROCCAN_RESTAURANT:7315074,ORGANIC_FOOD_RESTAURANT:7315075,TAPAS_RESTAURANT:7315076,ICE_CREAM_PARLOR:7315078,DOUGHNUT_RESTAURANT:7315079,AFGHAN_RESTAURANT:7315081,ARABIAN_RESTAURANT:7315083,ARMENIAN_RESTAURANT:7315085,AUSTRALIAN_RESTAURANT:7315086,BASQUE_RESTAURANT:7315087,BOLIVIAN_RESTAURANT:7315088,BULGARIAN_RESTAURANT:7315090,BURMESE_RESTAURANT:7315091,CAMBODIAN_RESTAURANT:7315092,COLOMBIAN_RESTAURANT:7315094,CORSICAN_RESTAURANT:7315095,CUBAN_RESTAURANT:7315096,DANISH_RESTAURANT:7315098,EGYPTIAN_RESTAURANT:7315100,ENGLISH_RESTAURANT:7315101,ETHIOPIAN_RESTAURANT:7315102,FINNISH_RESTAURANT:7315104,IRANIAN_RESTAURANT:7315105,ISRAELI_RESTAURANT:7315106,MONGOLIAN_RESTAURANT:7315110,NEPALESE_RESTAURANT:7315111,NORWEGIAN_RESTAURANT:7315112,SCANDINAVIAN_RESTAURANT:7315114,SWEDISH_RESTAURANT:7315119,SYRIAN_RESTAURANT:7315120,TEPPANYAKI_RESTAURANT:7315121,TIBETAN_RESTAURANT:7315122,TUNISIAN_RESTAURANT:7315123,VENEZUELAN_RESTAURANT:7315125,PAKISTANI_RESTAURANT:7315127,POLYNESIAN_RESTAURANT:7315129,FONDUE_RESTAURANT:7315134,SNACKS_RESTAURANT:7315139,SOUP_RESTAURANT:7315140,BUFFET_RESTAURANT:7315142,SALAD_BAR:7315143,TAKEOUT_FOOD:7315145,BANQUET_ROOMS:7315146,CAFETERIA:7315147,SUSHI_RESTAURANT:7315148,YOGURT_JUICE_BAR:7315149,TOURIST_INFORMATION_OFFICE:7316,MUSEUM:7317,THEATER:7318,CONCERT_HALL:7318002,MUSIC_CENTER:7318003,OPERA_HOUSE:7318004,CABARET_THEATER:7318006,AMPHITHEATER:7318007,DINNER_THEATER:7318008,CULTURAL_CENTER:7319,SPORTS_CENTER:7320,FITNESS_CLUB_CENTER:7320002,HORSE_RIDING_CENTER:7320003,THEMATIC_SPORT_CENTER:7320005,HOSPITAL:7321,HOSPITAL_POLYCLINIC:7321,GENERAL_HOSPITAL_AND_POLYCLINIC:7321002,SPECIAL_HOSPITAL:7321003,HOSPITAL_OF_CHINESE_MEDICINE:7321004,HOSPITAL_FOR_WOMEN_AND_CHILDREN:7321005,POLICE_STATION:7322,POST_OFFICE:7324,PHARMACY:7326,DEPARTMENT_STORE:7327,BANK:7328,MARKET:7332,INFORMAL_MARKET:7332002,PUBLIC_MARKET:7332003,FARMERS_MARKET:7332004,SUPERMARKETS_HYPERMARKETS:7332005,AGRICULTURAL_BUSINESS:7335,AGRICULTURE:7335,HORTICULTURE:7335002,PRIMARY_PRODUCER:7335003,FARM:7335004,SCENIC_PANORAMIC_VIEW:7337,SWIMMING_POOL:7338,PLACE_OF_WORSHIP:7339,CHURCH:7339002,MOSQUE:7339003,SYNAGOG:7339004,TEMPLE:7339005,GURUDWARA:7339006,PAGODA:7339008,CASINO:7341,CINEMA:7342,MOVIE_THEATER:7342,DRIVE_IN_MOVIES:7342003,MARINA:7347,YACHT_BASIN:7347003,WINERY:7349,FERRY_TERMINAL:7352,TRUCK_STOP:7358,WEIGH_STATION:7359,CAMPING_GROUND:7360,RECREATIONAL_CAMPING_GROUND:7360002,CARAVAN_SITE:7360003,COMMUNITY_CENTER:7363,EMBASSY:7365,FRONTIER_CROSSING:7366,GOVERNMENT_OFFICE:7367,MOTORING_ORGANIZATION_OFFICE:7368,OPEN_PARKING_AREA:7369,OPEN_CAR_PARKING_AREA:7369002,SCHOOL:7372,CHILD_CARE_FACILITY:7372003,PRE_SCHOOL:7372004,PRIMARY_SCHOOL:7372005,HIGH_SCHOOL:7372006,SENIOR_HIGH_SCHOOL:7372007,VOCATIONAL_SCHOOL:7372008,LANGUAGE_SCHOOL:7372010,ART_SCHOOL:7372012,MIDDLE_SCHOOL:7372014,DRIVING_SCHOOL:7372016,SHOPPING_CENTER:7373,STADIUM:7374,ATHLETICS_TRACK:7374002,CRICKET_GROUND:7374003,SOCCER_STADIUM:7374004,HORSE_RACING_TRACK:7374005,MULTI_PURPOSE_STADIUM:7374006,RUGBY_GROUND:7374007,ICE_HOCKEY_ARENA:7374008,BASEBALL_PARK:7374009,FOOTBALL_STADIUM:7374010,MOTOR_RACING_STADIUM:7374011,BASKETBALL_ARENA:7374012,RACE_TRACK:7374013,NETBALL_STADIUM:7374014,TOLL_GATE:7375,IMPORTANT_TOURIST_ATTRACTION:7376,TOURIST_ATTRACTION:7376,BUILDING:7376002,MONUMENT:7376003,NATURAL_TOURIST_ATTRACTION:7376004,OBSERVATORY:7376005,PLANETARIUM:7376006,DAM:7376007,TUNNEL:7376008,TOWER:7376009,BRIDGE:7376010,MAUSOLEUM_GRAVE:7376011,ARCH:7376012,STATUE:7376013,WATER_HOLE:7376014,COLLEGE_UNIVERSITY:7377,COLLEGE_OR_UNIVERSITY:7377002,JUNIOR_COLLEGE_COMMUNITY_COLLEGE:7377003,BUSINESS_PARK:7378,RAILWAY_STATION:7380,INTERNATIONAL_RAILROAD_STATION:7380002,NATIONAL_RAILROAD_STATION:7380003,URBAN_STATION:7380004,SUBWAY_STATION:7380005,AIRPORT:7383,PUBLIC_AIRPORT:7383002,PRIVATE_AIRPORT:7383003,MILITARY_AIRPORT:7383004,AIRFIELD:7383005,COURIER_DROP_BOX:7388,ACCESS_GATEWAY:7389,AIRLINE_ACCESS:7389002,STATION_ACCESS:7389003,SECURED_ENTRANCE:7389004,EMERGENCY_MEDICAL_SERVICE:7391,FIRE_STATION_BRIGADE:7392,REST_AREA:7395,ATM:7397,CASH_DISPENSER:7397,GEOGRAPHIC_FEATURE:8099,MOUNTAIN_PEAK:8099002,CAVE:8099003,RIDGE:8099004,DUNE:8099005,VALLEY:8099006,PLAIN_FLAT:8099007,PLATEAU:8099008,WELL:8099010,OASIS:8099011,ROCKS:8099012,RESERVOIR:8099013,REEF:8099014,RAPIDS:8099015,BAY:8099016,COVE:8099017,HARBOR:8099018,CAPE:8099020,MINERAL_HOT_SPRINGS:8099021,ISLAND:8099022,MARSH:8099023,RIVER_CROSSING:8099024,HILL:8099025,QUARRY:8099026,LOCALE:8099027,PRIMARY_RESOURCE_UTILITY:9150,TRANSPORT_AUTHORITY_VEHICLE_REGISTRATION:9151,NON_GOVERNMENTAL_ORGANIZATION:9152,WELFARE_ORGANIZATION:9153,PRISON_CORRECTIONAL_FACILITY:9154,CAR_WASH:9155,MANUFACTURING_FACILITY:9156,RESEARCH_FACILITY:9157,MEDIA_FACILITY:9158,PORT_WAREHOUSE_FACILITY:9159,EXCHANGE:9160,STOCK_EXCHANGE:9160002,GOLD_EXCHANGE:9160003,CURRENCY_EXCHANGE:9160004,COMPANY:9352,SERVICE_COMPANY:9352002,ADVERTISING_COMPANY:9352003,COMPUTER_DATA_SERVICES:9352004,SOFTWARE_COMPANY:9352005,DIVERSIFIED_FINANCIALS:9352006,INSURANCE_COMPANY:9352007,DELIVERY_SERVICE:9352008,REAL_ESTATE_COMPANY:9352009,MANUFACTURING_COMPANY:9352011,AGRICULTURAL_TECHNOLOGY:9352012,AUTOMOBILE_COMPANY:9352013,CHEMICAL_COMPANY:9352014,ELECTRONICS_COMPANY:9352015,MECHANICAL_ENGINEERING:9352016,PHARMACEUTICAL_COMPANY:9352018,PUBLISHING_TECHNOLOGIES:9352019,TELECOMMUNICATIONS:9352020,TAX_SERVICES:9352022,LEGAL_SERVICES:9352023,TRANSPORT_COMPANY:9352024,BUS_CHARTER_COMPANY:9352025,TAXI_LIMOUSINE_SHUTTLE_SERVICE:9352026,BUS_LINES:9352027,CLEANING_SERVICES:9352029,OIL_NATURAL_GAS:9352030,MINING_COMPANY:9352031,CONSTRUCTION_COMPANY:9352032,MOVING_STORAGE_COMPANY:9352033,AIRLINE_COMPANY:9352034,FUNERAL_SERVICE_MORTUARIES:9352036,INVESTMENT_ADVISOR:9352037,EQUIPMENT_RENTAL:9352038,BUSINESS_SERVICES:9352039,CABLE_TELEPHONE_COMPANY:9352040,AUTOMOBILE_MANUFACTURING:9352041,IMPORT_EXPORT_AND_DISTRIBUTION:9352042,CATERING_SERVICES:9352043,HOME_APPLIANCE_REPAIR:9352044,ANIMAL_SHELTER:9352045,WEDDING_SERVICES:9352046,BEACH:9357,RESTAURANT_AREA:9359,ICE_SKATING_RINK:9360,SHOP:9361,BOOK_SHOP:9361002,C_DS_DVD_VIDEOS:9361003,CHILDRENS_CLOTHES:9361004,FOOTWEAR_SHOE_REPAIRS:9361005,CLOTHING_SHOP:9361006,MENS_CLOTHING:9361007,WOMENS_CLOTHING:9361008,CONVENIENCE_STORE:9361009,DRY_CLEANER:9361010,CAMERAS_PHOTOGRAPHY:9361011,COMPUTER_COMPUTER_SUPPLIES:9361012,CONSUMER_ELECTRONICS:9361013,OFFICE_EQUIPMENT:9361014,REAL_ESTATE_AGENT:9361015,FACTORY_OUTLET:9361016,FLORISTS:9361017,BAKERY:9361018,BUTCHER:9361019,FISHMONGER:9361020,FOOD_MARKET:9361021,GREENGROCER:9361022,GROCERY_STORE:9361023,OTHER_FOOD_SHOPS:9361024,WINE_SPIRITS:9361025,GIFTS_CARDS_NOVELTIES_SOUVENIRS:9361026,HAIRDRESSER:9361027,CARPET_FLOOR_COVERINGS:9361028,CURTAINS_TEXTILES:9361029,DO_IT_YOURSELF_CENTERS:9361030,HOUSE_GARDEN_FURNITURE_FITTINGS:9361031,GARDEN_CENTERS_SERVICES:9361032,KITCHENS_BATHROOMS:9361033,LIGHTING_SHOPS:9361034,PAINTING_DECORATING:9361035,JEWELRY_CLOCKS_WATCHES:9361036,NEWSAGENTS_TOBACCONISTS:9361037,OPTICIAN:9361038,SPORTS_EQUIPMENT_CLOTHING:9361039,TOYS_GAMES_SHOP:9361040,TRAVEL_AGENT:9361041,CONSTRUCTION_MATERIAL_EQUIPMENT:9361042,MEDICAL_SUPPLIES_EQUIPMENT:9361043,VIDEO_RENTAL_SHOP:9361044,LAUNDRY:9361045,PHOTO_LAB_DEVELOPMENT:9361046,PHOTOCOPY_SHOP:9361047,ANIMAL_SERVICES:9361048,ANTIQUE_ART_SHOP:9361049,BEAUTY_SUPPLIES:9361050,DRUG_STORE:9361051,ELECTRICAL_APPLIANCES_SHOP:9361052,HOBBY_SHOP:9361053,FURNITURE_HOME_FURNISHINGS:9361054,GLASSWARE_CERAMIC_SHOP:9361055,LOCAL_SPECIALITIES_SHOP:9361056,RECYCLING_SHOP:9361057,BAGS_LEATHERWEAR:9361058,MUSIC_INSTRUMENTS_STORE:9361059,DELICATESSEN:9361060,SPECIALTY_FOODS:9361061,SHOPPING_SERVICE:9361062,RETAIL_OUTLET:9361063,PET_SUPPLIES:9361064,WHOLESALE_CLUB:9361066,BEAUTY_SALON:9361067,NAIL_SALON:9361068,HARDWARE_STORE:9361069,PAWN_SHOP:9361070,LOTTERY_SHOP:9361071,BETTING_STATION:9361072,AGRICULTURAL_SUPPLIES:9361073,MOBILE_PHONE_SHOP:9361075,DRIVE_THROUGH_BOTTLE_SHOP:9361076,TAILOR_SHOP:9361077,SECURITY_PRODUCTS:9361078,SPECIALTY_CLOTHING_SHOP:9361079,GLASS_WINDOWS_STORE:9361080,VARIETY_STORE:9361081,CHRISTMAS_HOLIDAY_SHOP:9361082,BOATING_EQUIPMENT_ACCESSORIES:9361083,PARK_RECREATION_AREA:9362,BATTLEFIELD:9362002,CEMETERY:9362003,HISTORIC_SITE:9362004,HISTORICAL_PARK:9362005,MEMORIAL:9362007,PARK:9362008,PARKWAY:9362009,RECREATION_AREA:9362011,WILDERNESS_AREA:9362014,FOREST_AREA:9362015,FISHING_HUNTING_AREA:9362016,FAIRGROUND:9362017,OTHER_WINTER_SPORT:9362025,SKI_RESORT:9362026,BOAT_LAUNCHING_RAMP:9362032,PICNIC_AREA:9362033,PROTECTED_AREA:9362037,COURTHOUSE:9363,MARIJUANA_DISPENSARY:9364,MEDICINAL_MARIJUANA_DISPENSARY:9364002,RECREATIONAL_MARIJUANA_DISPENSARY:9364003,TENNIS_COURT:9369,WATER_SPORT:9371,DOCTOR:9373,GENERAL_PRACTITIONER:9373002,SPECIALIST:9373003,DENTIST:9374,VETERINARIAN:9375,CAFE_PUB:9376,CAFE:9376002,PUB:9376003,INTERNET_CAFE:9376004,TEA_HOUSE:9376005,COFFEE_SHOP:9376006,MICROBREWERY:9376007,EXHIBITION_CONVENTION_CENTER:9377,LEISURE_CENTER:9378,BOWLING_CENTER:9378002,DANCE_STUDIO_SCHOOL:9378003,SAUNA_SOLARIUM_MASSAGE:9378005,SNOOKER_POOL_BILLIARD:9378006,NIGHTLIFE:9379,DISCO_CLUB:9379002,BAR:9379004,COCKTAIL_BAR:9379006,JAZZ_CLUB:9379008,COMEDY_CLUB:9379009,KARAOKE_CLUB:9379010,COMMERCIAL_BUILDING:9382,INDUSTRIAL_BUILDING:9383,NATIVE_RESERVATION:9389,HEALTH_CARE_SERVICE:9663,PERSONAL_SERVICE:9663002,PERSONAL_CARE_FACILITY:9663003,BLOOD_BANK:9663004,AMBULANCE_UNIT:9663005,ENTERTAINMENT:9900,AMUSEMENT_PARK:9902,AMUSEMENT_PLACE:9902004,AUTOMOTIVE_DEALER:9910,CAR_DEALER:9910002,MOTORCYCLE_DEALER:9910003,BOAT_DEALER:9910004,RECREATIONAL_VEHICLE_DEALER:9910005,TRUCK_DEALER:9910006,VAN_DEALER:9910007,BUS_DEALER:9910008,ATV_DEALER:9910009,GOLF_COURSE:9911,LIBRARY:9913,ZOOS_ARBORETA_BOTANICAL_GARDEN:9927,ARBORETA_BOTANICAL_GARDENS:9927002,ZOO:9927003,AQUATIC_ZOO:9927004,WILDLIFE_PARK:9927005,RENT_A_CAR_PARKING:9930,PUBLIC_AMENITY:9932,PASSENGER_TRANSPORT_TICKET_OFFICE:9932002,PUBLIC_CALL_BOX:9932004,PUBLIC_TOILET:9932005,ROAD_RESCUE:9932006,MOUNTAIN_PASS:9935,CLUB_ASSOCIATION:9937,BEACH_CLUB:9937002,HOCKEY_CLUB:9937003,PUBLIC_TRANSPORT_STOP:9942,BUS_STOP:9942002,TAXI_STAND:9942003,STREETCAR_STOP:9942004,EMERGENCY_ROOM:9956},v=Object.fromEntries(Object.entries(f).map(([A,E])=>[E,A])),$=(E,R,T)=>{if(0===E.geometry.coordinates.length)return 0;if(R.length<2)return 0;const _=A(E,W(T)).properties.location;if(void 0===_)return 0;const I=[];for(const N of R){const R=A(E,W(N));I.push(R.properties.location??0)}for(let A=0;A<I.length-1;A++){const E=I[A],R=I[A+1];if(_>=E&&_<=R)return A+1}return _<I[0]?0:R.length},b=(A,E,R)=>{const T=$(A,E,R);return[...E.slice(0,T),R,...E.slice(T)]},w=(A,E)=>{const{progress:R}=A.properties;if(!R||0===R.length)return;const T=A.geometry.coordinates.length;if(E<0||E>=T)return;const _=J(R,"pointIndex",E);if(!_)return;const{lower:I,lowerVal:N,upper:S,upperVal:O}=_,C=I.distanceInMeters,L=S.distanceInMeters,U=I.travelTimeInSeconds,e=S.travelTimeInSeconds;if(void 0===C||void 0===L||void 0===U||void 0===e)return;if(N===O)return{distanceInMeters:C,travelTimeInSeconds:U};const t=(E-N)/(O-N);return{distanceInMeters:C+t*(L-C),travelTimeInSeconds:U+t*(e-U)}},Z=(A,E,R)=>{const T=w(A,E),_=w(A,R);if(T&&_)return{start:T,end:_,delta:{distanceInMeters:_.distanceInMeters-T.distanceInMeters,travelTimeInSeconds:_.travelTimeInSeconds-T.travelTimeInSeconds}}},X=(A,E)=>Z(A,E.startPointIndex,E.endPointIndex),x=(A,E)=>{const R=A.geometry.coordinates;if(!R||0===R.length||E.startPointIndex<0||E.endPointIndex>=R.length||E.startPointIndex>E.endPointIndex)return;const T=R[E.startPointIndex],_=R[E.endPointIndex],I=R[Math.floor((E.startPointIndex+E.endPointIndex)/2)];let N=s(T);return N=s(I,N),N=s(_,N),N},J=(A,E,R)=>{let T,_,I,N;for(const S of A){const A=S[E];void 0!==A&&(A<=R&&(T=S,_=A),A>=R&&void 0===I&&(I=S,N=A))}return void 0!==T&&void 0!==_&&void 0!==I&&void 0!==N?{lower:T,lowerVal:_,upper:I,upperVal:N}:void 0},Q=(A,E,R)=>{const T=A.geometry.coordinates,_=Math.min(E+1,T.length-1),I=T[E],N=T[_],S=w(A,E),O=w(A,_);if(S&&O)return{position:[I[0]+R*(N[0]-I[0]),I[1]+R*(N[1]-I[1])],travelTimeInSeconds:S.travelTimeInSeconds+R*(O.travelTimeInSeconds-S.travelTimeInSeconds),distanceInMeters:S.distanceInMeters+R*(O.distanceInMeters-S.distanceInMeters)}},k=(A,E,R)=>{const{progress:T}=A.properties;if(!T||0===T.length)return;const _=A.geometry.coordinates,I=T[0],N=T.at(-1),S=I[E],O=N[E];if(void 0===S||void 0===O)return;if(R<=S)return{position:_[I.pointIndex],travelTimeInSeconds:I.travelTimeInSeconds??0,distanceInMeters:I.distanceInMeters??0};if(R>=O)return{position:_[N.pointIndex],travelTimeInSeconds:N.travelTimeInSeconds??0,distanceInMeters:N.distanceInMeters??0};const C=((A,E,R)=>{const T=J(A,E,R);if(!T)return;const{lower:_,lowerVal:I,upper:N,upperVal:S}=T,O=I===S?0:(R-I)/(S-I),C=_.pointIndex+O*(N.pointIndex-_.pointIndex),L=Math.floor(C);return{pathIndex:L,progressRatioTowardsNextPathPoint:C-L}})(T,E,R);return void 0!==C?Q(A,C.pathIndex,C.progressRatioTowardsNextPathPoint):void 0},j=(A,E)=>{if("traveledTimeInSeconds"in E)return k(A,"travelTimeInSeconds",E.traveledTimeInSeconds);if("traveledDistanceInMeters"in E)return k(A,"distanceInMeters",E.traveledDistanceInMeters);const R=A.properties.summary.departureTime;if(!R)return;const T=(E.clockTime.getTime()-R.getTime())/1e3;return T<0?void 0:k(A,"travelTimeInSeconds",T)},z=(E,R)=>{const{progress:T}=E.properties;if(!T?.length)return;const _=E.geometry.coordinates,I=A(E,W(R)),N=I.properties.index??0,S=Math.min(N+1,_.length-1),O=_[N],C=_[S];return Q(E,N,((A,E,R)=>{const T=R[0]-A[0],_=R[1]-A[1],I=T*T+_*_;if(0===I)return 0;const N=((E[0]-A[0])*T+(E[1]-A[1])*_)/I;return Math.max(0,Math.min(1,N))})(O,I.geometry.coordinates,C))},q=(A,E)=>{let R;return R=Array.isArray(A)||"Feature"!==A.type?y(W(A)):A,{...R,properties:{...R.properties,radiusMeters:E}}},AA=A=>Array.isArray(A)?Array.isArray(A[0])?"path":"waypoint":"Feature"===A.type&&"LineString"===A.geometry.type?"path":"waypoint",EA=["unknown","minor","moderate","major","indefinite"],RA={1:"accident",2:"fog",3:"danger",4:"rain",5:"frost",6:"jam",7:"lane-closed",8:"road-closed",9:"roadworks",10:"wind",11:"flooding",12:"animals-on-road",13:"narrow-lanes",14:"broken-down-vehicle"},TA=Object.fromEntries(Object.entries(RA).map(([A,E])=>[E,Number(A)])),_A=A=>RA[A]??"other",IA=A=>TA[A]??0,NA=A=>A?.minutes??"min",SA=(A,E)=>{if(A){const _=Math.abs(A)/3600;let I=Math.floor(_),N=Math.round(_%1*60);60===N&&(N=0,I++);const S={...T.instance.get().displayUnits?.time,...E};if(I)return`${I} ${R=S,R?.hours??"hr"} ${N.toString().padStart(2,"0")} ${NA(S)}`;if(N)return`${N.toString()} ${NA(S)}`}var R},OA=1609.344,CA=A=>A?.meters??"m",LA=A=>A?.kilometers??"km",UA=(A,E,R)=>E<3?((A,E,R)=>{const T=Number.parseInt(E.toString()),_=E-T,I=A<0?"-":"";if(_<.125)return`${I}${T} ${R}`;const N=T>0?T:"";return _<.375?`${I}${N}¼ ${R}`:_<.625?`${I}${N}½ ${R}`:_<.875?`${I}${N}¾ ${R}`:`${I}${T+1} ${R}`})(A,E,R):E<10?((A,E,R)=>{const T=Number.parseInt(E.toString()),_=E-T,I=A<0?"-":"";return _<.25?`${I}${T} ${R}`:_<.75?`${I}${T}½ ${R}`:`${I}${T+1} ${R}`})(A,E,R):`${Math.round(A)} ${R}`,eA=A=>A.miles??"mi",tA=(A,E)=>{const R=A/OA,T=Math.abs(R);return T<.125?((A,E)=>{const R=Math.round(A/.3048),T=Math.abs(R);return T<30?`${R} ${E}`:T<500?`${10*Math.round(R/10)} ${E}`:`${100*Math.round(R/100)} ${E}`})(A,E.feet??"ft"):UA(R,T,eA(E))},PA=(A,E)=>{const R=A/OA,T=Math.abs(R);return T<.125?((A,E)=>{const R=Math.round(A/.9144);return Math.abs(R)<10?`${Math.round(R)} ${E}`:`${10*Math.round(R/10)} ${E}`})(A,E.yards??"yd"):UA(R,T,eA(E))},rA=(A,R)=>{if(E(A))return"";const _={...T.instance.get().displayUnits?.distance,...R};switch(_?.type??"metric"){case"metric":return((A,E)=>{const R=Math.abs(A);if(R<10)return`${A} ${CA(E)}`;if(R<500)return`${10*Math.round(A/10)} ${CA(E)}`;if(R<1e3){const R=100*Math.round(A/100);return 1e3===R||-1e3===R?`${A<0?"-":""}1 ${LA(E)}`:`${R} ${CA(E)}`}return R<1e4?`${100*Math.round(A/100)/1e3} ${LA(E)}`:`${Math.round(A/1e3)} ${LA(E)}`})(A,_);case"imperial_us":return tA(A,_);case"imperial_uk":return PA(A,_)}};export{p as TOMTOM_USER_AGENT_SDK_NAME,T as TomTomConfig,q as asSoftWaypoint,n as avoidableTypes,V as bboxCenter,B as bboxExpandedWithBBox,Y as bboxExpandedWithGeoJSON,s as bboxExpandedWithPosition,d as bboxFromBBoxes,c as bboxFromCoordsArray,F as bboxFromGeoJSON,D as bboxOnlyIfWithArea,w as calculateProgressAtRoutePoint,S as chargingPointCapabilities,O as chargingPointRestrictions,N as chargingPointStatus,I as chargingStationAccessTypes,C as connectorTypes,L as currentTypes,R as defaultConfig,$ as findBestWaypointInsertionIndex,rA as formatDistance,SA as formatDuration,u as generateId,m as generateTomTomHeaders,U as geographyTypes,j as getCoordinateAtRouteProgress,h as getPosition,W as getPositionStrict,z as getProgressAtNearestRoutePoint,AA as getRoutePlanningLocationType,Z as getRouteProgressBetween,X as getRouteProgressForSection,x as getSectionBBox,_A as iconToTrafficIncidentCategory,EA as indexedMagnitudes,M as inputSectionTypes,o as inputSectionTypesWithGuidance,G as isBBoxWithArea,_ as mergeFromGlobal,r as paymentMethods,e as placeTypes,P as plugTypes,t as poiCategories,f as poiCategoriesToID,v as poiIDsToCategories,l as polygonFromBBox,H as sectionTypes,y as toPointFeature,g as toPointGeometry,i as trafficIncidentCategories,IA as trafficIncidentToIconCategory,a as views,b as withInsertedWaypoint};
1
+ import{nearestPointOnLine as A}from"@turf/turf";import{isNil as E}from"lodash-es";var R={commonBaseURL:"https://api.tomtom.com",apiKey:"",apiVersion:1},T=class A{static{this.instance=new A}constructor(){this.config={...R}}put(A){this.config={...this.config,...A}}reset(){this.config={...R}}get(){return this.config}},_=(A={})=>({...T.instance.get(),...A}),I=["Public","Authorized","Restricted","Private","Unknown"],N=["Available","Reserved","Occupied","OutOfService","Unknown"],S=["ChargingProfileCapable","ChargingPreferencesCapable","ChipCardSupport","ContactlessCardSupport","CreditCardPayable","DebitCardPayable","PedTerminal","RemoteStartStopCapable","Reservable","RfidReader","StartSessionConnectorRequired","TokenGroupCapable","UnlockCapable","PlugAndCharge","Unknown"],O=["EvOnly","Plugged","Disabled","Customers","Motorcycles"],C=["StandardHouseholdCountrySpecific","IEC62196Type1","IEC62196Type1CCS","IEC62196Type2CableAttached","IEC62196Type2Outlet","IEC62196Type2CCS","IEC62196Type3","Chademo","GBT20234Part2","GBT20234Part3","IEC60309AC3PhaseRed","IEC60309AC1PhaseBlue","IEC60309DCWhite","Tesla"],L=["AC1","AC3","DC"],U=["Country","CountrySubdivision","CountrySecondarySubdivision","CountryTertiarySubdivision","Municipality","MunicipalitySubdivision","Neighbourhood","PostalCodeArea"],e=["POI","Street","Geography","Point Address","Address Range","Cross Street"],t=["ACCESS_GATEWAY","ADVENTURE_SPORTS_FACILITY","ADVENTURE_SPORTS_VENUE","ADVENTURE_VEHICLE_TRAIL","ADVERTISING_COMPANY","AFGHAN_RESTAURANT","AFRICAN_RESTAURANT","AGRICULTURAL_BUSINESS","AGRICULTURAL_SUPPLIES","AGRICULTURAL_TECHNOLOGY","AGRICULTURE","AIRFIELD","AIRLINE_ACCESS","AIRLINE_COMPANY","AIRPORT","AMBULANCE_UNIT","AMERICAN_RESTAURANT","AMPHITHEATER","AMUSEMENT_PARK","AMUSEMENT_PLACE","ANIMAL_SERVICES","ANIMAL_SHELTER","ANTIQUE_ART_SHOP","APARTMENT_RENTAL","AQUATIC_ZOO","ARABIAN_RESTAURANT","ARBORETA_BOTANICAL_GARDENS","ARCH","ARMENIAN_RESTAURANT","ART_SCHOOL","ASIAN_RESTAURANT","ATHLETICS_TRACK","ATM","ATV_DEALER","AUSTRALIAN_RESTAURANT","AUSTRIAN_RESTAURANT","AUTOMOBILE_COMPANY","AUTOMOBILE_MANUFACTURING","AUTOMOTIVE_DEALER","BAGS_LEATHERWEAR","BAKERY","BANK","BANQUET_ROOMS","BAR","BARBECUE_RESTAURANT","BASEBALL_PARK","BASKETBALL_ARENA","BASQUE_RESTAURANT","BATTLEFIELD","BAY","BEACH","BEACH_CLUB","BEAUTY_SALON","BEAUTY_SUPPLIES","BELGIAN_RESTAURANT","BETTING_STATION","BISTRO","BLOOD_BANK","BOATING_EQUIPMENT_ACCESSORIES","BOAT_DEALER","BOAT_LAUNCHING_RAMP","BODYSHOP","BOLIVIAN_RESTAURANT","BOOK_SHOP","BOWLING_CENTER","BRAZILIAN_RESTAURANT","BRIDGE","BRITISH_RESTAURANT","BUFFET_RESTAURANT","BUILDING","BULGARIAN_RESTAURANT","BUNGALOW_RENTAL","BURMESE_RESTAURANT","BUSINESS_PARK","BUSINESS_SERVICES","BUS_CHARTER_COMPANY","BUS_DEALER","BUS_LINES","BUS_STOP","BUTCHER","B_B_GUEST_HOUSE","CABARET_THEATER","CABINS_LODGES","CABLE_TELEPHONE_COMPANY","CAFE","CAFETERIA","CAFE_PUB","CALIFORNIAN_RESTAURANT","CAMBODIAN_RESTAURANT","CAMERAS_PHOTOGRAPHY","CAMPING_GROUND","CANADIAN_RESTAURANT","CAPE","CARAVAN_SITE","CARIBBEAN_RESTAURANT","CARPET_FLOOR_COVERINGS","CAR_DEALER","CAR_GLASS_REPLACEMENT_SHOP","CAR_REPAIR_AND_SERVICE","CAR_WASH","CASH_DISPENSER","CASINO","CATERING_SERVICES","CAVE","CEMETERY","CHALET_RENTAL","CHEMICAL_COMPANY","CHICKEN_RESTAURANT","CHILDRENS_CLOTHES","CHILD_CARE_FACILITY","CHINESE_RESTAURANT","CHRISTMAS_HOLIDAY_SHOP","CHURCH","CINEMA","CLEANING_SERVICES","CLOTHING_SHOP","CLUB_ASSOCIATION","COCKTAIL_BAR","COFFEE_SHOP","COLLEGE_OR_UNIVERSITY","COLLEGE_UNIVERSITY","COLOMBIAN_RESTAURANT","COMEDY_CLUB","COMMERCIAL_BUILDING","COMMUNITY_CENTER","COMPANY","COMPUTER_COMPUTER_SUPPLIES","COMPUTER_DATA_SERVICES","CONCERT_HALL","CONSTRUCTION_COMPANY","CONSTRUCTION_MATERIAL_EQUIPMENT","CONSUMER_ELECTRONICS","CONVENIENCE_STORE","CORSICAN_RESTAURANT","COTTAGE_RENTAL","COURIER_DROP_BOX","COURTHOUSE","COVE","CREOLE_RESTAURANT","CREPERIE","CRICKET_GROUND","CUBAN_RESTAURANT","CULTURAL_CENTER","CURRENCY_EXCHANGE","CURTAINS_TEXTILES","CZECH_RESTAURANT","C_DS_DVD_VIDEOS","DAM","DANCE_STUDIO_SCHOOL","DANISH_RESTAURANT","DELICATESSEN","DELIVERY_SERVICE","DENTIST","DEPARTMENT_STORE","DINNER_THEATER","DISCO_CLUB","DIVERSIFIED_FINANCIALS","DOCTOR","DONGBEI_RESTAURANT","DOUGHNUT_RESTAURANT","DO_IT_YOURSELF_CENTERS","DRIVE_IN_MOVIES","DRIVE_THROUGH_BOTTLE_SHOP","DRIVING_SCHOOL","DRUG_STORE","DRY_CLEANER","DUNE","DUTCH_RESTAURANT","EGYPTIAN_RESTAURANT","ELECTRICAL_APPLIANCES_SHOP","ELECTRIC_VEHICLE_STATION","ELECTRONICS_COMPANY","EMBASSY","EMERGENCY_MEDICAL_SERVICE","EMERGENCY_ROOM","ENGLISH_RESTAURANT","ENTERTAINMENT","EQUIPMENT_RENTAL","ETHIOPIAN_RESTAURANT","EXCHANGE","EXHIBITION_CONVENTION_CENTER","FACTORY_OUTLET","FAIRGROUND","FARM","FARMERS_MARKET","FAST_FOOD","FERRY_TERMINAL","FINNISH_RESTAURANT","FIRE_STATION_BRIGADE","FISHING_HUNTING_AREA","FISHMONGER","FITNESS_CLUB_CENTER","FLATS_APARTMENT_COMPLEX","FLORISTS","FONDUE_RESTAURANT","FOOD_MARKET","FOOTBALL_STADIUM","FOOTWEAR_SHOE_REPAIRS","FOREST_AREA","FRENCH_RESTAURANT","FRONTIER_CROSSING","FUEL_FACILITIES","FUNERAL_SERVICE_MORTUARIES","FURNITURE_HOME_FURNISHINGS","FUSION_RESTAURANT","GARDEN_CENTERS_SERVICES","GAS_STATION","GENERAL_HOSPITAL_AND_POLYCLINIC","GENERAL_PRACTITIONER","GEOGRAPHIC_FEATURE","GERMAN_RESTAURANT","GIFTS_CARDS_NOVELTIES_SOUVENIRS","GLASSWARE_CERAMIC_SHOP","GLASS_WINDOWS_STORE","GOLD_EXCHANGE","GOLF_COURSE","GOVERNMENT_OFFICE","GREEK_RESTAURANT","GREENGROCER","GRILL_RESTAURANT","GROCERY_STORE","GURUDWARA","HAIRDRESSER","HAMBURGER_RESTAURANT","HARBOR","HARDWARE_STORE","HAWAIIAN_RESTAURANT","HEALTH_CARE_SERVICE","HELIPAD_HELICOPTER_LANDING","HIGH_SCHOOL","HIKING_TRAIL","HILL","HISTORICAL_PARK","HISTORIC_SITE","HOBBY_SHOP","HOCKEY_CLUB","HOLIDAY_RENTAL","HOME_APPLIANCE_REPAIR","HORSE_RACING_TRACK","HORSE_RIDING_CENTER","HORSE_RIDING_TRAIL","HORTICULTURE","HOSPITAL","HOSPITAL_FOR_WOMEN_AND_CHILDREN","HOSPITAL_OF_CHINESE_MEDICINE","HOSPITAL_POLYCLINIC","HOSTEL","HOTEL","HOTEL_MOTEL","HOT_POT_RESTAURANT","HOUSE_GARDEN_FURNITURE_FITTINGS","HUNAN_RESTAURANT","HUNGARIAN_RESTAURANT","ICE_CREAM_PARLOR","ICE_HOCKEY_ARENA","ICE_SKATING_RINK","IMPORTANT_TOURIST_ATTRACTION","IMPORT_EXPORT_AND_DISTRIBUTION","INDIAN_RESTAURANT","INDONESIAN_RESTAURANT","INDUSTRIAL_BUILDING","INFORMAL_MARKET","INSURANCE_COMPANY","INTERNATIONAL_RAILROAD_STATION","INTERNATIONAL_RESTAURANT","INTERNET_CAFE","INVESTMENT_ADVISOR","IRANIAN_RESTAURANT","IRISH_RESTAURANT","ISLAND","ISRAELI_RESTAURANT","ITALIAN_RESTAURANT","JAMAICAN_RESTAURANT","JAPANESE_RESTAURANT","JAZZ_CLUB","JEWELRY_CLOCKS_WATCHES","JEWISH_RESTAURANT","JUNIOR_COLLEGE_COMMUNITY_COLLEGE","KARAOKE_CLUB","KITCHENS_BATHROOMS","KOREAN_RESTAURANT","KOSHER_RESTAURANT","LANGUAGE_SCHOOL","LATIN_AMERICAN_RESTAURANT","LAUNDRY","LEBANESE_RESTAURANT","LEGAL_SERVICES","LEISURE_CENTER","LIBRARY","LIGHTING_SHOPS","LOCALE","LOCAL_SPECIALITIES_SHOP","LOTTERY_SHOP","MANUFACTURING_COMPANY","MANUFACTURING_FACILITY","MARIJUANA_DISPENSARY","MARINA","MARKET","MARSH","MAUSOLEUM_GRAVE","MECHANICAL_ENGINEERING","MEDIA_FACILITY","MEDICAL_SUPPLIES_EQUIPMENT","MEDICINAL_MARIJUANA_DISPENSARY","MEDITERRANEAN_RESTAURANT","MEMORIAL","MENS_CLOTHING","MEXICAN_RESTAURANT","MICROBREWERY","MIDDLE_EASTERN_RESTAURANT","MIDDLE_SCHOOL","MILITARY_AIRPORT","MINERAL_HOT_SPRINGS","MINING_COMPANY","MOBILE_PHONE_SHOP","MONGOLIAN_RESTAURANT","MONUMENT","MOROCCAN_RESTAURANT","MOSQUE","MOTEL","MOTORCYCLE_DEALER","MOTORCYCLE_REPAIR","MOTORING_ORGANIZATION_OFFICE","MOTOR_RACING_STADIUM","MOUNTAIN_BIKE_TRAIL","MOUNTAIN_PASS","MOUNTAIN_PEAK","MOVIE_THEATER","MOVING_STORAGE_COMPANY","MULTI_PURPOSE_STADIUM","MUSEUM","MUSIC_CENTER","MUSIC_INSTRUMENTS_STORE","NAIL_SALON","NATIONAL_RAILROAD_STATION","NATIVE_RESERVATION","NATURAL_TOURIST_ATTRACTION","NEPALESE_RESTAURANT","NETBALL_STADIUM","NEWSAGENTS_TOBACCONISTS","NIGHTLIFE","NON_GOVERNMENTAL_ORGANIZATION","NORWEGIAN_RESTAURANT","OASIS","OBSERVATORY","OFFICE_EQUIPMENT","OIL_NATURAL_GAS","OPEN_CAR_PARKING_AREA","OPEN_PARKING_AREA","OPERA_HOUSE","OPTICIAN","ORGANIC_FOOD_RESTAURANT","ORIENTAL_RESTAURANT","OTHER_FOOD_SHOPS","OTHER_WINTER_SPORT","PAGODA","PAINTING_DECORATING","PAKISTANI_RESTAURANT","PARK","PARKING_GARAGE","PARKWAY","PARK_RECREATION_AREA","PASSENGER_TRANSPORT_TICKET_OFFICE","PAWN_SHOP","PERSONAL_CARE_FACILITY","PERSONAL_SERVICE","PERUVIAN_RESTAURANT","PETROL_STATION","PET_SUPPLIES","PHARMACEUTICAL_COMPANY","PHARMACY","PHILIPPINE_RESTAURANT","PHOTOCOPY_SHOP","PHOTO_LAB_DEVELOPMENT","PICNIC_AREA","PIZZERIA","PLACE_OF_WORSHIP","PLAIN_FLAT","PLANETARIUM","PLATEAU","POLICE_STATION","POLISH_RESTAURANT","POLYNESIAN_RESTAURANT","PORTUGUESE_RESTAURANT","PORT_WAREHOUSE_FACILITY","POST_OFFICE","PRE_SCHOOL","PRIMARY_PRODUCER","PRIMARY_RESOURCE_UTILITY","PRIMARY_SCHOOL","PRISON_CORRECTIONAL_FACILITY","PRIVATE_AIRPORT","PROTECTED_AREA","PUB","PUBLIC_AIRPORT","PUBLIC_AMENITY","PUBLIC_CALL_BOX","PUBLIC_MARKET","PUBLIC_TOILET","PUBLIC_TRANSPORT_STOP","PUBLISHING_TECHNOLOGIES","PUB_FOOD","QUARRY","RACE_TRACK","RAILWAY_STATION","RAPIDS","REAL_ESTATE_AGENT","REAL_ESTATE_COMPANY","RECREATIONAL_CAMPING_GROUND","RECREATIONAL_MARIJUANA_DISPENSARY","RECREATIONAL_VEHICLE_DEALER","RECREATION_AREA","RECYCLING_SHOP","REEF","RENT_A_CAR_FACILITY","RENT_A_CAR_PARKING","REPAIR_FACILITY","REPAIR_SHOP","RESEARCH_FACILITY","RESERVOIR","RESIDENTIAL_ACCOMMODATION","RESORT","RESTAURANT","RESTAURANT_AREA","REST_AREA","REST_CAMP","RETAIL_OUTLET","RETIREMENT_COMMUNITY","RIDGE","RIVER_CROSSING","ROAD_RESCUE","ROAD_TRAFFIC_CONTROL_CENTER","ROCKS","ROCK_CLIMBING_TRAIL","RUGBY_GROUND","RUSSIAN_RESTAURANT","SALAD_BAR","SANDWICH_RESTAURANT","SAUNA_SOLARIUM_MASSAGE","SCANDINAVIAN_RESTAURANT","SCENIC_PANORAMIC_VIEW","SCHOOL","SEAFOOD","SECURED_ENTRANCE","SECURITY_PRODUCTS","SENIOR_HIGH_SCHOOL","SERVICE_COMPANY","SHANDONG_RESTAURANT","SHOP","SHOPPING_CENTER","SHOPPING_SERVICE","SICHUAN_RESTAURANT","SKI_RESORT","SNACKS_RESTAURANT","SNOOKER_POOL_BILLIARD","SOCCER_STADIUM","SOFTWARE_COMPANY","SOUL_FOOD","SOUP_RESTAURANT","SPANISH_RESTAURANT","SPECIALIST","SPECIALTY_CLOTHING_SHOP","SPECIALTY_FOODS","SPECIAL_HOSPITAL","SPORTS_CENTER","SPORTS_EQUIPMENT_CLOTHING","STADIUM","STATION_ACCESS","STATUE","STEAK_HOUSE","STOCK_EXCHANGE","STREETCAR_STOP","SUBWAY_STATION","SUPERMARKETS_HYPERMARKETS","SUSHI_RESTAURANT","SWEDISH_RESTAURANT","SWIMMING_POOL","SWISS_RESTAURANT","SYNAGOG","SYRIAN_RESTAURANT","TAILOR_SHOP","TAIWANESE_RESTAURANT","TAKEOUT_FOOD","TAPAS_RESTAURANT","TAXI_LIMOUSINE_SHUTTLE_SERVICE","TAXI_STAND","TAX_SERVICES","TEA_HOUSE","TELECOMMUNICATIONS","TEMPLE","TENNIS_COURT","TEPPANYAKI_RESTAURANT","THAI_RESTAURANT","THEATER","THEMATIC_SPORT_CENTER","TIBETAN_RESTAURANT","TIRE_SERVICE","TOLL_GATE","TOURIST_ATTRACTION","TOURIST_INFORMATION_OFFICE","TOWER","TOYS_GAMES_SHOP","TRAFFIC_CONTROL_DEPARTMENT","TRAFFIC_SERVICE_CENTER","TRAILS","TRAIL_SYSTEM","TRANSPORT_AUTHORITY_VEHICLE_REGISTRATION","TRANSPORT_COMPANY","TRAVEL_AGENT","TRUCK_DEALER","TRUCK_REPAIR_AND_SERVICE","TRUCK_STOP","TUNISIAN_RESTAURANT","TUNNEL","TURKISH_RESTAURANT","URBAN_STATION","VACATION_RENTAL","VALLEY","VAN_DEALER","VARIETY_STORE","VEGETARIAN_RESTAURANT","VENEZUELAN_RESTAURANT","VETERINARIAN","VIDEO_RENTAL_SHOP","VIETNAMESE_RESTAURANT","VILLA_RENTAL","VOCATIONAL_SCHOOL","WATER_HOLE","WATER_SPORT","WEDDING_SERVICES","WEIGH_STATION","WELFARE_ORGANIZATION","WELL","WESTERN_RESTAURANT","WHOLESALE_CLUB","WILDERNESS_AREA","WILDLIFE_PARK","WINERY","WINE_SPIRITS","WOMENS_CLOTHING","YACHT_BASIN","YOGURT_JUICE_BAR","ZOO","ZOOS_ARBORETA_BOTANICAL_GARDEN"],P=["Small_Paddle_Inductive","Large_Paddle_Inductive","IEC_60309_1_Phase","IEC_60309_3_Phase","IEC_62196_Type_1_Outlet","IEC_62196_Type_2_Outlet","IEC_62196_Type_3_Outlet","IEC_62196_Type_1_Connector_Cable_Attached","IEC_62196_Type_2_Connector_Cable_Attached","IEC_62196_Type_3_Connector_Cable_Attached","Combo_to_IEC_62196_Type_1_Base","Combo_to_IEC_62196_Type_2_Base","Type_E_French_Standard_CEE_7_5","Type_F_Schuko_CEE_7_4","Type_G_British_Standard_BS_1363","Type_J_Swiss_Standard_SEV_1011","China_GB_Part_2","China_GB_Part_3","IEC_309_DC_Plug","AVCON_Connector","Tesla_Connector","NEMA_5_20","CHAdeMO","SAE_J1772","TEPCO","Better_Place_Socket","Marechal_Socket","Standard_Household_Country_Specific"],r=["No_Payment","Subscription","Direct"],n=["tollRoads","motorways","ferries","unpavedRoads","carpools","alreadyUsedRoads","borderCrossings","tunnels","carTrains","lowEmissionZones"],M=["carpool","carTrain","country","ferry","importantRoadStretch","lowEmissionZone","motorway","pedestrian","roadShields","speedLimit","toll","tollVignette","traffic","tunnel","unpaved","urban","vehicleRestricted"],o=[...M,"lanes"],H=[...o,"leg"],i=["accident","animals-on-road","broken-down-vehicle","danger","flooding","fog","frost","jam","lane-closed","narrow-lanes","other","rain","road-closed","roadworks","wind"],a=["Unified","AR","IN","PK","IL","MA","RU","TR","CN"],G=A=>!!A&&(A.length>=4&&A[3]!==A[1]&&A[2]!==A[0]),D=A=>G(A)?A:void 0,s=(A,E)=>{if(A&&!(A.length<2))return E?[E[0]>A[0]?A[0]:E[0],E[1]>A[1]?A[1]:E[1],E[2]<A[0]?A[0]:E[2],E[3]<A[1]?A[1]:E[3]]:[A[0],A[1],A[0],A[1]]},B=(A,E)=>E&&A?[E[0]>A[0]?A[0]:E[0],E[1]>A[1]?A[1]:E[1],E[2]<A[2]?A[2]:E[2],E[3]<A[3]?A[3]:E[3]]:A||E,d=A=>A?.length?A.reduce((A,E)=>B(E,A)):void 0,c=A=>{const E=A?.length;if(!E)return;let R;const T=Math.ceil(E/1e3);for(let _=0;_<E;_+=T)R=s(A[_],R);return 1===T?R:s(A[E-1],R)},F=A=>{if(A){if(Array.isArray(A))return"number"==typeof A[0]?A.length>=4?A:void 0:d(A.map(A=>F(A)));if(A.bbox)return A.bbox;switch(A.type){case"Feature":return F(A.geometry);case"FeatureCollection":return d(A.features.map(F));case"GeometryCollection":return d(A.geometries.map(F));case"Point":return s(A.coordinates);case"LineString":case"MultiPoint":return c(A.coordinates);case"MultiLineString":case"Polygon":return d(A.coordinates.map(c));case"MultiPolygon":return d(A.coordinates.flatMap(A=>A.map(c)));default:return}}},Y=(A,E)=>B(F(A),E),V=A=>[(A[0]+A[2])/2,(A[1]+A[3])/2],l=A=>{const[E,R,T,_]=A;return{type:"Feature",geometry:{type:"Polygon",coordinates:[[[E,R],[T,R],[T,_],[E,_],[E,R]]]},properties:{}}},u=()=>Date.now().toString(36)+Math.random().toString(36).substring(2),p="MapsSDKJS",K=A=>{if(!/^[a-zA-Z0-9-]{1,100}$/.test(A))throw new TypeError(`a string matching regular expression ^[a-zA-Z0-9-]{1,100}$ is expected, but ${A} ['${typeof A}'] given`);return A},m=A=>({"tomtom-user-agent":A["tomtom-user-agent"]??"MapsSDKJS/0.46.5",...A.trackingId&&{"Tracking-ID":K(A.trackingId)}}),h=(A,E)=>{if(A){if(Array.isArray(A))return A;if(A.coordinates)return A.coordinates;if(A.geometry)return"main-when-available"===E?.useEntryPoint?(R=A,R?.properties?.entryPoints?.find(A=>"main"===A.type))?.position??A.geometry.coordinates:A.geometry.coordinates}var R;return null},W=(A,E)=>{const R=h(A,E);if(!R)throw new Error(`The received object does not have lng-lat coordinates: ${JSON.stringify(A)}`);return R},g=A=>({type:"Point",coordinates:A}),y=A=>({type:"Feature",geometry:g(A),properties:{}}),f={ROAD_TRAFFIC_CONTROL_CENTER:7301,TRAFFIC_CONTROL_DEPARTMENT:7301002,TRAFFIC_SERVICE_CENTER:7301002,TRAIL_SYSTEM:7302,TRAILS:7302,MOUNTAIN_BIKE_TRAIL:7302002,ADVENTURE_VEHICLE_TRAIL:7302003,HIKING_TRAIL:7302004,HORSE_RIDING_TRAIL:7302005,ROCK_CLIMBING_TRAIL:7302006,RESIDENTIAL_ACCOMMODATION:7303,RETIREMENT_COMMUNITY:7303002,FLATS_APARTMENT_COMPLEX:7303003,HOLIDAY_RENTAL:7304,VACATION_RENTAL:7304,COTTAGE_RENTAL:7304002,VILLA_RENTAL:7304003,BUNGALOW_RENTAL:7304004,CHALET_RENTAL:7304005,APARTMENT_RENTAL:7304006,ADVENTURE_SPORTS_FACILITY:7305,ADVENTURE_SPORTS_VENUE:7305,HELIPAD_HELICOPTER_LANDING:7308,ELECTRIC_VEHICLE_STATION:7309,REPAIR_FACILITY:7310,REPAIR_SHOP:7310,BODYSHOP:7310002,CAR_GLASS_REPLACEMENT_SHOP:7310003,CAR_REPAIR_AND_SERVICE:7310004,TIRE_SERVICE:7310007,MOTORCYCLE_REPAIR:7310008,TRUCK_REPAIR_AND_SERVICE:7310009,FUEL_FACILITIES:7311,GAS_STATION:7311,PETROL_STATION:7311,RENT_A_CAR_FACILITY:7312,PARKING_GARAGE:7313,HOTEL_MOTEL:7314,B_B_GUEST_HOUSE:7314002,HOTEL:7314003,HOSTEL:7314004,RESORT:7314005,MOTEL:7314006,CABINS_LODGES:7314007,REST_CAMP:7314008,RESTAURANT:7315,AFRICAN_RESTAURANT:7315002,AMERICAN_RESTAURANT:7315003,AUSTRIAN_RESTAURANT:7315004,BARBECUE_RESTAURANT:7315005,BELGIAN_RESTAURANT:7315006,BISTRO:7315007,BRITISH_RESTAURANT:7315008,CALIFORNIAN_RESTAURANT:7315009,CANADIAN_RESTAURANT:7315010,CARIBBEAN_RESTAURANT:7315011,CHINESE_RESTAURANT:7315012,CREPERIE:7315013,DUTCH_RESTAURANT:7315014,FAST_FOOD:7315015,PHILIPPINE_RESTAURANT:7315016,FRENCH_RESTAURANT:7315017,GERMAN_RESTAURANT:7315018,GREEK_RESTAURANT:7315019,GRILL_RESTAURANT:7315020,HAWAIIAN_RESTAURANT:7315021,HUNGARIAN_RESTAURANT:7315022,INDIAN_RESTAURANT:7315023,INDONESIAN_RESTAURANT:7315024,ITALIAN_RESTAURANT:7315025,JAPANESE_RESTAURANT:7315026,JEWISH_RESTAURANT:7315027,KOREAN_RESTAURANT:7315028,LATIN_AMERICAN_RESTAURANT:7315029,LEBANESE_RESTAURANT:7315030,MEDITERRANEAN_RESTAURANT:7315032,MEXICAN_RESTAURANT:7315033,MIDDLE_EASTERN_RESTAURANT:7315034,ORIENTAL_RESTAURANT:7315035,PIZZERIA:7315036,POLISH_RESTAURANT:7315037,PORTUGUESE_RESTAURANT:7315038,PUB_FOOD:7315039,RUSSIAN_RESTAURANT:7315040,SANDWICH_RESTAURANT:7315042,SEAFOOD:7315043,SPANISH_RESTAURANT:7315044,STEAK_HOUSE:7315045,SWISS_RESTAURANT:7315047,THAI_RESTAURANT:7315048,TURKISH_RESTAURANT:7315049,VEGETARIAN_RESTAURANT:7315050,VIETNAMESE_RESTAURANT:7315051,HUNAN_RESTAURANT:7315052,SHANDONG_RESTAURANT:7315053,SICHUAN_RESTAURANT:7315056,DONGBEI_RESTAURANT:7315057,HOT_POT_RESTAURANT:7315058,TAIWANESE_RESTAURANT:7315059,WESTERN_RESTAURANT:7315060,PERUVIAN_RESTAURANT:7315061,ASIAN_RESTAURANT:7315062,CREOLE_RESTAURANT:7315063,SOUL_FOOD:7315064,IRISH_RESTAURANT:7315065,JAMAICAN_RESTAURANT:7315066,KOSHER_RESTAURANT:7315067,CZECH_RESTAURANT:7315068,HAMBURGER_RESTAURANT:7315069,CHICKEN_RESTAURANT:7315070,FUSION_RESTAURANT:7315071,BRAZILIAN_RESTAURANT:7315072,INTERNATIONAL_RESTAURANT:7315073,MOROCCAN_RESTAURANT:7315074,ORGANIC_FOOD_RESTAURANT:7315075,TAPAS_RESTAURANT:7315076,ICE_CREAM_PARLOR:7315078,DOUGHNUT_RESTAURANT:7315079,AFGHAN_RESTAURANT:7315081,ARABIAN_RESTAURANT:7315083,ARMENIAN_RESTAURANT:7315085,AUSTRALIAN_RESTAURANT:7315086,BASQUE_RESTAURANT:7315087,BOLIVIAN_RESTAURANT:7315088,BULGARIAN_RESTAURANT:7315090,BURMESE_RESTAURANT:7315091,CAMBODIAN_RESTAURANT:7315092,COLOMBIAN_RESTAURANT:7315094,CORSICAN_RESTAURANT:7315095,CUBAN_RESTAURANT:7315096,DANISH_RESTAURANT:7315098,EGYPTIAN_RESTAURANT:7315100,ENGLISH_RESTAURANT:7315101,ETHIOPIAN_RESTAURANT:7315102,FINNISH_RESTAURANT:7315104,IRANIAN_RESTAURANT:7315105,ISRAELI_RESTAURANT:7315106,MONGOLIAN_RESTAURANT:7315110,NEPALESE_RESTAURANT:7315111,NORWEGIAN_RESTAURANT:7315112,SCANDINAVIAN_RESTAURANT:7315114,SWEDISH_RESTAURANT:7315119,SYRIAN_RESTAURANT:7315120,TEPPANYAKI_RESTAURANT:7315121,TIBETAN_RESTAURANT:7315122,TUNISIAN_RESTAURANT:7315123,VENEZUELAN_RESTAURANT:7315125,PAKISTANI_RESTAURANT:7315127,POLYNESIAN_RESTAURANT:7315129,FONDUE_RESTAURANT:7315134,SNACKS_RESTAURANT:7315139,SOUP_RESTAURANT:7315140,BUFFET_RESTAURANT:7315142,SALAD_BAR:7315143,TAKEOUT_FOOD:7315145,BANQUET_ROOMS:7315146,CAFETERIA:7315147,SUSHI_RESTAURANT:7315148,YOGURT_JUICE_BAR:7315149,TOURIST_INFORMATION_OFFICE:7316,MUSEUM:7317,THEATER:7318,CONCERT_HALL:7318002,MUSIC_CENTER:7318003,OPERA_HOUSE:7318004,CABARET_THEATER:7318006,AMPHITHEATER:7318007,DINNER_THEATER:7318008,CULTURAL_CENTER:7319,SPORTS_CENTER:7320,FITNESS_CLUB_CENTER:7320002,HORSE_RIDING_CENTER:7320003,THEMATIC_SPORT_CENTER:7320005,HOSPITAL:7321,HOSPITAL_POLYCLINIC:7321,GENERAL_HOSPITAL_AND_POLYCLINIC:7321002,SPECIAL_HOSPITAL:7321003,HOSPITAL_OF_CHINESE_MEDICINE:7321004,HOSPITAL_FOR_WOMEN_AND_CHILDREN:7321005,POLICE_STATION:7322,POST_OFFICE:7324,PHARMACY:7326,DEPARTMENT_STORE:7327,BANK:7328,MARKET:7332,INFORMAL_MARKET:7332002,PUBLIC_MARKET:7332003,FARMERS_MARKET:7332004,SUPERMARKETS_HYPERMARKETS:7332005,AGRICULTURAL_BUSINESS:7335,AGRICULTURE:7335,HORTICULTURE:7335002,PRIMARY_PRODUCER:7335003,FARM:7335004,SCENIC_PANORAMIC_VIEW:7337,SWIMMING_POOL:7338,PLACE_OF_WORSHIP:7339,CHURCH:7339002,MOSQUE:7339003,SYNAGOG:7339004,TEMPLE:7339005,GURUDWARA:7339006,PAGODA:7339008,CASINO:7341,CINEMA:7342,MOVIE_THEATER:7342,DRIVE_IN_MOVIES:7342003,MARINA:7347,YACHT_BASIN:7347003,WINERY:7349,FERRY_TERMINAL:7352,TRUCK_STOP:7358,WEIGH_STATION:7359,CAMPING_GROUND:7360,RECREATIONAL_CAMPING_GROUND:7360002,CARAVAN_SITE:7360003,COMMUNITY_CENTER:7363,EMBASSY:7365,FRONTIER_CROSSING:7366,GOVERNMENT_OFFICE:7367,MOTORING_ORGANIZATION_OFFICE:7368,OPEN_PARKING_AREA:7369,OPEN_CAR_PARKING_AREA:7369002,SCHOOL:7372,CHILD_CARE_FACILITY:7372003,PRE_SCHOOL:7372004,PRIMARY_SCHOOL:7372005,HIGH_SCHOOL:7372006,SENIOR_HIGH_SCHOOL:7372007,VOCATIONAL_SCHOOL:7372008,LANGUAGE_SCHOOL:7372010,ART_SCHOOL:7372012,MIDDLE_SCHOOL:7372014,DRIVING_SCHOOL:7372016,SHOPPING_CENTER:7373,STADIUM:7374,ATHLETICS_TRACK:7374002,CRICKET_GROUND:7374003,SOCCER_STADIUM:7374004,HORSE_RACING_TRACK:7374005,MULTI_PURPOSE_STADIUM:7374006,RUGBY_GROUND:7374007,ICE_HOCKEY_ARENA:7374008,BASEBALL_PARK:7374009,FOOTBALL_STADIUM:7374010,MOTOR_RACING_STADIUM:7374011,BASKETBALL_ARENA:7374012,RACE_TRACK:7374013,NETBALL_STADIUM:7374014,TOLL_GATE:7375,IMPORTANT_TOURIST_ATTRACTION:7376,TOURIST_ATTRACTION:7376,BUILDING:7376002,MONUMENT:7376003,NATURAL_TOURIST_ATTRACTION:7376004,OBSERVATORY:7376005,PLANETARIUM:7376006,DAM:7376007,TUNNEL:7376008,TOWER:7376009,BRIDGE:7376010,MAUSOLEUM_GRAVE:7376011,ARCH:7376012,STATUE:7376013,WATER_HOLE:7376014,COLLEGE_UNIVERSITY:7377,COLLEGE_OR_UNIVERSITY:7377002,JUNIOR_COLLEGE_COMMUNITY_COLLEGE:7377003,BUSINESS_PARK:7378,RAILWAY_STATION:7380,INTERNATIONAL_RAILROAD_STATION:7380002,NATIONAL_RAILROAD_STATION:7380003,URBAN_STATION:7380004,SUBWAY_STATION:7380005,AIRPORT:7383,PUBLIC_AIRPORT:7383002,PRIVATE_AIRPORT:7383003,MILITARY_AIRPORT:7383004,AIRFIELD:7383005,COURIER_DROP_BOX:7388,ACCESS_GATEWAY:7389,AIRLINE_ACCESS:7389002,STATION_ACCESS:7389003,SECURED_ENTRANCE:7389004,EMERGENCY_MEDICAL_SERVICE:7391,FIRE_STATION_BRIGADE:7392,REST_AREA:7395,ATM:7397,CASH_DISPENSER:7397,GEOGRAPHIC_FEATURE:8099,MOUNTAIN_PEAK:8099002,CAVE:8099003,RIDGE:8099004,DUNE:8099005,VALLEY:8099006,PLAIN_FLAT:8099007,PLATEAU:8099008,WELL:8099010,OASIS:8099011,ROCKS:8099012,RESERVOIR:8099013,REEF:8099014,RAPIDS:8099015,BAY:8099016,COVE:8099017,HARBOR:8099018,CAPE:8099020,MINERAL_HOT_SPRINGS:8099021,ISLAND:8099022,MARSH:8099023,RIVER_CROSSING:8099024,HILL:8099025,QUARRY:8099026,LOCALE:8099027,PRIMARY_RESOURCE_UTILITY:9150,TRANSPORT_AUTHORITY_VEHICLE_REGISTRATION:9151,NON_GOVERNMENTAL_ORGANIZATION:9152,WELFARE_ORGANIZATION:9153,PRISON_CORRECTIONAL_FACILITY:9154,CAR_WASH:9155,MANUFACTURING_FACILITY:9156,RESEARCH_FACILITY:9157,MEDIA_FACILITY:9158,PORT_WAREHOUSE_FACILITY:9159,EXCHANGE:9160,STOCK_EXCHANGE:9160002,GOLD_EXCHANGE:9160003,CURRENCY_EXCHANGE:9160004,COMPANY:9352,SERVICE_COMPANY:9352002,ADVERTISING_COMPANY:9352003,COMPUTER_DATA_SERVICES:9352004,SOFTWARE_COMPANY:9352005,DIVERSIFIED_FINANCIALS:9352006,INSURANCE_COMPANY:9352007,DELIVERY_SERVICE:9352008,REAL_ESTATE_COMPANY:9352009,MANUFACTURING_COMPANY:9352011,AGRICULTURAL_TECHNOLOGY:9352012,AUTOMOBILE_COMPANY:9352013,CHEMICAL_COMPANY:9352014,ELECTRONICS_COMPANY:9352015,MECHANICAL_ENGINEERING:9352016,PHARMACEUTICAL_COMPANY:9352018,PUBLISHING_TECHNOLOGIES:9352019,TELECOMMUNICATIONS:9352020,TAX_SERVICES:9352022,LEGAL_SERVICES:9352023,TRANSPORT_COMPANY:9352024,BUS_CHARTER_COMPANY:9352025,TAXI_LIMOUSINE_SHUTTLE_SERVICE:9352026,BUS_LINES:9352027,CLEANING_SERVICES:9352029,OIL_NATURAL_GAS:9352030,MINING_COMPANY:9352031,CONSTRUCTION_COMPANY:9352032,MOVING_STORAGE_COMPANY:9352033,AIRLINE_COMPANY:9352034,FUNERAL_SERVICE_MORTUARIES:9352036,INVESTMENT_ADVISOR:9352037,EQUIPMENT_RENTAL:9352038,BUSINESS_SERVICES:9352039,CABLE_TELEPHONE_COMPANY:9352040,AUTOMOBILE_MANUFACTURING:9352041,IMPORT_EXPORT_AND_DISTRIBUTION:9352042,CATERING_SERVICES:9352043,HOME_APPLIANCE_REPAIR:9352044,ANIMAL_SHELTER:9352045,WEDDING_SERVICES:9352046,BEACH:9357,RESTAURANT_AREA:9359,ICE_SKATING_RINK:9360,SHOP:9361,BOOK_SHOP:9361002,C_DS_DVD_VIDEOS:9361003,CHILDRENS_CLOTHES:9361004,FOOTWEAR_SHOE_REPAIRS:9361005,CLOTHING_SHOP:9361006,MENS_CLOTHING:9361007,WOMENS_CLOTHING:9361008,CONVENIENCE_STORE:9361009,DRY_CLEANER:9361010,CAMERAS_PHOTOGRAPHY:9361011,COMPUTER_COMPUTER_SUPPLIES:9361012,CONSUMER_ELECTRONICS:9361013,OFFICE_EQUIPMENT:9361014,REAL_ESTATE_AGENT:9361015,FACTORY_OUTLET:9361016,FLORISTS:9361017,BAKERY:9361018,BUTCHER:9361019,FISHMONGER:9361020,FOOD_MARKET:9361021,GREENGROCER:9361022,GROCERY_STORE:9361023,OTHER_FOOD_SHOPS:9361024,WINE_SPIRITS:9361025,GIFTS_CARDS_NOVELTIES_SOUVENIRS:9361026,HAIRDRESSER:9361027,CARPET_FLOOR_COVERINGS:9361028,CURTAINS_TEXTILES:9361029,DO_IT_YOURSELF_CENTERS:9361030,HOUSE_GARDEN_FURNITURE_FITTINGS:9361031,GARDEN_CENTERS_SERVICES:9361032,KITCHENS_BATHROOMS:9361033,LIGHTING_SHOPS:9361034,PAINTING_DECORATING:9361035,JEWELRY_CLOCKS_WATCHES:9361036,NEWSAGENTS_TOBACCONISTS:9361037,OPTICIAN:9361038,SPORTS_EQUIPMENT_CLOTHING:9361039,TOYS_GAMES_SHOP:9361040,TRAVEL_AGENT:9361041,CONSTRUCTION_MATERIAL_EQUIPMENT:9361042,MEDICAL_SUPPLIES_EQUIPMENT:9361043,VIDEO_RENTAL_SHOP:9361044,LAUNDRY:9361045,PHOTO_LAB_DEVELOPMENT:9361046,PHOTOCOPY_SHOP:9361047,ANIMAL_SERVICES:9361048,ANTIQUE_ART_SHOP:9361049,BEAUTY_SUPPLIES:9361050,DRUG_STORE:9361051,ELECTRICAL_APPLIANCES_SHOP:9361052,HOBBY_SHOP:9361053,FURNITURE_HOME_FURNISHINGS:9361054,GLASSWARE_CERAMIC_SHOP:9361055,LOCAL_SPECIALITIES_SHOP:9361056,RECYCLING_SHOP:9361057,BAGS_LEATHERWEAR:9361058,MUSIC_INSTRUMENTS_STORE:9361059,DELICATESSEN:9361060,SPECIALTY_FOODS:9361061,SHOPPING_SERVICE:9361062,RETAIL_OUTLET:9361063,PET_SUPPLIES:9361064,WHOLESALE_CLUB:9361066,BEAUTY_SALON:9361067,NAIL_SALON:9361068,HARDWARE_STORE:9361069,PAWN_SHOP:9361070,LOTTERY_SHOP:9361071,BETTING_STATION:9361072,AGRICULTURAL_SUPPLIES:9361073,MOBILE_PHONE_SHOP:9361075,DRIVE_THROUGH_BOTTLE_SHOP:9361076,TAILOR_SHOP:9361077,SECURITY_PRODUCTS:9361078,SPECIALTY_CLOTHING_SHOP:9361079,GLASS_WINDOWS_STORE:9361080,VARIETY_STORE:9361081,CHRISTMAS_HOLIDAY_SHOP:9361082,BOATING_EQUIPMENT_ACCESSORIES:9361083,PARK_RECREATION_AREA:9362,BATTLEFIELD:9362002,CEMETERY:9362003,HISTORIC_SITE:9362004,HISTORICAL_PARK:9362005,MEMORIAL:9362007,PARK:9362008,PARKWAY:9362009,RECREATION_AREA:9362011,WILDERNESS_AREA:9362014,FOREST_AREA:9362015,FISHING_HUNTING_AREA:9362016,FAIRGROUND:9362017,OTHER_WINTER_SPORT:9362025,SKI_RESORT:9362026,BOAT_LAUNCHING_RAMP:9362032,PICNIC_AREA:9362033,PROTECTED_AREA:9362037,COURTHOUSE:9363,MARIJUANA_DISPENSARY:9364,MEDICINAL_MARIJUANA_DISPENSARY:9364002,RECREATIONAL_MARIJUANA_DISPENSARY:9364003,TENNIS_COURT:9369,WATER_SPORT:9371,DOCTOR:9373,GENERAL_PRACTITIONER:9373002,SPECIALIST:9373003,DENTIST:9374,VETERINARIAN:9375,CAFE_PUB:9376,CAFE:9376002,PUB:9376003,INTERNET_CAFE:9376004,TEA_HOUSE:9376005,COFFEE_SHOP:9376006,MICROBREWERY:9376007,EXHIBITION_CONVENTION_CENTER:9377,LEISURE_CENTER:9378,BOWLING_CENTER:9378002,DANCE_STUDIO_SCHOOL:9378003,SAUNA_SOLARIUM_MASSAGE:9378005,SNOOKER_POOL_BILLIARD:9378006,NIGHTLIFE:9379,DISCO_CLUB:9379002,BAR:9379004,COCKTAIL_BAR:9379006,JAZZ_CLUB:9379008,COMEDY_CLUB:9379009,KARAOKE_CLUB:9379010,COMMERCIAL_BUILDING:9382,INDUSTRIAL_BUILDING:9383,NATIVE_RESERVATION:9389,HEALTH_CARE_SERVICE:9663,PERSONAL_SERVICE:9663002,PERSONAL_CARE_FACILITY:9663003,BLOOD_BANK:9663004,AMBULANCE_UNIT:9663005,ENTERTAINMENT:9900,AMUSEMENT_PARK:9902,AMUSEMENT_PLACE:9902004,AUTOMOTIVE_DEALER:9910,CAR_DEALER:9910002,MOTORCYCLE_DEALER:9910003,BOAT_DEALER:9910004,RECREATIONAL_VEHICLE_DEALER:9910005,TRUCK_DEALER:9910006,VAN_DEALER:9910007,BUS_DEALER:9910008,ATV_DEALER:9910009,GOLF_COURSE:9911,LIBRARY:9913,ZOOS_ARBORETA_BOTANICAL_GARDEN:9927,ARBORETA_BOTANICAL_GARDENS:9927002,ZOO:9927003,AQUATIC_ZOO:9927004,WILDLIFE_PARK:9927005,RENT_A_CAR_PARKING:9930,PUBLIC_AMENITY:9932,PASSENGER_TRANSPORT_TICKET_OFFICE:9932002,PUBLIC_CALL_BOX:9932004,PUBLIC_TOILET:9932005,ROAD_RESCUE:9932006,MOUNTAIN_PASS:9935,CLUB_ASSOCIATION:9937,BEACH_CLUB:9937002,HOCKEY_CLUB:9937003,PUBLIC_TRANSPORT_STOP:9942,BUS_STOP:9942002,TAXI_STAND:9942003,STREETCAR_STOP:9942004,EMERGENCY_ROOM:9956},v=Object.fromEntries(Object.entries(f).map(([A,E])=>[E,A])),$=(E,R,T)=>{if(0===E.geometry.coordinates.length)return 0;if(R.length<2)return 0;const _=A(E,W(T)).properties.location;if(void 0===_)return 0;const I=[];for(const N of R){const R=A(E,W(N));I.push(R.properties.location??0)}for(let A=0;A<I.length-1;A++){const E=I[A],R=I[A+1];if(_>=E&&_<=R)return A+1}return _<I[0]?0:R.length},b=(A,E,R)=>{const T=$(A,E,R);return[...E.slice(0,T),R,...E.slice(T)]},w=(A,E)=>{const{progress:R}=A.properties;if(!R||0===R.length)return;const T=A.geometry.coordinates.length;if(E<0||E>=T)return;const _=J(R,"pointIndex",E);if(!_)return;const{lower:I,lowerVal:N,upper:S,upperVal:O}=_,C=I.distanceInMeters,L=S.distanceInMeters,U=I.travelTimeInSeconds,e=S.travelTimeInSeconds;if(void 0===C||void 0===L||void 0===U||void 0===e)return;if(N===O)return{distanceInMeters:C,travelTimeInSeconds:U};const t=(E-N)/(O-N);return{distanceInMeters:C+t*(L-C),travelTimeInSeconds:U+t*(e-U)}},Z=(A,E,R)=>{const T=w(A,E),_=w(A,R);if(T&&_)return{start:T,end:_,delta:{distanceInMeters:_.distanceInMeters-T.distanceInMeters,travelTimeInSeconds:_.travelTimeInSeconds-T.travelTimeInSeconds}}},X=(A,E)=>Z(A,E.startPointIndex,E.endPointIndex),x=(A,E)=>{const R=A.geometry.coordinates;if(!R||0===R.length||E.startPointIndex<0||E.endPointIndex>=R.length||E.startPointIndex>E.endPointIndex)return;const T=R[E.startPointIndex],_=R[E.endPointIndex],I=R[Math.floor((E.startPointIndex+E.endPointIndex)/2)];let N=s(T);return N=s(I,N),N=s(_,N),N},J=(A,E,R)=>{let T,_,I,N;for(const S of A){const A=S[E];void 0!==A&&(A<=R&&(T=S,_=A),A>=R&&void 0===I&&(I=S,N=A))}return void 0!==T&&void 0!==_&&void 0!==I&&void 0!==N?{lower:T,lowerVal:_,upper:I,upperVal:N}:void 0},Q=(A,E,R)=>{const T=A.geometry.coordinates,_=Math.min(E+1,T.length-1),I=T[E],N=T[_],S=w(A,E),O=w(A,_);if(S&&O)return{position:[I[0]+R*(N[0]-I[0]),I[1]+R*(N[1]-I[1])],travelTimeInSeconds:S.travelTimeInSeconds+R*(O.travelTimeInSeconds-S.travelTimeInSeconds),distanceInMeters:S.distanceInMeters+R*(O.distanceInMeters-S.distanceInMeters)}},k=(A,E,R)=>{const{progress:T}=A.properties;if(!T||0===T.length)return;const _=A.geometry.coordinates,I=T[0],N=T.at(-1),S=I[E],O=N[E];if(void 0===S||void 0===O)return;if(R<=S)return{position:_[I.pointIndex],travelTimeInSeconds:I.travelTimeInSeconds??0,distanceInMeters:I.distanceInMeters??0};if(R>=O)return{position:_[N.pointIndex],travelTimeInSeconds:N.travelTimeInSeconds??0,distanceInMeters:N.distanceInMeters??0};const C=((A,E,R)=>{const T=J(A,E,R);if(!T)return;const{lower:_,lowerVal:I,upper:N,upperVal:S}=T,O=I===S?0:(R-I)/(S-I),C=_.pointIndex+O*(N.pointIndex-_.pointIndex),L=Math.floor(C);return{pathIndex:L,progressRatioTowardsNextPathPoint:C-L}})(T,E,R);return void 0!==C?Q(A,C.pathIndex,C.progressRatioTowardsNextPathPoint):void 0},j=(A,E)=>{if("traveledTimeInSeconds"in E)return k(A,"travelTimeInSeconds",E.traveledTimeInSeconds);if("traveledDistanceInMeters"in E)return k(A,"distanceInMeters",E.traveledDistanceInMeters);const R=A.properties.summary.departureTime;if(!R)return;const T=(E.clockTime.getTime()-R.getTime())/1e3;return T<0?void 0:k(A,"travelTimeInSeconds",T)},z=(E,R)=>{const{progress:T}=E.properties;if(!T?.length)return;const _=E.geometry.coordinates,I=A(E,W(R)),N=I.properties.index??0,S=Math.min(N+1,_.length-1),O=_[N],C=_[S];return Q(E,N,((A,E,R)=>{const T=R[0]-A[0],_=R[1]-A[1],I=T*T+_*_;if(0===I)return 0;const N=((E[0]-A[0])*T+(E[1]-A[1])*_)/I;return Math.max(0,Math.min(1,N))})(O,I.geometry.coordinates,C))},q=(A,E)=>{let R;return R=Array.isArray(A)||"Feature"!==A.type?y(W(A)):A,{...R,properties:{...R.properties,radiusMeters:E}}},AA=A=>Array.isArray(A)?Array.isArray(A[0])?"path":"waypoint":"Feature"===A.type&&"LineString"===A.geometry.type?"path":"waypoint",EA=["unknown","minor","moderate","major","indefinite"],RA={1:"accident",2:"fog",3:"danger",4:"rain",5:"frost",6:"jam",7:"lane-closed",8:"road-closed",9:"roadworks",10:"wind",11:"flooding",12:"animals-on-road",13:"narrow-lanes",14:"broken-down-vehicle"},TA=Object.fromEntries(Object.entries(RA).map(([A,E])=>[E,Number(A)])),_A=A=>RA[A]??"other",IA=A=>TA[A]??0,NA=A=>A?.minutes??"min",SA=(A,E)=>{if(A){const _=Math.abs(A)/3600;let I=Math.floor(_),N=Math.round(_%1*60);60===N&&(N=0,I++);const S={...T.instance.get().displayUnits?.time,...E};if(I)return`${I} ${R=S,R?.hours??"hr"} ${N.toString().padStart(2,"0")} ${NA(S)}`;if(N)return`${N.toString()} ${NA(S)}`}var R},OA=1609.344,CA=A=>A?.meters??"m",LA=A=>A?.kilometers??"km",UA=(A,E,R)=>E<3?((A,E,R)=>{const T=Number.parseInt(E.toString()),_=E-T,I=A<0?"-":"";if(_<.125)return`${I}${T} ${R}`;const N=T>0?T:"";return _<.375?`${I}${N}¼ ${R}`:_<.625?`${I}${N}½ ${R}`:_<.875?`${I}${N}¾ ${R}`:`${I}${T+1} ${R}`})(A,E,R):E<10?((A,E,R)=>{const T=Number.parseInt(E.toString()),_=E-T,I=A<0?"-":"";return _<.25?`${I}${T} ${R}`:_<.75?`${I}${T}½ ${R}`:`${I}${T+1} ${R}`})(A,E,R):`${Math.round(A)} ${R}`,eA=A=>A.miles??"mi",tA=(A,E)=>{const R=A/OA,T=Math.abs(R);return T<.125?((A,E)=>{const R=Math.round(A/.3048),T=Math.abs(R);return T<30?`${R} ${E}`:T<500?`${10*Math.round(R/10)} ${E}`:`${100*Math.round(R/100)} ${E}`})(A,E.feet??"ft"):UA(R,T,eA(E))},PA=(A,E)=>{const R=A/OA,T=Math.abs(R);return T<.125?((A,E)=>{const R=Math.round(A/.9144);return Math.abs(R)<10?`${Math.round(R)} ${E}`:`${10*Math.round(R/10)} ${E}`})(A,E.yards??"yd"):UA(R,T,eA(E))},rA=(A,R)=>{if(E(A))return"";const _={...T.instance.get().displayUnits?.distance,...R};switch(_?.type??"metric"){case"metric":return((A,E)=>{const R=Math.abs(A);if(R<10)return`${A} ${CA(E)}`;if(R<500)return`${10*Math.round(A/10)} ${CA(E)}`;if(R<1e3){const R=100*Math.round(A/100);return 1e3===R||-1e3===R?`${A<0?"-":""}1 ${LA(E)}`:`${R} ${CA(E)}`}return R<1e4?`${100*Math.round(A/100)/1e3} ${LA(E)}`:`${Math.round(A/1e3)} ${LA(E)}`})(A,_);case"imperial_us":return tA(A,_);case"imperial_uk":return PA(A,_)}};export{p as TOMTOM_USER_AGENT_SDK_NAME,T as TomTomConfig,q as asSoftWaypoint,n as avoidableTypes,V as bboxCenter,B as bboxExpandedWithBBox,Y as bboxExpandedWithGeoJSON,s as bboxExpandedWithPosition,d as bboxFromBBoxes,c as bboxFromCoordsArray,F as bboxFromGeoJSON,D as bboxOnlyIfWithArea,w as calculateProgressAtRoutePoint,S as chargingPointCapabilities,O as chargingPointRestrictions,N as chargingPointStatus,I as chargingStationAccessTypes,C as connectorTypes,L as currentTypes,R as defaultConfig,$ as findBestWaypointInsertionIndex,rA as formatDistance,SA as formatDuration,u as generateId,m as generateTomTomHeaders,U as geographyTypes,j as getCoordinateAtRouteProgress,h as getPosition,W as getPositionStrict,z as getProgressAtNearestRoutePoint,AA as getRoutePlanningLocationType,Z as getRouteProgressBetween,X as getRouteProgressForSection,x as getSectionBBox,_A as iconToTrafficIncidentCategory,EA as indexedMagnitudes,M as inputSectionTypes,o as inputSectionTypesWithGuidance,G as isBBoxWithArea,_ as mergeFromGlobal,r as paymentMethods,e as placeTypes,P as plugTypes,t as poiCategories,f as poiCategoriesToID,v as poiIDsToCategories,l as polygonFromBBox,H as sectionTypes,y as toPointFeature,g as toPointGeometry,i as trafficIncidentCategories,IA as trafficIncidentToIconCategory,a as views,b as withInsertedWaypoint};
2
2
  //# sourceMappingURL=core.es.js.map
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tomtom-org/maps-sdk",
3
3
  "author": "TomTom International B.V.",
4
4
  "license": "See in LICENSE.txt",
5
- "version": "0.46.4",
5
+ "version": "0.46.5",
6
6
  "description": "TomTom Maps for JavaScript",
7
7
  "keywords": [
8
8
  "tomtom",