#include #include #include #include #include #include #include #include typedef enum { VinDecoderMainMenuScene, VinDecoderVinInputScene, VinDecoderVinMessageScene, VinDecoderAboutScene, VinDecoderSceneCount, } VinDecoderScene; typedef enum { VinDecoderSubmenuView, VinDecoderWidgetView, VinDecoderTextInputView, } VinDecoderView; typedef struct VinDecoderApp { SceneManager* scene_manager; ViewDispatcher* view_dispatcher; Submenu* submenu; Widget* widget; TextInput* text_input; char* vin; uint8_t vin_size; } VinDecoderApp; typedef enum { VinDecoderMainMenuSceneVinInput, VinDecoderMainMenuSceneAbout, } VinDecoderMainMenuSceneIndex; typedef enum { VinDecoderMainMenuSceneVinInputEvent, VinDecoderMainMenuSceneAboutEvent, } VinDecoderMainMenuEvent; typedef enum { VinDecoderVinInputSceneSaveEvent, } VinDecoderVinInputEvent; void vin_decoder_text_input_callback(void* context); static bool vin_decoder_custom_callback(void* context, uint32_t custom_event); bool vin_decoder_back_event_callback(void* context); int get_vehicle_year(char vin_char); const char* get_vehicle_manufacturer(const char* vin); void vin_decoder_menu_callback(void* context, uint32_t index) { VinDecoderApp* app = context; switch (index) { case VinDecoderMainMenuSceneVinInput: scene_manager_handle_custom_event(app->scene_manager, VinDecoderMainMenuSceneVinInputEvent); break; case VinDecoderMainMenuSceneAbout: scene_manager_handle_custom_event(app->scene_manager, VinDecoderMainMenuSceneAboutEvent); break; } } void vin_decoder_main_menu_scene_on_enter(void* context) { VinDecoderApp* app = context; submenu_reset(app->submenu); submenu_set_header(app->submenu, "VIN Decoder App"); submenu_add_item( app->submenu, "Enter VIN", VinDecoderMainMenuSceneVinInput, vin_decoder_menu_callback, app); submenu_add_item( app->submenu, "About", VinDecoderMainMenuSceneAbout, vin_decoder_menu_callback, app); view_dispatcher_switch_to_view(app->view_dispatcher, VinDecoderSubmenuView); } bool vin_decoder_main_menu_scene_on_event(void* context, SceneManagerEvent event) { VinDecoderApp* app = context; bool consumed = false; switch (event.type) { case SceneManagerEventTypeCustom: switch (event.event) { case VinDecoderMainMenuSceneVinInputEvent: scene_manager_next_scene(app->scene_manager, VinDecoderVinInputScene); consumed = true; break; case VinDecoderMainMenuSceneAboutEvent: scene_manager_next_scene(app->scene_manager, VinDecoderAboutScene); consumed = true; break; } break; default: break; } return consumed; } void vin_decoder_main_menu_scene_on_exit(void* context) { VinDecoderApp* app = context; submenu_reset(app->submenu); } void vin_decoder_text_input_callback(void* context) { VinDecoderApp* app = context; if (strlen(app->vin) > 17) { app->vin[17] = '\0'; } for (int i = 0; app->vin[i] != '\0'; i++) { app->vin[i] = toupper(app->vin[i]); } scene_manager_handle_custom_event(app->scene_manager, VinDecoderVinInputSceneSaveEvent); } void vin_decoder_vin_input_scene_on_enter(void* context) { VinDecoderApp* app = context; bool clear_text = true; text_input_reset(app->text_input); text_input_set_header_text(app->text_input, "Enter your 17-character VIN"); text_input_set_result_callback( app->text_input, vin_decoder_text_input_callback, app, app->vin, app->vin_size, clear_text); app->vin[17] = '\0'; view_dispatcher_switch_to_view(app->view_dispatcher, VinDecoderTextInputView); } bool vin_decoder_vin_input_scene_on_event(void* context, SceneManagerEvent event) { VinDecoderApp* app = context; bool consumed = false; if (event.type == SceneManagerEventTypeCustom) { if (event.event == VinDecoderVinInputSceneSaveEvent) { scene_manager_next_scene(app->scene_manager, VinDecoderVinMessageScene); consumed = true; } } return consumed; } void vin_decoder_vin_input_scene_on_exit(void* context) { UNUSED(context); } void vin_decoder_vin_message_scene_on_enter(void* context) { VinDecoderApp* app = context; widget_reset(app->widget); FuriString* message = furi_string_alloc(); int year = get_vehicle_year(app->vin[9]); const char* manufacturer = get_vehicle_manufacturer(app->vin); furi_string_printf( message, "Your VIN is:\n%s\nManufacturer:\n%s\nYear: %d", app->vin, manufacturer, year); widget_add_string_multiline_element( app->widget, 5, 30, AlignLeft, AlignCenter, FontSecondary, furi_string_get_cstr(message)); furi_string_free(message); view_dispatcher_switch_to_view(app->view_dispatcher, VinDecoderWidgetView); } bool vin_decoder_vin_message_scene_on_event(void* context, SceneManagerEvent event) { UNUSED(context); UNUSED(event); return false; } void vin_decoder_vin_message_scene_on_exit(void* context) { VinDecoderApp* app = context; widget_reset(app->widget); } void vin_decoder_about_scene_on_enter(void* context) { VinDecoderApp* app = context; widget_reset(app->widget); FuriString* about_message = furi_string_alloc(); furi_string_printf(about_message, "VIN Decoder App\nVersion 0.2\nAuthor:evillero\n\nwww.github.com/evillero"); widget_add_string_multiline_element( app->widget, 5, 30, AlignLeft, AlignCenter, FontSecondary, furi_string_get_cstr(about_message)); furi_string_free(about_message); view_dispatcher_switch_to_view(app->view_dispatcher, VinDecoderWidgetView); } bool vin_decoder_about_scene_on_event(void* context, SceneManagerEvent event) { UNUSED(context); UNUSED(event); return false; } void vin_decoder_about_scene_on_exit(void* context) { VinDecoderApp* app = context; widget_reset(app->widget); } void (*const vin_decoder_scene_on_enter_handlers[])(void*) = { vin_decoder_main_menu_scene_on_enter, vin_decoder_vin_input_scene_on_enter, vin_decoder_vin_message_scene_on_enter, vin_decoder_about_scene_on_enter, }; bool (*const vin_decoder_scene_on_event_handlers[])(void*, SceneManagerEvent) = { vin_decoder_main_menu_scene_on_event, vin_decoder_vin_input_scene_on_event, vin_decoder_vin_message_scene_on_event, vin_decoder_about_scene_on_event, }; void (*const vin_decoder_scene_on_exit_handlers[])(void*) = { vin_decoder_main_menu_scene_on_exit, vin_decoder_vin_input_scene_on_exit, vin_decoder_vin_message_scene_on_exit, vin_decoder_about_scene_on_exit, }; static const SceneManagerHandlers vin_decoder_scene_manager_handlers = { .on_enter_handlers = vin_decoder_scene_on_enter_handlers, .on_event_handlers = vin_decoder_scene_on_event_handlers, .on_exit_handlers = vin_decoder_scene_on_exit_handlers, .scene_num = VinDecoderSceneCount, }; static bool vin_decoder_custom_callback(void* context, uint32_t custom_event) { furi_assert(context); VinDecoderApp* app = context; return scene_manager_handle_custom_event(app->scene_manager, custom_event); } bool vin_decoder_back_event_callback(void* context) { furi_assert(context); VinDecoderApp* app = context; return scene_manager_handle_back_event(app->scene_manager); } static VinDecoderApp* vin_decoder_app_alloc() { VinDecoderApp* app = malloc(sizeof(VinDecoderApp)); app->vin_size = 18; app->vin = malloc(app->vin_size); app->scene_manager = scene_manager_alloc(&vin_decoder_scene_manager_handlers, app); app->view_dispatcher = view_dispatcher_alloc(); view_dispatcher_set_event_callback_context(app->view_dispatcher, app); view_dispatcher_set_custom_event_callback(app->view_dispatcher, vin_decoder_custom_callback); view_dispatcher_set_navigation_event_callback(app->view_dispatcher, vin_decoder_back_event_callback); app->submenu = submenu_alloc(); view_dispatcher_add_view( app->view_dispatcher, VinDecoderSubmenuView, submenu_get_view(app->submenu)); app->widget = widget_alloc(); view_dispatcher_add_view( app->view_dispatcher, VinDecoderWidgetView, widget_get_view(app->widget)); app->text_input = text_input_alloc(); view_dispatcher_add_view( app->view_dispatcher, VinDecoderTextInputView, text_input_get_view(app->text_input)); return app; } static void vin_decoder_app_free(VinDecoderApp* app) { furi_assert(app); view_dispatcher_remove_view(app->view_dispatcher, VinDecoderSubmenuView); view_dispatcher_remove_view(app->view_dispatcher, VinDecoderWidgetView); view_dispatcher_remove_view(app->view_dispatcher, VinDecoderTextInputView); scene_manager_free(app->scene_manager); view_dispatcher_free(app->view_dispatcher); submenu_free(app->submenu); widget_free(app->widget); text_input_free(app->text_input); free(app->vin); free(app); } int get_vehicle_year(char vin_char) { switch (vin_char) { case 'T': return 1996; case 'V': return 1997; case 'W': return 1998; case 'X': return 1999; case 'Y': return 2000; case '1': return 2001; case '2': return 2002; case '3': return 2003; case '4': return 2004; case '5': return 2005; case '6': return 2006; case '7': return 2007; case '8': return 2008; case '9': return 2009; case 'A': return 2010; case 'B': return 2011; case 'C': return 2012; case 'D': return 2013; case 'E': return 2014; case 'F': return 2015; case 'G': return 2016; case 'H': return 2017; case 'J': return 2018; case 'K': return 2019; case 'L': return 2020; case 'M': return 2021; case 'N': return 2022; case 'P': return 2023; case 'R': return 2024; case 'S': return 2025; default: return -1; } } typedef struct { char code[4]; const char* name; } Manufacturer; static const Manufacturer manufacturers[] = { {"WEG", "Ablinger"}, {"RKT", "Access Motor"}, {"ZA0", "Acerbi"}, {"WAF", "Ackermann"}, {"ZDJ", "ACM Biagini"}, {"JH4", "Acura"}, {"2HH", "Acura"}, {"2HN", "Acura"}, {"19U", "Acura"}, {"19V", "Acura"}, {"JAE", "Acura SLX"}, {"5FR", "Acura SUV"}, {"5J8", "Acura SUV"}, {"4W5", "Acura ZDX EV"}, {"W0L", "Adam Opel"}, {"YBD", "Addax"}, {"RFL", "Adly"}, {"WSV", "Aebi Schmidt Group"}, {"RF3", "Aeon Motor"}, {"TKX", "Agados"}, {"8BB", "Agrale"}, {"9BY", "Agrale"}, {"VLG", "Aixam-Mega"}, {"ZAA", "Alfa Romeo"}, {"ZAR", "Alfa Romeo"}, {"ZAS", "Alfa Romeo"}, {"ZAS", "Alfa Romeo"}, {"TSF", "Alfabusz"}, {"WAP", "Alpina"}, {"137", "AM General Hummer"}, {"XEA", "AmberAvto"}, {"1AF", "American LaFrance"}, {"4Z3", "American LaFrance"}, {"1AM", "American Motors"}, {"2CM", "American Motors Corp"}, {"XE2", "AMKAR"}, {"Y9M", "AMS"}, {"MBY", "AMW"}, {"NNA", "Anadolu Isuzu"}, {"SKL", "Anaig"}, {"LA8", "Anhui Ankai"}, {"LK2", "Anhui JAC Bus"}, {"ZC1", "AnsaldoBreda"}, {"XLJ", "Anssems"}, {"ZD4", "Aprilia"}, {"7F7", "Arcimoto"}, {"5AX", "Armor"}, {"UU3", "ARO"}, {"SX7", "Arthur Bus"}, {"VGT", "ASCA"}, {"MB1", "Ashok"}, {"KN1", "Asia Motors"}, {"KN2", "Asia Motors"}, {"SCF", "Aston Martin"}, {"SD7", "Aston Martin"}, {"UU9", "Astra Bus"}, {"2CG", "Asuna/Pontiac"}, {"MYH", "Ather Energy"}, {"YA2", "Atlas Copco"}, {"MCG", "Atul Auto"}, {"AAA", "Audi"}, {"TRU", "Audi"}, {"93U", "Audi"}, {"99A", "Audi"}, {"WAU", "Audi car"}, {"WUA", "Audi Sport"}, {"WU1", "Audi Sport"}, {"WA1", "Audi SUV"}, {"WAC", "Audi/Porsche RS2 Avant"}, {"EAA", "Aurus Motors"}, {"UA1", "AUSA Center"}, {"SAA", "Austin"}, {"SAX", "Austin-Rover"}, {"ZAA", "Autobianchi"}, {"516", "Autocar truck"}, {"SUA", "Autosan"}, {"12A", "Avanti"}, {"TNA", "Avia/Daewoo"}, {"SGA", "Avondale"}, {"XU6", "Avtodom"}, {"VZ2", "Avtomontaza"}, {"XUU", "AvtoTor"}, {"XWE", "AvtoTor"}, {"XWF", "AvtoTor"}, {"X4X", "AvtoTor"}, {"8LG", "Aymesa"}, {"SPE", "B-ON"}, {"LKC", "BAIC"}, {"AFD", "BAIC Automotive"}, {"LNB", "BAIC Motor"}, {"SGB", "Bailey"}, {"MD2", "Bajaj Auto"}, {"1BL", "Balko"}, {"LZP", "Baotian"}, {"L82", "Baotian"}, {"HJ4", "BAW"}, {"Y7F", "BAZ"}, {"6KT", "BCI Bus"}, {"1BN", "Beall Trailers"}, {"SKF", "Bedford"}, {"LHB", "Beijing"}, {"LRD", "Beijing"}, {"LXV", "Beijing"}, {"LE4", "Beijing Benz-Daimler"}, {"LBE", "Beijing Hyundai"}, {"Y3J", "Belkommunmash"}, {"VH1", "Benalu SAS"}, {"MER", "Benelli"}, {"ZBN", "Benelli"}, {"SCB", "Bentley"}, {"SJA", "Bentley SUV"}, {"LD5", "Benzhou Vehicle"}, {"ZBB", "Bertone"}, {"V6A", "Bestnet"}, {"ZD3", "Beta Motor"}, {"ZES", "Bimota"}, {"WBJ", "Bitter Cars"}, {"7SU", "Blue Arc"}, {"1BA", "Blue Bird"}, {"1BB", "Blue Bird"}, {"1BD", "Blue Bird"}, {"VL4", "Bluecar"}, {"WB2", "Blyss"}, {"NMC", "BMC"}, {"ABM", "BMW"}, {"MMF", "BMW"}, {"3MW", "BMW"}, {"4US", "BMW"}, {"98M", "BMW"}, {"PM1", "BMW & Mini"}, {"LBV", "BMW Brilliance"}, {"WBA", "BMW"}, {"WBY", "BMW i"}, {"WB5", "BMW i SUV"}, {"WBS", "BMW M"}, {"3MF", "BMW M"}, {"5UM", "BMW M"}, {"5YM", "BMW M SUV"}, {"95V", "BMW motorcycles"}, {"WB1", "BMW Motorrad"}, {"WB3", "BMW Motorrad"}, {"WB4", "BMW Motorrad"}, {"99Z", "BMW Motorrad"}, {"WBX", "BMW SUV"}, {"5UX", "BMW SUV"}, {"SVS", "BODEX"}, {"Y6J", "Bogdan"}, {"Y6L", "Bogdan"}, {"Y7B", "Bogdan group"}, {"XJY", "Bonum"}, {"SZL", "Boro Trailers"}, {"TBS", "Boschung"}, {"NRE", "Bozankaya"}, {"51R", "Brammo Motorcycles"}, {"ZCZ", "BredaBus"}, {"UH2", "Brenderup"}, {"V6B", "Brentex"}, {"SJB", "Brian James"}, {"LSY", "Brilliance"}, {"X9W", "Brilliance"}, {"3JB", "BRP"}, {"VGW", "BSLT"}, {"TEB", "Bucher"}, {"5MZ", "Buell"}, {"95Z", "Buell"}, {"4MZ", "Buell Motorcycle Company"}, {"PM9", "Bufori"}, {"W04", "Buick"}, {"2G4", "Buick"}, {"1G4", "Buick"}, {"3G4", "Buick"}, {"5GA", "Buick MPV/SUV"}, {"3G5", "Buick SUV"}, {"XLK", "Burg"}, {"99L", "BYD"}, {"LC0", "BYD Auto"}, {"LGX", "BYD Auto"}, {"LPE", "BYD Auto"}, {"ZDY", "Cacciamali"}, {"2G6", "Cadillac"}, {"2GE", "Cadillac"}, {"1G6", "Cadillac"}, {"1GE", "Cadillac"}, {"1GY", "Cadillac"}, {"YSC", "Cadillac BLS"}, {"W06", "Cadillac Catera"}, {"3GY", "Cadillac SUV"}, {"ZCG", "Cagiva/MV Agusta"}, {"ST3", "Calabrese"}, {"UHL", "Camp-let"}, {"RLV", "Can-Am"}, {"2BZ", "Can-Am"}, {"2BV", "Can-Am & Bombardier ATV"}, {"2BW", "Can-Am Commander E LSV"}, {"2BX", "Can-Am Spyder"}, {"7TN", "Canoo"}, {"95P", "CAOA"}, {"4LM", "Capacity of Texas"}, {"VFG", "Caravelair"}, {"ZB3", "Cardi"}, {"ZE5", "Carmosino"}, {"4YM", "Carry-On"}, {"SMW", "Cartwright"}, {"ZD5", "Casalini"}, {"SDK", "Caterham"}, {"1HS", "Caterpillar"}, {"1HT", "Caterpillar"}, {"3HS", "Caterpillar Trucks"}, {"TWG", "CeatanoBus"}, {"7H8", "Cenntro"}, {"LCE", "CFMOTO"}, {"AAW", "Challenger"}, {"LS4", "Changan"}, {"LS5", "Changan"}, {"LS6", "Changan"}, {"LSC", "Changan Automobile"}, {"LVS", "Changan Ford"}, {"LVR", "Changan Mazda"}, {"LPA", "Changan PSA"}, {"LVF", "Changhe Suzuki"}, {"LFY", "Changshu Light Motorcycle Factory"}, {"LAN", "Changzhou Yamasaki"}, {"1CM", "Checker Motors"}, {"LNN", "Chery"}, {"LVT", "Chery"}, {"LVU", "Chery"}, {"LVV", "Chery"}, {"PRH", "Chery"}, {"98R", "Chery"}, {"9UJ", "Chery"}, {"LVM", "Chery Commercial Vehicle"}, {"LUR", "Chery,iCar"}, {"VKD", "Cheval Liberte"}, {"J8B", "Chevrolet"}, {"J8C", "Chevrolet"}, {"J8Z", "Chevrolet"}, {"MMM", "Chevrolet"}, {"2G1", "Chevrolet"}, {"2GA", "Chevrolet"}, {"2GB", "Chevrolet"}, {"2GN", "Chevrolet"}, {"1G1", "Chevrolet"}, {"1G8", "Chevrolet"}, {"1GA", "Chevrolet"}, {"1GB", "Chevrolet"}, {"1GN", "Chevrolet"}, {"1HA", "Chevrolet"}, {"3G1", "Chevrolet"}, {"8AG", "Chevrolet"}, {"8GG", "Chevrolet"}, {"9BG", "Chevrolet"}, {"9GA", "Chevrolet"}, {"4G1", "Chevrolet Cavalier"}, {"2G8", "Chevrolet MPV"}, {"3GN", "Chevrolet SUV"}, {"93C", "Chevrolet SUV"}, {"2GC", "Chevrolet truck"}, {"1GC", "Chevrolet truck"}, {"3GC", "Chevrolet truck"}, {"JG1", "Chevrolet/Geo"}, {"JGC", "Chevrolet/Geo"}, {"J81", "Chevrolet/Geo"}, {"1Y1", "Chevrolet/Geo"}, {"RKM", "China Motor"}, {"XTS", "ChMZAP"}, {"LHJ", "Chongqing"}, {"LWM", "Chongqing"}, {"LXY", "Chongqing"}, {"LX8", "Chongqing"}, {"L1K", "Chongqing"}, {"LAP", "Chongqing Jianshe"}, {"LB4", "Chongqing Yinxiang"}, {"JJ3", "Chrysler"}, {"ZC2", "Chrysler"}, {"3A4", "Chrysler"}, {"3C3", "Chrysler"}, {"3C3", "Chrysler"}, {"3C4", "Chrysler"}, {"3C4", "Chrysler"}, {"3C6", "Chrysler"}, {"3C7", "Chrysler"}, {"3C8", "Chrysler"}, {"1C3", "Chrysler"}, {"1C3", "Chrysler"}, {"1C4", "Chrysler"}, {"1C4", "Chrysler"}, {"1C6", "Chrysler"}, {"1C8", "Chrysler"}, {"2C3", "Chrysler"}, {"2C3", "Chrysler"}, {"2C4", "Chrysler"}, {"2C4", "Chrysler"}, {"2C8", "Chrysler"}, {"4C3", "Chrysler"}, {"3A8", "Chrysler"}, {"MZZ", "Citroen"}, {"TW6", "Citroen"}, {"VF7", "Citroen"}, {"VR7", "Citroen"}, {"VS7", "Citroen"}, {"8BC", "Citroen"}, {"935", "Citroen"}, {"9V7", "Citroen"}, {"5J5", "Club Car"}, {"SG4", "Coachman"}, {"53G", "Coda Automotive"}, {"43C", "Consulier"}, {"1MR", "Continental"}, {"5EO", "Cottrell"}, {"RFT", "CPI"}, {"1CY", "Crane Carrier Company"}, {"TRK", "Credo bus"}, {"V34", "Crobus"}, {"4V0", "Crossroads RV"}, {"LHW", "CRRC"}, {"5YN", "Cruise"}, {"TRC", "Csepel bus"}, {"KLP", "CT&T United"}, {"1CU", "Cushman Haulster"}, {"UU1", "Dacia"}, {"LDB", "Dadi Auto"}, {"KMY", "Daelim Motor"}, {"KL7", "Daewoo"}, {"UU6", "Daewoo"}, {"5GD", "Daewoo G2X"}, {"KLA", "Daewoo/GM"}, {"KLY", "Daewoo/GM"}, {"KL1", "Daewoo/GM"}, {"KL2", "Daewoo/GM"}, {"KL3", "Daewoo/GM"}, {"KL7", "Daewoo/GM"}, {"KL8", "Daewoo/GM"}, {"XLR", "DAF"}, {"XLA", "DAF Bus"}, {"XLV", "DAF Bus"}, {"98P", "DAF Trucks"}, {"95V", "Dafra Motos"}, {"JD1", "Daihatsu"}, {"JD2", "Daihatsu SUV"}, {"JD4", "Daihatsu truck"}, {"JDA", "Daihatsu, Subaru Justy"}, {"MEC", "Daimler"}, {"LDD", "Dandong Huanghai"}, {"LG6", "Dayun Group"}, {"UH2", "De Forenede"}, {"ZDT", "De Tomaso"}, {"SCE", "DeLorean Motor"}, {"SEG", "Dennis Eagle"}, {"VTH", "Derbi"}, {"WDT", "Dethleffs"}, {"LVP", "DFSK"}, {"LVZ", "DFSK"}, {"MKF", "DFSK"}, {"X21", "Diesel-S"}, {"MC4", "Dilip"}, {"Y9T", "Dnipro"}, {"1B6", "Dodg"}, {"JB3", "Dodge"}, {"1B3", "Dodge"}, {"2D6", "Dodge"}, {"3B3", "Dodge"}, {"3B4", "Dodge"}, {"3B6", "Dodge"}, {"3B7", "Dodge"}, {"1D3", "Dodge"}, {"1D4", "Dodge"}, {"1D7", "Dodge"}, {"1D8", "Dodge"}, {"2B3", "Dodge"}, {"2B4", "Dodge"}, {"2B5", "Dodge"}, {"2B7", "Dodge"}, {"4B3", "Dodge"}, {"937", "Dodge"}, {"2D4", "Dodge MPV"}, {"2D8", "Dodge MPV"}, {"JB4", "Dodge MPV/SUV"}, {"WDW", "Dodge Sprinter"}, {"WDX", "Dodge Sprinter"}, {"WD0", "Dodge Sprinter"}, {"WD8", "Dodge Sprinter"}, {"1B4", "Dodge SUV"}, {"3D4", "Dodge SUV"}, {"JB7", "Dodge truck"}, {"1B7", "Dodge truck"}, {"2D7", "Dodge truck"}, {"3D3", "Dodge truck"}, {"3D7", "Dodge truck"}, {"SDF", "Dodge Trucks"}, {"SEP", "Don-Bur"}, {"LEW", "Dongfeng"}, {"LGA", "Dongfeng"}, {"LGB", "Dongfeng"}, {"LGC", "Dongfeng"}, {"LGF", "Dongfeng"}, {"LGJ", "Dongfeng"}, {"LUD", "Dongfeng"}, {"LUX", "Dongfeng"}, {"9UT", "Dongfeng"}, {"LLU", "Dongfeng Fengxing"}, {"LVH", "Dongfeng Honda"}, {"LGG", "Dongfeng Liuzhou Motor"}, {"LGB", "Dongfeng Nissan"}, {"7KY", "Dorsey"}, {"LDC", "DPCA"}, {"ZPY", "DR Automobiles"}, {"VR1", "DS Automobiles"}, {"ZDM", "Ducati"}, {"ZKC", "Ducati Energia"}, {"ML0", "Ducati Motor"}, {"2DN", "Dynasty"}, {"4EN", "E-ONE"}, {"RK3", "E-Ton"}, {"10R", "E-Z-GO"}, {"WEL", "e.GO Mobile"}, {"TSE", "EAG"}, {"4E3", "Eagle"}, {"JE3", "Eagle car"}, {"2E3", "Eagle car"}, {"2XM", "Eagle Premier"}, {"546", "EBR"}, {"T7A", "Ebusco"}, {"XL3", "Ebusco"}, {"YC3", "Eduard"}, {"MC2", "Eicher Motors"}, {"MAN", "Eicher Polaris"}, {"SGE", "Elddis"}, {"ZEB", "Ellebi"}, {"R4N", "Elyx Smart"}, {"ZNN", "Energica"}, {"LTW", "Enovate"}, {"SAF", "ERF trucks"}, {"UU7", "Euro Bus Diamond"}, {"EAU", "EVM"}, {"WEB", "Evobus"}, {"R2P", "Evoke"}, {"EAN", "Evolute"}, {"1XA", "Excalibur"}, {"5EH", "Excelsior-Henderson"}, {"ZFM", "Fantic Motor"}, {"7G0", "Faraday Future"}, {"HGL", "Farizon"}, {"V1Y", "FAS Sanos bus"}, {"AAK", "FAW"}, {"LFP", "FAW"}, {"LDK", "FAW Bus"}, {"LFN", "FAW Bus"}, {"LFB", "FAW Group"}, {"LFW", "FAW JieFang"}, {"LFM", "FAW Toyota"}, {"LTV", "FAW Toyota"}, {"LFT", "FAW trailers"}, {"LH1", "FAW-Haima"}, {"LFV", "FAW-Volkswagen"}, {"YAF", "Faymonville"}, {"YAM", "Faymonville"}, {"ZH5", "FB Mondial"}, {"MCA", "FCA"}, {"46J", "Federal Motors Inc"}, {"5FT", "Feeling Trailers"}, {"WFC", "Fendt"}, {"ZFF", "Ferrari"}, {"ZDF", "Ferrari Dino"}, {"ZSG", "Ferrari SUV"}, {"TFH", "FHS"}, {"MAH", "Fiat"}, {"VXF", "Fiat"}, {"ZFA", "Fiat"}, {"ZFB", "Fiat"}, {"8AP", "Fiat"}, {"9BD", "Fiat"}, {"9VC", "Fiat"}, {"JC1", "Fiat 124 Spider"}, {"93W", "Fiat Ducato"}, {"3E4", "Fiat SUV"}, {"ZFC", "Fiat truck"}, {"VYF", "Fiat van"}, {"VCF", "Fisker"}, {"WFD", "Fliegl"}, {"1GF", "Flxible bus"}, {"SFN", "Foden"}, {"YU1", "Fogelsta"}, {"13N", "Fontaine"}, {"MC1", "Force Motors"}, {"AFA", "Ford"}, {"JC0", "Ford"}, {"MAJ", "Ford"}, {"MNA", "Ford"}, {"MNB", "Ford"}, {"MPB", "Ford"}, {"NM0", "Ford"}, {"PE1", "Ford"}, {"PR8", "Ford"}, {"RHA", "Ford"}, {"RL0", "Ford"}, {"SFA", "Ford"}, {"UN1", "Ford"}, {"VS6", "Ford"}, {"WF0", "Ford"}, {"XLC", "Ford"}, {"X9F", "Ford"}, {"Y4F", "Ford"}, {"Z6F", "Ford"}, {"2FA", "Ford"}, {"2FM", "Ford"}, {"3FA", "Ford"}, {"3FC", "Ford"}, {"3FE", "Ford"}, {"3FR", "Ford"}, {"1FA", "Ford"}, {"1FB", "Ford"}, {"1FC", "Ford"}, {"1FD", "Ford"}, {"1FM", "Ford"}, {"1F1", "Ford"}, {"1F6", "Ford"}, {"1ZV", "Ford"}, {"5LD", "Ford"}, {"6F1", "Ford"}, {"6FP", "Ford"}, {"7A5", "Ford"}, {"8AF", "Ford"}, {"8XD", "Ford"}, {"9BF", "Ford"}, {"JC2", "Ford Courier"}, {"3FN", "Ford F-650/F-750"}, {"KNJ", "Ford Festiva"}, {"TW2", "Ford Lusitana"}, {"3FM", "Ford MPV/SUV"}, {"2FT", "Ford truck"}, {"3FT", "Ford truck"}, {"1FT", "Ford truck"}, {"4X4", "Forest River"}, {"5NH", "Forest River"}, {"5ZT", "Forest River"}, {"LMX", "Forthing"}, {"LB5", "Foshan City"}, {"MP5", "Foton"}, {"LVA", "Foton Motor"}, {"LVC", "Foton Motor bus"}, {"LVB", "Foton Motor truck"}, {"X2L", "Fox"}, {"XZT", "FoxBus"}, {"SAZ", "Freight Rover"}, {"WCD", "Freightliner"}, {"2FU", "Freightliner"}, {"2FV", "Freightliner"}, {"1FU", "Freightliner"}, {"1FV", "Freightliner"}, {"W1H", "Freightliner Econic"}, {"WDP", "Freightliner Sprinter"}, {"WDR", "Freightliner Sprinter"}, {"WDY", "Freightliner Sprinter"}, {"WD1", "Freightliner Sprinter"}, {"WD2", "Freightliner Sprinter"}, {"WD5", "Freightliner Sprinter"}, {"W2W", "Freightliner Sprinter"}, {"W2X", "Freightliner Sprinter"}, {"W2Y", "Freightliner Sprinter"}, {"W2Z", "Freightliner Sprinter"}, {"3AK", "Freightliner Trucks"}, {"3AL", "Freightliner Trucks"}, {"WD6", "Freightliner Unimog"}, {"WD7", "Freightliner Unimog"}, {"1FG", "Freightliner Unimog"}, {"SFR", "Fruehauf"}, {"VFK", "Fruehauf"}, {"SUL", "FSC"}, {"SUF", "FSM/Fiat"}, {"SUP", "FSO"}, {"LB1", "Fujian Benz"}, {"LFJ", "Fujian Motors"}, {"LNA", "GAC"}, {"LWV", "GAC"}, {"PRN", "GAC"}, {"LMW", "GAC Group"}, {"LHG", "GAC Honda"}, {"LL6", "GAC Mitsubishi"}, {"LMG", "GAC Motor"}, {"LVG", "GAC Toyota"}, {"UJG", "Garia"}, {"VTR", "Gas Gas"}, {"XTH", "GAZ"}, {"X96", "GAZ"}, {"Y7D", "GAZ"}, {"L6T", "Geely"}, {"Y4K", "Geely"}, {"Y7W", "Geely"}, {"LB3", "Geely Automobile"}, {"L10", "Geely Emgrand"}, {"LB2", "Geely Motorcycles"}, {"5AS", "GEM"}, {"52C", "GEM"}, {"6G1", "General Motors"}, {"6G3", "General Motors"}, {"6H8", "General Motors"}, {"ADM", "General Motors"}, {"4G5", "General Motors"}, {"8LD", "General Motors"}, {"8Z1", "General Motors"}, {"2Gx", "General Motors"}, {"XUF", "General Motors"}, {"KMT", "Genesis Motor"}, {"KMU", "Genesis Motor SUV"}, {"2CN", "Geo/Chevrolet"}, {"2C1", "Geo/Chevrolet"}, {"46G", "Gillig"}, {"15G", "Gillig bus"}, {"SA3", "Ginetta Cars"}, {"MA6", "GM"}, {"MCB", "GM"}, {"MJB", "GM"}, {"KL5", "GM Daewoo"}, {"KL6", "GM Daewoo"}, {"4W1", "GM Defense"}, {"KL4", "GM Korea"}, {"X9L", "GM-AvtoVAZ"}, {"JGT", "GMC"}, {"J8D", "GMC"}, {"J8T", "GMC"}, {"2G0", "GMC"}, {"2GD", "GMC"}, {"2GH", "GMC"}, {"2GJ", "GMC"}, {"2GK", "GMC"}, {"1G0", "GMC"}, {"1G0", "GMC"}, {"1G5", "GMC"}, {"1GD", "GMC"}, {"1GH", "GMC"}, {"1GJ", "GMC"}, {"1GK", "GMC"}, {"7GZ", "GMC i"}, {"2G5", "GMC MPV"}, {"3GK", "GMC SUV"}, {"2CT", "GMC Terrain"}, {"2CK", "GMC Tracker"}, {"1GT", "GMC Truck"}, {"2GT", "GMC truck"}, {"3GT", "GMC truck"}, {"XTF", "GolAZ"}, {"WG0", "Goldhofer"}, {"LCR", "Gonow"}, {"1G9", "Google"}, {"WGB", "Goppel Bus"}, {"VRW", "Goupil"}, {"UD3", "Granalu"}, {"VK2", "Grandin"}, {"U6A", "Granus"}, {"SMX", "Gray & Adams"}, {"X90", "GRAZ"}, {"1GR", "Great Dane Trailers"}, {"LGW", "Great Wall Motor"}, {"XZG", "Great Wall Motor"}, {"X9X", "Great Wall Motors"}, {"Y7C", "Great Wall Motors"}, {"8L4", "Great Wall Motors"}, {"VJY", "Gruau"}, {"VJ4", "Gruau"}, {"LE8", "Guangzhou"}, {"LP6", "Guangzhou"}, {"LZU", "Guangzhou Isuzu"}, {"LGL", "Guilin Daewoo"}, {"VWF", "Guillen"}, {"XZP", "Gut Trailer"}, {"MNU", "GWM"}, {"LKH", "Hafei Motor"}, {"LMV", "Haima"}, {"WHW", "Hako"}, {"WMU", "Hako"}, {"VAH", "Hangler"}, {"99K", "Haojue & Kymco"}, {"MEG", "Harley-Davidson"}, {"MLY", "Harley-Davidson"}, {"1HD", "Harley-Davidson"}, {"932", "Harley-Davidson"}, {"5HD", "Harley-Davidson"}, {"7MZ", "HDK"}, {"5HT", "Heil Trailer"}, {"LS8", "Henan"}, {"MBL", "Hero"}, {"UKR", "Hero Camper"}, {"LGV", "Heshan"}, {"VJ1", "Heuliez Bus"}, {"PML", "Hicom"}, {"LKL", "Higer Bus"}, {"MA7", "Hindustan Motors"}, {"AHH", "Hino"}, {"JHA", "Hino"}, {"JHB", "Hino"}, {"JHD", "Hino"}, {"JHF", "Hino"}, {"JHH", "Hino"}, {"MNK", "Hino"}, {"7H4", "Hino truck"}, {"R36", "HK Shansu"}, {"44K", "HME"}, {"WHB", "Hobby"}, {"MMU", "Holden"}, {"1GH", "Holden"}, {"3G0", "Holden"}, {"3GM", "Holden Suburban"}, {"5G8", "Holden Volt"}, {"W0L", "Holden Zafira"}, {"AHM", "Honda"}, {"MAK", "Honda"}, {"ME4", "Honda"}, {"MHR", "Honda"}, {"MRH", "Honda"}, {"NLA", "Honda"}, {"NMH", "Honda"}, {"PAD", "Honda"}, {"PMH", "Honda"}, {"PMK", "Honda"}, {"RK3", "Honda"}, {"RLH", "Honda"}, {"SAH", "Honda"}, {"SHH", "Honda"}, {"SHS", "Honda"}, {"YC1", "Honda"}, {"ZDC", "Honda"}, {"2HG", "Honda"}, {"2HJ", "Honda"}, {"2HK", "Honda"}, {"1HG", "Honda"}, {"3H1", "Honda"}, {"3HG", "Honda"}, {"7A3", "Honda"}, {"8C3", "Honda"}, {"93H", "Honda"}, {"NFB", "Honda Atlas"}, {"478", "Honda ATV"}, {"LUC", "Honda Automobile"}, {"19X", "Honda car"}, {"5KB", "Honda car"}, {"1HF", "Honda moto/ATV/UTV"}, {"8CH", "Honda motorcycle"}, {"5FN", "Honda MPV/SUV"}, {"3GP", "Honda Prologue"}, {"3CZ", "Honda SUV"}, {"4S6", "Honda SUV"}, {"5J6", "Honda SUV"}, {"7FA", "Honda SUV"}, {"5FP", "Honda truck"}, {"WHD", "Humbaur"}, {"5GR", "Hummer H2"}, {"5GT", "Hummer H3"}, {"5GN", "Hummer H3T"}, {"YU7", "Husaberg"}, {"VBK", "Husqvarna"}, {"ZCG", "Husqvarna"}, {"ZHU", "Husqvarna"}, {"ZKH", "Husqvarna"}, {"WHY", "Hymer"}, {"AC5", "Hyundai"}, {"KMF", "Hyundai"}, {"KMH", "Hyundai"}, {"MAL", "Hyundai"}, {"MB2", "Hyundai"}, {"MX3", "Hyundai"}, {"NLH", "Hyundai"}, {"NLJ", "Hyundai"}, {"PFD", "Hyundai"}, {"PP3", "Hyundai"}, {"TMC", "Hyundai"}, {"X7M", "Hyundai"}, {"Z94", "Hyundai"}, {"2HM", "Hyundai"}, {"3H3", "Hyundai"}, {"5NP", "Hyundai"}, {"7YA", "Hyundai"}, {"9BH", "Hyundai"}, {"KMX", "Hyundai Galloper"}, {"KMJ", "Hyundai bus"}, {"TMA", "Hyundai Motor"}, {"KM8", "Hyundai SUV"}, {"5NM", "Hyundai SUV"}, {"KMC", "Hyundai truck"}, {"5NT", "Hyundai truck"}, {"KME", "Hyundai truck"}, {"SED", "IBC"}, {"1HV", "IC Bus"}, {"4DR", "IC Bus"}, {"SCK", "Ifor Williams"}, {"V2X", "Ikarbus"}, {"TRA", "Ikarus Bus"}, {"TSB", "Ikarus Bus"}, {"2A3", "Imperial"}, {"MXV", "IMZ-Ural"}, {"X8J", "IMZ-Ural"}, {"ZBD", "InBus"}, {"SH7", "INEOS"}, {"SC6", "INEOS SUV"}, {"JNK", "Infiniti"}, {"JNX", "Infiniti"}, {"JNR", "Infiniti SUV"}, {"3PC", "Infiniti SUV"}, {"5N3", "Infiniti SUV"}, {"ZJN", "Innocenti"}, {"PL8", "Inokom-Hyundai"}, {"SVM", "Inter"}, {"2HS", "International Trucks"}, {"2HT", "International Trucks"}, {"XUZ", "InterPipeVAN"}, {"WJR", "Irmscher"}, {"5L5", "IronHorse"}, {"ACV", "Isuzu"}, {"JAA", "Isuzu"}, {"JAB", "Isuzu"}, {"JAL", "Isuzu"}, {"JAM", "Isuzu"}, {"LZE", "Isuzu"}, {"MP1", "Isuzu"}, {"PAB", "Isuzu"}, {"PLZ", "Isuzu"}, {"RLE", "Isuzu"}, {"4KL", "Isuzu"}, {"4S1", "Isuzu"}, {"4S2", "Isuzu"}, {"54D", "Isuzu & Chevrolet"}, {"4NU", "Isuzu Ascender"}, {"M3G", "Isuzu Motors"}, {"MPA", "Isuzu Motors"}, {"JR2", "Isuzu Oasis"}, {"1GG", "Isuzu pickup"}, {"Z7X", "Isuzu Rus"}, {"JAC", "Isuzu SUV"}, {"ZJT", "Italjet"}, {"VF5", "Iveco"}, {"UA2", "Iveco"}, {"Y6B", "Iveco"}, {"Z9N", "Iveco"}, {"6F2", "Iveco"}, {"8AT", "Iveco"}, {"8XV", "Iveco"}, {"93Z", "Iveco"}, {"VNE", "Iveco Bus"}, {"ZGA", "Iveco Bus"}, {"ZN3", "Iveco Defence"}, {"SBC", "Iveco Ford Truck"}, {"ZCF", "Iveco/Irisbus"}, {"WJM", "Iveco/Iveco"}, {"XTK", "IzhAvto"}, {"LJ1", "JAC"}, {"SAJ", "Jaguar"}, {"99J", "Jaguar Land Rover"}, {"SAD", "Jaguar SUV"}, {"MZD", "Jawa"}, {"TLJ", "Jawa Moto"}, {"6AM", "Jayco"}, {"1UJ", "Jayco, Inc."}, {"SLP", "JC Bamford"}, {"1UT", "Jeep"}, {"988", "Jeep and Fiat"}, {"1JC", "Jeep SUV"}, {"1J4", "Jeep SUV"}, {"1J8", "Jeep SUV"}, {"1JT", "Jeep truck"}, {"1J7", "Jeep truck"}, {"2J4", "Jeep Wrangler"}, {"2BC", "Jeep Wrangler"}, {"ZAC", "Jeep, Dodge"}, {"SUJ", "Jelcz"}, {"HJR", "Jetour"}, {"LEF", "Jiangling Motors"}, {"LET", "Jiangling-Isuzu"}, {"LMF", "Jiangmen"}, {"LLJ", "Jiangsu"}, {"LMH", "Jiangsu"}, {"LZ4", "Jiangsu"}, {"R1J", "Jiayuan Power"}, {"LAE", "Jinan Qingqi"}, {"LV7", "Jinan Qingqi"}, {"LJC", "Jincheng"}, {"LS7", "JMC"}, {"LJX", "JMC Ford"}, {"LJW", "JMC Landwind"}, {"LND", "JMEV"}, {"1PY", "John Deere"}, {"17N", "John Deere"}, {"1M0", "John Deere Gator"}, {"YB6", "Jonckheere"}, {"NS2", "JV MAN"}, {"YT7", "Kabe"}, {"XTC", "KAMAZ"}, {"5KT", "Karavan"}, {"WMM", "Karl Muller"}, {"50G", "Karma Automotive"}, {"TMK", "Karosa"}, {"NLN", "Karsan"}, {"X1E", "KAvZ"}, {"Z7N", "KAvZ"}, {"JKA", "Kawasaki"}, {"JKB", "Kawasaki"}, {"JSK", "Kawasaki"}, {"96P", "Kawasaki"}, {"RK7", "Kawasaki ATV"}, {"JSL", "Kawasaki KFX400 ATV"}, {"ML5", "Kawasaki Motors"}, {"TSY", "Keeway"}, {"SKB", "Kel-Berg"}, {"2XK", "Kenworth"}, {"1NK", "Kenworth"}, {"3WK", "Kenworth"}, {"6F5", "Kenworth"}, {"1XK", "Kenworth k"}, {"MDT", "Kerala"}, {"4YD", "KeyStone"}, {"NVA", "Khazar"}, {"KNE", "Kia"}, {"KNF", "Kia"}, {"MZB", "Kia"}, {"PRX", "Kia"}, {"U5Y", "Kia"}, {"U6Y", "Kia"}, {"9UW", "Kia"}, {"KNA", "Kia"}, {"5XX", "Kia"}, {"KNG", "Kia minibus/bus"}, {"KND", "Kia MPV/SUV"}, {"KNC", "Kia truck"}, {"3KM", "Kia/Hyundai"}, {"3KP", "Kia/Hyundai"}, {"5XY", "Kia/Hyundai SUV"}, {"BF9", "KIBO"}, {"BUK", "Kiira Motors"}, {"MDE", "Kinetic"}, {"LA6", "King Long"}, {"ZFE", "KL Motorcycle"}, {"XPN", "Knapen"}, {"WKN", "Knaus"}, {"YT9", "Koenigsegg"}, {"WK0", "Kogel"}, {"Y7S", "Korida-Tech"}, {"XN1", "Kraker"}, {"Y7A", "KrAZ"}, {"WKE", "Krone"}, {"VA4", "KSR"}, {"VBK", "KTM"}, {"3CG", "KTMMEX"}, {"RKL", "Kuozui Motors"}, {"Z9B", "KuzbassAvto"}, {"LC2", "Kymco"}, {"RFB", "Kymco"}, {"XTJ", "Lada"}, {"Y9Z", "Lada"}, {"XTA", "Lada / AvtoVAZ"}, {"YB4", "LAG"}, {"ZHW", "Lamborghini"}, {"ZPB", "Lamborghini SUV"}, {"ZLA", "Lancia"}, {"SAL", "Land Rover"}, {"LVX", "Landwind"}, {"WLA", "Langendorf"}, {"DF9", "Laraki"}, {"ZLV", "Laverda"}, {"XTW", "LAZ"}, {"Y8A", "LAZ"}, {"Y9H", "LAZ"}, {"SEY", "LDV Group"}, {"LFZ", "Leapmotor"}, {"VV1", "Lecitrailer"}, {"1LV", "Lectra Motors"}, {"Y6Y", "LEV"}, {"JTH", "Lexus"}, {"JT8", "Lexus"}, {"58A", "Lexus"}, {"JTJ", "Lexus SUV"}, {"JT6", "Lexus SUV"}, {"2T2", "Lexus SUV"}, {"SBL", "Leyland"}, {"SBJ", "Leyland Bus"}, {"SBB", "Leyland Vehicles"}, {"HLX", "Li Auto"}, {"TNG", "LIAZ"}, {"XTY", "LiAZ"}, {"Y3F", "Lida Buses Neman"}, {"WLF", "Liebherr"}, {"LLV", "Lifan"}, {"9UK", "Lifan"}, {"LF3", "Lifan Motorcycle"}, {"LFU", "Lifeng Group"}, {"XL4", "Lightyear"}, {"VJR", "Ligier"}, {"2L1", "Lincoln"}, {"2LJ", "Lincoln"}, {"2LN", "Lincoln"}, {"1LJ", "Lincoln"}, {"1LN", "Lincoln"}, {"3LN", "Lincoln"}, {"5L1", "Lincoln"}, {"1L1", "Lincoln limousine"}, {"2LM", "Lincoln SUV"}, {"5LM", "Lincoln SUV"}, {"5LT", "Lincoln truck"}, {"LXN", "Link Tour"}, {"MD7", "LML"}, {"VGY", "Lohr"}, {"T3C", "Lohr Backa Topola"}, {"LLC", "Loncin"}, {"SCR", "London Taxi Company"}, {"7NY", "Lordstown"}, {"SCC", "Lotus"}, {"XTD", "LuAZ"}, {"7UU", "Lucid"}, {"50E", "Lucid Motors"}, {"NG3", "Lucky Motor"}, {"1L0", "Lufkin Trailers"}, {"Z7C", "Luidor"}, {"SGL", "Lunar"}, {"LAT", "Luoyang Northern"}, {"RF5", "Luxgen"}, {"YH2", "Lynx snowmobiles"}, {"8XJ", "Mack"}, {"1M1", "Mack Truck"}, {"1M2", "Mack Truck"}, {"1M3", "Mack Truck"}, {"1M4", "Mack Truck"}, {"2M1", "Mack Trucks"}, {"2M2", "Mack Trucks"}, {"6FM", "Mack Trucks"}, {"9BN", "Mafersa"}, {"VP3", "Magyar"}, {"MAB", "Mahindra"}, {"MAC", "Mahindra"}, {"MA1", "Mahindra"}, {"MCD", "Mahindra"}, {"ZJM", "Malaguti"}, {"NAC", "Mammut truck"}, {"AAM", "MAN"}, {"NMA", "MAN"}, {"PMA", "MAN"}, {"VAN", "MAN"}, {"WMA", "MAN"}, {"6AB", "MAN"}, {"7AB", "MAN"}, {"LZM", "MAN China"}, {"MBK", "MAN Trucks"}, {"R3M", "Mangosteen"}, {"SCM", "Manitowoc Cranes"}, {"1JU", "Marmon Motor Company"}, {"SXX", "Martz"}, {"Z8M", "Marussia"}, {"MA3", "Maruti"}, {"XVG", "MARZ"}, {"ZAM", "Maserati"}, {"ZN6", "Maserati SUV"}, {"57C", "Maurer"}, {"XTM", "MAZ"}, {"Y3M", "MAZ"}, {"JMZ", "Mazda"}, {"JM0", "Mazda"}, {"JM1", "Mazda"}, {"JM2", "Mazda"}, {"JM4", "Mazda"}, {"JM6", "Mazda"}, {"JM7", "Mazda"}, {"PE3", "Mazda"}, {"PP1", "Mazda"}, {"YCM", "Mazda"}, {"1YV", "Mazda"}, {"3MD", "Mazda"}, {"3MZ", "Mazda"}, {"4F4", "Mazda"}, {"8LF", "Mazda"}, {"9FC", "Mazda"}, {"AFB", "Mazda BT-50"}, {"MP2", "Mazda BT-50"}, {"JM3", "Mazda MPV/SUV"}, {"3MV", "Mazda SUV"}, {"4F2", "Mazda SUV"}, {"7MM", "Mazda SUV"}, {"VG5", "MBK"}, {"SBM", "McLaren"}, {"SLG", "McMurtry"}, {"SUG", "Mega Trailers"}, {"SXM", "MELEX"}, {"ZCM", "Menarinibus"}, {"ZHZ", "Menci"}, {"8AB", "Mercedes Benz"}, {"8AC", "Mercedes Benz"}, {"WMX", "Mercedes-AMG"}, {"ADB", "Mercedes-Benz"}, {"BR1", "Mercedes-Benz"}, {"MBR", "Mercedes-Benz"}, {"NLE", "Mercedes-Benz"}, {"NMB", "Mercedes-Benz"}, {"RLM", "Mercedes-Benz"}, {"VSA", "Mercedes-Benz"}, {"WDA", "Mercedes-Benz"}, {"WDD", "Mercedes-Benz"}, {"WDF", "Mercedes-Benz"}, {"WDZ", "Mercedes-Benz"}, {"WD3", "Mercedes-Benz"}, {"WD4", "Mercedes-Benz"}, {"W1K", "Mercedes-Benz"}, {"W1W", "Mercedes-Benz"}, {"W1X", "Mercedes-Benz"}, {"W1Y", "Mercedes-Benz"}, {"W1Z", "Mercedes-Benz"}, {"Z9M", "Mercedes-Benz"}, {"1MB", "Mercedes-Benz"}, {"55S", "Mercedes-Benz"}, {"8BN", "Mercedes-Benz"}, {"8BR", "Mercedes-Benz"}, {"8BT", "Mercedes-Benz"}, {"9BM", "Mercedes-Benz"}, {"WDB", "Mercedes-Benz & Maybach"}, {"WDC", "Mercedes-Benz SUV"}, {"W1N", "Mercedes-Benz SUV"}, {"4JG", "Mercedes-Benz SUV"}, {"W1T", "Mercedes-Benz truck"}, {"8BU", "Mercedes-Benz truck"}, {"W1V", "Mercedes-Benz van"}, {"2ME", "Mercury"}, {"1ME", "Mercury"}, {"1ZW", "Mercury"}, {"3MA", "Mercury"}, {"3ME", "Mercury"}, {"6MP", "Mercury"}, {"2MR", "Mercury MPV"}, {"4M2", "Mercury MPV/SUV"}, {"KF3", "Merkavim"}, {"ZGP", "Merker"}, {"WF1", "Merkur"}, {"TKY", "Metaco"}, {"MML", "MG"}, {"MZ7", "MG Motor"}, {"VJ2", "Mia Electric"}, {"VH8", "Microcar"}, {"WMW", "MINI"}, {"TW7", "Mini Moke"}, {"TX5", "Mini Moke"}, {"WMZ", "MINI SUV"}, {"ABJ", "Mitsubishi"}, {"JA3", "Mitsubishi"}, {"JA7", "Mitsubishi"}, {"ML3", "Mitsubishi"}, {"MMA", "Mitsubishi"}, {"MMB", "Mitsubishi"}, {"MMC", "Mitsubishi"}, {"MMD", "Mitsubishi"}, {"MME", "Mitsubishi"}, {"MMT", "Mitsubishi"}, {"4A3", "Mitsubishi"}, {"4A4", "Mitsubishi"}, {"4MB", "Mitsubishi"}, {"4P3", "Mitsubishi"}, {"6MM", "Mitsubishi"}, {"7A1", "Mitsubishi"}, {"ABJ", "Mitsubishi Fuso"}, {"JW6", "Mitsubishi Fuso"}, {"TYA", "Mitsubishi Fuso"}, {"TYB", "Mitsubishi Fuso"}, {"JLB", "Mitsubishi Fuso"}, {"JLF", "Mitsubishi Fuso"}, {"JL5", "Mitsubishi Fuso"}, {"JL6", "Mitsubishi Fuso"}, {"JL7", "Mitsubishi Fuso"}, {"JE4", "Mitsubishi Motors"}, {"JMA", "Mitsubishi Motors"}, {"JMB", "Mitsubishi Motors"}, {"JMF", "Mitsubishi Motors"}, {"JMP", "Mitsubishi Motors"}, {"JMR", "Mitsubishi Motors"}, {"JMY", "Mitsubishi Motors"}, {"JA4", "Mitsubishi MPV/SUV"}, {"KPH", "Mitsubishi Precis"}, {"1Z3", "Mitsubishi Raider"}, {"PMN", "Modenas"}, {"SD8", "Moke"}, {"1NN", "Monon"}, {"VTD", "Montesa Honda"}, {"VTM", "Montesa Honda"}, {"SMR", "Montracon"}, {"SAM", "Morris"}, {"XTB", "Moskvitch / AZLK"}, {"ZGU", "Moto Guzzi"}, {"9C2", "Moto Honda"}, {"ZLM", "Moto Morini"}, {"UMT", "MTDK"}, {"Y3D", "MTM"}, {"NRX", "Musoshi"}, {"SDP", "NAC MG"}, {"LNP", "NAC MG UK Limited"}, {"Z8Y", "Nasteviya"}, {"93S", "Navistar"}, {"93V", "Navistar"}, {"7NA", "Navistar Defense"}, {"TAW", "NAW"}, {"PNA", "Naza/Kia/Peugeot"}, {"X1F", "NefAZ"}, {"Y3K", "Neman Bus"}, {"VXY", "Neobus"}, {"WAG", "Neoplan"}, {"SXE", "Neptun"}, {"SY1", "Neso Bus"}, {"LUZ", "Neta"}, {"MRT", "Neta"}, {"LTP", "NEVS"}, {"LV3", "NEVS"}, {"2FY", "New Flyer"}, {"5FY", "New Flyer"}, {"SLN", "Niftylift"}, {"LJ1", "Nio, Inc."}, {"ADN", "Nissan"}, {"JNC", "Nissan"}, {"JNE", "Nissan"}, {"JN1", "Nissan"}, {"JN3", "Nissan"}, {"JPC", "Nissan"}, {"MDH", "Nissan"}, {"MNT", "Nissan"}, {"PN8", "Nissan"}, {"SJK", "Nissan"}, {"SJN", "Nissan"}, {"VNV", "Nissan"}, {"VWA", "Nissan"}, {"Z8N", "Nissan"}, {"3N1", "Nissan"}, {"3N6", "Nissan"}, {"3N8", "Nissan"}, {"4N2", "Nissan"}, {"5BZ", "Nissan"}, {"6F4", "Nissan"}, {"7A7", "Nissan"}, {"7B2", "Nissan"}, {"8AN", "Nissan"}, {"94D", "Nissan"}, {"JN8", "Nissan & Infiniti"}, {"5N1", "Nissan & Infiniti SUV"}, {"JN6", "Nissan & Mitsubishi"}, {"1N4", "Nissan"}, {"VSK", "Nissan Motor"}, {"1N6", "Nissan truck"}, {"HA6", "Niu Technologies"}, {"XUS", "Nizhegorodets"}, {"EBZ", "Nizhekotrans bus"}, {"XMR", "Nooteboom"}, {"SAY", "Norton Motorcycles"}, {"VPL", "Nosmoke"}, {"2NV", "Nova Bus"}, {"4RK", "Nova Bus"}, {"YF3", "NTM"}, {"SBF", "Nugent"}, {"NPM", "Nursan"}, {"W0D", "Obermaier"}, {"NC0", "Oghab Afshan"}, {"2G3", "Oldsmobile"}, {"1G3", "Oldsmobile"}, {"1GH", "Oldsmobile"}, {"UU2", "Oltcit"}, {"ZA4", "Omar"}, {"2DG", "Ontario"}, {"VSX", "Opel"}, {"1G0", "Opel"}, {"4GD", "Opel Sintra"}, {"VXK", "Opel/Vauxhall"}, {"W0V", "Opel/Vauxhall"}, {"VXE", "Opel/Vauxhall van"}, {"SAB", "Optare"}, {"1Z9", "Orange County Choppers"}, {"57R", "Oreion"}, {"92H", "Origem"}, {"2B1", "Orion Bus"}, {"1VH", "Orion Bus Industries"}, {"10T", "Oshkos"}, {"NLR", "Otokar"}, {"SA9", "OX Global"}, {"NM1", "Oyak Renault"}, {"XLD", "Pacton"}, {"XNT", "Pacton"}, {"TKP", "Panav"}, {"NAP", "Pars Khodro"}, {"Y9A", "PAVAM"}, {"X1M", "PAZ"}, {"Z8T", "PCMA"}, {"VS1", "Pegaso"}, {"PM2", "Perodua"}, {"1NP", "Peterbilt"}, {"1XP", "Peterbilt"}, {"9DW", "Peterbilt"}, {"2XP", "Peterbilt truck"}, {"3WP", "Peterbilt truck"}, {"PNA", "Peugeot"}, {"VF3", "Peugeot"}, {"VR3", "Peugeot"}, {"VS8", "Peugeot"}, {"8AD", "Peugeot"}, {"8AE", "Peugeot"}, {"8GD", "Peugeot"}, {"936", "Peugeot"}, {"9V8", "Peugeot Expert"}, {"VGA", "Peugeot Motocycles"}, {"Y6W", "PGFM"}, {"RFV", "PGO"}, {"ZBA", "Piacenza"}, {"RP8", "Piaggio"}, {"MBX", "Piaggio Ape"}, {"MET", "Piaggio Vespa"}, {"ZAP", "Piaggio/Vespa/Gilera"}, {"4P1", "Pierce"}, {"NRY", "Pilotcar"}, {"ZFR", "Pininfarina"}, {"XJ4", "PKTS"}, {"JP3", "Plymouth"}, {"2P3", "Plymouth"}, {"2P5", "Plymouth"}, {"1P3", "Plymouth"}, {"1P4", "Plymouth"}, {"3P3", "Plymouth"}, {"4P3", "Plymouth"}, {"2P4", "Plymouth MPV"}, {"JP4", "Plymouth MPV/SUV"}, {"1P7", "Plymouth Scamp"}, {"JP7", "Plymouth truck"}, {"4XA", "Polaris"}, {"57X", "Polaris"}, {"3NS", "Polaris ATV"}, {"3NE", "Polaris UTV"}, {"LPS", "Polestar"}, {"YSM", "Polestar"}, {"YSR", "Polestar SUV"}, {"7SY", "Polestar SUV"}, {"JG2", "Pontiac"}, {"2CK", "Pontiac"}, {"2G2", "Pontiac"}, {"2G7", "Pontiac"}, {"1G2", "Pontiac"}, {"1G7", "Pontiac"}, {"1GM", "Pontiac"}, {"2C7", "Pontiac"}, {"3G2", "Pontiac"}, {"5Y2", "Pontiac"}, {"6G2", "Pontiac"}, {"4G2", "Pontiac Sunfire"}, {"3G7", "Pontiac SUV"}, {"JG7", "Pontiac/Asuna"}, {"J87", "Pontiac/Asuna"}, {"WP0", "Porsche"}, {"WP1", "Porsche SUV"}, {"Y9W", "Pragmatec"}, {"MBV", "Premier"}, {"2PC", "Prevost"}, {"RKJ", "Prince Motors"}, {"6U9", "Privately Imported"}, {"7JZ", "Proterra"}, {"PL1", "Proton"}, {"MHK", "PT Astra"}, {"MH1", "PT Astra Honda"}, {"MF3", "PT Hyundai"}, {"MHD", "PT Indomobil"}, {"MH4", "PT Kawasak"}, {"MHL", "PT Mercedes-Benz"}, {"MK2", "PT Mitsubishi"}, {"MK3", "PT SGMW"}, {"MHY", "PT Suzuki Indomobil"}, {"MH8", "PT Suzuki Indomobil"}, {"MHF", "PT Toyota"}, {"MH3", "PT Yamaha"}, {"9DF", "Puma"}, {"LUG", "Qiantu Motor"}, {"LWL", "Qingling Isuzu"}, {"LLN", "Qoros"}, {"TDM", "QUANTYA"}, {"ZF4", "Qvale"}, {"TRR", "Raba Bus"}, {"LA7", "Radar Auto (Geely)"}, {"X1D", "RAF"}, {"SJ1", "Ree Automotive"}, {"7VV", "Ree Automotive"}, {"ZP8", "Regis Motors"}, {"SCD", "Reliant Motors"}, {"MEE", "Renault"}, {"VF1", "Renault"}, {"VN1", "Renault"}, {"VYS", "Renault"}, {"VSY", "Renault"}, {"VS5", "Renault"}, {"X7L", "Renault"}, {"1XM", "Renault"}, {"8A1", "Renault"}, {"8G1", "Renault"}, {"93Y", "Renault"}, {"9FB", "Renault"}, {"VFA", "Renault Alpine GTA"}, {"ADR", "Renault Sandero"}, {"VMK", "Renault Sport Spider"}, {"SDG", "Renault Trucks"}, {"VF2", "Renault Trucks"}, {"VF6", "Renault Trucks"}, {"VG6", "Renault Trucks"}, {"VG7", "Renault Trucks"}, {"VG8", "Renault Trucks"}, {"KNM", "Renault&Nissan"}, {"WRA", "Renders"}, {"YA5", "Renders"}, {"V61", "Respo"}, {"MB7", "Reva Electric"}, {"VTP", "Rieju"}, {"V39", "Rimac Automobili"}, {"7PD", "Rivian SUV"}, {"7FC", "Rivian truck"}, {"1RF", "Roadmaster"}, {"Z7T", "RoAZ"}, {"UWR", "Robus"}, {"UU5", "Rocar"}, {"1YJ", "Rokon"}, {"ZAH", "Rolfo"}, {"SCA", "Rolls Royce"}, {"SLA", "Rolls Royce SUV"}, {"UU4", "Roman SA"}, {"54F", "Rosenbauer"}, {"SAR", "Rover & MG Rover"}, {"MBF", "Royal Enfield"}, {"ME3", "Royal Enfield"}, {"94N", "RWM"}, {"YS3", "Saab"}, {"YTN", "Saab"}, {"JF4", "Saab 9-2X"}, {"3G0", "Saab 9-4X"}, {"5S3", "Saab 9-7X"}, {"YK1", "Saab-Valmet"}, {"LRB", "SAIC"}, {"LRE", "SAIC"}, {"LSG", "SAIC"}, {"LSH", "SAIC"}, {"LSJ", "SAIC"}, {"LZW", "SAIC"}, {"LZF", "SAIC Iveco"}, {"LSF", "SAIC Maxus"}, {"LSK", "SAIC Maxus"}, {"LSV", "SAIC Volkswagen"}, {"NAS", "SAIPA"}, {"X9N", "Samoltor"}, {"LL0", "Sanmen"}, {"U1A", "Sanos"}, {"VSE", "Santana Motors"}, {"VSF", "Santana Motors"}, {"LFX", "Sany Heavy Industry"}, {"W08", "Saturn Astra"}, {"1G8", "Saturn car"}, {"5GZ", "Saturn MPV/SUV"}, {"3GS", "Saturn SUV"}, {"MXB", "SAvtoProm"}, {"NSA", "SAZ"}, {"SBS", "Scammell"}, {"SZA", "Scania"}, {"VLU", "Scania"}, {"XLE", "Scania"}, {"X8U", "Scania"}, {"YS2", "Scania"}, {"YS4", "Scania"}, {"3AX", "Scania"}, {"3BE", "Scania"}, {"8A3", "Scania"}, {"9BS", "Scania"}, {"UHE", "Scanvogn"}, {"VAV", "Schwarzmuller"}, {"SDC", "SDC"}, {"VSS", "SEAT/Cupra"}, {"VK1", "SEG"}, {"Z76", "SEMAZ"}, {"LM8", "Seres"}, {"WKK", "Setra"}, {"NPM", "Seyit Usta"}, {"LZG", "Shacman"}, {"LZ0", "Shandong"}, {"LJU", "Shanghai Maple"}, {"5CX", "Shelby Series 1"}, {"99H", "Shineray"}, {"LHA", "Shuanghuan"}, {"MD9", "Shuttle"}, {"MLB", "Siam Yamaha"}, {"XZB", "SIMAZ"}, {"LJV", "Sinotruk"}, {"LZK", "Sinotruk"}, {"LZZ", "Sinotruk"}, {"PRA", "Sinotruk"}, {"2BP", "Ski-Doo"}, {"MEX", "Skoda"}, {"NAD", "Skoda"}, {"TMB", "Skoda"}, {"TMP", "Skoda"}, {"Y6U", "Skoda"}, {"LME", "Skyworth"}, {"HES", "Smart"}, {"WME", "Smart"}, {"W1A", "smart"}, {"SUU", "Solaris Bus"}, {"5BP", "Solectria"}, {"YH1", "Solifer"}, {"YS7", "Solifer"}, {"EBE", "Sollers-Auto"}, {"RUN", "Sollets-Auto"}, {"X4T", "Sommer"}, {"WS7", "Sono Motors"}, {"VVC", "SOR Ibérica"}, {"LDN", "Soueast"}, {"LTN", "Soueast"}, {"93X", "Souza Ramos"}, {"4VZ", "Spartan Motors"}, {"KPB", "SsangYong"}, {"KPT", "SsangYong"}, {"KPA", "SsangYong/KG"}, {"XVU", "Start"}, {"YE6", "STAS"}, {"XG5", "Stavropoulos"}, {"2FW", "Sterling"}, {"480", "Sterling"}, {"3F6", "Sterling Bullet"}, {"JLS", "Sterling Truck 360"}, {"2FZ", "Sterling Trucks"}, {"RA1", "Steyr"}, {"VAG", "Steyr-Daimler-Puch"}, {"WS5", "StreetScooter"}, {"PLP", "Subaru"}, {"4S3", "Subaru"}, {"JF1", "Subaru"}, {"JF2", "Subaru SUV"}, {"4S4", "Subaru SUV/MPV"}, {"JF3", "Subaru truck"}, {"MMR", "Subaru/Tan"}, {"LAL", "Sundiro Honda"}, {"LJM", "Sunlong bus"}, {"MS0", "Super Seven Star"}, {"JSA", "Suzuki"}, {"JS1", "Suzuki"}, {"JS2", "Suzuki"}, {"LMC", "Suzuki"}, {"MBH", "Suzuki"}, {"MB8", "Suzuki"}, {"MMS", "Suzuki"}, {"PMS", "Suzuki"}, {"PPP", "Suzuki"}, {"TSM", "Suzuki"}, {"VTT", "Suzuki"}, {"2S2", "Suzuki"}, {"5SA", "Suzuki"}, {"8AK", "Suzuki"}, {"9CD", "Suzuki"}, {"JST", "Suzuki Across SUV"}, {"5Z6", "Suzuki Equator"}, {"JKS", "Suzuki Marauder"}, {"MS3", "Suzuki Myanmar"}, {"JK8", "Suzuki QUV620F"}, {"JS3", "Suzuki SUV"}, {"2S3", "Suzuki SUV"}, {"JS4", "Suzuki truck"}, {"MBU", "Swaraj Vehicles"}, {"SGD", "Swift"}, {"LM6", "SWM"}, {"ZN0", "SWM"}, {"RFG", "SYM"}, {"SWV", "TA-N"}, {"WTA", "Tabbert"}, {"RFC", "Taiwan Golden Bee"}, {"LFG", "Taizhou"}, {"SDB", "Talbot"}, {"VF4", "Talbot"}, {"VSC", "Talbot"}, {"ZX1", "TAM"}, {"ADX", "Tata Automobile"}, {"KLT", "Tata Daewoo"}, {"KLU", "Tata Daewoo"}, {"MAT", "Tata Motors, Rover"}, {"TMT", "Tatra"}, {"TNT", "Tatra"}, {"TNU", "Tatra"}, {"VV9", "TAURO"}, {"TNE", "TAZ"}, {"V31", "TAZ"}, {"ZLF", "Tazzari"}, {"SWH", "Temared"}, {"NLT", "Temsa"}, {"5DG", "Terex Advance Mixer"}, {"XP7", "Tesla Europe"}, {"SFZ", "Tesla Roadster"}, {"LRW", "Tesla, Inc."}, {"5YJ", "Tesla, Inc."}, {"7G2", "Tesla, Inc."}, {"7SA", "Tesla, Inc."}, {"NLZ", "Tezeller"}, {"MLH", "Thai Honda"}, {"MLC", "Thai Suzuki"}, {"MLE", "Thai Yamaha"}, {"YYC", "Think Nordic"}, {"1T7", "Thomas Built Buses"}, {"1T8", "Thomas Built Buses"}, {"LEC", "Tianjin Qingyuan"}, {"LB7", "Tibet New Summit"}, {"1TD", "Timpte"}, {"VVG", "Tisvol"}, {"NM4", "Tofas"}, {"NL1", "TOGG"}, {"X0T", "Tonar"}, {"AHT", "Toyota"}, {"JTD", "Toyota"}, {"JTK", "Toyota"}, {"JTN", "Toyota"}, {"JT2", "Toyota"}, {"JT4", "Toyota"}, {"JT5", "Toyota"}, {"MBJ", "Toyota"}, {"MR0", "Toyota"}, {"MR1", "Toyota"}, {"MR2", "Toyota"}, {"MR3", "Toyota"}, {"NMT", "Toyota"}, {"RL4", "Toyota"}, {"SB1", "Toyota"}, {"TW1", "Toyota"}, {"XW7", "Toyota"}, {"YAR", "Toyota"}, {"2T1", "Toyota"}, {"1NX", "Toyota"}, {"3MY", "Toyota"}, {"4T1", "Toyota"}, {"4T4", "Toyota"}, {"5YF", "Toyota"}, {"6T1", "Toyota"}, {"7A4", "Toyota"}, {"8AJ", "Toyota"}, {"9BR", "Toyota"}, {"93R", "Toyota"}, {"5TD", "Toyota & Lexus"}, {"JTB", "Toyota bus"}, {"JT7", "Toyota bus/van"}, {"4G3", "Toyota Cavalie"}, {"VNK", "Toyota Motor"}, {"JTG", "Toyota MPV/bus"}, {"JTE", "Toyota MPV/SUV"}, {"JT3", "Toyota MPV/SUV"}, {"4T3", "Toyota MPV/SUV"}, {"WZ1", "Toyota Supra"}, {"JTL", "Toyota SUV"}, {"JTM", "Toyota SUV"}, {"JTP", "Toyota SUV"}, {"2T3", "Toyota SUV"}, {"7MU", "Toyota SUV"}, {"7SV", "Toyota SUV"}, {"3TM", "Toyota truck"}, {"3TY", "Toyota truck"}, {"4TA", "Toyota truck"}, {"5TB", "Toyota truck"}, {"5TE", "Toyota truck"}, {"5TF", "Toyota truck"}, {"JT1", "Toyota van"}, {"JTF", "Toyota van/truck"}, {"SNT", "Trabant"}, {"1TK", "Trail King"}, {"VFN", "Trailor"}, {"ECW", "Trans-Alfa bus"}, {"1TD", "Transcraft Corporation"}, {"ZAJ", "Trigano"}, {"2LD", "Triple E"}, {"SCG", "Triumph"}, {"SMT", "Triumph"}, {"97N", "Triumph"}, {"SAT", "Triumph"}, {"XTU", "Trolza"}, {"VGU", "Trouillet"}, {"SU9", "truck trailer"}, {"YE7", "Turbos Hoet"}, {"SDL", "TVR"}, {"MD6", "TVS"}, {"TEM", "Twike"}, {"YYB", "Tysse"}, {"X6S", "TZA"}, {"4KE", "U.S. Electricar Consulier"}, {"XTT", "UAZ"}, {"ADD", "UD Trucks"}, {"XX3", "Ujet"}, {"M6F", "UM Lohia"}, {"TW4", "UMM"}, {"UVW", "UMM"}, {"PN1", "UMW"}, {"PN2", "UMW"}, {"SBU", "United Trailers"}, {"XTP", "Ural"}, {"X1P", "Ural"}, {"UZT", "UTB"}, {"SDU", "Utility"}, {"1UY", "Utility"}, {"XWB", "UZ-Daewoo/GM"}, {"YE1", "Van Hool"}, {"YE2", "Van Hool"}, {"7KG", "Vanderhall"}, {"SKA", "Vauxhall"}, {"SZC", "Vectrix"}, {"VK8", "Venturi"}, {"TJ5", "Vezeko"}, {"5VP", "Victory"}, {"TSC", "VIN assigned"}, {"7AT", "VIN assigned"}, {"7A8", "VIN assigned"}, {"AAP", "VIN restamped"}, {"RLA", "Vina Star"}, {"RLL", "VinFast"}, {"RLN", "VinFast"}, {"X6D", "VIS-AVTO"}, {"WVP", "Viseon Bus"}, {"16X", "Vixen 21"}, {"93P", "Volare"}, {"XKM", "Volgabus"}, {"X4K", "Volgabus"}, {"Z07", "Volgabus"}, {"AAV", "Volkswagen"}, {"PPV", "Volkswagen"}, {"VWV", "Volkswagen"}, {"WVW", "Volkswagen"}, {"WV1", "Volkswagen"}, {"WV2", "Volkswagen"}, {"WV3", "Volkswagen"}, {"WV4", "Volkswagen"}, {"XW8", "Volkswagen"}, {"YBW", "Volkswagen"}, {"1VW", "Volkswagen"}, {"3VV", "Volkswagen"}, {"3VW", "Volkswagen"}, {"8AW", "Volkswagen"}, {"9BW", "Volkswagen"}, {"2V4", "Volkswagen Routan"}, {"WVG", "Volkswagen SUV"}, {"1V2", "Volkswagen SUV"}, {"1V1", "Volkswagen truck"}, {"YSP", "Volta Trucks"}, {"LVY", "Volvo"}, {"PNV", "Volvo"}, {"XLB", "Volvo"}, {"X9P", "Volvo"}, {"YV1", "Volvo"}, {"YV3", "Volvo"}, {"YV5", "Volvo"}, {"3CE", "Volvo"}, {"4V5", "Volvo"}, {"4VA", "Volvo"}, {"4VE", "Volvo"}, {"4VG", "Volvo"}, {"4VH", "Volvo"}, {"4VM", "Volvo"}, {"7JD", "Volvo"}, {"7JR", "Volvo"}, {"9BV", "Volvo"}, {"SLV", "Volvo bus"}, {"LYV", "Volvo"}, {"YV4", "Volvo SUV"}, {"SCV", "Volvo truck"}, {"YB1", "Volvo truck"}, {"4V3", "Volvo truck"}, {"4V6", "Volvo truck"}, {"93K", "Volvo truck"}, {"YV2", "Volvo truck"}, {"VN4", "Voxan"}, {"2E4", "Voyager"}, {"LDP", "Voyah"}, {"523", "VPG"}, {"WVM", "VW-MAN"}, {"953", "VW/MAN"}, {"1JJ", "Wabash"}, {"WWA", "Wachenhut"}, {"LM0", "Wangye"}, {"SNE", "Wartburg"}, {"SXY", "Wecon"}, {"SWR", "Weekend"}, {"LYB", "Weichai"}, {"SBW", "Weightlifter"}, {"2WK", "Western Star"}, {"3BJ", "Western Star"}, {"5KJ", "Western Star"}, {"5KK", "Western Star"}, {"1WU", "White Motor"}, {"4V1", "WhiteGMC"}, {"SUD", "Wielton"}, {"WCM", "Wilcox"}, {"4WW", "Wilson"}, {"YVV", "WiMa"}, {"1WT", "Winnebago"}, {"SUC", "Wiola"}, {"WWC", "WM Meyer"}, {"LH0", "WM Motor"}, {"LL2", "WM Motor"}, {"SC5", "Wrightbus"}, {"HGX", "Wuling"}, {"LK6", "Wuling"}, {"HA0", "Wuxi Sundiro"}, {"LL3", "Xiamen"}, {"LMV", "XPeng Motors"}, {"L1N", "XPeng Motors"}, {"JYA", "Yamaha"}, {"JYE", "Yamaha"}, {"LPR", "Yamaha"}, {"RLC", "Yamaha"}, {"VTL", "Yamaha"}, {"ZD0", "Yamaha"}, {"5Y4", "Yamaha"}, {"9C6", "Yamaha"}, {"JY3", "Yamaha ATV"}, {"JY4", "Yamaha ATV"}, {"RKR", "Yamaha Motor"}, {"LBZ", "Yantai"}, {"LJS", "Yaxing Coach"}, {"NNY", "Yeksan"}, {"LKG", "Youngman Lotus"}, {"LLX", "Yudo Auto"}, {"LJD", "Yueda Kia"}, {"LNY", "Yuejin"}, {"LKT", "Yunnan Lifan"}, {"MXL", "Yutong"}, {"LZY", "Yutong Zhengzhou"}, {"R10", "ZAP"}, {"VX1", "Zastava/Yugo"}, {"XTE", "ZAZ"}, {"Y6D", "ZAZ"}, {"LZL", "Zengcheng"}, {"2FH", "Zenn"}, {"538", "Zero"}, {"LFF", "Zhejiang"}, {"LK8", "Zhejiang"}, {"LLP", "Zhejiang"}, {"LUJ", "Zhejiang"}, {"LBB", "Zhejiang Qianjiang"}, {"LEH", "Zhejiang Riya"}, {"LJN", "Zhengzhou Nissan"}, {"LDY", "Zhongtong Bus"}, {"LAP", "Zhuzhou Nanfang"}, {"XTZ", "ZiL"}, {"LZS", "Zongshen"}, {"LBM", "Zongshen Piaggio"}, {"7Z0", "Zoox"}, {"ZAX", "Zorzi"}, {"LJ8", "Zotye Auto"}, {"SWZ", "Zremb"}, {"LTA", "ZX Auto"}, {"", "Unknown"} }; const char* get_vehicle_manufacturer(const char* vin) { for (int i = 0; manufacturers[i].code[0] != '\0'; i++) { if (strncmp(vin, manufacturers[i].code, 3) == 0) { return manufacturers[i].name; } } return "Unknown"; } int32_t vin_decoder_app(void* p) { UNUSED(p); VinDecoderApp* app = vin_decoder_app_alloc(); Gui* gui = furi_record_open(RECORD_GUI); view_dispatcher_attach_to_gui(app->view_dispatcher, gui, ViewDispatcherTypeFullscreen); scene_manager_next_scene(app->scene_manager, VinDecoderMainMenuScene); view_dispatcher_run(app->view_dispatcher); vin_decoder_app_free(app); return 0; }