// /** @file
// Instance of ExtractGuidedSection Library for DXE phase.
//
// This library provides generic extract guided section functions for DXE module.
//
// 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 ExtractGuidedSection Library for DXE phase"

#string STR_MODULE_DESCRIPTION          #language en-US "This library provides generic extract guided section functions for a DXE module."

