###############################################################################
# Copyright (c) 2006 IBM Corporation.
# 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:
#     IBM Corporation - initial implementation
###############################################################################
LOGIN_USERNAME=User name remote connection
LOGIN_PASSWORD=Password remote connection
CONNECTION_ADDRESS=Address for remote connection
CONNECTION_PORT=Port for remote connection
KEY_PATH=Path to file with private key for remote connection
KEY_PASSPHRASE=Passphrase to open private key for remote connection
CONNECTION_TIMEOUT=Timeout for remote connection
SYSTEM_WORKSPACE=Launch base directory
