// /**
//
// Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>
// (C) Copyright 2015-2019 Hewlett Packard Enterprise Development LP<BR>
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// Module Name:
//
// UefiShellDebug1CommandsLib.uni
//
// Abstract:
//
// String definitions for UEFI Shell 2.0 Debug1 profile SmBiosView command
//
//
// **/
/=#
#langdef   en-US "english"
#string STR_SMBIOSVIEW_EVENTLOGINFO_ACCESS_METHOD               #language en-US "Access method: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_ONE_EIGHT_BIT               #language en-US "Indexed I/O: 1 8-bit index port, 1 8-bit data port\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_TWO_EIGHT_BITS              #language en-US "Indexed I/O: 2 8-bit index ports, 1 8-bit data port\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_ONE_SIXTEEN_BIT             #language en-US "Indexed I/O: 1 16-bit index port, 1 8-bit data port\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MEM_MAPPED_PHYS             #language en-US "Memory-mapped physical 32-bit address\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_VIA_GENERAL           #language en-US "Available via General-Purpose NonVolatile Data functions\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE_ASSIGN     #language en-US "Available for future assignment via this specification\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR_OEM             #language en-US "BIOS Vendor/OEM-specific \r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_STATUS                  #language en-US "Log Status: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID              #language en-US "Log area valid\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_FULL               #language en-US "Log area full\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_NOT_FULL           #language en-US "Log area not full\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_RES_BITS_NOT_ZERO           #language en-US "Reserved bits not zero - 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_FORMAT           #language en-US "Log Header Format: \r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER                   #language en-US "No Header\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER             #language en-US "Type 1 log header\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE            #language en-US "Available for future\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR                 #language en-US "BIOS Vendor/OEM-specific format\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_LEN              #language en-US "Log Header Len: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_ONE_VAR_D                   #language en-US " %d\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_READ            #language en-US "This record has been read\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_NOT_READ        #language en-US "This record has not been read\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG            #language en-US "System Event Log Header Type1 Format:\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_OEM_RESERVED                #language en-US "OEM Reserved:\r\n0x%x 0x%x 0x%x 0x%x 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_TIME         #language en-US "Multiple Event Time Window: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_COUNT        #language en-US "Multiple Event Count Increment: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_ADDRESS             #language en-US "Pre-boot Event Log Reset - CMOS Address: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_INDEX               #language en-US "Pre-boot Event Log Reset - CMOS Bit Index: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUM_STARTING_OFF       #language en-US "CMOS Checksum - Starting Offset: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUN_BYTE_COUNT         #language en-US "CMOS Checksum - Byte Count: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_RESERVED                    #language en-US "Reserved: 0x%x 0x%x 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_HEADER_REVISION             #language en-US "HeaderRevision: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER                  #language en-US "\r\nLog Header: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FUTURE_ASSIGN         #language en-US "Available for future assignment via this specification\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_NO_STD_FORMAT               #language en-US "No standard format data is available\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC         #language en-US "SMBIOS structure associated with the hardware element that failed\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE               #language en-US "Structure handle = 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER          #language en-US "multiple-event counter: 0x%x\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_UNUSED_AVAIL_FOR_ASSIGN     #language en-US "Unused, available for assignment by this specification\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_SYSTEM            #language en-US "Available for system- and OEM-specific assignments\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG_2          #language en-US "\r\nSystem Event Log records:\r\n"
#string STR_SMBIOSVIEW_EVENTLOGINFO_DATE                        #language en-US "Date/Time: "
#string STR_SMBIOSVIEW_EVENTLOGINFO_ERROR                       #language en-US "error"
#string STR_SMBIOSVIEW_EVENTLOGINFO_TIME_SIX_VARS               #language en-US "%02x/%02x/%02x, %x:%x:%x\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_CANNOT_GET_TABLE           #language en-US "Cannot get SMBIOS Table\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_GET_TABLE_ERROR            #language en-US "Get SMBIOS Table error - %r\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUFF_LEN_SPEC           #language en-US " Get SMBIOS Structure, no buffer or length specified!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DUMP                           #language en-US "Dump "
#string STR_SMBIOSVIEW_PRINTINFO_SIZE                           #language en-US "\r\nsize=%d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SMBIOSTABLE_NULL               #language en-US "SMBiosTable is NULL!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_SIGN               #language en-US "%HSMBIOS Entry Point Structure:%N\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_64_BIT_ENTRY_POINT_SIGN        #language en-US "%HSMBIOS 3.0 (64-bit) Entry Point Structure:%N\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BCD_REVISION                   #language en-US "SMBIOS BCD Revision:  0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DOCREV                         #language en-US "SMBIOS Docrev:        0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NUMBER_STRUCT                  #language en-US "Number of Structures: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MAX_STRUCT_SIZE                #language en-US "Max Struct size:      %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TABLE_ADDR                     #language en-US "Table Address:        0x%p\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TABLE_LENGTH                   #language en-US "Table Length:         %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TABLE_MAX_SIZE                 #language en-US "Table Max Size:       %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ANCHOR_STR                     #language en-US "Anchor String:        %a\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EPS_CHECKSUM                   #language en-US "EPS Checksum:         0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_LEN                #language en-US "Entry Point Len:      %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VERSION                        #language en-US "Version:              %d.%d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MAJOR_VERSION                  #language en-US "Major version:        %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MINOR_VERSION                  #language en-US "Minor version:        %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENTRY_POINT_REVISION           #language en-US "Entry Point revision: 0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA_NONE            #language en-US "Formatted Area:        None\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA                 #language en-US "Formatted Area:  \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTER_ACHOR                    #language en-US "Inter Anchor:         %a\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTER_CHECKSUM                 #language en-US "Inter Checksum:       0x%x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN                #language en-US "Format part Len : %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE                  #language en-US "Structure Handle: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOTUP_STATE                   #language en-US "Bootup state "
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE             #language en-US "Power Supply State "
#string STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE                  #language en-US "Thermal state "
#string STR_SMBIOSVIEW_PRINTINFO_SECURITY_STATUS                #language en-US "Security Status "
#string STR_SMBIOSVIEW_PRINTINFO_CONTAINED_ELEMENT              #language en-US "Contained Element %d: "
#string STR_SMBIOSVIEW_PRINTINFO_SUPOPRT                        #language en-US "Support "
#string STR_SMBIOSVIEW_PRINTINFO_CURRENT                        #language en-US "Current "
#string STR_SMBIOSVIEW_PRINTINFO_INSTALLED                      #language en-US "Installed "
#string STR_SMBIOSVIEW_PRINTINFO_ENABLED                        #language en-US "Enabled "
#string STR_SMBIOSVIEW_PRINTINFO_EXTERNAL                       #language en-US "External "
#string STR_SMBIOSVIEW_PRINTINFO_SLOT_PEER_GROUPS               #language en-US "Peer Groups %d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SEGMENT_GROUP_NUM              #language en-US "  SegmentGroup Num: 0x%04x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BUS_NUM                        #language en-US "  Bus Num:          0x%02x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DEV_FUNC_NUM                   #language en-US "  DevFunc Num:      0x%02x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DATA_BUS_WIDTH                 #language en-US "  DataBus Width:    %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DESC_STRING                    #language en-US "Description String: "
#string STR_SMBIOSVIEW_PRINTINFO_SUPOPRTED_EVENT                #language en-US "Supported Event Log Type Descriptors %d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ACCESS_METHOD_NOT_SUPOPRTED    #language en-US "Access Method %d has not supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE31                  #language en-US "This structure is Type31, reserved by BIS (Boot Integrity Services)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_DEVICE                     #language en-US "Memory Device %d:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DEV_LOAD                       #language en-US "Device Load: 0x%02x,"
#string STR_SMBIOSVIEW_PRINTINFO_DEV_HANDLE                     #language en-US "Device Handle: 0x%04x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INACTIVE_STRUCT                #language en-US "Inactive structure --- Needn't interpret it.\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_THIS_STRUCT_END_TABLE          #language en-US "This structure indicates the End-of-table!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_TYPE_UNDEFINED          #language en-US "Structure Type undefined!\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR                      #language en-US "BIOS Characteristics: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT                   #language en-US "Reserved bit\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNKNOWN_BIT                    #language en-US "Unknown bit\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_NOT_SUPPORTED        #language en-US "BIOS Characteristics Not Supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ISA_SUPPORTED                  #language en-US "ISA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MSA_SUPPORTED                  #language en-US "MSA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EISA_SUPPORTED                 #language en-US "EISA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PCI_SUPPORTED                  #language en-US "PCI is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PC_CARD_SUPPORTED              #language en-US "PC Card(PCMCIA) is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PLUG_PLAY_SUPPORTED            #language en-US "Plug and play is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_APM_SUPPORTED                  #language en-US "APM is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_UPGRADEABLE               #language en-US "BIOS is Upgradeable(FLASH)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SHADOWING                 #language en-US "BIOS shadowing is allowed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VESA_SUPPORTED                 #language en-US "VL-VESA is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ECSD_SUPPORT                   #language en-US "ESCD support is available\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_FROM_CD_SUPPORTED         #language en-US "Boot from CD is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SELECTED_BOOT_SUPPORTED        #language en-US "Selectable Boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_ROM_SOCKETED              #language en-US "BIOS ROM is socketed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_FROM_PC_CARD              #language en-US "Boot From PC Card(PCMCIA)is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EDD_ENHANCED_DRIVER            #language en-US "EDD (Enhanced Disk Driver) Specification is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_NEC            #language en-US "Int 13h - Japanese Floppy for NEC 9800 1.2mb (3.5\",1k Bytes/Sector, 360 RPM) is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_JAPANESE_FLOPPY_TOSHIBA        #language en-US "Int 13h - Japanese Floppy for Toshiba 1.2mn (3.5\", 360 RPM) is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FLOPPY_SERVICES_SUPPORTED      #language en-US "Int 13h - 5.25\"/360KB Floppy Services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ONE_POINT_TWO_MB               #language en-US "Int 13h - 5.25\"/1.2MB Floppy services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_720_KB                         #language en-US "Int 13h - 3.5\"/720KB Floppy services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TWO_POINT_EIGHT_EIGHT_MB       #language en-US "Int 13h - 3.5\"/2.88MB Floppy services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PRINT_SCREEN_SUPPORT           #language en-US "Int 5h, Print screen Services is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_SERV_SUPPORT          #language en-US "Int 9h, 8042 Keyboard services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SERIAL_SERVICES_SUPPORT        #language en-US "Int 14h, Serial Services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PRINTER_SERVICES_SUPPORT       #language en-US "Int 17h, Printer services are supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MONO_VIDEO_SUPPORT             #language en-US "Int 10h, CGA/Mono Video services are supported2\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NEC_PC_98                      #language en-US "NEC PC-98\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_32_47                     #language en-US " Bits 32:47 are reserved for BIOS Vendor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_48_64                     #language en-US " Bits 48:64 are reserved for System Vendor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION            #language en-US "BIOS Characteristics Extension Byte1:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ACPI_SUPPORTED                 #language en-US "ACPI supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_USB_LEGACY_SUPPORTED           #language en-US "USB Legacy is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AGP_SUPPORTED                  #language en-US "AGP is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_I2O_BOOT_SUPPORTED             #language en-US "I2O boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_LS_120_BOOT_SUPPORTED          #language en-US "LS-120 boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ATAPI_ZIP_DRIVE                #language en-US "ATAPI ZIP Drive boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_1394_BOOT_SUPPORTED            #language en-US "1394 boot is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SMART_BATTERY_SUPPORTED        #language en-US "Smart battery supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_CHAR_EXTENSION_2          #language en-US "BIOS Characteristics Extension Byte2:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_BOOT_SPEC_SUPP            #language en-US "BIOS Boot Specification supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_FUNCTION_KEY_INIT              #language en-US "Function key-initiated Network Service boot supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENABLE_TAR_CONT_DIST           #language en-US "Enable Targeted Content Distribution\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UEFI_SPEC_SUPPORT              #language en-US "UEFI Specification is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VIRTUAL_MACHINE                #language en-US "The SMBIOS table describes a virtual machine\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_RSVD_FOR_FUTURE           #language en-US " Bits %d:7 are reserved for future assignment\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY               #language en-US "Processor Family: "
#string STR_SMBIOSVIEW_PRINTINFO_OTHER                          #language en-US "Other\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNKNOWN                        #language en-US "Unknown\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL386_PROCESSOR             #language en-US "Intel386(TM) Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL486_PROCESSOR             #language en-US "Intel486(TM) Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_FAMILY            #language en-US "Pentium(R) Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PRO_PROC               #language en-US "Pentium(R) Pro processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_II_PROC                #language en-US "Pentium(R) II processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_PROC_MMX               #language en-US "Pentium(R) processor with MMX(TM) technology\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CELERON_PROC                   #language en-US "Celeron(TM) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_XEON_PROC              #language en-US "Pentium(R) II Xeon(TM) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_PROC               #language en-US "Pentium(R) III Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_M1_FAMILY                      #language en-US "M1 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_K5_FAMILY                      #language en-US "K5 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_FAMILY                #language en-US "Power PC Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_601                   #language en-US "Power PC 601\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603                   #language en-US "Power PC 603\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_603_PLUS              #language en-US "Power PC 603+\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_PC_604                   #language en-US "Power PC 604\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ALPHA_FAMILY_2                 #language en-US "Alpha Family 2\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_DUO         #language en-US "Intel(R) Core(TM) Duo processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_DUO_MOBILE  #language en-US "Intel(R) Core(TM) Duo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_SOLO_MOBILE #language en-US "Intel(R) Core(TM) Solo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_ATOM             #language en-US "Intel(R) Atom(TM) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_QUAD_CORE  #language en-US "Quad-Core AMD Opteron(TM) Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_THIRD_GENERATION  #language en-US "Third-Generation AMD Opteron(TM) Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_FX_QUAD_CORE  #language en-US "AMD Phenom(TM) FX Quad-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_X4_QUAD_CORE  #language en-US "AMD Phenom(TM) X4 Quad-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_X2_DUAL_CORE  #language en-US "AMD Phenom(TM) X2 Dual-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_ATHLON_X2_DUAL_CORE  #language en-US "AMD Athlon(TM) X2 Dual-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3200_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 3200 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3000_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 3000 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5300_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 5300 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5100_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5100 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5000_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5000 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_LV_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor LV\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_ULV_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor ULV\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7100_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 7100 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5400_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 5400 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5200_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5200 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7200_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 7200 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7300_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 7300 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7400_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 7400 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7400_SERIES_MULTI_CORE  #language en-US "Multi-Core Intel(R) Xeon(R) processor 7400 Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_SOLO  #language en-US "Intel(R) Core(TM)2 Solo processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_EXTREME  #language en-US "Intel(R) Core(TM)2 Extreme processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_QUAD  #language en-US "Intel(R) Core(TM)2 Quad processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_EXTREME_MOBILE  #language en-US "Intel(R) Core(TM)2 Extreme mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_DUO_MOBILE  #language en-US "Intel(R) Core(TM)2 Duo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE2_SOLO_MOBILE  #language en-US "Intel(R) Core(TM)2 Solo mobile processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CORE_I7  #language en-US "Intel(R) Core(TM) i7 processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_CELERON_DUAL_CORE  #language en-US "Dual-Core Intel(R) Celeron(R) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_MULTI_CORE  #language en-US "Multi-Core Intel(R) Xeon(R) processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 3xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_3_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 3xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 5xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_5_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 5xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7_SERIES_DUAL_CORE  #language en-US "Dual-Core Intel(R) Xeon(R) processor 7xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7_SERIES_QUAD_CORE  #language en-US "Quad-Core Intel(R) Xeon(R) processor 7xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL_XEON_7_SERIES_MULTI_CORE  #language en-US "Multi-Core Intel(R) Xeon(R) processor 7xxx Series\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_3000_SERIES        #language en-US "AMD Opteron(TM) 3000 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_SEMPRON_II                 #language en-US "AMD Sempron(TM) II Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_FX_SERIES                  #language en-US "AMD FX(TM) Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_Z_SERIES                   #language en-US "AMD Z-Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_R_SERIES                   #language en-US "AMD R-Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_4300_SERIES        #language en-US "AMD Opteron(TM) 4300 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_6300_SERIES        #language en-US "AMD Opteron(TM) 6300 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_3300_SERIES        #language en-US "AMD Opteron(TM) 3300 Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_OPTERON_FIREPRO_SERIES     #language en-US "AMD FirePro(TM) Series Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_EMBEDDED_OPTERON_QUAD_CORE  #language en-US "Embedded AMD Opteron(TM) Quad-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_PHENOM_TRIPLE_CORE  #language en-US "AMD Phenom(TM) Triple-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_TURION_ULTRA_DUAL_CORE_MOBILE  #language en-US "AMD Turion(TM) Ultra Dual-Core Mobile Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_TURION_DUAL_CORE_MOBILE  #language en-US "AMD Turion(TM) Dual-Core Mobile Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_ATHLON_DUAL_CORE  #language en-US "AMD Athlon(TM) Dual-Core Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AMD_SEMPRON_SI  #language en-US "AMD Sempron(TM) SI Processor Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MIPS_FAMILY                    #language en-US "MIPS Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SPARC_FAMILY                   #language en-US "SPARC Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_68040_FAMILY                   #language en-US "68040 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HOBBIT_FAMILY                  #language en-US "Hobbit Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_WEITEK                         #language en-US "Weitek\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PA_RISC_FAMILY                 #language en-US "PA-RISC Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_V30_FAMILY                     #language en-US "V30 Family\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PENTIUM_III_XEON               #language en-US "Pentium(R) III Xeon(TM) Processor\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_M1               #language en-US "Reserved for specific M1 versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_K5               #language en-US "Reserved for specific K5 versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_PENTIUM          #language en-US "Reserved for specific Pentium(R) Processor versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY          #language en-US "Undefined processor family and type\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO                      #language en-US "Processor Information -  Voltage:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROC_CURRENT_VOLTAGE           #language en-US "Processor current voltage = (%d/10)V\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_5V_SUPOPRTED                   #language en-US " 5V is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_33V_SUPPORTED                  #language en-US " 3.3V is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_29V_SUPPORTED                  #language en-US " 2.9V is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT3_NOT_ZERO                  #language en-US "Error, reserved BIT 3 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT4_NOT_ZERO                  #language en-US "Error, reserved BIT 4 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT5_NOT_ZERO                  #language en-US "Error, reserved BIT 5 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT6_NOT_ZERO                  #language en-US "Error, reserved BIT 6 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT7_NOT_ZERO                  #language en-US "Error, reserved BIT 7 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT10_NOT_ZERO                 #language en-US "Error, reserved BIT 10 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT11_NOT_ZERO                 #language en-US "Error, reserved BIT 11 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT12_NOT_ZERO                 #language en-US "Error, reserved BIT 12 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT13_NOT_ZERO                 #language en-US "Error, reserved BIT 13 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT14_NOT_ZERO                 #language en-US "Error, reserved BIT 14 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT15_NOT_ZERO                 #language en-US "Error, reserved BIT 15 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS                    #language en-US "Processor Status:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_POPULATED           #language en-US "CPU Socket Populated\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_UNPOPULATED         #language en-US "CPU Socket Unpopulated\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_ENABLED                    #language en-US "CPU Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_DISABLED_BY_USER           #language en-US "CPU Disabled by User via BIOS Setup\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_DIABLED_BY_BIOS            #language en-US "CPU Disabled By BIOS (POST Error)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_IDLE                       #language en-US "CPU is Idle, waiting to be enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_OTHERS                         #language en-US "Others\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED                       #language en-US "Reserved\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SIZE_LARGEST_MEM               #language en-US "The size of the largest memory module supported (per slot): "
#string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB                     #language en-US "%d * %d = %d MB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MAX_AMOUNT_MEM                 #language en-US "The maximum amount of memory supported by this controller: "
#string STR_SMBIOSVIEW_PRINTINFO_HANDLES_CONTROLLED             #language en-US "There are %d Handles controlled by this controller\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HANDLES_LIST_CONTROLLED        #language en-US "Handles' List controlled by this controller:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HANDLE                         #language en-US "Handle%d: 0x%04x\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BANK_CONNECTIONS               #language en-US "Bank Connections:"
#string STR_SMBIOSVIEW_PRINTINFO_BANK_RAS                       #language en-US "Banks %d & %d(RAS# %d & %d)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BANK_RAS_2                     #language en-US "Bank %d(RAS# %d)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NO_BANKS_CONNECTED             #language en-US "No banks connected\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEMORY_SIZE                    #language en-US "Memory Size:"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE_NOT_DETERMINABLE      #language en-US " Memory Size Not determinable (Installed Size only)\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MODULE_INSTALLED               #language en-US " Module is installed, but no memory has been enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NOT_INSTALLED                  #language en-US " Not installed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE                       #language en-US " Memory Size: %d MB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK         #language en-US "The memory module has a Double-bank connection\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK         #language en-US "The memory module has a Single-bank connection\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID                        #language en-US " Slot Id:"
#string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN             #language en-US " the logical Micro Channel slot number is:"
#string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D                      #language en-US " %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15                 #language en-US " error, not 1-15.\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_EISA_NUM               #language en-US " the logical EISA slot number is:"
#string STR_SMBIOSVIEW_PRINTINFO_IDENTIFIES_ADAPTER_NUM         #language en-US " Identifies the Adapter Number is: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_VALUE_PRESENT                  #language en-US " the value present in the Slot Number field of the PCI Interrupt Routing table entry that is associated with this slot is: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_SLOT_ID              #language en-US " undefined Slot Id\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_CONFIGURATION            #language en-US "Cache Configuration:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_WRITE_THROUGH            #language en-US "Write Through\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_WRITE_BACK               #language en-US "Write Back\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_VARIES_WITH_MEM_ADDR     #language en-US "Varies with Memory Address\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_INTERNAL                 #language en-US "Internal\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_EXTERNAL                 #language en-US "External\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_SOCKETED                 #language en-US "Socketed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_NOT_SOCKETED             #language en-US "Not Socketed\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CACHE_LEVEL                    #language en-US "Level %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_BOOT_STATUS             #language en-US "System Boot Status: "
#string STR_SMBIOSVIEW_PRINTINFO_NO_ERRORS_DETECTED             #language en-US " No errors detected"
#string STR_SMBIOSVIEW_PRINTINFO_NO_BOOTABLE_MEDIA              #language en-US " No bootable media"
#string STR_SMBIOSVIEW_PRINTINFO_NORMAL_OP_SYSTEM               #language en-US " The \"normal\" unable to load operating system."
#string STR_SMBIOSVIEW_PRINTINFO_FIRMWARE_DETECTED              #language en-US " Firmware-detected hardware problem, including \"unknown\" failure types."
#string STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM                      #language en-US " Operating system-detected hardware failure."
#string STR_SMBIOSVIEW_PRINTINFO_USER_REQUESTED_BOOT            #language en-US " User-requested boot, usually via a keystroke"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_SECURITY_VIOLATION      #language en-US " System security violation"
#string STR_SMBIOSVIEW_PRINTINFO_PREV_REQ_IMAGE                 #language en-US " Previously-requested image. "
#string STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER                 #language en-US " A system watchdog timer expired, causing the system to reboot."
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FUTURE_ASSIGNMENT         #language en-US " Reserved for future assignment via this specification. "
#string STR_SMBIOSVIEW_PRINTINFO_VENDOR_OEM_SPECIFIC            #language en-US " Vendor/OEM-specific implementations.  The Vendor/OEM identifier is the \"Manufacturer\" string found in the System Identification structure."
#string STR_SMBIOSVIEW_PRINTINFO_PRODUCT_SPEC_IMPLMENTATION     #language en-US "Product-specific implementations.  The product identifier is formed by the concatenation of the \"Manufacturer\" and \"Product Name\" strings found in the System Information structure."
#string STR_SMBIOSVIEW_PRINTINFO_ERROR_VALUE                    #language en-US "Error value\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SBDS_MANUFACTURE_DATE          #language en-US "SBDS Manufacture Date: "
#string STR_SMBIOSVIEW_PRINTINFO_MONTH_DAY_YEAR                 #language en-US "%02d/%02d/%4d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_RESET_CAPABILITIES      #language en-US "System Reset Capabilities: "
#string STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO             #language en-US "Bits 7:6 are reserved bits, must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_WATCHDOG_TIMER_2               #language en-US "System contains a watchdog timer\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_NOT_CONTAIN_TIMER       #language en-US "System does not contain a watchdog timer\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION_LIMIT              #language en-US "Boot Option on Limit: "
#string STR_SMBIOSVIEW_PRINTINFO_OP_SYSTEM_2                    #language en-US "Operating system\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SYSTEM_UTIL                    #language en-US "System utilities\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT                  #language en-US "Do not reboot\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOT_OPTION                    #language en-US "Boot Option :"
#string STR_SMBIOSVIEW_PRINTINFO_DO_NOT_REBOOT                  #language en-US "Do not reboot\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_HARDWARE_SECURITY_SET          #language en-US "Hardware Security Settings: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_ON_PASSWORD              #language en-US "Power-on Password Status: "
#string STR_SMBIOSVIEW_PRINTINFO_DISABLED                       #language en-US "Disabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ENABLED_NEWLINE                #language en-US "Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NOT_IMPLEMENTED                #language en-US "Not Implemented\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_KEYBOARD_PASSWORD              #language en-US "Keyboard Password Status: "
#string STR_SMBIOSVIEW_PRINTINFO_ADMIN_PASSWORD_STATUS          #language en-US "Administrator Password Status: "
#string STR_SMBIOSVIEW_PRINTINFO_FRONT_PANEL_RESET              #language en-US "Front Panel Reset Status: "
#string STR_SMBIOSVIEW_PRINTINFO_CONNECTIONS                    #language en-US "Connections: "
#string STR_SMBIOSVIEW_PRINTINFO_BITS_RESERVED_ZERO_2           #language en-US "Bits 7:2 are reserved bits, must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_OUTBOUND_CONN_ENABLED          #language en-US "Outbound Connection Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_OTUBOUND_CONN_DISABLED         #language en-US "Outbound Connection Disabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INBOIUND_CONN_ENABLED          #language en-US "Inbound Connection Enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INBOUND_CONN_DISABLED          #language en-US "Inbound Connection Disabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_CHAR              #language en-US "Power Supply Characteristics: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_15_14_RSVD                #language en-US "Bits 15:14 are reserved bits, must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TYPE                           #language en-US "Type - "
#string STR_SMBIOSVIEW_PRINTINFO_OTHER_SPACE                    #language en-US " Other\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_LINEAR                         #language en-US " Linear\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_SWITCHING                      #language en-US " Switching\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BATTERY                        #language en-US " Battery\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UPS                            #language en-US " UPS\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CONVERTER                      #language en-US " Converter\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_REGULATOR                      #language en-US " Regulator\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED_2                     #language en-US " Reserved \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_STATUS_DASH                    #language en-US " Status - "
#string STR_SMBIOSVIEW_PRINTINFO_OK                             #language en-US " OK\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NON_CRITICAL                   #language en-US " Non-critical\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CRITICAL_POWER_SUPPLY          #language en-US " Critical, power supply has failed and has been taken off-line\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED                      #language en-US " Undefined \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INPUT_VOLTAGE_RANGE            #language en-US "Input Voltage Range Switching - "
#string STR_SMBIOSVIEW_PRINTINFO_MANUAL                         #language en-US " Manual\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_AUTO_SWITCH                    #language en-US " Auto-switch\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_WIDE_RANGE                     #language en-US " Wide range\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_NOT_APPLICABLE                 #language en-US " Not applicable\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RESERVED_3                     #language en-US " Reserved  \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_UNPLUGGED         #language en-US "Power supply is unplugged from the wall\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PLUGGED           #language en-US "Power supply is plugged into the wall\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_PRESENT           #language en-US "Power supply is present\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_PRESENT       #language en-US "Power supply is not present\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_REPLACE           #language en-US "Power supply is hot replaceable\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE       #language en-US "Power supply is not hot replaceable\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE                      #language en-US "BiosSize:  %d KB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE             #language en-US "ExtendedBiosSize:  %d %s\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_NO_INFO                       #language en-US "No Info"
#string STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET                 #language en-US "\r\nIt also has reserved bits set 1 --- reserved bits: 0x%x"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE            #language en-US "System Wakeup Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS      #language en-US "Base Board Feature Flags:"
#string STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE         #language en-US "Base Board Board Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE           #language en-US "System Enclosure or Chassis Types:"
#string STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT          #language en-US "Chassis Lock present\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS         #language en-US "System Enclosure or Chassis Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY       #language en-US "System Enclosure or Chassis Security Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE                     #language en-US "Processor Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE                   #language en-US "Processor Upgrade: "
#string STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS          #language en-US "Processor Characteristics: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD              #language en-US "Memory Controller Error DetectMethod:"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY        #language en-US "Memory Controller Error Correct Capability:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT        #language en-US "Memory Controller Interleave Support:"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED              #language en-US "Memory Controller Memory Speed:"
#string STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES             #language en-US "The required voltages for each memory module sockets:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE               #language en-US "Memory Module Memory Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS       #language en-US "Memory Module Error Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE               #language en-US "Cache SRAM Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING        #language en-US "Cache Error Correcting Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE             #language en-US "Cache System Cache Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY           #language en-US "Cache Associativity:"
#string STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE           #language en-US "Port Connector Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE                     #language en-US "Port Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE              #language en-US "System Slot Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA              #language en-US "System Slot Data Bus Width: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE     #language en-US "System Slot Current Usage: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH            #language en-US "System Slot Length: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS          #language en-US "Slot characteristics 1: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2        #language en-US "Slot characteristics 2: "
#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE           #language en-US "Onboard Device Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE         #language en-US "System Event Log Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT     #language en-US "Event Log Variable Data Format Types: "
#string STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP           #language en-US "POST Results Bitmap - First DWORD:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD     #language en-US "POST Results Bitmap - Second DWORD:\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES       #language en-US "System Management Types: "
#string STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED                  #language en-US "OEM assigned\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN        #language en-US "Reserved for future assignment via this specification\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE       #language en-US "A system-management probe or cooling device is out-of-range\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION       #language en-US "Physical Memory Array Location: "
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE            #language en-US "Physical Memory Array Use: "
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR          #language en-US "Physical Memory Array Error Correction Types: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR        #language en-US "Memory Device - Form Factor: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE               #language en-US "Memory Device - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL        #language en-US "Memory Device - Type Detail: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY  #language en-US "Memory Device - Memory Technology: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA #language en-US "Memory Device - Memory Operating Mode Capability: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO                #language en-US "32-bit Memory Error Information - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY         #language en-US "Memory Error - Error granularity: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP                  #language en-US "Memory Error - Error Operation: "
#string STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE          #language en-US "Pointing Device - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE     #language en-US "Pointing Device - Interface:"
#string STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM        #language en-US "Portable Battery - Device Chemistry:"
#string STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC             #language en-US "Voltage Probe - Location:"
#string STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS          #language en-US "Voltage Probe - Status:"
#string STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS            #language en-US "Cooling Device - Status: "
#string STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE              #language en-US "Cooling Device - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE                    #language en-US "Temperature Probe - Status:"
#string STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS             #language en-US "Electrical Current Probe - Status:"
#string STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC                #language en-US "Electrical Current Probe - Location:"
#string STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE           #language en-US "Management Device Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE      #language en-US "Management Device - Address Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE              #language en-US "Memory Channel Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE            #language en-US "BMC Interface Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE        #language en-US "MC Host Interface Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE                   #language en-US "Structure Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE           #language en-US "Processor Architecture Type:"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ONE_VAR_ARGV                  #language en-US "%s "
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND             #language en-US "Query Structure, conditions are:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE_RANDOM              #language en-US "QueryType   = Random \r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE                     #language en-US "QueryType   = %d\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE_RANDOM            #language en-US "QueryHandle = Random\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE                   #language en-US "QueryHandle = 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOWTYPE                      #language en-US "ShowType    = "
#string STR_SMBIOSVIEW_SMBIOSVIEW_TYPE_HANDLE_DUMP_STRUCT       #language en-US "Type=%d, Handle=0x%x\r\nDump Structure as:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_INDEX_LENGTH                  #language en-US "Index=%d,Length=0x%x,"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ADDR                          #language en-US "Addr=0x%p\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ENTRYLEN                      #language en-US "Entry Length: 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDHANDLE              #language en-US "Referenced Handle: 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_REFERENCEDOFFSET              #language en-US "Referenced Offset: 0x%x\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_Q                       #language en-US "\r\n%HEnter%N to continue, %H:q%N to exit, %H:[0-3]%N to change mode, %H/?%N for help\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_UTILITY                #language en-US "   SMBIOS Utility ---- smbiosview HELP Information\r\n\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_USAGE                         #language en-US "Usage:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_HSMBIOSVIEW                   #language en-US "%Hsmbiosview [-t type] | [-h handle] | [-s] | [-a]%N\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_EXAMPLES                      #language en-US "Examples:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STAT_INFO                #language en-US "%H>smbiosview -s %N         - Show statistics information\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_STRUCT_TYPE          #language en-US "%H>smbiosview -t 8 %N       - Show all structures of type=8\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_STRUCT_HANDLE            #language en-US "%H>smbiosview -h 25 %N      - Show structure of handle=0x25\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_ALL_OUTPUT_TO_FILE       #language en-US "%H>smbiosview -a > 1.log%N  - Show all and output to file 1.log\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_INTERNAL_COMMANDS             #language en-US "Internal commands:\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUIT_SMBIOSVIEW               #language en-US "%H:q%N --------  quit smbiosview\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NONE           #language en-US "%H:0%N --------  Change smbiosview display NONE info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_OUTLINE        #language en-US "%H:1%N --------  Change smbiosview display OUTLINE info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_NORMAL         #language en-US "%H:2%N --------  Change smbiosview display NORMAL info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CHANGE_DISPLAY_DETAIL         #language en-US "%H:3%N --------  Change smbiosview display DETAIL info\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SHOW_HELP                     #language en-US "%H/?%N --------  Show help\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_INDEX                         #language en-US "Index=%04d   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_TYPE                          #language en-US "Type=%03d   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_HANDLE                        #language en-US "Handle=0x%04x   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_OFFSET                        #language en-US "Offset=0x%04x   "
#string STR_SMBIOSVIEW_SMBIOSVIEW_LENGTH                        #language en-US "Length=0x%04x"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_CONTINUE                #language en-US "Press Enter to continue..\r\n"
#string STR_SMBIOSVIEW_LIBSMBIOSVIEW_NO_BUF_SPEC_WHEN_STRUCT    #language en-US "smbiosview: No buffer specified when get structure\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_NOT_SPEC                      #language en-US "SmbiosView: Type # not specified\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_HANDLE_NOT_SPEC               #language en-US "SmbiosView: Handle # not specified\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_FLAG                  #language en-US "\r\nSmbiosView: Unknown flag\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE           #language en-US "SmbiosView: Cannot access SMBIOS table\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_UNKNOWN_INTERNAL_COMMAND      #language en-US "\r\nSmbiosView: Unknown internal command\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_TABLE                  #language en-US "SmbiosView: SMBIOS table damaged\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_OUT_OF_MEM                    #language en-US "SmbiosView: Out of memory\r\n"
#string STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_STATS           #language en-US "SmbiosView: Cannot access statistics table\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR                #language en-US "TPM Device Characteristics: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR_NOT_SUPPORTED  #language en-US "TPM Device Characteristics Not Supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_FWU          #language en-US "Family configurable via firmware update\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_PLAT_SW      #language en-US "Family configurable via platform software support\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_OEM          #language en-US "Family configurable via OEM proprietary mechanism\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_06_63                     #language en-US "Bits 6:63 are reserved\r\n"

