################################################################################
# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others.
# 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/ 
# 
# Contributors: 
# Martin Oberhuber - initial API and implementation 
################################################################################

# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UTF-8

pluginName = RSE SSH Services
providerName = Eclipse TM Project
 