# 
# Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0 
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
# 
# Contributors:
#  Florian Pirchner - Initial implementation
# 
# 

# NLS_MESSAGEFORMAT_VAR

featureName=org.eclipse.osbp.dsl.dto.lib

################ blurb property ####################################
featureText=\
\n\
Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)\n\
All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License 2.0 \n\
which accompanies this distribution, and is available at\n\
https://www.eclipse.org/legal/epl-2.0/\n\
\n\
SPDX-License-Identifier: EPL-2.0\n\
\n\
Contributors:\n\
        Florian Pirchner - Initial implementation\n\
\n\
\n\

################ end of blurb property ####################################
