// /** @file
// Instance of Debug Library using the Standard Error Device.
//
// Debug Lib that sends messages to the the Standard Error Device in the EFI System Table.
//
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Instance of Debug Library using the Standard Error Device"

#string STR_MODULE_DESCRIPTION          #language en-US "This Debug Lib sends messages to the Standard Error Device in the EFI System Table."

