###############################################################################
# Copyright (c) 2010 SAP AG, Walldorf.
# 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:
#     SAP AG - initial API and implementation
###############################################################################
Bundle-Vendor.0 = Eclipse.org
Bundle-Name.0 = Search Console UI Plugin

Extension-Point-Name.0 = Custom search results UI contribution XP
Extension-Point-Name.1 = Custom search parameters UI contribution XP
Extension-Point-Name.2 = Advanced search parameters UI contribution XP
