#
# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#    Loetz GmbH&Co.KG - initial API and implementation
#

# NLS_MESSAGEFORMAT_VAR

################ blurb property ####################################
featureText=\
Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License v1.0\n\
which accompanies this distribution, and is available at\n\
http://www.eclipse.org/legal/epl-v10.html\n\
\n\
Contributors:\n\
    Loetz GmbH&Co.KG - implementation\n\
\n\
\n\
The bundle contains software licensed under the follwing licenses:\n\
	- Apache License 2.0 for dragdrop.scss\n\
	- Vaadin License, which itself contains further licenses, for Vaadin Themes and Tools\n\
	- SIL Open Font License (OFL) for Font Awesome which is Dual licensed. We decided to go with the OFL\n\
	- w3c EPL for org.w3c.css.sac_1.3.1\n\
	- w3c flute 1.3.0 license for org.w3c.flute_1.3.0.gg2\n\
	- "public domain" for reset.scss\n\
\n
################ end of blurb property ####################################
