// /** @file
// The application to show the Boot Manager Menu.
//
// The application pops up a menu showing all the boot options referenced by
// BootOrder NV variable and user can choose to boot from one of them.
//
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "The application to show the Boot Manager Menu"

#string STR_MODULE_DESCRIPTION          #language en-US "The application pops up a menu showing all the boot options referenced by BootOrder NV variable and user can choose to boot from one of them."

